Beiträge von alpha

    ok... got it :smiling_face:
    die sequenz in res.extent() spielt keine rolle, sondern der index wird in der template def multicontententrytext festgelegt.
    trotzdem, wo wird der index fuer media_png definiert? dafuer haette ich eine png = 9 erwartet und die png = 7 ist wohl fuer folder_png.

    versuche ich Dir das zu erklären

    vielen dank, das hilft enorm.
    habe allerdings noch weitere fragen: :smiling_face:
    - klingt so, als wuerde das alles auch im original image funktionieren ohne merlin specials
    - die parameter ab pos 8:


    Code
    color, media_png, perc, backcolor, backcolor_sel))

    perc ist klar, wird ueber negativen index definiert.
    bei media_png ist der index hart kodiert?
    zu den farben: bisher verwende ich color, color_sel und backcolor. kann ich backcolor_sel einfach durch color_sel ersetzen oder die liste erweitern um color_sel?
    in welcher routine werden diese parameter eigentlich interpretiert?
    thanks again.

    tja, dann weiss ich auch nicht :smiling_face:


    im moment kommt mir das alles wahnsinnig komplex vor, denn die template definition im code scheint auch nicht zu reichen. anscheinend muss man das auch noch im skin machen.


    von daher frage ich mich, ob es nicht einfacher ist (zumindest fuer mich), das ganze konventionell (wie ams, serienrecorder, etc) zu machen.

    ja, aber unter der annahme, dass der cpp code unveraendert ist, kann es imho nicht funktionieren. da gibts kein progress percent.
    da ich davon ausgehe, dass es im merlin image funktioniert, musss irgendwo (im pyton code?) noch eine uebersetzung der parameter sein...

    der dreamos elistboxboxcontent.cpp ist wohl nicht open source.
    aber wenn ich mal davon ausgehe, dass er sich gegenueber dem open source enigma2 nicht veraendert hat, muss in merlin irgendwo was umgebogen worden sein.

    yep, so ist es:


    was ich noch nicht so ganz verstehe ist, wie das template und res zusammengehoeren...


    template:


    res:


    Code
    res.extend((txt, tags, servicename, description, begin_string, len, folder_png, folder_name, color, media_png, perc, backcolor, backcolor_sel))

    die erste zeile im template (text="") gibt anscheinend die gesamte listenzeile an.
    die naechsten zeielen im template (text=1 bis text=8 und png=7) geben die einzelnen elemente in der listenzeile an und entsprechen in res wohl "txt, tags, servicename, description, begin_string, len, folder_png, folder_name".
    die letzte zeile MultiContentEntryProgress entspricht "perc" in res. perc ist der 11. parameter... wird das durch "percent = -11" angegeben???
    und wo ist die reihenfolge von color, media_png, backcolor und backcolor_sel definiert?

    ich stehe noch auf Kriegsfuss mit Skins

    ha, ein bruder im geiste :smiling_face:


    habe mir mal den serienrecorder kurz angeschaut... das ist imho kein templated design, sondern da werden die zeilen explizit zusammengebastelt.... bei ams ist das imho auch so.
    wollte eigentlich einen "echten" templated design verwenden. :winking_face:

    Aber eventuell nur bei uns im Merlin.

    ja, das war ein guter hinweis.


    Code
    default_template = """{"templates":
    		{
    			"default" : (75, [
    				MultiContentEntryText(pos=(0, 0), size=(full_width, 75), font=0, flags=RT_HALIGN_LEFT, text="", color=None, backcolor=0xFF00000C, backcolor_sel=0xFF00000D),
    				MultiContentEntryText(pos=(0, 0), size=(width-182, 30), font=0, flags=RT_HALIGN_LEFT, text=1, color=0xFF000009),
    Code
    if self.list_type == MovieList.LISTTYPE_ORIGINAL:
    			res.extend((txt, tags, servicename, description, begin_string, len, folder_png, folder_name, color, media_png, perc, backcolor, backcolor_sel))


    anscheinend kann man da die farben einfach mitgeben.
    wobei ich noch rausfinden muss, ob das was "merlin spezifisches" ist :smiling_face:

    Also zuerst den Inhalt der Listbox und dann [color:0x000f0f0f, backcolor:0x00000000]

    hmmm.... die farbe muesste doch hier irgendwie angegeben werden


    Code
    self.res.extend(([txt, color:0x000f0f0f, backcolor:0x00000000], [tags, color:0x000f0f0f, backcolor:0x00000000], [servicename,color:0x000f0f0f, backcolor:0x00000000], [description, color:0x000f0f0f, backcolor:0x00000000], begin_string, color:0x000f0f0f, backcolor:0x00000000], [len, color:0x000f0f0f, backcolor:0x00000000]))

    oder so.
    ich will ja nicht nur eine farbe fuer die gesamte liste... sondern pro element.

    steht doch in ...../Components/MultiContent.py

    Code
    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): 
    6 	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

    z.B. color = 0x00ffc000, color_sel = 0x00ffc000

    ja, so mache ich das momentan fuer eine normale einzeilige liste.
    aber wie soll das bei der templated liste gehen, wo ich dann pro listenzeile eine andere farbe setzen will... z.b. bei movielist fuer aufnahmen rot.

    mit dem templatedmulticontentcomponent kann man ja sehr komfortabel mehrzeilige listen definieren:

    Code
    "default" : (75, [
    				MultiContentEntryText(pos=(0, 0), size=(width-182, 30), font=0, flags=RT_HALIGN_LEFT, text=1),
    				MultiContentEntryText(pos=(width-180, 0), size=(180, 30), font=3, flags=RT_HALIGN_RIGHT, text=2),
    				MultiContentEntryText(pos=(200, 50), size=(200, 20), font=2, flags=RT_HALIGN_LEFT, text=3),
    				MultiContentEntryText(pos=(0, 30), size=(width, 20), font=2, flags=RT_HALIGN_LEFT, text=4),
    				MultiContentEntryText(pos=(0, 50), size=(200, 20), font=2, flags=RT_HALIGN_LEFT, text=5),
    				MultiContentEntryText(pos=(width-200, 50), size=(198, 20), font=2, flags=RT_HALIGN_RIGHT, text=6),
    			]),
    			"compact_descrip


    und dann auch fuellen:


    Code
    self.res.extend((txt, tags, servicename, description, begin_string, len))

    aber wie gebe ich die farben fuer die einzelnen elemente an?
    danke.

    aber zurueck zum skin thema...
    wenn man es vereinfacht betrachtet, dann ist doch das interface zwischen plugin und skin:
    - eine menge von converters, renders und sources
    - eine menge von skin variablen, die im plugin mit applySkin angewandt werden
    - und ne menge von pics