Fragen zum Erstellen von Skins

Alles rund um das grafische Benutzerinterface Enigma
CrazyLexx
Einsteiger
Einsteiger
Beiträge: 143
Registriert: Sonntag 29. Juni 2003, 19:04

Fragen zum Erstellen von Skins

Beitrag von CrazyLexx »

Hallo Zusammen,

habe gerade begonnen für die EnigmaGUI auf meiner DBox ein Skin zu entwerfen und dabei sind mir noch einige How-To-Fragen in den Sinn gekommen:

1. Zum MainZap-Menü: ist es bei den Farbtasten möglich bei nicht anwählbaren Funktionen (wenn zB kein EPG gesendet wird), neben einer anderen Grafik auch eine andere Schriftfarbe zu verwenden?

Beispiel: Wenn der EPG nicht verfügbar ist, wird die Grafik für den roten Button ausgeblendet und gleichzeitig die Schrift "EPG" neben der Grafik in der Farbe blasser.

Ist dies per Quellcode möglich, oder müsste ich dazu Grafiken erstellen die neben den Farbbutton auch gleich die Beschriftung beinhalten?


2. Sind die Untermenüs für z.B. Bildwahl, Tonwahl oder auch die Informationstafel zur laufenden Sendung jeweils einzeln veränderbar? Dies würde ermöglichen, den Untermenüs entsprechende Symbole hinzuzufügen...

3. Würde gerne für die Nachfolgende Sendung im MainZap-Menü eine "in xx Min." Angabe hinzufügen. Wie ist dies umzusetzen?


Schonmal Danke und besten Gruß,
Tom
tmbinc
Developer
Beiträge: 821
Registriert: Freitag 20. Juli 2001, 00:00

Beitrag von tmbinc »

zu 1:

generell gibt es ja zwei sets von eLabels, die angezeigt werden, wenn der button verfügbar ist, und wenn nicht.

d.h. du kannst durchaus

<eLabel name="button_red_enabled" ..>
... weitere widgets hier
</eLabel>
<eLabel name="button_red_disabled" ...>
... weitere widgets hier (z.b. mit grauer farbe)
</eLabel>

machen, und somit auch alle enthaltenen widgets steuern.

abgesehen davon kann ein eLabel sowohl einen text als auch ein bitmap enthalten, so dass man evtl. sogar mit einem label auskommt.

2.)
Nein, die sind momentan mehr oder minder hardcoded durch das eListboxWindow. Was aber sehr cool wäre, wenn man jedem Menü einen Namen, und damit verbunden ein "Icon" zuordnen könnte. Das könnte man mal in den Source einbauen.

Prinzipiell müsste man eWindow um die Möglichkeit erweitern, ein Icon darzustellen. Dazu müsste man noch festlegen WO das ist, und WELCHES.

3.) das ist leider nicht über einen skin möglich, sondern nur im sourc.

die stelle dazu ist in enigma_main.cpp, eZapMain::updateProgress().

dort wird für die EINowDuration das "... +%d min" berechnet, dort könnte man analog für die EINextDuration sowas ähnliches machen (halt mit dem startzeitpunkt, nicht mit dem endzeitpunkt).
CrazyLexx
Einsteiger
Einsteiger
Beiträge: 143
Registriert: Sonntag 29. Juni 2003, 19:04

Beitrag von CrazyLexx »

zu 2:
genau so hatte ich mir das auch vorgestellt - wenn man den wichtigsten Untermenüs eigene Namen zuordnen könnte, wären Dinge wie Icons ja ohne Probleme in die esml Datei einzufügen.

Noch etwas anderes:
Kann die EnigmaGUI keine kursiven Schriftarten anzeigen?! Versuche gerade die micron_italiv.ttf aus der Neutrino Oberfläche in ein Skin unter Engima einzubauen... leider wird diese aber nicht angezeigt. Hier mal kurz die entsprechenden Zeilen:


unter den fonts:
<font file="micron_italic.ttf" name="schrift_kursiv" />

und im MainZap:
<eLabel position="85:0" size="370:350" font="schrift_kursiv;31" name="ch_name" align="left" foregroundColor="white"/>

Danke,
Tom
CrazyLexx
Einsteiger
Einsteiger
Beiträge: 143
Registriert: Sonntag 29. Juni 2003, 19:04

Beitrag von CrazyLexx »

zu 2:
genau so hatte ich mir das auch vorgestellt - wenn man den wichtigsten Untermenüs eigene Namen zuordnen könnte, wären Dinge wie Icons ja ohne Probleme in die esml Datei einzufügen.

Noch etwas anderes:
Kann die EnigmaGUI keine kursiven Schriftarten anzeigen?! Versuche gerade die micron_italiv.ttf aus der Neutrino Oberfläche in ein Skin unter Engima einzubauen... leider wird diese aber nicht angezeigt. Hier mal kurz die entsprechenden Zeilen:


unter den fonts:
<font file="micron_italic.ttf" name="schrift_kursiv" />

und im MainZap:
<eLabel position="85:0" size="370:350" font="schrift_kursiv;31" name="ch_name" align="left" foregroundColor="white"/>

Danke,
Tom