eiklbbut.h

Go to the documentation of this file.
00001 /*
00002 * ============================================================================
00003 *  Name        : eiklbbut.h
00004 *  Part of     : EikStd / EikCoCtl
00005 *  Description : Uikon legacy labelled button control
00006 *  Version     : %version: 5 % 
00007 *
00008 *  Copyright © 2000-2006 Nokia.  All rights reserved.
00009 *  This material, including documentation and any related computer
00010 *  programs, is protected by copyright controlled by Nokia.  All
00011 *  rights are reserved.  Copying, including reproducing, storing,
00012 *  adapting or translating, any or all of this material requires the
00013 *  prior written consent of Nokia.  This material also contains
00014 *  confidential information which may not be disclosed to others
00015 *  without the prior written consent of Nokia.
00016 * ============================================================================
00017 * Template version: 4.1
00018 */
00019 #if !defined (__EIKLBBUT_H__)
00020 #define __EIKLBBUT_H__
00021 
00022 #if !defined(__COECNTRL_H__)
00023 #include <coecntrl.h>
00024 #endif
00025 
00026 #if !defined(__COECOBS_H__)
00027 #include <coecobs.h>
00028 #endif
00029 
00030 #include <akncontrol.h>
00031 
00032 class CEikCommandButtonBase;
00033 class CEikLabel;
00034 
00047  class CEikLabeledButton : public CAknControl, private MCoeControlObserver
00048     {
00049 public:
00053     enum TFlags
00054         {
00055         EShowHotKey = 0x01,   // Hot keys are displayed
00056         EPlainHotKey = 0x02    // Hot keys are displayed plain
00057         };
00058 public:
00059 
00063     IMPORT_C CEikLabeledButton();
00064 
00068     IMPORT_C ~CEikLabeledButton();
00069 
00075     IMPORT_C void ConstructL(CEikCommandButtonBase* aButton,TInt aHotKeyCode,TInt aFlags);
00076 
00082     IMPORT_C CEikCommandButtonBase* Button() const;
00083 
00089     IMPORT_C CEikLabel* Label() const;
00090 
00096     IMPORT_C TInt HotKeyCode() const;
00097 
00103     IMPORT_C TBool ShowsHotKey() const;
00104 
00110     IMPORT_C TBool PlainHotKey() const;
00111 
00115     IMPORT_C void Animate();
00116 
00122     IMPORT_C void UpdateHotKey(TInt aKeyCode,TFlags aFlags);
00123 
00124 // from CCoeControl    
00125 public:
00134     IMPORT_C TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
00135     
00143     IMPORT_C void ConstructFromResourceL(TResourceReader& aReader);
00144     
00152     IMPORT_C TSize MinimumSize();
00153     
00161     IMPORT_C void SetContainerWindowL(const CCoeControl& aContainer);
00162     
00170     IMPORT_C void SetDimmed(TBool aDimmed);
00171     
00179     IMPORT_C void GetColorUseListL(CArrayFix<TCoeColorUse>& aColorUseList) const; // not available before Release 005u
00180 
00189     IMPORT_C void HandleResourceChange(TInt aType);                     // not available before Release 005u
00190     
00198     IMPORT_C TCoeInputCapabilities InputCapabilities() const; // not available before Release 006
00199 
00207     IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
00208 
00209 protected: 
00217     IMPORT_C void WriteInternalStateL(RWriteStream& aWriteStream) const;
00218     
00219 private:
00227     TInt CountComponentControls() const;
00228     
00236     CCoeControl* ComponentControl(TInt aIndex) const;
00237     
00238     void SizeChanged();
00239 
00240     void Reserved_2();
00241     
00242 private:
00246     IMPORT_C void* ExtensionInterface( TUid aInterface );
00247 private: 
00251     void HandleControlEventL(CCoeControl* aControl,TCoeEvent aEventType);
00252 private:
00253     void CreateLabelL();
00254     void UpdateHotKeyL();
00255 private:
00260     CEikCommandButtonBase* iButton;
00261     
00266     CEikLabel* iLabel; // Owned
00267     
00268     TInt iHotKeyCode;
00269     TInt iLButFlags;
00270 
00271     TInt iSpare[2];
00272     };
00273 
00274 #endif

Copyright © Nokia Corporation 2001-2008
Back to top