diff -r 000000000000 -r 71ca22bcf22a mmserv/audioeffectsui/equalizer/inc/EqualizerEditingDialog.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmserv/audioeffectsui/equalizer/inc/EqualizerEditingDialog.h Tue Feb 02 01:08:46 2010 +0200 @@ -0,0 +1,194 @@ +/* +* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Declares classes related to Equalizer Settings +* +*/ + + + + +#ifndef EQUALIZEREDITINGDIALOG_H +#define EQUALIZEREDITINGDIALOG_H + +// INCLUDES +#include +#include "EqualizerPrivateConstants.h" + +#include "EqualizerPresetsDialog.h" +// FORWARD DECLARATIONS +class CAudioEqualizerUtility; +class CEqualizerFreqBandContainer; + +// CLASS DECLARATIONS +NONSHARABLE_CLASS(CEqualizerEditingDialog) : public CAknDialog + { + public: // Constructors and destructor + + /** + * This function is called to create an object of + * type CEqualizerPresetsDialog - Two phase Construction + * @since 3.0 + * @param aAudEqUtility a pointer to CAudioEqualizerUtility + * @param aPresetIndex the index into the preset array retrieved + * with the method CAudioEqualizerUtility::Presets() + * @param aRect a reference to the view rectangle + * returned by CAudioEqualizerUtility::Presets() + * @param aIsPresetActive whether the preset is active or not? + */ + static CEqualizerEditingDialog* NewL( + CAudioEqualizerUtility* aAudEqUtility,const TInt aPresetIndex, + TRect& aRect, const TBool aIsPresetActive, + MEqualizerPresetActivationObserver& aObs, + TInt aPresetKey); + /** + * Destructor + * @since 3.0 + */ + virtual ~CEqualizerEditingDialog(); + + public: // New functions + /** + * This function is used to execute the Dialog. + * @since 3.0 + * @returns return value of CAknDialog::ExecuteLD() + */ + TInt ExecuteLD(); + /** + * This function is used to read the positions of the mover for the + * frequency bands from the engine. + * @since 3.0 + * @param aReset Whether the preset is being reset + */ + void SetMoverPositionsL(TBool aReset); + + /** + * This function is used to set new values for CAudioEqualizerUtility* + * @since 3.0 + * @param aAudEqUtility New pointer to CAudioEqualizerUtility + */ + void SetAudioEqualizerL(CAudioEqualizerUtility* aAudEqUtility); + + /** + * This function is used to return current mover position for each frequence band + * @since 3.0 + * @param aBandIndex Frequence band index for which mover position is required + * @returns current mover position + */ + TInt GetMoverPosition(TInt aBandIndex); + + private: + /** + * First Phase Constructor + * @since 3.0 + * @param aAudEqUtility a pointer to CAudioEqualizerUtility + * @param aPresetIndex the index into the preset array retrieved + * with the method CAudioEqualizerUtility::Presets() + * @param aRect a reference to the view rectangle + * returned by CAudioEqualizerUtility::Presets() + * @param aIsPresetActive whether the preset is active or not? + */ + CEqualizerEditingDialog(CAudioEqualizerUtility* aAudEqUtility, + const TInt aPresetIndex, TRect& aRect, + const TBool aIsPresetActive, + MEqualizerPresetActivationObserver& aObs, + TInt aPresetKey); + + /** + * Second Phase Constructor + * @since 3.0 + */ + void ConstructL(); + + private: // Functions from base classes + /** + * From CAknDialog Called when a key event happens. + */ + TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, + TEventCode aType ); + /** + * From CAknDialog Called just before the menu pane is displayed + */ + void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane); + /** + * From CAknDialog Called just before the menu pane is displayed + */ + void ProcessCommandL(TInt aCommandId); + /** + * From CAknDialog Called when OK key is pressed + */ + TBool OkToExitL(TInt aButtonId); + /** + * From CAknDialog Called when a custom control is to be created + */ + SEikControlInfo CreateCustomControlL ( TInt aControlType ); + + /** + * From CAknDialog + * This function will respond to any change in the controls size. + */ + void SizeChanged(); + /** + * Get help context for the control. + * @param aContext The context that is filled in. + * @return None. + */ + void GetHelpContext( TCoeHelpContext& aContext ) const; + + /** + * This function is called to retrieve the rectangle + * of the freq band control, scale and slider from the layout + */ + void GetLayoutRect(); + + private: + // Used to store a pointer to CAudioEqualizerUtility + CAudioEqualizerUtility* iAudEqUtility; + // Used to store a pointer to CEqualizerFreqBandContainer + CEqualizerFreqBandContainer* iFreqBandContainer; + // Used to store the preset name + TPresetName iPresetName; + // The index of the preset in the array returned by + // CAudioEqualizerUtility::Presets() + const TInt iPresetIndex; + // The rectangle in which the Dialog is displayed + TRect& iRect; + // Whether the preset displayed is an active preset? + const TBool iIsActivePreset; + // Used to store the offset of the resource file + TInt iResourceFileOffset; + // Stores the positions of the movers in the various bands. + CArrayFix* iMover; + // Number of Frequency bands + TUint iNumberOfFreqBands; + // Ignore Key events between track changes + TBool iIgnoreKeyEvents; + // Array to store the rects of the freq band + RArray iFreqBandRect; + // Array to store the rects of the freq band scale + RArray iScaleRect; + // Array to store the rects of the background + RArray iBackgroundRect; + // Array to store the rects of the slider + RArray iSliderRect; + // Used to determine if context sensitive menu is ON or not when pressing MSK + TBool iContextSensitiveMenu; + + // Observer for changing presets + MEqualizerPresetActivationObserver& iObserver; + TInt iPresetKey; + }; + +#endif //EQUALIZEREDITINGDIALOG_H + +// End of File