

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()
