diff -r 159fc2f68139 -r d59c248c9d36 ImagePrint/ImagePrintUI/imageprintapp/inc/cimageprintsettingscontainer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ImagePrint/ImagePrintUI/imageprintapp/inc/cimageprintsettingscontainer.h Wed Sep 01 12:30:38 2010 +0100 @@ -0,0 +1,169 @@ +/* +* Copyright (c) 2004-2007 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: +* +*/ + + +#ifndef CIMAGEPRINTSETTINGSCONTAINER_H +#define CIMAGEPRINTSETTINGSCONTAINER_H + +#include +#include +#include +#include +#include + +#include "midleprinteventobserver.h" + +class MObjectProvider; +class MPrintSettings; +class CPropertiesBoxModel; +class CImagePrintSettingsItemList; +class CImagePrintAppUi; +class MUIMode; + +/** + * + * Image print settings container + * + */ +class CImagePrintSettingsContainer + : public CCoeControl + { + + public: // Constructors and destructor + + /** + * Two-phase constructor + * @param aSettings Print settings interface + * @param aProvider Object provider for setting the MOP + * @paramt aClientRect The screen area + * @return Initialized instance of the class + */ + static CImagePrintSettingsContainer* NewL( + MPrintSettings* aSettings, + MObjectProvider* aProvider, + TRect aClientRect, + CImagePrintAppUi* aAppUi, + MUIMode* aUIMode ); + + /** + * Destructor + */ + virtual ~CImagePrintSettingsContainer(); + + protected: // Constructors and destructor + + /** + * Constructor + * MPrintSettings* aSettings Print settings interface + */ + CImagePrintSettingsContainer( MPrintSettings* aSettings, + CImagePrintAppUi* aAppUi, + MUIMode* aUIMode ); + + /** + * 2nd phase constructor + * MObjectProvider* aProvider Object provider for setting the MOP + * TRect aClientRect The screen area + */ + void ConstructL( MObjectProvider* aProvider, const TRect& aClientRect ); + + protected: // Methods derived from CCoeControl + + /** + * Returns the amount of owned UI controls + * + * @return Number of components + */ + TInt CountComponentControls() const; + + /** + * Gets the specified component of a compound control. + * + * @param aIndex The index of the control to get. + * @return The component control with an index of aIndex + */ + CCoeControl* ComponentControl( TInt aIndex ) const; + + /** + * Draws the control to the device screen + * + * @param aRect Modified area (not used) + */ + void Draw( const TRect& aRect ) const; + + void SizeChanged(); + void HandleResourceChange( TInt aType ); + + public: // New methods + + /** + * Starts editing the active item + */ + void EditItemL(); + + /** + * Starts the device discovery + * + * @param aProtocol protocol for which the discovery is done + * @param aHidden whether discovery is visible (dialog) or hidden + */ + void DoDiscoveryL( TInt aProtocol, TBool aHidden = EFalse ); + + /** + * Changes the text in status pane + * + * @param aName new text for status pane + */ + + void ChangeStatusPaneTextL( const TInt aCopiesOfImage ); + + /** + * Updates the size of settings list + * + * @param aRect new size for list + */ + void UpdateListSize( TRect aRect ); + + /** + * Tells ListBox to update itself as its' size has + * possible changed + */ + void UpdateListBox( ); + + protected: + + // Settings + MPrintSettings* iPrintSettings; + + // List box model + CPropertiesBoxModel* iModel; + + // Item list + CAknSettingStyleListBox* iListBox; + + // AppUi + CImagePrintAppUi* iAppUi; + + // USB connect note + CAknProgressDialog* iUSBConnectionWaitNote; + + MUIMode* iUIMode; + }; + +#endif // CIMAGEPRINTSETTINGSCONTAINER_H + +// End of File