diff -r 000000000000 -r 3ce708148e4d devicediagnostics/devdiagapp/inc/devdiagsuitecontainer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/devicediagnostics/devdiagapp/inc/devdiagsuitecontainer.h Thu Dec 17 08:40:12 2009 +0200 @@ -0,0 +1,223 @@ +/* +* Copyright (c) 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: Main container that displayes test suites. +* +*/ + + + +#ifndef CDEVDIAGSUITECONTAINER_H +#define CDEVDIAGSUITECONTAINER_H + +// SYSTEM INCLUDES +#include +#include + +// FORWARD DECLARATIONS +class CDevDiagSuiteView; +class CDevDiagEngine; +class MDiagPlugin; +class CAknSingleLargeStyleListBox; + +// CLASS DECLARATION + +/** +* CDevDiagSuiteContainer dialog class +* +*/ +class CDevDiagSuiteContainer : public CCoeControl, + public MCoeControlObserver, + public MEikListBoxObserver + { + + public: // Constructors and destructor + + /** + * Two-phased constructor. + * + * @param aView Main view. + * @param aEngine Model. + * @param aRect Area to draw on. + */ + static CDevDiagSuiteContainer* NewL( CDevDiagSuiteView* aView, + CDevDiagEngine& aEngine, + const TRect& aRect ); + + /** + * Destructor. + */ + ~CDevDiagSuiteContainer(); + + public: // Functions from base classes + + /** + * From MProgressDialogCallback. Gets called when the + * dialog is dismissed/closed. + * @param aButtonId Softkey Button Id + */ + void DialogDismissedL( const TInt aButtonId ); + + /** + * 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; + + /** + * Display children of the parent. + * + * @param aParentUid Suite UID. + **/ + void DisplayChildrenL( TUid aParentUid ); + + /** + * Append plug-in into the listbox + * + * @param aPlugin Plug-in to be added. + * + **/ + void DisplayPluginL( MDiagPlugin* aPlugin ); + + /** + * Return the plug-in that is selected + * Return always a test suite. + * + * @param aPlugin The selected plug-in. + **/ + void SelectedPlugin( MDiagPlugin*& aPlugin ) const; + + protected: + + /** + * Change of focus + * @param - + * @return - + */ + void FocusChanged(TDrawNow aDrawNow); + + /** + * Appends icons to the contained listbox. + * @since Series 60 3.1 + * @param None. + * @return None. + */ + void AddIconsL(); + + private: + + /** + * C++ default constructor. + * + * @param aView Main view. + * @param aEngine Model. + */ + CDevDiagSuiteContainer( CDevDiagSuiteView* aView, CDevDiagEngine& aEngine ); + + /** + * By default Symbian 2nd phase constructor is private. + */ + void ConstructL( const TRect& aRect ); + + public: // data + + //Listbox. Own. + CAknSingleLargeStyleListBox* iListBox; + + //Main view. + CDevDiagSuiteView* iView; + + //Model. + CDevDiagEngine& iEngine; + + //Currently displayed plug-ins + //Plug-ins are owned by the engine. + //Do not call ResetAndDestroy. + RPointerArray iChildren; + + }; + +#endif // CDEVDIAGSUITECONTAINER_H + +// End of File