object: - next 2 2 - parent 2 4 - child 2 6 - opts 2 8 - flags 1 9 - selector 1 10 - target 2 12 - signalMap 2 14 widget: - X 1 15 - Y 1 16 - W 1 17 - H 1 18 - style 2 (ptr) 20 - frontCol 2 2 - backCol 2 4 - borderCol 2 6 - borderWidth 1 7 - font 2 9 - charWidth 1 10 - charHeight 1 11 page: light - up to 8 light bulbs, each for one device - lightPage: - SDRAM: ptr to lightData - address of target device (1 byte) - currentMode (1 byte) - currentColor (4 bytes) - sensor watch: - SDRAM vars: - change limits - SENSORWATCH_SD_OFFS_UPPERLIMIT_WARN_LO - SENSORWATCH_SD_OFFS_LOWERLIMIT_WARN_LO - SENSORWATCH_SD_OFFS_UPPERLIMIT_CRIT_LO - SENSORWATCH_SD_OFFS_LOWERLIMIT_CRIT_LO - add private flags (HAVE_VALUE, USE_UPPERWARNLIMIT, USE_LOWERWARNLIMIT, USE_UPPERCRITLIMIT, USE_LOWERCRITLIMIT) - widgets: Mode: [Auto] [On] [Off] Color: [Preset1] [Preset2] [Preset3] Red: [123] Green: [123] Blue: [123] White: [123] page: numInput (g_win_numinput) - SDRAM: - prevPage - flags - minNum - maxNum - currPos - editBuffer[7] - widgets: textField: - SDRAM: - ptrText - slots: - setText(newText) - draw(): draw text and a cursor behind it [123 ] ------------ [7] [8] [9] [4] [5] [6] [1] [2] [3] [,] [0] [<] ------------ [Okay] [Abort] - new pages: - main window - buttons for climate, netstats, light, doors - about window (version, logo etc) - lights - mode: on, off, auto - color: R, G, B, W - calibrate screen - digitEdit - arrow_up, below digit, below arrow_down - label: - use ressource id instead of pointer to text! - print hex numbers (bytes, words, dwords) - room value: - bits 0-2: cardinal number (0-7, as in "Buero 1") - bits 7-3: room type number (32) - Flur - Wohnzimmer - Schlafzimmer - Kueche - Buero - Kinderzimmer - Abstellraum - Bad - new classes: - choice - "< TEXT >" (choose by clicking buttons left/right) - roomLabel (uses room value to print a string) - flashingLabel - use timer to blink/flash label, e.g. when values change - widgets: - value (flashingLabel) - imageViewer (use code from testWin) - generate bigger images (96x96 px) - light - window_open - window_closed |--------------------------------------| | CO2-Value Temp Humidity | | |--------| |--------| |--------| | | | Cloud | | Temp | | Hum | | | | | | | | | | | |--------| |--------| |--------| | | | | |-----------| |---| | | | 1 7 : 4 5 | | S | | | |-----------| |---| | | | |--------------------------------------| |--------------------------------------| | CO2-Value Temp Humidity | | |--------| |--------| |--------| | | | Cloud | | Temp | | Hum | | | | | | | | | | | |--------| |--------| |--------| | | | | |---| |---| |---| |---| |---| | | | < | | N | | L | | ? | | > | | | |---| |---| |---| |---| |---| | | | |--------------------------------------| Object: - next - parent - firstChild - options (2 bytes) - signal handling - targetAddr (like in FOX) - selector - handlerMap: - selector/signal (00: end), handlerAddr Widgets: - x (2 bytes) - y (2 bytes) - width (2 bytes) - height (2 bytes) - font (2 bytes) - frontColor (2 bytes) - backColor (2 bytes) Labels: - text Signals: - CREATE - DESTROY - SHOW - HIDE - DRAW - TIMER - TOUCH [- KEY] - USER = 16 OBJ: - SDRAM pointer hierher verschieben - speichere dort: - FLAGS_LO, FLAGS_HI (2 bytes) - NEXT, PARENT, CHILD (6 bytes) - OBJ_AddNeighbour() - OBJ_AddChild() - OBJ_Unlink()