Example that shows how to use emWin. This example is based on NXP's POS demo available at lpcware.com

Dependencies:   EALib ewgui mbed

Revision:
0:2052561807c5
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SwipeCardDLG.cpp	Mon Dec 16 10:58:05 2013 +0000
@@ -0,0 +1,235 @@
+/*********************************************************************
+*                                                                    *
+*                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 ****************************/