Moin,
henryk hat geschrieben:
Hat das schonmal jemand erfolgreich getan? Ich bin jetzt nämlich soweit dass mein Plugin im wesentlichen das tut, die richtigen Icons werden aber nicht angezeigt.
Ok, ein paar Experimente weiter:
Die folgenden Ansätze funktionieren
nicht:
Code: Alles auswählen
public void refreshProgram(Program program)
{
program.mark();
program.unmark();
}
sowie
Code: Alles auswählen
public void refreshProgram(Program program)
{
tvdataservice.MutableProgram mprog = (tvdataservice.MutableProgram) program;
mprog.markAsOnAir(mprog.isOnAir());
}
(Ja, ich weiss, das ist nichtmal annähernd die feine englische Art, aber ich wollte halt irgendwie das fireStateChanged() auslösen.)
Das folgende geht aber, naja irgendwie jedenfalls:
Code: Alles auswählen
refreshProgram(Program program)
{
tvbrowser.ui.mainframe.MainFrame.getInstance().getProgramTableScrollPane().forceRepaintAll();
}
Es macht etwa das was es soll: Die Bewertungen werden im Hintergrund berechnet und sobald eine Bewertung bereit ist erscheint sie auch in der Programmtabelle. Allerdings ist das nicht direkt minimalinvasiv und produziert einiges an Overhead. (Lies: Es ist nicht schneller als vorher, eher langsamer.)
Ich bin versucht das nicht-Funktionieren des ersten Ansatzes als Bug im TV-Browser zu bezeichnen. Zustimmung? Kann man das beheben?
--
Henryk Plötz
Grüße aus Berlin