--- a/XDMSettingsUI/inc/XDMPluginSLContainer.h Thu Aug 19 10:19:02 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,306 +0,0 @@
-/*
-* Copyright (c) 2005-2010 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: XDM GS plugin Settings list container.
-*
-*/
-
-
-
-
-#ifndef GS_XDMPLUGIN_SL_CONTAINER_H
-#define GS_XDMPLUGIN_SL_CONTAINER_H
-
-// INCLUDES
-#include <bldvariant.hrh>
-#include <coeccntx.h>
-#include <eikclb.h>
-#include <aknview.h>
-
-#include "XDMPlugin.hrh"
-
-// FORWARD DECLARATION
-class CGSListBoxItemTextArray;
-class CEikTextListBox;
-class CSettingsData;
-class CXDMPluginSettinglist;
-class CAknColumnListBox;
-class CAknViewAppUi;
-
-/**
-* CXDMPluginSLContainer Settings list container class
-*/
-class CXDMPluginSLContainer : public CCoeControl, MEikListBoxObserver
- {
- public:
-
- /**
- * C++ Constructor
- */
- CXDMPluginSLContainer(CAknView* aView);
-
- /**
- * Symbian OS constructor.
- * @param aRect Listbox's rect.
- */
- void ConstructL( const TRect& aRect);
-
- /**
- * Destructor.
- */
- ~CXDMPluginSLContainer();
-
- public: // From CCoeControl
-
- /**
- * See CCoeControl.
- */
- TInt CountComponentControls() const;
-
- /**
- * See CCoeControl.
- */
- CCoeControl* ComponentControl( TInt aIndex ) const;
-
- /**
- * See CCoeControl.
- */
- TKeyResponse OfferKeyEventL(
- const TKeyEvent& aKeyEvent, TEventCode aType );
-
- /**
- * See CCoeControl.
- */
- void SizeChanged();
-
- /**
- * See CCoeControl.
- */
- void Draw(const TRect& aRect) const;
-
- /**
- * See CCoeControl
- */
- void HandleResourceChange( TInt aType );
-
- /**
- * Gets help context
- */
- void GetHelpContext( TCoeHelpContext& aContext ) const;
-
- /**
- * See CCoeControl
- */
- void FocusChanged(TDrawNow aDrawNow);
-
- public:
-
- /**
- * Edit currently focused item on settings list. called from UI
- */
- void EditCurrentItemL();
-
- /**
- * See MEikListBoxObserver
- */
- void HandleListBoxEventL(CEikListBox* aListBox, TListBoxEvent aEventType);
-
- /**
- * Prepare the XDM set with given name for editing
- * @param aXDMSetName reference to the XDM set name to be edited
- */
- void PrepareXDMSetForEditingL(TDesC& aXDMSetName);
-
- /**
- * Prepare the a new XDM set with default values
- * @param none
- */
- void PrepareXDMSetNewDefaultL();
-
- /**
- * Prepare the a new XDM set with values from an existing set
- * @param aXDMSetName reference to the new XDM set name
- */
- void PrepareNewXDMSetFromExistingL(TDesC& aXDMSetName);
-
- /**
- * Display the dialog to the user to select the creation of new set
- * from existing sets. Saves the selected name to iData
- * @return ETrue if user has choosen a set, return EFalse if user cancels
- */
- TBool DisplayNewXDMSetOptionsL();
-
- /**
- * Called by the UI when back button is pressed, to perform needed steps
- * @return ETrue if settings list is allowed to close
- */
- TBool IsExitProcessingOKL();
-
- /**
- * Handle manual resource change with its type
- * @param aType, type of resource
- */
- void HandleResourceChangeManual(TInt aType);
-
- /**
- * Save settings if possible, without any user interaction.
- * this is useful for force exit, e.g. when mmc taken out
- */
- void SaveSettingsIfPossibleL();
-
- /**
- * Return the name of current set in iData
- * @return TDes reference to current set
- */
- TDes& GetCurrentSetName();
-
- /**
- * Returns ETrue is AP used by XDM settings is in use
- * @return ETrue if ap in use
- */
- TBool SettingsApInUseL(TDesC& aXDMSetName);
-
-
- private: // Most of these methods perform operations using iData
-
- /**
- * Sets the title pane text with given discriptor
- * @param aTitleText text to be shown on title pane
- */
- void SetTitlePaneTextL( const TDesC& aTitleText ) const;
-
- /**
- * Finds out whether compulsory items are filled
- * @return ETrue if compulsory items are filled
- */
- TBool AreCompulsoryItemsFilled();
-
- /**
- * Display a query dialog to user that compulsory settings are not
- * filled, and if user wants to delete the settings
- * @return ETrue if user wants to delete the settings
- */
- TBool DisplayDeleteOrDontSaveDialogL();
-
- /**
- * Update an XDM set if it already exist or create it if it doesnt exist
- * @param aShowDialog whether dialog will be displayed or not
- * @return ETrue if save procedure goes ok
- */
- TBool SaveOrCreateAndSaveXDMSetL(TBool aShowDialog);
-
- /**
- * Deletes the XDM set if it exist in the XDM settings API
- */
- void DeleteXDMSetIfExistL();
-
- /**
- * Gets the setting id of the given set name
- * @param aXDMSetName reference to XDM set name
- * @return settingid of the given xdm set
- */
- TInt GetSettingIdL(TDesC& aXDMSetName);
-
- /**
- * If the given XDM set name with given ID is exist or not
- * @param aXDMSetName reference to XDM set name
- * aSettingId settings id of the XDM
- * @return ETrue of XDM set exist with given name
- */
- TBool IsXDMSetNameExistL(TDesC& aXDMSetName, TInt32& aSettingId);
-
- /**
- * Load XDM Collection names with trap, useful when list doesnt have anything
- * @param Reference to setting ids
- * @return CDesCArray collection names
- */
- CDesCArray* LoadCollectionNamesL(RArray<TInt>& aSettingIDs, TBool aDisp);
-
- /**
- * Check the given name and returns the possible altered name. NULL
- * pointer is returned no change is needed in aName, so aName can be
- * used if NULL pointer is returned. If some valid pointer is returned
- * then that pointer is owned by client, and needed to be deleted after
- * usage.
- * @param aName, the name from which to start suggestion.
- * @param aChanged, returns ETrue if an alternate name is returned.
- * @return HBufC* pointer to the new name, can be NULL if not needed.
- */
- HBufC* DoMakeValidNameL(HBufC* aName, TBool& aChanged);
-
- /**
- * Ensures that the passed name is valid, length > 0 & length < max.
- * If length == 0, leaves with KErrInvalidName
- * If name is only whitespace, leaves with KErrInvalidName
- * If name is longer than max, name is truncated
- * It copies the name, pushes it onto the CleanupStack and passes
- * ownership.
-
- * @param aName The name
- * @param aChanged A reference to a boolean to hold whether the name
- * had been changed or not.
- * @return The valid-length name
- */
- HBufC* EnsureMaxLengthLC( const TDesC* aName, TBool& aChanged);
-
- /**
- * Given aName in the format <prefix> or
- * <prefix><brace><integer><brace>, return a
- * pointer to the leading part. That is, if there is
- * trailing <space><integer>, then that is excluded;
- * if there is no trailing part, then the original
- * decriptor is returned.
- * Examples:
- * - "Foo" returns "Foo";
- * - "Foo 12" returns "Foo 12";
- * - "Foo(12)" returns "Foo";
- * - "Foo 12 (34)" returns "Foo 12 ";
- * - "Foo bar" returns "Foo bar";
- * - "Foo " returns "Foo ".
- * @param aName The name to get the prefix from
- * @return The prefix
- */
- TPtrC GetPrefix( const TDesC& aName );
-
-
- /**
- * If aName is constructed from aPrefix with a postfix, get the numeric
- * value of the postfix, e.g:
- * - GetPostfix( "Foo (3)", "Foo" ) == 3
- * - GetPostfix( "Foo 23 (45)", "Foo 23" ) == 45
- * If aName is the same as aPrefix, return 0, e.g.:
- * - GetPostfix( "Foo", "Foo" ) == 0
- * If aName is not constructed from aPrefix, return -1, e.g.:
- * - GetPostfix( "Foobar", "Foo" ) == -1
- * - GetPostfix( "Fo 23 45", "Foo" ) == -1
- * @param aName The name to get the postfix from
- * @param aPrefix The prefix
- * @return The postfix
- */
- TInt GetPostfix( const TDesC& aName, const TDesC& aPrefix );
-
-
- private: // data
-
- // CXDMPluginSettinglist owned
- CXDMPluginSettinglist* iSettingList;
-
- // Pointer to settings data owned
- CSettingsData* iData;
-
- // Pointer to the application view, not owned
- CAknView* iView; // not owned
-
- };
-
-#endif //GS_XDMPLUGIN_SL_CONTAINER_H