Enigma Erweiterungen

Alles rund um das grafische Benutzerinterface Enigma
betronic
Neugieriger
Neugieriger
Beiträge: 9
Registriert: Dienstag 3. Dezember 2002, 23:45

Enigma Erweiterungen

Beitrag von betronic »

@tmbinc @Ghost

Das Schreiben einer Enigma Erweiterungen über Plugins ist ja ganz schön, aber wenn man nicht nur Spiele programmieren möchte, dann ist Fx2 ist zum Programmieren von GUI Elementen wohl nicht wirklich geeignet.

Die Bibliotheken für Freetype,Listboxen,Buttons usw sind ja schon geladen.

1) Ist es ohne grossen Aufwand möglich, innerhalb eines Plugins, Enigma Styles in Form von Listboxen, Buttons, Labels zu verwenden ?

2) Kann in Zukunft (wann auch immer) das Hauptmenu dynamisch erweitert werden (echte Enigma Erweiterungen) ?

Warum ich das schreibe:
a) Ich will nicht jedes mal Eingma compilieren, wenn ich etwas ausprobieren möchte.
b) Wenn ein neues Image bereitgestellt wird, möchte ich dieses auch verwenden.
c) Ich kenne außer rel_1.0.0 und LATEST keine weitere Archive Baseline in CVS und somit kann ich keinen stabilen und aktuellen Enigma Stand finden :cry:
tmbinc
Developer
Beiträge: 821
Registriert: Freitag 20. Juli 2001, 00:00

Beitrag von tmbinc »

also man kann im prinzip alle enigma funktionen aus plugins heraus aufrufen. es ist alles aus den entsprechenden libraries exportiert.

allerdings ändern sich hier und da mal die deklarationen in enigma. aber das passiert eher selten. solange sich dort nichts ändert, kann man plugins eigentlich benutzen.

der rel_1_0_0 branch sollte eigentlich SEHR stabil sein. wenn dort was nicht läuft liegt das meist an den treibern. (hört sich blöd an, ist aber wirklich so. auf der dreambox läuft enigma jedenfalls SEHR stabil (ok, deutlich stabiler als auf der dbox), und dort wird ja das gleiche binary benutzt).

das hauptmenü erweitern ist eher ne "kleinigkeit", man müsste da nen entsprechenden hook installieren. ne struct a la { Signal0<void> start; eString text; gPixmap icon[2]; } sollte reichen.
betronic
Neugieriger
Neugieriger
Beiträge: 9
Registriert: Dienstag 3. Dezember 2002, 23:45

Beitrag von betronic »

hallo tmbinc,

danke für die schnelle Antwort
mit einer Baseline meinte ich z.B. die Einigma Version für die Dreambox 1.0.4 usw.
Es währe ganz schön wenn man diese Releases Labeln würde z.B. Dreambox_Enigma_1.0.4 oder so ähnlich. :wink:

Das mit der "kleinigkeit" in eMainMenu::eMainMenu() währe in meinen Augen das komplette Austauschen der Datei enigma_mainmenu... :D

Zu den Plugins:
Müssen alle Strukturen und Klassen neu instanziert werden, oder kann man auf die bestehenden Instanzen aus den dynamisch geladenen Plugins zugreifen ?
tmbinc
Developer
Beiträge: 821
Registriert: Freitag 20. Juli 2001, 00:00

Beitrag von tmbinc »

viele klassen sind als sigletons implementiert, und auf diese weise kann man auf die instanzen zugreifen. (Klassename::getInstance())


letztendlich ist man in einem plugin nicht "schlimmer" dran als sonst. was noch fehlt ist die möglichkeit einen dialog zu öffnen.

was z.b. aber jetzt schon möglich ist, ist ein player-plugin (z.b. nen pictureviewer o.ä.) zu bauen. oder neue http-seiten einzubauen (neues webfrontend etc.?)

für menüs fehlen halt noch die hooks. da bau ich demnächst mal was.

und ja, stimmt, wir sollten wirklich mal öfter taggen :)