00001
00002
00003 #ifndef S60AOLABCONTAINER_H
00004 #define S60AOLABCONTAINER_H
00005
00006 #include <coecntrl.h>
00007 #include "BubbleSortNotify.h"
00008
00009 class CEikLabel;
00010 class CActiveTimer;
00011 class CActiveBubbleSorter;
00012
00013
00014 class CAOLabBubbleSortContainer : public CCoeControl, MBubbleSortNotify
00015 {
00016 public:
00017
00018 static CAOLabBubbleSortContainer* NewL(const TRect& aRect);
00019 void ConstructL(const TRect& aRect);
00020 ~CAOLabBubbleSortContainer();
00021
00022 public:
00023
00024 void SortL();
00025 void CancelSortL();
00026 TBool IsSorting() const {return iIsSorting;}
00027
00028 private:
00029
00030
00031 void SizeChanged();
00032
00033
00034 TInt CountComponentControls() const;
00035 CCoeControl* ComponentControl(TInt aIndex) const;
00036 void Draw(const TRect& aRect) const;
00037
00038
00039 void SortComplete(TInt aError);
00040
00041 private:
00042
00043 CEikLabel* iTopLabel;
00044 CEikLabel* iBottomLabel;
00045 CActiveBubbleSorter* iActiveBubbleSorter;
00046 TBool iIsSorting;
00047 };
00048
00049 #endif
00050
00051