📄 serverui.h
字号:
// SERVERUI.H
#ifndef SERVERUI_H
#define SERVERUI_H
#include <e32base.h>
class CFbsBitmap;
class CFont;
class CWsScreenDevice;
class CFbsBitmapDevice;
class CFbsBitGc;
enum TCbaLabel
{
ECbaEmpty,
ECbaOk,
ECbaCancel,
ECbaYes,
ECbaNo
};
enum TControlType
{
EList,
EQuery,
EKeySelectQuery,
ENote
};
enum TUIType
{
EUITitle,
EUILabel,
EUITextEditor,
};
class TUIEntry
{
public:
TUIType iType;
TBuf<64> iText;
TInt iParam1;
TInt iParam2;
TInt iParam3;
};
class CUIEntryList : public CArrayFixFlat<TUIEntry>
{
public:
CUIEntryList();
~CUIEntryList();
void AddTitleL(const TDesC& aText);
void AddListItemL(const TDesC& aText);
};
class MServerUiObserver
{
public:
virtual void ListItemSelection(TInt aListId, TInt aIndex) = 0;
virtual void CbaPressed(TInt aListId, TCbaLabel) = 0;
virtual void KeySelect(TInt aId, TInt aKey) = 0;
virtual void Redraw(TBool aMenu) = 0;
};
class CServerUi : public CBase
{
public:
CServerUi();
~CServerUi();
void ConstructL(CWsScreenDevice* aDevice, CFbsBitmap* aScreen, CFbsBitmap* aCba, MServerUiObserver* aObserver);
void Draw(CFbsBitmap* aScreen);
void DrawEntries(TUint16* aPtr, CFbsBitmap* aScreen);
void DrawText();
void KeyEvent(TInt aScanCode);
// UI Building methods
void CreateList(TInt aId, const TDesC& aTitle);
void CreateQueryL(TInt aId, const TDesC& aQuery);
void CreateQueryL(TInt aId, const TDesC& aTitle, const TDesC& aQuery);
void CreateKeySelectQueryL(TInt aId, const TDesC& aTitle, const TDesC& aQuery);
void CreateNoteL(const TDesC& aTitle, const TDesC& aMessage);
void SetCba(TCbaLabel aLabel1, TCbaLabel aLabel2);
void AddListItem(const TDesC& aItem);
void Activate(TBool aActivate);
private:
void DrawEntry(TUIEntry& aEntry, TUint16* aPtr, TBool aSelected, TBool aTitle);
void FindInitialSelection();
void FindPreviousSelection();
void FindNextSelection();
void SetTextForLabel(TDes& aLabel, TCbaLabel aLabelId);
void CbaPressed(TCbaLabel aLabel);
public:
TBool iIsActive;
private:
CUIEntryList* iEntryList;
TInt iSelected;
CFont* iFont;
CWsScreenDevice* iDevice;
CFbsBitmapDevice* iBitDevice;
CFbsBitGc* iBitGc;
CFbsBitmap* iCba;
CFbsBitmapDevice* iCbaBitDevice;
CFbsBitGc* iCbaBitGc;
MServerUiObserver* iObserver;
TInt iId;
TCbaLabel iLabel1;
TCbaLabel iLabel2;
TBuf<16> iLabelText1;
TBuf<16> iLabelText2;
TInt iLabelPos1;
TInt iLabelPos2;
TControlType iControlType;
TInt iListOffset;
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -