ok... got it
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.
Beiträge von alpha
-
-
versuche ich Dir das zu erklären
vielen dank, das hilft enorm.
habe allerdings noch weitere fragen:
- klingt so, als wuerde das alles auch im original image funktionieren ohne merlin specials
- die parameter ab pos 8: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
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. -
Legt diese kurzeitig ohne Benützung, ist die Verbindung wieder weg.
stromsparfeature?
-
-
yep, so ist es:
Code
Alles anzeigenif (size > 8) pforeColor = lookupColor(PyTuple_GET_ITEM(item, 8), data); if (size > 9) pforeColorSelected = lookupColor(PyTuple_GET_ITEM(item, 9), data); if (size > 10) pbackColor = lookupColor(PyTuple_GET_ITEM(item, 10), data); if (size > 11) pbackColorSelected = lookupColor(PyTuple_GET_ITEM(item, 11), data); if (size > 12) { pborderWidth = PyTuple_GET_ITEM(item, 12); if (pborderWidth == Py_None) pborderWidth=ePyObject(); } if (size > 13) pborderColor = lookupColor(PyTuple_GET_ITEM(item, 13), data);
-
was ich noch nicht so ganz verstehe ist, wie das template und res zusammengehoeren...
template:
Code
Alles anzeigen"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), MultiContentEntryText(pos=(width-180, 0), size=(180, 30), font=3, flags=RT_HALIGN_RIGHT, text=2, color=0xFF000009), MultiContentEntryText(pos=(200, 50), size=(200, 20), font=2, flags=RT_HALIGN_LEFT, text=3, color=0xFF000009), MultiContentEntryText(pos=(0, 30), size=(width, 20), font=2, flags=RT_HALIGN_LEFT, text=4, color=0xFF000009), MultiContentEntryText(pos=(0, 50), size=(200, 20), font=2, flags=RT_HALIGN_LEFT, text=5, color=0xFF000009), MultiContentEntryText(pos=(width-200, 40), size=(198, 20), font=2, flags=RT_HALIGN_RIGHT, text=6, color=0xFF000009), MultiContentEntryPixmapAlphaBlend(pos = (0, 27), size = (20, 20), png =7), MultiContentEntryText(pos=(40, 22), size=(width-40, 30), font=0, flags=RT_HALIGN_LEFT|RT_VALIGN_CENTER, text=8), MultiContentEntryProgress(pos=(width-50,60), size=(50,6), percent=-11, borderWidth = 1, foreColor = 0xFF000009), ]),
res:Coderes.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
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. -
Aber eventuell nur bei uns im Merlin.
ja, das war ein guter hinweis.
Codedefault_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),
Codeif 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 -
Schau dir ein Merlin Skin , mit der MerlinMovieListr an.
ja, das hilft schon mal... aber wo gebe ich da an, dass ne aufnahme rot dargestellt wird.
wenn ich das richtig verstehe, dann gelten diese farben fuer alle zeilen in der liste. -
Also zuerst den Inhalt der Listbox und dann [color:0x000f0f0f, backcolor:0x00000000]
hmmm.... die farbe muesste doch hier irgendwie angegeben werden
Codeself.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
Codedef 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. -
In der Movielist wird das so gemacht.
die MovieSelection.py und MovieList.py habe ich mir angeschaut. da werden imho keine farben spezifiziert.
habe nicht gefunden, wo rot fuer aufnahmen gesetzt wird -
deleted
-
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: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 -
denke moveq war ein nick von suomipuoka. der war hier auch gereggt.