template = self.template.get("template")
itemheight = self.template["itemHeight"]
selectionEnabled = self.template.get("selectionEnabled", True)
+ scrollbarMode = self.template.get("scrollbarMode", "showOnDemand")
if templates and style and style in templates: # if we have a custom style defined in the source, and different templates in the skin, look it up
template = templates[style][1]
itemheight = templates[style][0]
if len(templates[style]) > 2:
selectionEnabled = templates[style][2]
+ if len(templates[style]) > 3:
+ scrollbarMode = templates[style][3]
self.content.setTemplate(template)
self.content.setItemHeight(itemheight)
self.selectionEnabled = selectionEnabled
+ self.scrollbarMode = scrollbarMode
self.active_style = style
self.__content = None
self.__wrap_around = False
self.__selection_enabled = True
+ self.__scrollbarMode = "showOnDemand"
GUI_WIDGET = eListbox
instance.selectionChanged.get().append(self.selectionChanged)
self.wrap_around = self.wrap_around # trigger
self.selection_enabled = self.selection_enabled # trigger
+ self.scrollbarMode = self.scrollbarMode # trigger
def preWidgetRemove(self, instance):
instance.setContent(None)
selection_enabled = property(lambda self: self.__selection_enabled, setSelectionEnabled)
+ def setScrollbarMode(self, mode):
+ self.__scrollbarMode = mode
+ if self.instance is not None:
+ self.instance.setScrollbarMode(int(
+ { "showOnDemand": 0,
+ "showAlways": 1,
+ "showNever": 2,
+ }[mode]))
+
+ scrollbarMode = property(lambda self: self.__scrollbarMode, setScrollbarMode)
+
def changed(self, what):
if hasattr(self.source, "selectionEnabled"):
self.selection_enabled = self.source.selectionEnabled
+ if hasattr(self.source, "scrollbarMode"):
+ self.scrollbarMode = self.source.scrollbarMode
if len(what) > 1 and isinstance(what[1], str) and what[1] == "style":
return
self.content = self.source.content