00001
00002
00003
00004
00005 #ifndef __ENCODERSELECTIONDIALOG_H__
00006 #define __ENCODERSELECTIONDIALOG_H__
00007
00008
00009 #include <aknview.h>
00010 #include <eikdialg.h>
00011 #include <akndialog.h>
00012 #include <eiklbo.h>
00013 #include <AknsDrawUtils.h>
00014
00015
00016 class CImageConverterEngine;
00017 class CAknSingleStyleListBox;
00018
00019
00020
00021
00026 class CEncoderSelectionDialog : public CAknDialog, public MEikListBoxObserver
00027 {
00028 public:
00034 CEncoderSelectionDialog(
00035 RImageTypeDescriptionArray& aImageTypes,
00036 TInt& aSelectedIdx );
00037
00041 ~CEncoderSelectionDialog();
00042
00043 public:
00048 void PreLayoutDynInitL();
00049
00050 void PostLayoutDynInitL();
00051
00055 TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,
00056 TEventCode aType);
00057
00064 TBool OkToExitL(TInt aButtonId);
00065
00066 private:
00070 TInt CountComponentControls() const;
00071
00075 CCoeControl* ComponentControl(TInt aIndex) const;
00076
00077 void SizeChanged();
00078 void HandleListBoxEventL(CEikListBox* aListBox, TListBoxEvent aEventType);
00079 void HandleResourceChange(TInt aType);
00080
00081 static TInt PeriodicTimerCallBack(TAny* aAny);
00082
00083 private:
00084
00086 RImageTypeDescriptionArray& iImageTypes;
00087
00089 TInt& iSelectedIdx;
00090
00092 CAknSingleStyleListBox* iListBox;
00093
00095 CDesCArrayFlat* iMessageList;
00096
00097 CPeriodic* iPeriodic;
00098
00099 };
00100
00101 #endif //__ENCODERSELECTIONDIALOG_H__