--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/uifw/AvKon/inc/AknSignalIcon.h Tue Feb 02 01:00:49 2010 +0200
@@ -0,0 +1,212 @@
+/*
+* Copyright (c) 2004-2007 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: Control to show signal icon indicator on the status pane's
+* signal pane.
+*
+*/
+
+
+#ifndef AKNSIGNALICON_H
+#define AKNSIGNALICON_H
+
+#include <coecntrl.h>
+
+/**
+* Signal icon control for the status pane's signal pane.
+* This control is also used in the universal status indicator popup's
+* signal pane.
+* The control loads and draws signal icon indicator graphics.
+*
+* @lib avkon.lib
+*/
+NONSHARABLE_CLASS( CAknSignalIcon ) : public CCoeControl
+ {
+public:
+
+ /**
+ * Destructor.
+ */
+ ~CAknSignalIcon();
+
+ /**
+ * Two-phased constructor.
+ */
+ static CAknSignalIcon* NewL();
+
+ /**
+ * Two-phased constructor.
+ */
+ static CAknSignalIcon* NewLC();
+
+ /**
+ * Set a custom signal icon.
+ *
+ * @param aIcon The new icon to be set.
+ */
+ void SetSignalIcon( CFbsBitmap* aIcon );
+
+ /**
+ * Set a mask for the custom signal icon.
+ *
+ * @param aMask The new mask to be set.
+ */
+ void SetSignalIconMask( CFbsBitmap* aMask );
+
+ /**
+ * Set the draw blanker state, which controls whether
+ * or not the icon is drawn.
+ *
+ * @param aDrawBlank New draw blanker state,
+ * @c EFalse to draw the signal icon,
+ * @c ETrue otherwise.
+ */
+ void SetDrawBlank( TBool aDrawBlank );
+
+ /**
+ * Gets the current draw blanker state.
+ *
+ * @return The state of draw blanker.
+ */
+ TBool DrawBlank();
+
+ /**
+ * Sets the offline state.
+ * If offline state is on, then the icon is not drawn,
+ * unless offline icon visiblity is set on with
+ * @c SetOffLineIconDraw().
+ *
+ * @param aOffLine New offline state.
+ */
+ void SetOffLine( TBool aOffLine );
+
+ /**
+ * Gets the current offline state.
+ *
+ * @return The offline state.
+ */
+ TBool OffLine();
+
+ /**
+ * Sets the color index to be used when loading
+ * the signal icon.
+ *
+ * @param aColorIndex The color index to be set.
+ */
+ void SetColorIndex( TInt aColorIndex );
+
+ /**
+ * Returns the current signal icon color index.
+ *
+ * @return The color index.
+ */
+ TInt ColorIndex();
+
+ /**
+ * Loads the signal icon to be displayed.
+ *
+ * @param aIconState ID of the signal state, @see signal indicator
+ * states in @c avkon.hrh.
+ * @param aIconColorIndex Color index of the icon.
+ * @param aForceLoad Forces the loading of the signal icon,
+ * even if it's already loaded.
+ */
+ void LoadIconL( TInt aIconState,
+ TInt aIconColorIndex,
+ TBool aForceLoad = EFalse );
+
+ /**
+ * Sets whether or not a signal icon is drawn
+ * in offline state.
+ *
+ * @param aOn @c ETrue to draw offline icon, @c EFalse otherwise.
+ */
+ void SetOffLineIconDraw( TBool aOn );
+
+protected: // From base class @c CCoeControl.
+
+ /**
+ * From @c CCoeControl.
+ * Handles size change events.
+ */
+ void SizeChanged();
+
+ /**
+ * From @c CCoeControl.
+ * Handles position change events.
+ */
+ void PositionChanged();
+
+ /**
+ * From @c CCoeControl.
+ * Handles a change to the control's resources of type @c aType,
+ * which are shared across the environment.
+ *
+ * @param aType Event type.
+ */
+ void HandleResourceChange( TInt aType );
+
+
+private: // From base class @c CCoeControl.
+
+ /**
+ * From @c CCoeControl.
+ * Draws the icon.
+ *
+ * @param aRect Not used.
+ */
+ virtual void Draw( const TRect& aRect ) const;
+
+private:
+
+ /**
+ * Default constructor.
+ */
+ CAknSignalIcon();
+
+ /**
+ * Second-phase constructor.
+ */
+ void ConstructL();
+
+private:
+
+ /**
+ * Signal icon.
+ * Own.
+ */
+ CFbsBitmap* iSignalIcon;
+
+ /**
+ * Signal icon mask.
+ * Own.
+ */
+ CFbsBitmap* iSignalIconMask;
+
+ /** Signal icon's color index. */
+ TInt iColorIndex;
+
+ /** Draw blanker state. */
+ TBool iDrawBlank;
+
+ /** Offline state. */
+ TBool iOffLine;
+
+ /** Signal state. */
+ TInt iIconState;
+
+ /** Flag defining whether or not the offline icon is drawn. */
+ TBool iShowOffLineIcon;
+ };
+
+#endif // AKNSIGNALICON_H