Tabs für Plug-Ins

Hier haben Plugin-Entwickler die Möglichkeit, sich auszutauschen.
Antworten
hampelratte
Plugin-Developer
Beiträge: 182
Registriert: 08 Mai 2005, 22:53
Kontaktdaten:

Tabs für Plug-Ins

Beitrag von hampelratte »

Hallo,

was muss ich denn machen, damit mein Plugin Tabs anzeigen kann. Ich habe die Methode getPluginCenterPanelWrapper() implementiert. Es werden aber trotzdem keine Tabs angezeigt und in den Einstellungen tauchen sie auch nicht auf. So wie es aussieht, macht das Favoriten-Plugin auch nichts anderes. Hab ich noch etwas übersehen?

Gruß
Henrik
ds10
Site Admin
Beiträge: 19095
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: Tabs für Plug-Ins

Beitrag von ds10 »

Es muss eine eindeutige eigene Klasse für PluginCenterPanel geben, also eine eigene Klasse des Plugins, ein gutes Beispiel ist dafür das ProgramListPlugin:
http://sourceforge.net/p/tvbrowser/code ... lugin.java

Interessant sind hier insbesondere die Methoden onActivation(), addPanel() und am Ende die Erstellung der eigenen Klasse für PluginCenterPanel.

Es ist auch besser ein zusätzliches äußeres JPanel zu verwenden, das nicht davon abhängt, dass schon alle TV-Browser-Komponenten ordentlich aktiviert worden und dann erst nach handleTvBrowserStartFinished() das Panel mit der eigentlichen Anzeige dem äußeren Panel hinzuzufügen. Wenn sich das äußere Panel außerdem, wie z.B. die Lieblingssendungen, an die Persona-Farben anpassen soll, dann kann du das äußere JPanel mit UiUtilities.createPersonaBackgroundPanel(); anlegen.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
hampelratte
Plugin-Developer
Beiträge: 182
Registriert: 08 Mai 2005, 22:53
Kontaktdaten:

Re: Tabs für Plug-Ins

Beitrag von hampelratte »

Das war der entscheidende Hinweis. Ich hatte anonyme innere Klassen benutzt. Damit hat es nicht geklappt. Ich habe jetzt für jeden Tab eine Klasse angelegt und dann ging es. No offence, aber das scheint mir nicht ganz sauber umgesetzt zu sein. Wenn ich ein Interface implementiere, dann sollte das Ergebnis doch das gleiche sein, egal ob ich anonyme Klassen benutze oder dedizierte Klassen definiere.
Jedenfalls ist das Problem gelöst.

Danke und Gruß
Henrik
ds10
Site Admin
Beiträge: 19095
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: Tabs für Plug-Ins

Beitrag von ds10 »

hampelratte hat geschrieben:No offence, aber das scheint mir nicht ganz sauber umgesetzt zu sein. Wenn ich ein Interface implementiere, dann sollte das Ergebnis doch das gleiche sein, egal ob ich anonyme Klassen benutze oder dedizierte Klassen definiere.
Schon klar, ich stand vor dem Problem, wie ich sicher stelle, dass die Tabs für die Plugins eindeutig zuzuordnen sind und dafür habe ich diesen Weg gewählt. Denn wenn man eigene Klassen verwenden muss, dann kann es nicht zu Kollisionen mit anderen Plugins kommen, was bei anderweitiger Implementation schwieriger zu verhindern gewesen wäre. Und außerdem ist PluginCenterPanel ja kein Interface sondern eine abstrakte Klasse. ;-) So wie es jetzt ist, ist die Folge, dass es eben nicht funktioniert und nicht gleich TV-Browser durcheinander bringt.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
Antworten