Variablen in einer Skin.XML möglich?

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

    • Variablen in einer Skin.XML möglich?

      Moin! Ist es möglich (wie) in die skin.xml Variablen einzubauen, die dann über die Pro-Einstellungen über die Box überschrieben werden können? Konkret geht es mir um Pixmaps. In der Skin würde ich z.B. paar Bilder festlegen bild1="Pfad.png" etc.. In der Datei im Ordner "Allscreens" dann halt die Variablen mit den geänderten Pfadangaben?
      - How much for the Ape? -
    • Habe mir den Skin mal runtergeladen und installiert. Bin erst heute (kurz) dazugekommen mir das anzuschauen.

      Leider werde ich daraus nicht ganz schlau.
      Habe in diesem Skin auch den "Absatz" mit Variablen gefunden, was aber für meinen Fall nicht passend zu sein scheint.
      Hab mal so zum kurz probieren deklariert:

      Quellcode

      1. <variables>
      2. <variable name="btnRED" value="BlackAlu/buttons/red.png" />
      3. </variables>
      Damit startet die Box aber nicht mehr. Wenn ich es richtig verstehe verlangen die hier deklarierten Variablen 2 (durch Komma getrennte) Werte, also für meine Pixmaps ungeeignet.
      Habe mir dann mal die Constant-Widgets angesehen.
      Als einfaches Beispiel das "part_volume"

      Quellcode

      1. </constant-widget>
      2. <constant-widget name="part_volume">
      3. <ePixmap position=" 5, 5" zPosition="11" size="150,150" pixmap="Kerni-HD1R3/menu/vol_back.png" alphatest="off" />
      4. <widget name="Volume" position="5,5" zPosition="15" size="150,150" pixmap="Kerni-HD1R3/menu/vol.png" orientation="orBottomToTop" transparent="1" />
      5. <widget render="SchoVolumeText" source="global.CurrentTime" position="50,95" size="60,35" zPosition="20" font="Arial;28" halign="center" foregroundColor="white" shadowColor="#40101010" shadowOffset="-2,-2" transparent="1" />
      6. </constant-widget>
      Und den Aufruf dazu.

      Quellcode

      1. <screen name="Volume" position="50,300" size="160,160" title="Volume" zPosition="1" flags="wfNoBorder" backgroundColor="transparent">
      2. <constant-widget name="part_volume" />
      3. </screen>
      Soweit so gut. Auch der Skinpart in "allscreens" ist klar

      Quellcode

      1. <screen name="Volume" position="50,300" size="160,160" title="Volume" zPosition="1" flags="wfNoBorder" backgroundColor="transparent">
      2. <constant-widget name="part_volume" />
      3. </screen>
      Weiß jetzt aber nicht wie mir das weiterhelfen soll ?!
      Denn in Allscreens könnte ich ja meine komplette skin.xml mit den geänderten Pixmaps einstellen oder auch nur die Screens die ein solches Pixmap enthalten. Das würde ja aber ein haufen Speicher belegen.
      Also nochmal zu meiner Ausgangsfrage, hoffe es ist klar was ich machen will...

      In meiner skin.xml sind verschiedene Pixmaps aufgeführt die in vielen Screens benutzt werden.
      Beispiel:

      Quellcode

      1. selectionPixmap="BlackAlu/frame/sel740_30_blau.png"
      Ich möchte jetzt dass ich auf der Box in den Pro-Einstellungen des Skins anstelle des obigen Pixmaps beispielsweise dieses verwendet wird

      Quellcode

      1. selectionPixmap="BlackAlu/frame/sel740_30_rot.png"
      Gedacht hatte ich es mir so:
      in der skin.xml festlegen Bild1="selectionPixmap="BlackAlu/frame/sel740_30_blau.png""
      in einer Datei im Ordner Allscreens bei Aktivierung soll dann Bild1="selectionPixmap="BlackAlu/frame/sel740_30_rot.png" sein
      - How much for the Ape? -

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Humaxx ()

    • Du musst jeweils Skinparts mit den verschiedenen constant-widgets, die die Bilder enthalten, erstellen, wie im genannten Beispiel Skin.
      Den gewünschten Skinpart dann unter Einstellungen Skin Pro aktivieren.
      Carpe diem!

      Skin: CerX FHD | Plugins: TMDb, BacksNcovers, FritzDect, AutoShredder, PluginMover | EPG: GraphMultiEPG | ... [Alle anzeigen]

      Vu+ Wiki
    • Kann es jetzt grade nicht testen, ginge das so?
      in der Skin.xml:

      Quellcode

      1. </constant-widget>
      2. <constant-widget name="Csel660_30">
      3. <ePixmap pixmap="BlackAlu/frame/sel660_30_green.png" />
      4. </constant-widget>


      Und in der Allscreens so?


      Quellcode

      1. </constant-widget>
      2. <constant-widget name="Csel660_30">
      3. <ePixmap pixmap="BlackAlu/frame/sel660_30_blue.png" />
      4. </constant-widget>
      - How much for the Ape? -
    • Ok, hab es probiert funktioniert nicht. Hab mich wohl auch falsch ausgedrückt...
      Es dreht sich bei mir um die selectionPixmap und backgroundPixmap - Bilder in den Screens.

      hier mal was ich gemacht habe...
      Habe in der Skin.xml 2 constant-widgets angelegt. Size / Position hab ich weggelassen, da es ja beim Aufruf des Screens angegeben ist.

      Quellcode

      1. <constant-widgets>
      2. <constant-widget name="Men_sel">
      3. <ePixmap pixmap="BlackAlu/frame/men_sel660_50_grün_rahmen_neu.png" />
      4. </constant-widget>
      5. <constant-widget name="Men_sel_bg">
      6. <ePixmap pixmap="BlackAlu/frame/men_sel660_50_bg_rahmen.png" />
      7. </constant-widget>
      8. </constant-widgets>
      In der Skin.xml dann mal im Screen "menu_mainmenu" das folgende versucht, aber beim Aufruf des Menus stürzt die Box ab.


      Quellcode

      1. widget source="menu" render="Listbox" enableWrapAround="1" position="550,110" size="660,500" zPosition="3" selectionPixmap="Men_sel" backgroundPixmap="Men_sel_bg" scrollbarMode="showNever" transparent="1">
      2. <convert type="TemplatedMultiContent">
      3. {"template": [ MultiContentEntryText(pos =
      4. (35, 12), size = (590, 40), flags =
      5. RT_HALIGN_LEFT, text = 0) ],
      6. "fonts": [gFont("Regular", 23)],
      7. "itemHeight": 50
      8. }
      9. </convert>
      10. </widget>
      - How much for the Ape? -

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

    • So habs jetzt hinbekommen, hab in das constant Widget das komplette Widget reingemacht.

      Quellcode

      1. <constant-widgets>
      2. <constant-widget name="Men_sel">
      3. <widget source="menu" render="Listbox" enableWrapAround="1" position="550,110" size="660,500" zPosition="3" selectionPixmap="BlackAlu/frame/men_sel660_50_grün_rahmen_neu.png" backgroundPixmap="BlackAlu/frame/men_sel660_50_bg_rahmen.png" scrollbarMode="showNever" transparent="1">
      4. <convert type="TemplatedMultiContent">
      5. {"template": [ MultiContentEntryText(pos =
      6. (35, 12), size = (590, 40), flags =
      7. RT_HALIGN_LEFT, text = 0) ],
      8. "fonts": [gFont("Regular", 23)],
      9. "itemHeight": 50
      10. }
      11. </convert>
      12. </widget>
      13. </constant-widget>
      14. </constant-widgets>
      Alles anzeigen


      Der Aufruf in den Screen dann so:

      Quellcode

      1. <constant-widget name="Men_sel" />
      Und in den allscreens, dass geänderte constant-widget

      Quellcode

      1. <constant-widgets>
      2. <constant-widget name="Men_sel">
      3. <widget source="menu" render="Listbox" enableWrapAround="1" position="550,110" size="660,500" zPosition="3" selectionPixmap="BlackAlu/frame/men_sel660_50_blau_rahmen_neu.png" backgroundPixmap="BlackAlu/frame/men_sel660_50_bg_rahmen.png" scrollbarMode="showNever" transparent="1">
      4. <convert type="TemplatedMultiContent">
      5. {"template": [ MultiContentEntryText(pos =
      6. (35, 12), size = (590, 40), flags =
      7. RT_HALIGN_LEFT, text = 0) ],
      8. "fonts": [gFont("Regular", 23)],
      9. "itemHeight": 50
      10. }
      11. </convert>
      12. </widget>
      13. </constant-widget>
      14. </constant-widgets>
      Alles anzeigen
      Passt. Macht aber nur Sinn, wenn das Widget dann auch wirklich konstant ist, d.h. immer an der selben Position, Größe...
      In diesem Fall passt das, weil das Widget genau so in 7 Screens verwendet wird. So kann auch in der Skin noch Platz gespart werden.

      Ich habe nun aber noch in vielen Screens selectionPixmaps verwendet, die immer anders (variable und nicht konstant) sind.
      Hat dazu jemand noch ne Lösung, dass ich sozusagen ein paar Variablen mit den Pfaden der Pixmaps zuweisen kann und die Variablen dann in den Screens verwenden kann? Ansonsten müsste ich ja für jedes einzelne verwendete SelectionPixmap ein constant_Widget erstellen - klar immer noch besser wie den kompletten Screen, aber mit ner Variablen wäre das doch top.
      - How much for the Ape? -