Grégory Soutadé
f536c89e36
Widgets can be put in left, center or right box. Warning: right box is available (no error), but seems undefined (Gnome Shell 3.36)...
30 lines
970 B
Python
30 lines
970 B
Python
|
|
class DBUSItem:
|
|
def __init__(self, name, text='', style='', icon='', iconStyle='', onClick='', box=''):
|
|
self.name = name
|
|
self.text = text
|
|
self.style= style
|
|
self.icon = icon
|
|
self.iconStyle = iconStyle
|
|
self.onClick = onClick
|
|
self.box = box
|
|
|
|
self._checkValues()
|
|
|
|
def _checkValues(self):
|
|
if self.onClick and not self.onClick in ('signal', 'delete'):
|
|
raise ValueError('Invalid onClick value')
|
|
if self.box and not self.box in ('left', 'center', 'right'):
|
|
raise ValueError('Invalid box value')
|
|
|
|
def toMap(self):
|
|
myMap = {"name":self.name}
|
|
for p in ('text', 'style', 'icon', 'box'):
|
|
if self.__dict__[p]:
|
|
myMap[p] = self.__dict__[p]
|
|
if self.iconStyle:
|
|
myMap['icon-style'] = self.iconStyle
|
|
if self.onClick:
|
|
myMap['on-click'] = self.onClick
|
|
return [myMap]
|