📄 schmodule.h
字号:
//===================WEEKLY DISPLAY STRUCTURE.===============================
typedef struct _ScheWeekSreen
{
INHERIT_CWindow(IWindow); //extends CWindow
uint8 m_days; // current month has days
uint8 m_day; // current month's day
uint8 m_month; // current month
uint16 m_year; // current year
uint16 dayOfweek; // the day of this week
IMenuCtl * m_pMenuCtl;
AEERect rectMenu;
} CWeekWin;
//===================SELECTDAY WINDOW DISPLAY STRUCTURE.=====================
typedef struct _SelectDayWin
{
INHERIT_CWindow(IWindow); // extends CWindow
AEERect rect;
IDateCtl *m_pDateCtl;
uint16 m_dayOfweek;
}SelectDWin;
//===================EXAMINE EVENT WINDOW DISPLAY STRUCTURE.=================
typedef struct _OneDayEvent
{
INHERIT_CWindow(IWindow);
IMenuCtl* m_pMenuCtl;
AEERect m_rMenuRect;
MenuState m_mState;
flg m_bHasMemo:1; // Processing redraw
EventData * data;
uint8 m_mCindex;
}ExamineEventWin;
//===================CREATE EVENT WINDOW DISPLAY STRUCTURE.=================
typedef struct _CreateEventWin
{
INHERIT_CWindow(IWindow); // extends CWindow
AppState appState;
AEERect rect;
void *m_Obj;
uint16 alarmType;
AECHAR memoContent[MAX_DESC_SIZE];
AECHAR name[10];
AECHAR alarmTime[25];
}CreateEventWin;
//===================APP GLOBAL STRUCTURE.===============================
struct Schedule
{
AEEApplet a ; // First element of this structure must be AEEApplet
AEEDeviceInfo DeviceInfo; // always have access to the hardware device information
uint16 m_width; // screen's width
uint16 m_height; // screen's height
uint16 m_year; // the year selected
uint8 m_month; // the month selected
uint8 m_day; // the day selected
uint8 m_days; // the number of days of one month
WinType e_win; // Window type
AEERect m_rScreenRect; // Screen Rect
AEERect m_rectHdr;
WinType m_eActiveWin; // Active window
WinType m_eSuspendWin; // Suspended window
IWindow * m_pWin; // define interface window
IImage * m_pHdrImage; // header image
uint16 eventType;
AEECallback m_cbRedraw; // processing callback
ScheDB* m_pScheDB ;
NodeHead * head;
flg m_bRedraw:1; // Processing redraw
};
/*===========================================================================
FUNCTIONS DECLARATIONS
===========================================================================*/
//====================ABSTRACT WINDOW FUNCTIONS==============================
IWindow * CWindow_New(int16 nSize, Schedule * pOwner, VTBL(IWindow) * pvt);
boolean CWindow_ProcessEnable(IWindow * po, boolean bEnable);
void SH_FreeIF(IBase ** ppif);
void SH_FreeWin(IWindow ** ppif);
//====================APP FUNCTIONS =========================================
extern void Schedule_RedrawNotify(Schedule * pme);
extern void Schedule_Redraw(Schedule * pme, boolean bDefer);
extern boolean Schedule_SetWindow(Schedule * pme, WinType eWin, uint32 dwParam);
extern void SH_DrawImage(IImage * pImage, AEERect * pRect, boolean bCenter);
extern void Schedule_DrawSplash(Schedule * pMe);
extern boolean Schedule_HandleEvent(Schedule* , AEEEvent ,uint16 , uint32 );
extern boolean Schedule_InitAppData(IApplet* );
extern void Schedule_FreeAppData(IApplet* );
extern boolean SH_AddMenuItem(IMenuCtl * ,uint16 ,AECHAR * ,uint16 ,uint16 ,uint32 );
//====================MAIN WINDOW FRAME FUNCTIONS============================
IWindow * CMainWin_New(Schedule * pOwner);
void CMainWin_InitData(CMainWin *pMe);
void CMainWin_Delete(IWindow * po);
void CMainWin_Enable(IWindow * po, boolean bEnable);
void CMainWin_Redraw(IWindow * po);
boolean CMainWin_HandleEvent(IWindow * po, AEEEvent eCode, uint16 wParam, uint32 dwParam);
void ScheDateDisp_DrawGround (CMainWin* pMe);
void ScheDateDisp_CusorMove (CMainWin* pMe,int direction);
void ScheDateDisp_DrawDate (CMainWin* pMe);
void ScheDateDisp_UpdateScreen(CMainWin* pMe,int direction);
void ScheDateDisp_InitCusor (CMainWin* pMe);
void ScheDateDisp_DrawCusor (CMainWin* pMe);
void ScheDateDisp_Disp(CMainWin* pMe);
void ScheExt_SetMonthProperties(Schedule* pMe);
boolean ScheExt_InitClassData(ScheExt** ppObj,Schedule* pAee);
void release_ScheExt(ScheExt* Set);
void ScheExt_Reset(Schedule* pMe,ScheExt* Set);
//====================WEEKLY DISPLAY WINDOW FRAME FUNCTIONS==================
IWindow * CWeekWin_New(Schedule * pOwner);
void CWeekWin_Delete(IWindow * po);
void CWeekWin_Enable(IWindow * po, boolean bEnable);
void CWeekWin_Redraw(IWindow * po);
boolean CWeekWin_HandleEvent(IWindow * po, AEEEvent eCode, uint16 wParam, uint32 dwParam);
void SWeekInitMenu(CWeekWin* pMe);
void ScheWeek_DrawDate(CWeekWin* pMe);
uint8 ScheWeek_getMonthDays(uint8 month);
void ScheWeek_updateScreen(CWeekWin* pme,uint8 direction);
void ScheWeek_addItemToMenu(CWeekWin* pme ,uint8 week);
void ScheWeek_drawButton(CWeekWin* pMe);
//====================SELECTDAY DISPLAY WINDOW FRAME FUNCTIONS===============
IWindow * CSelectDWin_New(Schedule * pOwner);
void CSelectDWin_Delete(IWindow * po);
void CSelectDWin_Enable(IWindow * po, boolean bEnable);
void CSelectDWin_Redraw(IWindow * po);
boolean CSelectDWin_HandleEvent(IWindow * po, AEEEvent eCode, uint16 wParam, uint32 dwParam);
void CSelectDWin_InitDateCtl(SelectDWin * pme);
void CSelectDWin_DrawWeek(SelectDWin* pme);
void CSelectDWin_drawButton(SelectDWin* pme);
//========================= EXAMINE EVENT WINDOW FUNCTIONS===================
IWindow * CExamineEventWin_New(Schedule * pOwner);
void CExamineEventWin_Delete(IWindow * po);
void CExamineEventWin_Enable(IWindow * po, boolean bEnable);
void CExamineEventWin_Redraw(IWindow * po);
boolean CExamineEventWin_HandleEvent(IWindow * po, AEEEvent eCode, uint16 wParam, uint32 dwParam);
void CExamineEventWin_InitData(ExamineEventWin *pme);
boolean CExamineEventWin_InitMainMenu(ExamineEventWin *pme);
boolean CExamineEventWin_HasMemos(ExamineEventWin* pme);
void CExamineEventWin_DrawDate(ExamineEventWin* pme);
void SCEvent_DrawBottom(ExamineEventWin* pme ,const AECHAR *command);
void CExamineEventWin_HasNoMemo(ExamineEventWin* pme);
void CExamineEventWin_AddItemToMenu(ExamineEventWin *pme);
void ReleaseObj(void ** ppObj);
//========================= CREATE EVENT WINDOW FUNCTIONS====================
IWindow * CCEventWin_New(Schedule * pOwner);
void CCEventWin_Delete(IWindow * po);
void CCEventWin_Enable(IWindow * po, boolean bEnable);
void CCEventWin_Redraw(IWindow * po);
boolean CCEventWin_HandleEvent(IWindow * po, AEEEvent eCode, uint16 wParam, uint32 dwParam);
void CCEventWin_InitData(CreateEventWin *pMe);
boolean SCEvent_CreateMainControls(CreateEventWin *pme);
void ReleaseObj(void ** ppObj);
boolean SCEvent_CreateMemoScreen(CreateEventWin* pme);
void SCEvent_DrawBottomScreen(CreateEventWin* pme);
boolean SC_ProcessTextEvent(AEEEvent eCode, uint16 wParam, uint32 dwParam,ITextCtl* m_pText);
boolean SCEvent_CreatBrithScreen(CreateEventWin* pme, AppState apps);
boolean SCEvent_CreateTelphoneScreen(CreateEventWin* pme);
void SC_setMemoContent(CreateEventWin* pme);
void SC_setMemoTime(CreateEventWin* pme);
void SC_saveMemo(CreateEventWin* pme);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -