diff -r f345bda72bc4 -r 43e37759235e Symbian3/Examples/guid-6013a680-57f9-415b-8851-c4fa63356636/_custom_controls_8h-source.html --- a/Symbian3/Examples/guid-6013a680-57f9-415b-8851-c4fa63356636/_custom_controls_8h-source.html Tue Mar 30 11:56:28 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,265 +0,0 @@ - -
-00001 // Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies). -00002 // All rights reserved. -00003 // This component and the accompanying materials are made available -00004 // under the terms of "Eclipse Public License v1.0" -00005 // which accompanies this distribution, and is available -00006 // at the URL "http://www.eclipse.org/legal/epl-v10.html". -00007 // -00008 // Initial Contributors: -00009 // Nokia Corporation - initial contribution. -00010 // -00011 // Contributors: -00012 // -00013 // Description: -00014 // UI Control Framework example application -00015 // -00016 -00017 #if !defined(__COSMILEY_H__) -00018 #define __COSMILEY_H__ -00019 -00021 // -00022 // Include files containing: -00023 // -00024 // 1. Symbol definitions used by C++ code and resource scripts (the *.hrh) -00025 // 2. Resource ids generated by resource compilation of -00026 // resource scripts (the *.rsg) -00027 // 3. Class definitions required by this app (the *.h) -00028 // -00030 -00031 // 1. -00032 #include <eikon.hrh> -00033 #include "CustomControls.hrh" -00034 // 2. -00035 #include <eikon.rsg> -00036 #include <customcontrols.rsg> -00037 // 3. -00038 #include <eikenv.h> -00039 #include <eikappui.h> -00040 #include <eikproc.h> -00041 #include <eikdialg.h> -00042 #include <eikmenub.h> -00043 #include <eikapp.h> -00044 #include <eikdoc.h> -00045 #include <coeutils.h> -00046 #include <barsread.h> -00047 #include <eikfctry.h> -00048 -00049 // The unique identifier for this application. -00050 // NOTE that the number has been arbitrarily chosen for the purpose of -00051 // of the example. -00052 const TUid KUidExampleApp={0xE8000004}; -00053 -00054 -00056 // -00057 // -----> CSmileyDialog(definition) -00058 // -00060 class CSmileyDialog : public CEikDialog -00061 { -00062 public: -00063 // Construct and run -00064 static TBool RunDlgLD(); -00065 private: -00066 SEikControlInfo CreateCustomControlL(TInt aControlType); -00067 }; -00068 -00070 // -00071 // -----> CSmiley (definition) -00072 // -00074 class CSmiley : public CCoeControl -00075 { -00076 public: -00077 CSmiley(TBool aSmiling); -00078 ~CSmiley(); -00079 public: -00080 TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType); -00081 TBool IsSmiling(); -00082 private: -00083 void Draw(const TRect& aRect) const; -00084 void SizeChanged(); -00085 protected: -00086 void HandlePointerEventL(const TPointerEvent& aPointerEvent); -00087 void FocusChanged(TDrawNow aDrawNow); -00088 private: -00089 TBool iSmiling; -00090 TRect iSmileyRect; -00091 TInt iSmileyWidth; -00092 TInt iSmileyHeight; -00093 TRect iSmileRect; -00094 TRect iFrownRect; -00095 }; -00096 -00098 // -00099 // -----> CSmileyContainer(definition) -00100 // -00102 class CSmileyContainer : public CCoeControl, -00103 public MCoeControlObserver -00104 { -00105 public: -00106 // Construction -00107 CSmileyContainer(); -00108 void ConstructL(const TRect& aRect); -00109 // Destruction -00110 ~CSmileyContainer(); -00111 void ConstructFromResourceL(TResourceReader& aReader); -00112 void PrepareForFocusLossL(); -00113 TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType); -00114 protected: -00115 void FocusChanged(TDrawNow aDrawNow); -00116 private: -00117 // Virtual, defined by CCoeControl; replaces the default implementation -00118 // provided by CCoeControl. -00119 void Draw(const TRect& aRect) const; -00120 -00121 // Virtual, defined by CCoeControl; replaces the default implementation -00122 // provided by CCoeControl. -00123 TInt CountComponentControls() const; -00124 -00125 // Virtual, defined by CCoeControl; replaces the default implementation -00126 // provided by CCoeControl. -00127 CCoeControl* ComponentControl(TInt aIndex) const; -00128 -00129 // Virtual, defined by CCoeControl; empty implementation provided by -00130 // CCoeControl; full implementation provided by this class -00131 void SizeChanged(); -00132 -00133 // Defined as pure virtual by the mixin class MCoeControlObserver -00134 // inherited by CCoeControl. An empty implementation provided by -00135 // this class (its containees do not report events). -00136 void HandleControlEventL(CCoeControl* aControl, -00137 TCoeEvent aEventType); -00138 private: -00139 // Member functions defined and used by this class -00140 void SwapFocus(CCoeControl* aControl); -00141 private: -00142 // Data members defined and used by this class. -00143 CSmiley* iSmiley1; -00144 CSmiley* iSmiley2; -00145 }; -00146 -00147 -00148 -00150 // -00151 // -----> CMainWinControl (definition) -00152 // -00154 class CMainWinControl : public CCoeControl -00155 { -00156 public: -00157 CMainWinControl(); -00158 ~CMainWinControl(); -00159 void ConstructL(const TRect& rect); -00160 TInt CountComponentControls() const; -00161 CCoeControl* ComponentControl(TInt aIndex) const; -00162 TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType); -00163 private: -00164 void Draw(const TRect& aRect) const; -00165 private: -00166 CSmileyContainer* iContainer; -00167 }; -00168 -00170 // -00171 // -----> CExampleAppUi (definition) -00172 // -00174 class CExampleAppUi : public CEikAppUi -00175 { -00176 public: -00177 // Destruction. -00178 ~CExampleAppUi(); -00179 -00180 public: -00181 // Virtual, defined by CEikAppUi; replaces the implementation -00182 // provided by CEikAppUi. -00183 void ConstructL(); -00184 -00185 private: -00186 // Virtual, defined by CEikAppUi; empty implementation -00187 // provided by CEikAppUi; full implementation provided -00188 // by this class. -00189 void HandleCommandL(TInt aCommand); -00190 -00191 // Virtual, defined by CEikAppUi; empty implementation -00192 // provided by CEikAppUi; full implementation provided -00193 // by this class. -00194 void HandleModelChangeL(); -00195 -00196 private: -00197 void OnCmdExit(); -00198 private: -00199 // Data members defined by this class. -00200 CMainWinControl* iMainWinControl; -00201 }; -00202 -00204 // -00205 // -----> CExampleDocument (definition) -00206 // -00208 class CExampleDocument : public CEikDocument -00209 { -00210 public: -00211 // Construction. -00212 static CExampleDocument* NewL(CEikApplication& aApp); -00213 CExampleDocument(CEikApplication& aApp); -00214 // Destruction. -00215 ~CExampleDocument(); -00216 -00217 private: -00218 // Defined as pure virtual by CEikDocument; full implementation -00219 // provided by this class -00220 CEikAppUi* CreateAppUiL(); // Construct an app.user interface -00221 -00222 // Defined as pure virtual by CApaDocument; empty implementation -00223 // provided by CEikDocument; full implementation provided -00224 // by this class. -00225 void NewDocumentL(); // Build a new document -00226 -00227 // Defined as pure virtual by CApaDocument; empty implementation -00228 // provided by CEikDocument; full implementation provided -00229 // by this class. -00230 void StoreL(CStreamStore& aStore, -00231 CStreamDictionary& aStreamDic -00232 ) const; -00233 void RestoreL(const CStreamStore& aStore, -00234 const CStreamDictionary& aStreamDic -00235 ); -00236 -00237 public: -00238 // Member functions defined by this class -00239 void DoNewFileL(const TFileName& aFileName); -00240 void DoOpenFileL(const TFileName& aFileName); -00241 void DoSaveToNewFileL(const TFileName& aNewFileName); -00242 TBool FileNameExists(const TFileName& aFileName) const; -00243 -00244 private: -00245 // Member functions defined by this class -00246 void CreateModelL(); -00247 void ResetModelL(); -00248 }; -00249 -00251 // -00252 // -----> CExampleApplication (definition) -00253 // -00255 class CExampleApplication : public CEikApplication -00256 { -00257 private: -00258 // Defined as pure virtual by CApaApplication; implementation -00259 // provided by this class -00260 TUid AppDllUid() const; // Returns Uid associated with app -00261 -00262 // Defined as pure virtual by CEikApplication; implementation -00263 // provided by this class. -00264 CApaDocument* CreateDocumentL(); // Construct new document -00265 }; -00266 -00267 -00268 -00269 #endif -