"loop"-Funktion mit Anzeige "vertical" von unten nach oben

  • Ich bin gerade dabei im Hauptmenü die als nächstes anstehenden 3 aktiven Timer in einer Spalte am rechten Bildrand darzustellen.
    Dazu habe ich auch die "loop"-Funktion, in Anlehnung wie das bereits bei anderen Skins gemacht wird, genommen und das klappt auch schon ganz gut!


    Was ich aber für mich gern anders hätte ist die Darstellung der aktiven Timer in der orientattion="vertical" nicht von oben nach unten, sondern umgekehrt, von unten nach oben.
    Momentan ist es ja so, dass die Timer von oben nach unten angezeigt werden, wobei dann in der Liste der als nächstes anstehende Timer ganz oben steht. Die darauffolgenden Timer werden darunter angefügt.
    Genauso würde ich das auch haben wollen, nur dass sich die Timerliste von unten nach oben aufbauen soll und dabei soll dann ganz oben immer der Timer stehen, der als nächstes dran ist.
    Vielleicht gibt es schon jetzt die Möglichkeit mit einem Trick das zu machen, oder müsste da erst louis eine entsprechende Funktion in das Plugin einbauen damit das geht? ?(


    Bei dem aktuell von mir verwendeten Skin mit dem text2skin-Plugin habe ich das "händisch" durch Abfrage der einzelnen Timer {CurrentEventsTitle1} gelöst.
    Das wäre auch sicherlich mit dem skindesigner-Plugin möglich, da es ja auch beim skindesigner-Plugin einen entsprechenden Token {timer1exists} gibt.
    Eleganter ist das allerdings mit der "loop"-Funktion schon! :]


    Paulaner

  • Moin,


    so ganz verstehe ich dich nicht (ich bin wohl gerade geistig zu unflexibel ;) ). Die Timerliste ist doch so geordnet, dass der als nächstes anstehende Timer zuerst ausgegeben wird. Wenn du nun diese Liste "von oben nach unten" ausgibst, hast du doch genau das was du willst?!


    Wenn ich dich nicht verstanden habe, musst du mir nochmal genauer erklären, was du willst ;)


    Ciao Louis

  • louis,
    Okay, ich denke ein Bild sagt mehr als 1000 Worte! :D


    Ich habe mal 3 Screenshots mit meinem Skin vom text2skin-Plugin vom aktuellen Hauptmenü gemacht, wo Du sehen kannst wie ich das meinte: Timerliste vertikal und von unten nach oben aufbauen, wobei in der Liste der aktuellste Timer immer oben steht!
    Im 1. Screenshot gibt es nur einen Timer, der steht deshalb auch noch ganz unten!
    Im 2. Screenshot gibt es einen 2 Timer, der später dran ist als der 1. Timer. Dadurch kommt der zuerst anstehende Timer nach oben. darunter dann der nächste Timer.
    Im 3. Screenshot gibt es dann noch einen weiteren Timer, der viel später dran ist und deshalb ganz unten steht.


    Diese Reihenfolge hätte ich nun auch gern mit der "loop"-Funktion gemacht, aber das ist scheinbar aktuell nicht möglich.
    Momentan wird die Timerliste immer von oben nach unten aufgebaut, wobei der nächst anstehende Timer auch immer oben steht.
    Falls Du jetzt immer noch Fragen hast, dann her damit.


    Paulaner

  • Moin,


    ok jetzt hab ichs verstanden. Nein, mit nem loop ist das aktuell nicht möglich, das müsstest du "manuell" hinbasteln, indem du die Anzahl der Timer per condition abfragst und die Timer dann entsprechend ausgibst.


    Mittelfristig könnte man über ein weiteres Attribut für die Loop Funktion nachdenken, sodass man noch ein "align" angeben kann. "orientation" vertical und "align" bottom wäre dann genau das, was du willst. Mach doch nen Feature Request mit nem Link zu diesem Thread auf, dann baue ich das vielleicht mal ein ;)


    Ciao Louis

  • louis,
    Okay, ich habe mal ein weiteres Feature Request dazu angelegt! 8)
    Denn ich habe Probleme mit dem "händischen" Anlegen der Timerliste, da es scheibar keine geeigneten Tokens dafür gibt! :(


    Es gibt zwar einen Token zum erkennen ob es einen Timer gibt
    {timer1exists} ___ true if timer 1 available


    aber ich finde keine Tokens zur Anzeige der einzelnen Inhalte der Timer, wie z. B.:
    {timers1[datetime]} __ date and time of timer 1


    Oder gibt es einen Trick, um doch die einzelnen Timer in der "displaymenumain.xml" anzeigen zu können? ?(


    Paulaner

  • Stimmt, das ist aktuell auch noch nicht vorgesehen, auf looptokens per Index zuzugreifen. Muddu also warten ;)


    Ciao Louis

  • Muddu also warten ;)


    Tja das Leben ist nun mal kein Ponyhof! :D


    Paulaner

  • Ich habe jetzt doch noch eine Lösung gefunden: :]
    Anstatt nur 1 "loop" zu machen habe ich 3 "loop"s erstellt und durch eine vorangestellte "condition" wird immer nur 1 "loop" genommen.


    Es gibt also 1 loop wenn nur 1 Timer vorhanden ist!
    Dann gibt es den 2. loop, wenn 2 Timer vorhanden sind.
    Und dann gibt es den 3. loop, wenn 3 oder mehr Timer vorhanden sind, wobei bei mir dann nur 3 Timer angezeigt werden!


    Wichtig und kriegsentscheidend ist eigentlich nur die "condition" hinter dem "area"


    Weiterhin wird dann die exakte y-Koordinate eingestellt, damit immer die gleiche Aussehen bzw. Darstellung erreicht wird!
    Der eigentliche "loop" ist dann immer gleich!


    Klappt wunderbar und macht genau das, wass ich wollte! :D :D :D
    Ob dadurch die OSD-Last für den VDR-PC etwas höher wird kann ich nicht sagen, aber fürs erste ist das eine Lösung, die funktioniert!


    Für den, den es interessiert habe ich mal den entsprechenden Codeschnipsel angehängt!


    Paulaner

    Einmal editiert, zuletzt von Paulaner ()

  • Cool...sowas ähnliches hatte ich mir mittlerweile auch überlegt ;)


    Performancetechnisch ist das kein Thema, die areas, für die die Bedingung nicht zutrifft, werden ja eh nicht ausgegeben. Ausserdem ist das ViewElement ja detached, deshalb wird der Aufbau des Hauptmenüs an sich davon gar nicht beeinflusst.


    Ciao Louis

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!