00001 /* 00002 * ============================================================================ 00003 * Name : AknMfneSettingPage.h 00004 * Part of : Avkon 00005 * 00006 * Description: 00007 * Header file for Setting page implementations for Date, Time, duration 00008 * and IP addresses 00009 * Version: 00010 * 00011 * Copyright © 2002 Nokia Corporation. 00012 * This material, including documentation and any related 00013 * computer programs, is protected by copyright controlled by 00014 * Nokia Corporation. All rights are reserved. Copying, 00015 * including reproducing, storing, adapting or translating, any 00016 * or all of this material requires the prior written consent of 00017 * Nokia Corporation. This material also contains confidential 00018 * information which may not be disclosed to others without the 00019 * prior written consent of Nokia Corporation. 00020 * ============================================================================ 00021 */ 00022 00023 #ifndef __AKNMFNESETTINGPAGE_H__ 00024 #define __AKNMFNESETTINGPAGE_H__ 00025 00026 #include <eikdef.h> 00027 #include <eikbtgpc.h> 00028 #include <eikmfne.h> 00029 #include <aknipfed.h> 00030 #include <in_sock.h> 00031 #include <aknsettingpage.h> 00032 00033 00034 // FORWARD DECLARATIONS 00035 class CAknButton; 00036 00043 class CAknMfneSettingPage : public CAknSettingPage 00044 { 00045 00046 public: 00051 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent); 00055 IMPORT_C virtual ~CAknMfneSettingPage(); 00056 00057 protected: 00063 IMPORT_C CAknMfneSettingPage(TInt ResourceId ); 00074 IMPORT_C CAknMfneSettingPage( const TDesC* aSettingTitleText, 00075 TInt aSettingNumber, 00076 TInt aControlType, 00077 TInt aEditorResourceId, 00078 TInt aSettingPageResourceId ); 00079 00085 IMPORT_C virtual void SizeChanged(); 00086 00090 IMPORT_C void Draw(const TRect& aRect) const; 00091 00095 IMPORT_C CEikMfne* Mfne() const; 00096 00104 IMPORT_C void CheckAndSetDataValidity(); 00105 00118 IMPORT_C virtual void HandleControlEventL(CCoeControl* aControl, 00119 TCoeEvent aEventType); 00120 00127 IMPORT_C virtual void ConstructL(); 00128 00134 IMPORT_C TInt CountComponentControls() const; 00135 00141 IMPORT_C CCoeControl* ComponentControl(TInt anIndex) const; 00142 00143 protected: 00144 00145 // Buttons for modifying the value of the active MFNE field with stylus. 00146 // The derived classes which require the buttons, must call this class' 00147 // ConstructL function in their second phase constructor. This class 00148 // takes care of the button positioning and functionality. 00149 CAknButton* iIncreaseValueButton; 00150 CAknButton* iDecreaseValueButton; 00151 00152 private: 00156 IMPORT_C void* ExtensionInterface( TUid aInterface ); 00157 00158 private: 00159 // Layout information is stored here and not in the derived classes 00160 TAknLayoutRect iMfneLayoutRect; 00161 TAknLayoutRect iHorizontalShadow; 00162 TAknLayoutRect iVerticalShadow; 00163 TAknLayoutRect iOutlineFrame; 00164 00165 TInt iSpare_1; 00166 00167 }; 00168 00169 00175 class CAknDateSettingPage : public CAknMfneSettingPage 00176 { 00177 public: 00178 00186 IMPORT_C CAknDateSettingPage( 00187 TInt aResourceID, 00188 TTime& aDateValue); 00189 00240 IMPORT_C CAknDateSettingPage( 00241 const TDesC* aSettingTitleText, 00242 TInt aSettingNumber, 00243 TInt aControlType, 00244 TInt aEditorResourceId, 00245 TInt aSettingPageResourceId, 00246 TTime& aDateValue ); 00247 00248 00255 IMPORT_C virtual void ConstructL(); 00256 00262 IMPORT_C CEikDateEditor* DateEditor(); 00263 00267 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent); 00268 00269 protected: 00273 IMPORT_C virtual ~CAknDateSettingPage(); 00274 00280 IMPORT_C virtual void UpdateSettingL(); 00281 00289 IMPORT_C virtual void AcceptSettingL(); 00290 00296 IMPORT_C virtual void RestoreOriginalSettingL(); 00297 00298 // 00299 // CoeControl Framework and reserved methods 00300 // 00301 protected: 00302 00310 IMPORT_C virtual void WriteInternalStateL(RWriteStream& aWriteStream) const; 00311 00312 private: 00316 IMPORT_C virtual void Reserved_2(); 00317 00318 private: 00322 IMPORT_C void* ExtensionInterface( TUid aInterface ); 00323 00327 private: 00328 IMPORT_C virtual void CAknSettingPage_Reserved_1(); 00329 IMPORT_C virtual void CAknSettingPage_Reserved_2(); 00330 00331 private: 00332 TTime& iDateValue; 00333 TTime iBackupDateValue; 00334 }; 00335 00341 class CAknTimeSettingPage : public CAknMfneSettingPage 00342 { 00343 public: 00350 IMPORT_C CAknTimeSettingPage( 00351 TInt aResourceID, 00352 TTime& aTimeValue); 00353 00403 IMPORT_C CAknTimeSettingPage( const TDesC* aSettingTitleText, 00404 TInt aSettingNumber, 00405 TInt aControlType, 00406 TInt aEditorResourceId, 00407 TInt aSettingPageResourceId, 00408 TTime& aTimeValue ); 00409 00415 IMPORT_C virtual void ConstructL(); 00416 00420 IMPORT_C CEikTimeEditor* TimeEditor(); 00421 00425 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent); 00426 00427 protected: 00428 00432 IMPORT_C virtual ~CAknTimeSettingPage(); 00433 00439 IMPORT_C virtual void UpdateSettingL(); 00440 00448 IMPORT_C virtual void AcceptSettingL(); 00454 IMPORT_C virtual void RestoreOriginalSettingL(); 00455 00456 // 00457 // CoeControl Framework and reserved methods 00458 // 00459 protected: 00460 00468 IMPORT_C virtual void WriteInternalStateL(RWriteStream& aWriteStream) const; 00469 00470 private: 00471 00475 IMPORT_C virtual void Reserved_2(); 00476 00477 private: 00481 IMPORT_C void* ExtensionInterface( TUid aInterface ); 00482 00486 private: 00487 IMPORT_C virtual void CAknSettingPage_Reserved_1(); 00488 IMPORT_C virtual void CAknSettingPage_Reserved_2(); 00489 00490 00491 private: 00492 TTime& iTimeValue; 00493 TTime iBackupTimeValue; 00494 00495 }; 00496 00502 class CAknDurationSettingPage : public CAknMfneSettingPage 00503 { 00504 public: 00511 IMPORT_C CAknDurationSettingPage( 00512 TInt aResourceID, 00513 TTimeIntervalSeconds& aDurationValue); 00564 IMPORT_C CAknDurationSettingPage( const TDesC* aSettingTitleText, 00565 TInt aSettingNumber, 00566 TInt aControlType, 00567 TInt aEditorResourceId, 00568 TInt aSettingPageResourceId, 00569 TTimeIntervalSeconds& aDurationValue); 00570 00576 IMPORT_C virtual void ConstructL(); 00580 IMPORT_C CEikDurationEditor* DurationEditor(); 00585 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent); 00586 00587 protected: 00591 IMPORT_C virtual ~CAknDurationSettingPage(); 00592 00598 IMPORT_C virtual void UpdateSettingL(); 00599 00607 IMPORT_C virtual void AcceptSettingL(); 00608 00614 IMPORT_C virtual void RestoreOriginalSettingL(); 00615 00616 // 00617 // CoeControl Framework and reserved methods 00618 // 00619 protected: 00620 00628 IMPORT_C virtual void WriteInternalStateL(RWriteStream& aWriteStream) const; 00629 00630 private: 00634 IMPORT_C virtual void Reserved_2(); 00635 00636 private: 00640 IMPORT_C void* ExtensionInterface( TUid aInterface ); 00641 00645 private: 00646 IMPORT_C virtual void CAknSettingPage_Reserved_1(); 00647 IMPORT_C virtual void CAknSettingPage_Reserved_2(); 00648 00649 private: 00650 TTimeIntervalSeconds& iDurationValue; 00651 TTimeIntervalSeconds iBackupDurationValue; 00652 }; 00653 00654 00662 class CAknTimeOffsetSettingPage : public CAknMfneSettingPage 00663 { 00664 public: 00673 IMPORT_C CAknTimeOffsetSettingPage( 00674 TInt aResourceID, 00675 TTimeIntervalSeconds& aTimeOffsetValue); 00727 IMPORT_C CAknTimeOffsetSettingPage( const TDesC* aSettingTitleText, 00728 TInt aSettingNumber, 00729 TInt aControlType, 00730 TInt aEditorResourceId, 00731 TInt aSettingPageResourceId, 00732 TTimeIntervalSeconds& aTimeOffsetValue); 00733 00739 IMPORT_C virtual void ConstructL(); 00743 IMPORT_C CEikTimeOffsetEditor* TimeOffsetEditor(); 00747 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent); 00748 00749 protected: 00753 IMPORT_C virtual ~CAknTimeOffsetSettingPage(); 00754 00762 IMPORT_C virtual void UpdateSettingL(); 00763 00773 IMPORT_C virtual void AcceptSettingL(); 00774 00782 IMPORT_C virtual void RestoreOriginalSettingL(); 00783 00784 // 00785 // CoeControl Framework and reserved methods 00786 // 00787 protected: 00788 00797 IMPORT_C virtual void WriteInternalStateL(RWriteStream& aWriteStream) const; 00798 00799 private: 00805 IMPORT_C virtual void Reserved_2(); 00806 00807 private: 00811 IMPORT_C void* ExtensionInterface( TUid aInterface ); 00812 00816 private: 00817 IMPORT_C virtual void CAknSettingPage_Reserved_1(); 00818 IMPORT_C virtual void CAknSettingPage_Reserved_2(); 00819 00820 private: 00821 TTimeIntervalSeconds& iTimeOffsetValue; 00822 TTimeIntervalSeconds iBackupTimeOffsetValue; 00823 00824 }; 00830 class CAknIpFieldSettingPage : public CAknMfneSettingPage 00831 { 00832 public: 00839 IMPORT_C CAknIpFieldSettingPage( 00840 TInt aResourceID, 00841 TInetAddr& aIpAddress); 00891 IMPORT_C CAknIpFieldSettingPage( const TDesC* aSettingTitleText, 00892 TInt aSettingNumber, 00893 TInt aControlType, 00894 TInt aEditorResourceId, 00895 TInt aSettingPageResourceId, 00896 TInetAddr& aIpAddress); 00897 00903 IMPORT_C virtual void ConstructL(); 00907 IMPORT_C CAknIpFieldEditor* IpFieldEditor(); 00908 00912 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent); 00913 00914 protected: 00918 IMPORT_C virtual ~CAknIpFieldSettingPage(); 00919 00925 IMPORT_C virtual void UpdateSettingL(); 00926 00934 IMPORT_C virtual void AcceptSettingL(); 00935 00941 IMPORT_C virtual void RestoreOriginalSettingL(); 00942 00943 // 00944 // CoeControl Framework and reserved methods 00945 // 00946 protected: 00947 00955 IMPORT_C virtual void WriteInternalStateL(RWriteStream& aWriteStream) const; 00956 00957 private: 00958 00962 IMPORT_C virtual void Reserved_2(); 00963 00964 private: 00968 IMPORT_C void* ExtensionInterface( TUid aInterface ); 00969 00973 private: 00974 IMPORT_C virtual void CAknSettingPage_Reserved_1(); 00975 IMPORT_C virtual void CAknSettingPage_Reserved_2(); 00976 00977 private: 00978 TInetAddr& iIpAddress; 00979 TInetAddr iBackupIpAddress; // Not a reference 00980 00981 }; 00982 #endif