Lua:Neutrino-API:ParentWindow:de
Übergeordnete Fenster
Einige Objekte (derzeit ctext, cpicture und signalbox) unterstützen die Angabe eines übergeordneten Fensters (parent) beim Anlegen des Objektes.
Vorteile:
- Sämtliche Koordinaten der Objekte sind relativ zum body-Bereich des übergeordneten Fenster, wobei Body den Bereich zwischen Unterkante des Headers und Oberkante des Footers betrifft, d.h. x=0 ist linke Fensterkante, y = 0 ist der Punkt unterhalb der Headerzeile.
- paint() / hide() Anweisungen müssen nicht für jedes Objekt einzeln gemacht werden, es reicht zeichnen bzw. verstecken des übergeordneten Fensters.
- Objekte können verschachtelt werden
Example:
local n = neutrino()
local x = 200
local y = 120
local dx = 910
local dy = 480
local vSpace = 40
local xStart = 10
local yStart = 20
-- Übergeordnetes Fenster
local w = cwindow.new{x=x, y=y, dx=dx, dy=dy, title="Lua Neutrino-API: parent window", icon="info", btnRed="Ende"}
-- Untergeordnete cpicture Elemente
cpicture.new{parent=w, x=xStart, y=yStart , dx=40, dy=40, image="rot"}
cpicture.new{parent=w, x=xStart, y=yStart+vSpace*1, dx=40, dy=40, image="gruen"}
cpicture.new{parent=w, x=xStart, y=yStart+vSpace*2, dx=40, dy=40, image="gelb"}
cpicture.new{parent=w, x=xStart, y=yStart+vSpace*3, dx=40, dy=40, image="blau"}
cpicture.new{parent=w, x=xStart, y=yStart+vSpace*4, dx=40, dy=40, image="info"}
cpicture.new{parent=w, x=xStart, y=yStart+vSpace*5, dx=40, dy=40, image="help"}
-- Untergeordnete ctext Elemente
ctext.new{parent=w, x=xStart+60, y=yStart , dx=dx-80, dy=40, text="Dieses ist der rote Knopp.", font_text=FONT['MENU']}
ctext.new{parent=w, x=xStart+60, y=yStart+vSpace*1, dx=dx-80, dy=40, text="2. Zeile...", font_text=FONT['MENU']}
ctext.new{parent=w, x=xStart+60, y=yStart+vSpace*2, dx=dx-80, dy=40, text="usw. ...", font_text=FONT['MENU']}
ctext.new{parent=w, x=xStart+60, y=yStart+vSpace*3, dx=dx-80, dy=40, text="usw. ...", font_text=FONT['MENU']}
ctext.new{parent=w, x=xStart+60, y=yStart+vSpace*4, dx=dx-80, dy=40, text="usw. ...", font_text=FONT['MENU']}
ctext.new{parent=w, x=xStart+60, y=yStart+vSpace*5, dx=dx-80, dy=40, text="usw. ...", font_text=FONT['MENU']}
-- Zeichnen aller Elemente
w:paint()
repeat
msg, data = n:GetInput(500)
until msg == RC['home'] or msg == RC['red']
w:hide() |