Wrapper classes for the emwin library

Dependents:   app_emwin1 app_emwin2_pos lpc4088_ebb_gui_emwin

Revision:
0:316c181e9b65
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/EwDropDown.cpp	Mon Dec 16 07:03:22 2013 +0000
@@ -0,0 +1,186 @@
+#include "mbed.h"
+
+#include "EwDropDown.h"
+
+
+EwDropDown::EwDropDown(EwWindow* parent) : EwWindow(parent) {
+    init(0, 0, 0, 0, parent);
+}
+
+EwDropDown::EwDropDown(int x, int y, int width, int height, EwWindow* parent) :
+	        EwWindow(x, y, width, height, parent) {
+
+    init(x, y, width, height, parent);
+}
+
+void EwDropDown::addString(const char* s) {
+    DROPDOWN_AddString(_hWnd, s);
+}
+
+void EwDropDown::collapse() {
+    DROPDOWN_Collapse(_hWnd);
+}
+
+void EwDropDown::decrementSelection() {
+    DROPDOWN_DecSel(_hWnd);
+}
+
+void EwDropDown::deleteItem(uint32_t idx) {
+    DROPDOWN_DeleteItem(_hWnd, idx);
+}
+
+void EwDropDown::expand() {
+    DROPDOWN_Expand(_hWnd);
+}
+
+bool EwDropDown::isItemDisabled(uint32_t idx) {
+    return (DROPDOWN_GetItemDisabled(_hWnd, idx) == 1);
+}
+
+bool EwDropDown::getItemText(uint32_t idx, char* pBuffer, int maxSize) {
+    return (DROPDOWN_GetItemText(_hWnd, idx, pBuffer, maxSize) == 0);
+}
+
+int EwDropDown::getNumItems() {
+    return DROPDOWN_GetNumItems(_hWnd);
+}
+
+int32_t EwDropDown::getSelectedIndex() {
+    return DROPDOWN_GetSel(_hWnd);
+}
+
+void EwDropDown::incrementSelection() {
+    DROPDOWN_IncSel(_hWnd);
+}
+
+void EwDropDown::insertString(const char* s, uint32_t idx) {
+    DROPDOWN_InsertString(_hWnd, s, idx);
+}
+
+void EwDropDown::setAutoScroll(bool on) {
+    DROPDOWN_SetAutoScroll(_hWnd, (on ? 1 : 0));
+}
+
+void EwDropDown::setBackgroundColor(ewDropDownColorIndex_t idx, ewColor_t c) {
+    DROPDOWN_SetBkColor(_hWnd, idx, c);
+}
+
+void EwDropDown::setColor(ewDropDownColorIndex_t idx, ewColor_t c) {
+    DROPDOWN_SetColor(_hWnd, idx, c);
+}
+
+void EwDropDown::setFont(const ewFont_t* pFont) {
+    DROPDOWN_SetFont(_hWnd, pFont);
+}
+
+void EwDropDown::setItemEnableState(uint32_t idx, bool enabled) {
+    DROPDOWN_SetItemDisabled(_hWnd, idx, (enabled ? 1 : 0));
+}
+
+void EwDropDown::setScrollbarColor(ewScrollBarColorIndex_t idx, ewColor_t c) {
+    DROPDOWN_SetScrollbarColor(_hWnd, idx, c);
+}
+
+void EwDropDown::setScrollbarWidth(uint32_t width) {
+    DROPDOWN_SetScrollbarWidth(_hWnd, width);
+}
+
+void EwDropDown::setSelectedItem(int32_t idx) {
+    DROPDOWN_SetSel(_hWnd, idx);
+}
+
+void EwDropDown::setItemSpacing(uint32_t spacing) {
+    DROPDOWN_SetItemSpacing(_hWnd, spacing);
+}
+
+void EwDropDown::setTextAlign(ewTextAlign_t align) {
+    DROPDOWN_SetTextAlign(_hWnd, align);
+}
+
+void EwDropDown::setTextColor(ewDropDownColorIndex_t idx, ewColor_t c) {
+    DROPDOWN_SetTextColor(_hWnd, idx, c);
+}
+
+void EwDropDown::setTextHeight(uint32_t height) {
+    DROPDOWN_SetTextHeight(_hWnd, height);
+}
+
+void EwDropDown::setUpMode(bool upMode) {
+    DROPDOWN_SetUpMode(_hWnd, (upMode ? 1 : 0));
+}
+
+void EwDropDown::setSelectionChangedListener(void (*fptr)(EwWindow* w)) {
+    _selChangedListener.attach(fptr);
+}
+
+ewColor_t EwDropDown::getDefaultBackgroundColor(ewDropDownColorIndex_t idx) {
+    return DROPDOWN_GetDefaultBkColor(idx);
+}
+
+ewColor_t EwDropDown::getDefaultColor(ewDropDownColorIndex_t idx) {
+    return DROPDOWN_GetDefaultColor(idx);
+}
+
+ewColor_t EwDropDown::getDefaultScrollbarColor(ewDropDownColorIndex_t idx) {
+    return DROPDOWN_GetDefaultScrollbarColor(idx);
+}
+
+const ewFont_t* EwDropDown::getDefaultFont() {
+    return DROPDOWN_GetDefaultFont();
+}
+
+void EwDropDown::setDefaultBackgroundColor(ewDropDownColorIndex_t idx, ewColor_t c) {
+    DROPDOWN_SetDefaultBkColor(idx, c);
+}
+
+void EwDropDown::setDefaultColor(ewDropDownColorIndex_t idx, ewColor_t c) {
+    DROPDOWN_SetDefaultColor(idx, c);
+}
+
+void EwDropDown::setDefaultFont(const ewFont_t* pFont) {
+    DROPDOWN_SetDefaultFont(pFont);
+}
+
+void EwDropDown::setDefaultScrollbarColor(ewScrollBarColorIndex_t idx, ewColor_t c) {
+    DROPDOWN_SetDefaultScrollbarColor(idx, c);
+}
+
+
+void EwDropDown::init(int x, int y, int width, int height, EwWindow* parent) {
+    DROPDOWN_Handle h;
+    GUI_HWIN hWin = 0;
+
+
+    if (parent) {
+        hWin = _getHandle(parent);
+    }
+
+    h = DROPDOWN_CreateEx(x, y, width, height, hWin, (WM_CF_SHOW| WM_CF_MEMDEV),
+            0, _guiWidgetId++);
+    _setNewHandle(h, _callback);
+}
+
+void EwDropDown::handleSelectionChanged() {
+    _selChangedListener.call(this);
+}
+
+
+
+void EwDropDown::_callback(WM_MESSAGE* pMsg, EwWindow* w) {
+    bool selChanged = false;
+
+    EwDropDown* b = (EwDropDown*)w;
+
+
+    if (pMsg->MsgId == WM_NOTIFY_PARENT && pMsg->Data.v == WM_NOTIFICATION_SEL_CHANGED) {
+        selChanged = true;
+    }
+    DROPDOWN_Callback(pMsg);
+
+
+    if (selChanged) {
+        b->handleSelectionChanged();
+    }
+
+}
+