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/EwEdit.h	Mon Dec 16 07:03:22 2013 +0000
@@ -0,0 +1,92 @@
+
+#ifndef EWEDIT_H
+#define EWEDIT_H
+
+#include "EwPainter.h"
+#include "EwWindow.h"
+
+#include "EDIT.h"
+
+
+enum ewEditColorIndex_t {
+    EditColorIndexDisabled = EDIT_CI_DISABELD,
+    EditColorIndexEnabled = EDIT_CI_ENABELD,
+};
+
+enum ewEditMode_t {
+    EditModeNormal = GUI_EDIT_NORMAL,
+    EditModeSigned = GUI_EDIT_SIGNED,
+    EditModeSuppressLeadingZeros = GUI_EDIT_SUPPRESS_LEADING_ZEROES
+};
+
+/**
+ * This is a wrapper class for the emwin EDIT interface.
+ */
+class EwEdit : public EwWindow {
+public:
+
+    EwEdit(int maxLen, EwWindow* parent = 0);
+    EwEdit(int x, int y, int width, int height, int maxLen, EwWindow* parent = 0);
+
+    // TODO: enum or define? GUI_KEY_BACKSPACE
+    void addKey(int32_t key);
+    void enableBlink(int32_t period, bool on);
+    ewColor_t getBackgroundColor(ewEditColorIndex_t idx);
+    int32_t getCursorCharPosition();
+    void getCursorPixelPosition(int32_t* x, int32_t* y);
+    float getFloatValue();
+    const ewFont_t* getFont();
+    int32_t getNumChars();
+    void getText(char* pBuffer, int32_t maxLen);
+    ewColor_t getTextColor(ewEditColorIndex_t idx);
+    int32_t getValue();
+    void setBinMode(uint32_t value, uint32_t min, uint32_t max);
+    void setBackgroundColor(ewEditColorIndex_t idx, ewColor_t c);
+    void setCursorAtChar(int32_t charPos);
+    void setCursorAtPixel(int32_t pos);
+    void setDecimalMode(int32_t value, int32_t min, int32_t max, int32_t shift, ewEditMode_t mode);
+    void setFloatMode(float value, float min, float max, int32_t shift, ewEditMode_t mode);
+    void setFloatValue(float value);
+    void setFocussable(bool focussable);
+    void setFont(const ewFont_t* pFont);
+    void setHexMode(uint32_t value, uint32_t min, uint32_t max);
+    void setInsertMode(bool on);
+    void setMaximumLength(int32_t maxLen);
+    void setSelection(int32_t firstChar, int32_t lastChar);
+    void setText(const char* s);
+    void setTextAlign(ewTextAlign_t align);
+    void setTextColor(ewEditColorIndex_t idx, ewColor_t c);
+    void setTextMode();
+    void setULongMode(uint32_t value, uint32_t min, uint32_t max);
+    void setValue(int32_t value);
+
+
+
+    static ewColor_t getDefaultBackgroundColor(ewEditColorIndex_t idx);
+    static const ewFont_t* getDefaultFont();
+    static ewTextAlign_t getDefaultTextAlign();
+    static ewColor_t getDefaultTextColor(ewEditColorIndex_t idx);
+
+    static void setDefaultBackgroundColor(ewEditColorIndex_t idx, ewColor_t c);
+    static void setDefaultFont(const ewFont_t* pFont);
+    static void setDefaultTextAlign(ewTextAlign_t align);
+    static void setDefaultTextColor(ewEditColorIndex_t idx, ewColor_t c);
+
+    static uint32_t editBin(uint32_t value, uint32_t min, uint32_t max, int32_t len, int32_t width);
+    static uint32_t editDec(int32_t value, int32_t min, int32_t max, int32_t len, int32_t width, int32_t shift, ewEditMode_t mode);
+    static float editFloat(float value, float min, float max, int32_t len, int32_t width, int32_t shift, ewEditMode_t mode);
+    static uint32_t editHex(uint32_t value, uint32_t min, uint32_t max, int32_t len, int32_t width);
+    static void editString(char* pString, int32_t len, int32_t width);
+
+private:
+
+
+    void init(int x, int y, int width, int height, int maxLen, EwWindow* parent);
+
+
+    static void _callback(WM_MESSAGE* pMsg, EwWindow* w);
+
+
+};
+
+#endif