Lua:Neutrino-API:ParentWindow:de

Aus TuxBoxWIKI
Wechseln zu: Navigation, Suche

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


Beispiel 1