Farbe setzen in render="Listbox" "TemplatedMultiContent"

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Farbe setzen in render="Listbox" "TemplatedMultiContent"

      lässt sich hier pro Zeile eine definierte Farbe setzen für den Text?
      (wenn ja, wie? text=0 bringt den Text, color=1 funktioniert jedoch nicht, in [1] ist die Farbei definiert)

      Quellcode

      1. <widget source="event_list2" render="Listbox" position="840,80" size="800,660" zPosition="12" scrollbarMode="showOnDemand" backgroundColor="#000000" foregroundColor="#FFFFFF" enableWrapAround="1" >
      2. <convert type="TemplatedMultiContent">
      3. {"templates":
      4. {"default": (50,[
      5. MultiContentEntryText(pos = (10, 0), size = (680, 50), font=0, flags = RT_HALIGN_LEFT|RT_VALIGN_CENTER, text = 0,color=1), # index 0: text
      6. ],True),
      7. }, "fonts": [gFont("Regular", 30),gFont("Regular", 28)],"itemHeight": 50
      8. }
      9. </convert>
      10. </widget>
      Alles anzeigen
      ============================================================================================
    • Ich habs bisher nicht ausprobiert, von daher wirst du selber noch ein wenig graben müssen.

      Im Plugin MyTube gibt es ein TemplatedMultiContent, welches neben "default" noch "state" definiert hat. Im Plugin selber wird dann
      self["feedlist"].style = "state"
      gesetzt. Vielleicht hilft dir das weiter?
      Diskutiere nie mit einem Idioten. Er zieht dich auf sein Niveau runter und schlägt dich mit seiner Erfahrung.
    • Funktioniert es evtl. so?

      Quellcode

      1. },
      2. "fonts": [gFont("Regular", 38),gFont("Regular", 28)],
      3. "colors": [gColor("#000000"),gColor("#fb8506")],
      4. "itemHeight": 50
      5. }
      evtl. auch ohne gColors ?(
      _______________________________________________________
      LG Nase
      Receiver
      Duo 4Kse DVB-S2x (45308X FBC) / DVB-T2 (BCM3466) ; Samsung HM321H intern ; Synology 218+ ; Inverto Unicable II IDLU-UWT110-CUO1O-32P Multischalter 5/32
      Uno 4K SE DVB-S2 (45208 FBC) ; TOSHIBA MQ01ABD0 extern ; Synology 218+ ; Inverto Unicable II IDLU-UWT110-CUO1O-32P Multischalter 5/32
      Uno 4K DVB-S2 (45208 FBC) ; Synology 218 ; Inverto Unicable II IDLU-UWT110-CUO1O-32P Multischalter 5/32 ; Inverto Pro Wideband IDLP-WDB01-OOPRO-OPP
      Zero 4K DVB-S2x (SI2166) / HMP-Combo DVB C/T2 Hybrid ; Synology 218+ ; Selfsat H30D2 / Maximum UHF 200


      Der Fortschritt lebt vom Austausch des Wissens. (Albert Einstein)
      Wende dein Gesicht der Sonne zu, dann fallen die Schatten hinter dich. (aus Uganda)
    • "colors": [gColor("#000000"),gColor("#fb8506")],
      crash: Name gColor ist nicht definiert

      color = 1 (wie bei font) nicht möglich, es wird nur noch eine zeile angezeigt, danach geht nichts mehr

      "templates"/style ist ebenso nicht möglich, da ich hier für alle Zeilen dennoch immer die gleiche Farbe habe
      ============================================================================================

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von shadowrider ()

    • wie @schomi schon sagte, Farben können im TemplatedMultiContent anscheinend nur als Hex-Zahlen definiert werden, also keine Skin-Farbnamen möglich :(
      definiert ist in ./Components/MultiContent.py z.B. für den Text :

      Quellcode

      1. def MultiContentEntryText(pos = (0, 0), size = (0, 0), font = 0, flags = RT_HALIGN_LEFT | RT_VALIGN_TOP, text = "", color = None, color_sel = None, backcolor = None, backcolor_sel = None, border_width = None, border_color = None):
      2. return (eListboxPythonMultiContent.TYPE_TEXT, pos[0], pos[1], size[0], size[1], font, flags, text, color, color_sel, backcolor, backcolor_sel, border_width, border_color)
      also können nach dem Schema : color = 0x586d88 die folgenden Farben wohl definiert werden :
      color, color_sel, backcolor, backcolor_sel

      vielleicht könnte man in ./Components/MultiContent.py noch ein parseColor() einbauen, damit auch Skin-Farben genutzt werden können ?
    • definier die farbe mal in der tuple so

      color1 = 0x00123123
      color2 = 0x00234234
      und dann einfach beim befüllen deiner liste den objekten abwechselnd color1 und color2 setzen...

      hat aber wiederrum den nachteil dass du die farben im code setzen musst...

      IMHO ist da ein wenig Arbeit am TemplatedMultiContent Converter nötig um das Out Of the Box möglich zu machen...

      Aber wer weiss vielleicht hast du ja eine ganz einfache Lösung, die ich grad wie den Wald vor lauter Bäumen nicht sehe...
      VMC
      EPG Share
      VU Alexa Skill
      Fluid Next
      Global Search

      Spenden sind immer herzlich willkommen... einfach hier klicken und das ganze an sbeatz76@googlemail.com schicken
    • die farben sollen im code gesetzt werden, da Ereignisabhängig/nach berechnung

      und dann einfach beim befüllen deiner liste den objekten abwechselnd color1 und color2 setzen...
      die Liste wird nur in der xml befüllt - und das war das Problem dort jeder zeile eine vom code bestimmte Farbe zuzuweisen
      (und zwar nicht einfach abwechselnd sondern wirklich die der zeile zugeordnete Farbe)




      IMHO ist da ein wenig Arbeit am TemplatedMultiContent Converter nötig
      ich will keinesfalls irgendwo anders etwas verändern als im Plugin selbst
      ============================================================================================
    • ist schon sehr interesant, was ihr Plugin-Gurus hier so schreibt, danke @shadowrider, @schomi, @hmmmdada :thumbup:
      verstehen kann ich davon noch nicht mal die Hälfte :whistling: , aber egal, was heißt das jetzt für Skins ?
      1. wenn das Plugin alles definiert über "eListboxPythonMultiContent"
        • kann ich im Skin vorerst nix mehr ändern an pos, size, align, font(s), itemHeight, Farben ...
        • machen ja etliche Plugins so, dass über Skin-Parameter / Font-alias da noch was im Skin anpassbar ist, z.B. MovieList, TimerList, ServiceList, aber auch gMEPG, CoverFind, PiconManager etc. ... geht auch, ich muss ja im Skin nicht alles anpassen können ... ^^
        • evtl. Farben für einzelne Elemente werden zwar im Plugin definiert sein können, aber nicht im Skin (hatten wir schon mal im SerienRecorder)
        • es sei denn, das Plugin hat a) ne Farbauswahl per Setup dabei oder b) geht über weitere, im Plugin über applySkin() definierte Skin-Parameter (wie auch bei CoolTV/EMC/ChannelSelection etc)
      2. wenn das Plugin nur ne Liste mit Werten aufbaut (statt Tuple) und im Skin mit dem Converter "TemplatedMultiContent" verarbeitet
        • dann kann ich im Skin per TemplatedMultiContent sowohl pos, size, align, font(s), itemHeight individuell gestalten, auch noch eigenen Texte hinzufügen
        • aber die Farben einzelner Elemente können nicht mehr über das Plugin gesteuert werden
        • ich hab auch nur einen Screen in den mir bekannten Skins gefunden, der im TemplatedMultiContent dir Farben nutzt : CutListEditor. und dort auch nur per "backcolor = MultiContentTemplateColor(3)", wobei ich nicht ganz verstehe, was ein "bitwise OR" von "0xff000000 | 3" ausmachen soll, ist für mich nach wie vor schwarz (die 3 vom Blau sehe ich nicht" oder war das "RGBa" statt "aRGB" ?)
        • und auch die Skin-Farben (Namen oder "#aarrggbb") funktionieren nicht im Converter.


      mir jedenfalls scheint es, dass es wie meist eben keinen "Königsweg" gibt, beide Wege sind gut, kommt eben drauf an, was im Skin anpassbar sein soll.
      Wenn ich mir so Skins wie den iFlatFHD, CerX, Fluid, MetrixFHD, u.a. ansehe, gibt es eben verschiedenste Farb-Kombinationen und Hintergründe, sodass eine "nicht anpassbare" Farbauswahl im Plugin manchmal nicht passen könnte .... ist wohl ähnlich dem Font-scale in den verschiedenen Skins.