diff -r 000000000000 -r 3ce708148e4d omadm/omadmappui/inc/NSmlDMProfilesContainer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/omadm/omadmappui/inc/NSmlDMProfilesContainer.h Thu Dec 17 08:40:12 2009 +0200 @@ -0,0 +1,291 @@ +/* +* Copyright (c) 2002-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: Header file for CNSmlDMProfilesContainer +* +*/ + + + +#ifndef CNSMLDMPROFILESCONTAINER_H +#define CNSMLDMPROFILESCONTAINER_H + +// INCLUDES +#include +#include +#include +#include +#include +#include +#include +#include "NSmlDMSyncDocument.h" +#include "NSmlDMSyncAppUi.h" + +// FORWARD DECLARATIONS +class CNSmlDMSyncDocument; +class TNSmlDMProfileItem; + +// CLASS DECLARATION + +/** +* CNSmlDMProfilesContainer dialog class +* +*/ +class CNSmlDMProfilesContainer : public CCoeControl, + public MCoeControlObserver, + public MEikListBoxObserver + { + public: // Constructors and destructor + + /** + * Two-phased constructor. + */ + static CNSmlDMProfilesContainer* NewL( CAknView* aView, + const TRect& aRect ); + + /** + * Destructor. + */ + ~CNSmlDMProfilesContainer(); + + public: // New functions + + /** + * Refreshes the listbox contents. + * @since Series 60 3.1 + * @param None. + * @return None. + */ + void RefreshL(); + + /** + * Sets the iSettingsView true/false if settingsview is up/down + * @param - + * @return - + */ + inline void SetSettingsView() { iSettingsView = !iSettingsView; } + + /** + * Return status of the Settings view + * @param - + * @return True if settings isn't open + */ + inline TBool SettingsView() const { return iSettingsView == EFalse; } + + /** + * Update index on the main view + * @param TInt aIndex - value of the index + * @return - + */ + void SetCurrentIndex( TInt aIndex ); + + /** + * Shows a menu corresponding to the given menu bar + * resource identifier. + * @since Series 60 3.1 + * @param aResource Resource identifier of the menu to be shown. + * @return None. + */ + void ShowContextMenuL( TInt aResource ); + + /** + * Read profiles and fill the profile item list + * @param - + * @return - + */ + void ReadProfileListL(); + + /** + * Create and show the logview dialog + * @param - + * @return - + */ + void PopupLogViewL(); + + /** + * Close the active popupmenu + * @param - + * @return - + */ + void ClosePopupMenuL(); + + /** + * Status of the main dialog menu + * @param - + * @return - ETrue if menu is up + */ + TBool MenuUp() const { return iMenuUp == 1; } + + /** + * Closes menu + * @param - + * @return - + */ + void CloseMenuUp() { iMenuUp =0; } + + public: // Functions from base classes + + /** + * From CoeControl Responds to size changes. + * Sets the size and position of the contents of this control. + * @since Series 60 3.1 + * @param None. + * @return None. + */ + void SizeChanged(); + + /** + * From CoeControl Handles the situations where + * a resource (e.g. skin or layout) is changed. + * @since Series 60 3.1 + * @param aType Type of resource change. + * @return None. + */ + void HandleResourceChange( TInt aType ); + + /** + * From CoeControl Gets the number of controls contained + * in a compound control. + * @since Series 60 3.1 + * @param None. + * @return The number of component controls contained by this control. + */ + TInt CountComponentControls() const; + + /** + * From CoeControl Gets the specified component of a compound control. + * @since Series 60 3.1 + * @param aIndex The index of the control to get. + * @return Reference to the component control. + */ + CCoeControl* ComponentControl( TInt aIndex ) const; + + /** + * From CoeControl Draws the control. + * @since Series 60 3.1 + * @param aRect The region of the control to be redrawn. + * @return None. + */ + void Draw( const TRect& aRect ) const; + + /** + * From CoeControl Handles key events. + * @since Series 60 3.1 + * @param aKeyEvent The key event that occurred. + * @param aType The event type. + * @return Response to the key event. + */ + TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType ); + + /** + * Handle ListBox EventL + * @param CEikListBox* aListBox Pointer to used listbox + * @param TListBoxEvent aEventType Event type + * @return - + */ + void HandleListBoxEventL( CEikListBox* aListBox, TListBoxEvent aEventType ); + + /** + * From MCoeControlObserver Handles an event from an observed control. + * @since Series 60 3.1 + * @param aControl The control that sent the event. + * @param aEventType The event type. + * @return None. + */ + void HandleControlEventL( CCoeControl* aControl, TCoeEvent aEventType ); + + /** + * From CoeControl Gets the control's help context. + * @since Series 60 3.1 + * @param aContext The control's help context + * @return None. + */ + void GetHelpContext( TCoeHelpContext& aContext ) const; + /** + * Handle Pointer EventL + * @since Series 60 3.2 + * @param aPointerEvent The event type + * @return None. + */ + void HandlePointerEventL( const TPointerEvent& aPointerEvent ); + + protected: + + /** + * Change of focus + * @param - + * @return - + */ + void FocusChanged(TDrawNow aDrawNow); + + protected: // Functions from CEikDialog + + /** + * Called by framework before the dialog is shown + * @param - + * @return - + */ + void PreLayoutDynInitL(); + + /** + * Called by framework after the dialog is shown + * @param - + * @return - + */ + void PostLayoutDynInitL(); + + /** + * Build and format the logview listbox texts + * @param aArray - + * @return - + */ + void FormatLogViewListL(CDesCArray* aArray); + + /** + * Appends icons to the contained listbox. + * @since Series 60 3.1 + * @param None. + * @return None. + */ + void AddIconsL(); + + private: + + /** + * C++ default constructor. + */ + CNSmlDMProfilesContainer( CAknView* aView ); + + /** + * By default Symbian 2nd phase constructor is private. + */ + void ConstructL( const TRect& aRect ); + + public: // data + CAknDoubleLargeStyleListBox* iProfilesListBox; + + private: // data + CNSmlDMSyncAppUi* iAppUi; + CNSmlDMSyncDocument* iDocument; + // Pointer to the view instance + CAknView* iView; + + TBool iContextMenuUp; + TBool iConfirmationNoteUp; + TInt iMenuUp; + TBool iSettingsView; + }; + +#endif // CNSMLDMPROFILESCONTAINER_H + +// End of File