Example that shows how to use emWin. This example is based on NXP's POS demo available at lpcware.com
Dependencies: EALib ewgui mbed
SwipeCardDLG.cpp
- Committer:
- embeddedartists
- Date:
- 2014-04-14
- Revision:
- 2:cbf00ac63f35
- Parent:
- 0:2052561807c5
File content as of revision 2:cbf00ac63f35:
/********************************************************************* * * * SEGGER Microcontroller GmbH & Co. KG * * Solutions for real time microcontroller applications * * * ********************************************************************** * * * C-file generated by: * * * * GUI_Builder for emWin version 5.14 * * Compiled Jan 12 2012, 10:28:50 * * (c) 2011 Segger Microcontroller GmbH & Co. KG * * * ********************************************************************** * * * Internet: www.segger.com Support: support@segger.com * * * ********************************************************************** */ // USER START (Optionally insert additional includes) #include "DIALOG.h" #include "BlueboardPOS.h" #include <stdio.h> // USER END /********************************************************************* * * Defines * ********************************************************************** */ #define ID_FRAMEWIN_0 (GUI_ID_USER + 0x00) #define ID_BUTTON_0 (GUI_ID_USER + 0x01) #define ID_TEXT_0 (GUI_ID_USER + 0x02) // USER START (Optionally insert additional defines) // USER END /********************************************************************* * * Static data * ********************************************************************** */ // USER START (Optionally insert additional static data) // USER END /********************************************************************* * * _aDialogCreate */ static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = { { FRAMEWIN_CreateIndirect, "SwipeCard", ID_FRAMEWIN_0, 100, 75, 400, 155, 0, 100, 0 }, { BUTTON_CreateIndirect, "CancelButton", ID_BUTTON_0, 160, 70, 80, 40, 0, 0, 0 }, { TEXT_CreateIndirect, "Text", ID_TEXT_0, 0, 15, 390, 50, 0, 100, 0 }, // USER START (Optionally insert additional widgets) // USER END }; /********************************************************************* * * Static code * ********************************************************************** */ // USER START (Optionally insert additional static code) // USER END /********************************************************************* * * _cbDialog */ static void _cbDialog(WM_MESSAGE * pMsg) { WM_HWIN hItem; int Id, NCode; // USER START (Optionally insert additional variables) // USER END switch (pMsg->MsgId) { case WM_INIT_DIALOG: // // Initialization of 'SwipeCard' // hItem = pMsg->hWin; FRAMEWIN_SetText(hItem, ""); // // Initialization of 'CancelButton' // hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_0); BUTTON_SetText(hItem, "Cancel"); // // Initialization of 'Text' // hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_0); TEXT_SetText(hItem, "Swipe Card ..."); TEXT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER); TEXT_SetFont(hItem, GUI_FONT_32B_ASCII); // USER START (Optionally insert additional code for further widget initialization) // USER END break; case WM_NOTIFY_PARENT: Id = WM_GetId(pMsg->hWinSrc); NCode = pMsg->Data.v; switch(Id) { case ID_BUTTON_0: // Notifications sent by 'CancelButton' switch(NCode) { case WM_NOTIFICATION_CLICKED: // USER START (Optionally insert code for reacting on notification message) // USER END break; case WM_NOTIFICATION_RELEASED: // USER START (Optionally insert code for reacting on notification message) RFID_Cancelled = 1; FRAMEWIN_SetClientColor(hWinSwipeCard, GUI_LIGHTGRAY); hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_0); TEXT_SetText(hItem, "Swipe Card ..."); hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_0); BUTTON_SetText(hItem, "Cancel"); ShowLastWindow(); // USER END break; // USER START (Optionally insert additional code for further notification handling) // USER END } break; // USER START (Optionally insert additional code for further Ids) // USER END } break; // USER START (Optionally insert additional message handling) // USER END default: WM_DefaultProc(pMsg); break; } } /********************************************************************* * * Public code * ********************************************************************** */ /********************************************************************* * * CreateSwipeCard */ WM_HWIN CreateSwipeCard(void); WM_HWIN CreateSwipeCard(void) { WM_HWIN hWin; hWin = GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), &_cbDialog, WM_HBKWIN, 100, 75); return hWin; } // USER START (Optionally insert additional public code) void Callback(WM_MESSAGE * pMsg); void Callback(WM_MESSAGE * pMsg) { WM_HWIN hItem; char string[20]; switch (pMsg->MsgId) { case WM_USER_RFID_Load_OK: sprintf(string, "Credit: $%d.%02d", Credit/100, Credit%100); FRAMEWIN_SetClientColor(hWinSwipeCard, GUI_GREEN); TEXT_SetText(pMsg->hWin, string); hItem = WM_GetDialogItem(hWinSwipeCard, ID_BUTTON_0); BUTTON_SetText(hItem, "OK"); break; case WM_USER_RFID_Store_OK: FRAMEWIN_SetClientColor(hWinSwipeCard, GUI_GREEN); TEXT_SetText(pMsg->hWin, "Checkout successful!"); hItem = WM_GetDialogItem(hWinSwipeCard, ID_BUTTON_0); BUTTON_SetText(hItem, "OK"); break; case WM_USER_RFID_Credit_Low: FRAMEWIN_SetClientColor(hWinSwipeCard, GUI_RED); TEXT_SetText(pMsg->hWin, "Insufficient credit!"); hItem = WM_GetDialogItem(hWinSwipeCard, ID_BUTTON_0); BUTTON_SetText(hItem, "OK"); break; case WM_USER_RFID_Error: FRAMEWIN_SetClientColor(hWinSwipeCard, GUI_RED); TEXT_SetText(pMsg->hWin, "Error!"); hItem = WM_GetDialogItem(hWinSwipeCard, ID_BUTTON_0); BUTTON_SetText(hItem, "OK"); break; case WM_USER_RFID_Reset_OK: FRAMEWIN_SetClientColor(hWinSwipeCard, GUI_GREEN); TEXT_SetText(pMsg->hWin, "Card initialized at $0"); hItem = WM_GetDialogItem(hWinSwipeCard, ID_BUTTON_0); BUTTON_SetText(hItem, "OK"); break; case WM_USER_RFID_Increment_OK: FRAMEWIN_SetClientColor(hWinSwipeCard, GUI_GREEN); TEXT_SetText(pMsg->hWin, "+$10"); hItem = WM_GetDialogItem(hWinSwipeCard, ID_BUTTON_0); BUTTON_SetText(hItem, "OK"); break; case WM_USER_RFID_Swipe: FRAMEWIN_SetClientColor(hWinSwipeCard, GUI_LIGHTGRAY); TEXT_SetText(pMsg->hWin, "Swipe Card ..."); hItem = WM_GetDialogItem(hWinSwipeCard, ID_BUTTON_0); BUTTON_SetText(hItem, "Cancel"); break; case WM_USER_RFID_INIT_ERR: FRAMEWIN_SetClientColor(hWinSwipeCard, GUI_RED); TEXT_SetText(pMsg->hWin, "Error initializing CLRC663!"); hItem = WM_GetDialogItem(hWinSwipeCard, ID_BUTTON_0); BUTTON_SetText(hItem, "OK"); break; default: TEXT_Callback(pMsg); } } WM_HWIN GetCallbackHandle(void); WM_HWIN GetCallbackHandle(void) { WM_HWIN hItem; hItem = WM_GetDialogItem(hWinSwipeCard, ID_TEXT_0); WM_SetCallback(hItem, Callback); return hItem; } // USER END /*************************** End of file ****************************/