textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputdropdownlistcontext.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputdropdownlistcontext.h Wed Sep 01 12:23:33 2010 +0100
@@ -0,0 +1,465 @@
+/*
+* Copyright (c) 2002-2005 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: context for list
+*
+*/
+
+
+#ifndef M_DROP_DOWN_LIST_CONTEXT_H
+#define M_DROP_DOWN_LIST_CONTEXT_H
+
+#include <e32base.h>
+#include <w32std.h>
+#include <AknsDrawUtils.h>
+
+class CCandidate;
+class CPages;
+class CBitmapDb;
+class CList;
+
+struct TDropdownListDrawInfo
+ {
+ TAknsItemID iInactiveBtnImgID;
+ TAknsItemID iNormalBtnImgID;
+ TAknsItemID iPressedBtnImgID;
+
+ TAknsItemID iCandidateLeftImgID;
+ TAknsItemID iCandidateMiddleImgID;
+ TAknsItemID iCandidateRightImgID;
+
+ TAknsItemID iCandidatePressedLeftImgID;
+ TAknsItemID iCandidatePressedMiddleImgID;
+ TAknsItemID iCandidatePressedRightImgID;
+
+ TRgb iCandidatesHighlightColor;
+
+ TBool iSupportSkin;
+
+ TDropdownListDrawInfo(TAknsItemID aInactiveBtnImgID,
+ TAknsItemID aNormalBtnImgID,
+ TAknsItemID aPressedBtnImgID,
+
+ TAknsItemID aCandidateLeftImgID,
+ TAknsItemID aCandidateMiddleImgID,
+ TAknsItemID aCandidateRightImgID,
+
+ TAknsItemID aCandidatePressedLeftImgID,
+ TAknsItemID aCandidatePressedMiddleImgID,
+ TAknsItemID aCandidatePressedRightImgID,
+
+ TRgb aCandidatesHighlightColor,
+ TBool aSupportSkin = EFalse)
+ {
+
+ iInactiveBtnImgID = aInactiveBtnImgID;
+ iNormalBtnImgID = aNormalBtnImgID;
+ iPressedBtnImgID = aPressedBtnImgID;
+
+ iCandidateLeftImgID = aCandidateLeftImgID;
+ iCandidateMiddleImgID = aCandidateMiddleImgID;
+ iCandidateRightImgID = aCandidateRightImgID;
+
+ iCandidatePressedLeftImgID = aCandidatePressedLeftImgID;
+ iCandidatePressedMiddleImgID = aCandidatePressedMiddleImgID;
+ iCandidatePressedRightImgID = aCandidatePressedRightImgID;
+
+ iCandidatesHighlightColor = aCandidatesHighlightColor;
+
+ iSupportSkin = aSupportSkin;
+
+ };
+
+ TDropdownListDrawInfo()
+ {
+ iSupportSkin = EFalse;
+ };
+ };
+
+
+
+/**
+ * Context for list
+ *
+ * it provide all functions used by list
+ *
+ * @lib FepCtrlDropdownList.lib
+ * @since S60 v3.2
+ */
+class MFepCtrlDropdownListContext
+ {
+public: // Method
+
+ /**
+ * Draw mask for the appointed rect
+ * @since S60 v3.2
+ * @param aRect the rect which will be redrawn
+ * @return None
+ */
+ virtual void DrawMask(TRect aRect) = 0;
+
+ /**
+ * Active bitmap context
+ * @since S60 v3.2
+ * @return None
+ */
+ virtual void ActivateBitmapContext() = 0;
+
+ /**
+ * Get the graphics context
+ * @since S60 v3.2
+ * @return The graphics context
+ */
+ virtual CFbsBitGc* Gc() = 0;
+
+ /**
+ * Get the candidate count
+ *
+ * @since S60 v3.2
+ * @return The candidate count.
+ */
+ virtual TInt CandidateCount() const = 0;
+
+ /**
+ * Get the first candidate visible
+ *
+ * @since S60 v3.2
+ * @return The first candidate index.
+ */
+ virtual TInt GetFirstCandidateIndex() = 0;
+
+ /**
+ * Get the first candidate visible
+ *
+ * @since S60 v3.2
+ * @return The last candidate index.
+ */
+ virtual TInt GetLastCandidateIndex() = 0;
+
+ /**
+ * Set the first candidate visible
+ *
+ * @since S60 v3.2
+ * @param aFirstIndex the first candidate index
+ * @return None.
+ */
+ virtual void SetFirstCandidateIndex(TInt aFirstIndex) = 0;
+
+ /**
+ * Set the first candidate visible
+ *
+ * @since S60 v3.2
+ * @param aLastIndex the last candidate index
+ * @return None.
+ */
+ virtual void SetLastCandidateIndex(TInt aLastIndex) = 0;
+
+ /**
+ * Get the appointed candidate
+ * @since S60 v3.2
+ * @param aIndex The index which will be check out
+ * @return The appointed candidate
+ */
+ virtual CCandidate* GetCandidate(TInt aIndex) = 0;
+
+ /**
+ * Get top left point
+ * @since S60 v3.2
+ * @return The top left point
+ */
+ virtual TPoint GetTopLeftPoint() = 0;
+
+ /**
+ * Get cell width
+ * @since S60 v3.2
+ * @return Cell width
+ */
+ virtual TInt GetCellWidth() = 0;
+
+ /**
+ * Get cell height
+ * @since S60 v3.2
+ * @return Cell height
+ */
+ virtual TInt GetCellHeight() = 0;
+
+ /**
+ * Get navigation width
+ * @since S60 v3.2
+ * @return Navigation width
+ */
+ virtual TInt GetNaviWidth() = 0;
+ virtual TInt GetSpinBtnHeight() = 0;
+ virtual TInt GetCellHorizontalMargin() = 0;
+ virtual TInt GetCellVerticalMargin() = 0;
+ virtual TInt ListType() = 0;
+ virtual TInt OneRowStartCandIdx() = 0;
+ virtual void SetOneRowStartCandIdx(TInt aOriginalCandIdx) = 0;
+ virtual TInt GetOriginalFirstCandIdx() = 0;
+ virtual void SetOriginalFirstCandIdx(TInt aOriginalFirstCandIdx) = 0;
+ virtual TInt CandTruncateType() = 0;
+ virtual CList* ActiveList() = 0;
+ virtual void SetUpdateListReDrawFlag(TBool aReDraw) = 0;
+ virtual TBool GetUpdateListRedrawFlag() = 0;
+ // if set: when list expanded, and user press on region between
+ // list's rect and outerrect (list's rect plus fuzzy boundry)
+ // it still think that press inside list
+ virtual TInt FuzzyBoundry() = 0;
+ virtual TInt CandExpandType() = 0;
+ virtual TInt CandHDirection() = 0;
+ virtual TBool PageCtrlShown() = 0;
+
+ /**
+ * Get columns number
+ * @since S60 v3.2
+ * @return The top left point
+ */
+ virtual TInt GetColNum() = 0;
+
+ /**
+ * Get rows number
+ * @since S60 v3.2
+ * @return The top left point
+ */
+ virtual TInt GetRowNum() = 0;
+
+ /**
+ * Get the font used to draw text
+ * @since S60 v3.2
+ * @return The font used to draw text
+ */
+ virtual const CFont* GetFont() = 0;
+
+ /**
+ * Get alignment used to draw the text
+ * @since S60 v3.2
+ * @return The alignment used to draw the text
+ */
+ virtual CGraphicsContext::TTextAlign GetAlignment() = 0;
+
+ /**
+ * Get text margin used to draw the text
+ * @since S60 v3.2
+ * @return The margin used to draw the text
+ */
+ virtual TInt GetTextMargin() = 0;
+
+ /**
+ * Get background color
+ * @since S60 v3.2
+ * @return The background color
+ */
+ virtual TRgb GetBgColor() = 0;
+
+ /**
+ * Get button down color
+ * @since S60 v3.2
+ * @return The background color
+ */
+ virtual TRgb GetButtonDownBgColor() = 0;
+
+ /**
+ * Get border color
+ * @since S60 v3.2
+ * @return The border color
+ */
+ virtual TRgb GetBorderColor() = 0;
+
+ /**
+ * Get text color
+ * @since S60 v3.2
+ * @return The text color
+ */
+ virtual TRgb GetTextColor() = 0;
+
+ /**
+ * Get background color for highlight area
+ * @since S60 v3.2
+ * @return The background color for highlight area
+ */
+ virtual TRgb GetHighLightBgColor() = 0;
+
+ /**
+ * Get high light text color
+ * @since S60 v3.2
+ * @return The high light text color
+ */
+ virtual TRgb GetHighLightTextColor() = 0;
+
+ /**
+ * Get special text color
+ * @since S60 v3.2
+ * @return The special text color
+ */
+ virtual TRgb GetSpecialTextColor() = 0;
+
+ /**
+ * Get fixed text
+ * @since S60 v3.2
+ * @return The fixed text
+ */
+ virtual TDesC GetFixedText() = 0;
+
+ /**
+ * Invalidate some rect and redraw it
+ * @since S60 v3.2
+ * @param aRect The rect which will be redrawn
+ * @param aUpdateAll Update all or not
+ * @return None
+ */
+ virtual void Invalidate(const TRect& aRect, TBool aUpdateAll = EFalse) = 0;
+
+ /**
+ * Get secondary list
+ * @since S60 v3.2
+ * @return The secondary list
+ */
+ virtual const RArray<TInt>& GetSecondaryList() const = 0;
+
+ /**
+ * Get the flag of enable or disable multi color
+ *
+ * @since S60 v3.2
+ * @return ETrue if enable, or EFalse.
+ */
+ virtual TBool IsEnableSecondary() const= 0;
+
+ /**
+ * Get highlight cell list
+ * @since S60 v3.2
+ * @return The highlight cell list
+ */
+ virtual const RArray<TInt>& GetHighlightList() const= 0;
+
+ /**
+ * Report event when candidate is selected
+ * @since S60 v3.2
+ * @param aCandidate The candidate string
+ * @param aSelectedIndex The index of the selected candidate
+ * @return None.
+ */
+ virtual void ReportCandidateSelectEventL(const TDesC& aCandidate, const TInt aSelectedIndex)= 0;
+
+
+ /**
+ * Get page manager
+ * @since S60 v3.2
+ * @return page manager
+ */
+ virtual CPages* GetPages() = 0;
+
+ /**
+ * Get bitmap manager
+ * @since S60 v3.2
+ * @return The bitmap manager
+ */
+ virtual CBitmapDb* GetBitmapDb() = 0;
+
+ /**
+ * Change active list
+ *
+ * @since S60 v3.2
+ * @param aList The new active list
+ * @param aLastIndex The last visible candidate index
+ * @return None.
+ */
+ virtual void ChangeActiveList(CList* aList, TInt aLastIndex = 0) = 0;
+
+ /**
+ * Get pen size
+ *
+ * @since S60 v3.2
+ * @return The pen size.
+ */
+ virtual const TSize GetPenSize() = 0;
+
+ /**
+ * Set pointer capture
+ *
+ * @since S60 v3.2
+ * @param aFlag ETrue to capture pointer, otherwise EFalse
+ * @return None.
+ */
+ virtual void SetCapture(TBool aFlag ) = 0;
+
+ /**
+ * Get next candidate page
+ *
+ * @since S60 v3.2
+ * @return None.
+ */
+ virtual void NotifyGetNextPage() = 0;
+
+ /**
+ * Get previous candidate page
+ *
+ * @since S60 v3.2
+ * @return None.
+ */
+ virtual void NotifyGetPreviousPage() = 0;
+
+ /**
+ * Notify close candidate page
+ *
+ * @since S60 v3.2
+ * @return None.
+ */
+ virtual void NotifyClosePage() = 0;
+
+ /**
+ * Judge if next candidate existed
+ *
+ * @since S60 v3.2
+ * @return ETrue if candidate exist, otherwise EFalse
+ */
+ virtual TBool NextCandidateExist() = 0;
+
+ /**
+ * Auto change active list
+ *
+ * @since S60 v3.2
+ * @param aLastIndex The last visible candidate index
+ * @return None.
+ */
+ virtual void AutoChangeActiveList( TInt aLastIndex = 0 ) = 0;
+
+ /**
+ * Show preview bubble
+ *
+ * @since S60 v3.2
+ * @param aRect Bubble rect
+ * @param aText Review bubble text
+ * @return None.
+ */
+ virtual void DrawBubble(const TRect aRect, const TDesC& aText) = 0;
+
+ /**
+ * Hide preview bubble
+ *
+ * @since S60 v3.2
+ * @return None.
+ */
+ virtual void ClearBubble() = 0;
+
+ /**
+ * Redraw preview bubble
+ *
+ * @since S60 v3.2
+ * @return None.
+ */
+ virtual void ReDrawBubble() = 0;
+ };
+
+#endif // M_DROP_DOWN_LIST_CONTEXT_H
+
+// End Of File