Symbol in SWT Table/Tree blinken lassen

antimon

Mitglied
Hallo zusammen,

vermutlich ist mein Problem "ganz einfach" zu lösen, aber ich komme einfach nicht auf einen grünen Zweig.

Und zwar habe ich eine Liste mit Telefonen in einer JFace Tabelle aufgelistet, in der ein Symbol den Zustand des Telefons anzeigt (z.B. rot = im Gespräch, grün = frei).

Nun soll bei einem ankommenden Anruf ein Symbol blinken, d.h. z.B. 1 Sekunde soll es erscheinen, 1 Sekunde ausgeblendet werden. Ob das Symbol blinken soll ist im Model über einen boolean-Wert hinterlegt (klingelt/klingelt nicht).

Prinzipiell ist mir auch klar, wie ich das Symbol zum Blinken bringe: Ich starte bei einem Anruf einen Thread, der sekundenweise das Symbol wechselt und der beendet wird, wenn das Telefon nicht mehr klingelt. Nur wo und wie speichere ich den Zustand vernünftigerweise ab?

Natürlich könnte ich im Model selbst so etwas wie "show_icon" hinterlegen und einfach sekündlich ein Update-Event an den Viewer senden. Der liest den Zustand aus und setzt den invertierten Zustand und zeigt das entsprechende Symbol an. Nur recht sauber erscheint mir diese Vorgehensweise nicht, da ich damit Model und View vermische.

Sollte ich im ContentProvider der Tabelle etwas hinterlegen zum Zustand? Wenn ja, wie?

Oder gibts irgendwelche ganz anderen Ansätze, die mir nur bisher nicht eingefallen sind?

Vielen Dank schon mal!
 
Ok, ich glaube es ist doch nicht so einfach, oder ich habe mich nicht gut ausgedrückt ;)

Mein Ansatz wäre, den Zustand im ContentProvider zu speichern, denn mit dem eigentlichen Model hat der Blink-Zustand ja nichts zu tun und wäre dort fehl am Platze.

Angenommen, meine Folgerung ist richtig, was wäre dann besser? Ein Wrapper-Objekt zu erstellen, dass neben dem Daten-Objekt noch den/die Blink-Zustände speichert?
Oder eher mit einer Map zu arbeiten, die neben dem Objekt den Anzeige-Status des Symbols speichert?
 

Neue Beiträge

Zurück