Class e.p.p.w.w.Widget(Group):

Part of elisa.plugins.pigment.widgets.widget View In Hierarchy

Known subclasses: elisa.plugins.database.scanning_widget.ScannerWidget, elisa.plugins.pigment.widgets.box.Box, elisa.plugins.pigment.widgets.button.Button, elisa.plugins.pigment.widgets.entry.Entry, elisa.plugins.pigment.widgets.indicator_progressbar.Indicator, elisa.plugins.pigment.widgets.label.Label, elisa.plugins.pigment.widgets.list.List, elisa.plugins.pigment.widgets.osk.Button, elisa.plugins.pigment.widgets.osk.OnScreenKeyboard, elisa.plugins.pigment.widgets.range.Range, elisa.plugins.pigment.widgets.size_enforcer.Square, elisa.plugins.poblesec.base.grid.GridItem, elisa.plugins.poblesec.base.preview_list.PreviewWidget, elisa.plugins.poblesec.base.preview_list.Shortcut, elisa.plugins.poblesec.login_settings_controller.ReturnButton, elisa.plugins.poblesec.player_video.MouseOsd, elisa.plugins.poblesec.player_video.PlayerOsd, elisa.plugins.poblesec.poblesec_browser_controller.BottomBar, elisa.plugins.poblesec.poblesec_browser_controller.BreadCrumbs, elisa.plugins.poblesec.poblesec_browser_controller.Crumb, elisa.plugins.poblesec.poblesec_browser_controller.TopBar, elisa.plugins.poblesec.poblesec_browser_controller.TopBarButton, elisa.plugins.poblesec.poblesec_browser_controller.TopBarWithBreadCrumbs, elisa.plugins.poblesec.popup.PopupWidget, elisa.plugins.poblesec.sections_menu.SectionItemWidget, elisa.plugins.poblesec.viewport_buttons.AutohideButtons, elisa.plugins.poblesec.widgets.button.IconButton, elisa.plugins.poblesec.widgets.button.StateButton, elisa.plugins.poblesec.widgets.entry.EntryBar, elisa.plugins.poblesec.widgets.image_with_reflection.ImageWithReflection, elisa.plugins.poblesec.widgets.long_loading_image.LongLoadingImage, elisa.plugins.poblesec.widgets.menu_item.MenuItemWidget, elisa.plugins.poblesec.widgets.nothing_to_display.NothingToDisplay, elisa.plugins.poblesec.widgets.player.buffering_bar.BufferingBar, elisa.plugins.poblesec.widgets.player.button.Button, elisa.plugins.poblesec.widgets.player.volumebar.VolumeBar, elisa.plugins.poblesec.widgets.search_results.SearchResultEntryWidget, elisa.plugins.poblesec.widgets.search_results.SearchResultWidget, elisa.plugins.poblesec.widgets.selector.ActionSelector, elisa.plugins.poblesec.widgets.sliced_image.SlicedImageHorizontal, elisa.plugins.shelf.shelf_controller.PluginWidget, elisa.plugins.shelf.shelf_controller.ShelfHeader, elisa.plugins.weather.report_widget.WeatherWidget

Basic widget for the python Pigment scenegraph.

It handles a simple focus system (at most one widget having the focus at one time) and a simple style system (with style and style-properties change notifications, also bound to state changes).

Emit these signals:
Instance Variablesnamethe name of the widget (type: string )
stylethe present style of the widget (type: pgm.widget.Style )
statethe present state of the widget (type: enum(STATE_NORMAL, STATE_ACTIVE, STATE_PRELIGHT, STATE_SELECTED, STATE_INSENSITIVE) )
Line # Kind Name Docs
69 Method __init__ Set the default styles for the widget. Subclasses should override and
135 Method state__get The present state of the widget
139 Method state__set Set the state of the widget and emit the "state-changed" signal if
156 Method do_state_changed Default 'state-changed' handler
163 Method style__get The present style
167 Method style__set Set the present style, after binding it to the widget and subscribing
187 Method do_style_set Default 'style-set' signal handler
209 Method get_parent Get the parent, if exists.
217 Method get_children Get the list of direct children.
225 Method get_root Get the root of the widget's tree hierarchy
236 Method get_descendants Get the list of nodes in the subtree
250 Method focus__get Whether the widget has focus
254 Method focus__set Set or unset the focus on the widget and emit the 'focus' signal.
282 Method focus_child__get Get the child with focus
290 Method do_key_press_event Default 'key-press-event' signal handler.
353 Class Method demo Create a demo widget, put it on a canvas and show it in a viewport.
92 Method _init_styles Undocumented
183 Method _style_property_changed Undocumented
192 Method _update_style_properties Update the widget's appearence basing on the properties set.
302 Method _do_real_key_press_event Undocumented
306 Class Method _demo_create_viewport Undocumented
313 Class Method _on_demo_delete Undocumented
321 Class Method _demo_widget Meant to be overidden by inheriting widgets for widget creation and
332 Class Method _set_demo_widget_defaults Undocumented

Inherited from Group:

Line # Kind Name Docs
82 Method canvas__set Undocumented
102 Method canvas__get Undocumented
107 Method layer__set Undocumented
120 Method layer__get Undocumented
128 Method add Undocumented
162 Method remove Undocumented
176 Method empty Undocumented
186 Method __len__ Undocumented
189 Method __iter__ Undocumented
192 Method update_absolute_x Undocumented
199 Method update_absolute_y Undocumented
206 Method update_absolute_z Undocumented
213 Method update_absolute_position Undocumented
220 Method update_absolute_width Undocumented
229 Method update_absolute_height Undocumented
238 Method update_absolute_size Undocumented
247 Method update_absolute_visible Undocumented
252 Method update_absolute_opacity Undocumented
258 Method regenerate Undocumented
262 Method absolute_width__get Undocumented
265 Method absolute_width__set Undocumented
270 Method absolute_height__get Undocumented
273 Method absolute_height__set Undocumented
278 Method absolute_x__get Undocumented
281 Method absolute_x__set Undocumented
287 Method absolute_y__get Undocumented
290 Method absolute_y__set Undocumented
296 Method absolute_z__get Undocumented
299 Method absolute_z__set Undocumented
305 Method clean Undocumented
150 Method _proxy_child_signal_scrolled Undocumented
154 Method _proxy_child_signal Undocumented
158 Method _proxy_child_signal_with_pressure Undocumented

Inherited from Node (via Group):

Line # Kind Name Docs
37 Method parent__set Undocumented
57 Method parent__get Undocumented
62 Method x__get Undocumented
68 Method x__set Undocumented
84 Method y__get Undocumented
90 Method y__set Undocumented
107 Method z__get Undocumented
113 Method z__set Undocumented
130 Method position__get Undocumented
136 Method position__set Undocumented
160 Method width__get Undocumented
166 Method width__set Undocumented
184 Method height__get Undocumented
190 Method height__set Undocumented
210 Method size__get Undocumented
216 Method size__set Undocumented
236 Method visible__get Undocumented
242 Method visible__set Undocumented
260 Method opacity__get Undocumented
266 Method opacity__set Undocumented
def __init__(self):
overridden in elisa.plugins.database.scanning_widget.ScannerWidget, elisa.plugins.pigment.widgets.box.Box, elisa.plugins.pigment.widgets.button.Button, elisa.plugins.pigment.widgets.entry.Entry, elisa.plugins.pigment.widgets.indicator_progressbar.Indicator, elisa.plugins.pigment.widgets.label.Label, elisa.plugins.pigment.widgets.list.List, elisa.plugins.pigment.widgets.osk.Button, elisa.plugins.pigment.widgets.osk.OnScreenKeyboard, elisa.plugins.pigment.widgets.range.Range, elisa.plugins.pigment.widgets.size_enforcer.Square, elisa.plugins.poblesec.base.grid.GridItem, elisa.plugins.poblesec.base.preview_list.PreviewWidget, elisa.plugins.poblesec.base.preview_list.Shortcut, elisa.plugins.poblesec.login_settings_controller.ReturnButton, elisa.plugins.poblesec.player_video.MouseOsd, elisa.plugins.poblesec.player_video.PlayerOsd, elisa.plugins.poblesec.poblesec_browser_controller.BottomBar, elisa.plugins.poblesec.poblesec_browser_controller.BreadCrumbs, elisa.plugins.poblesec.poblesec_browser_controller.Crumb, elisa.plugins.poblesec.poblesec_browser_controller.TopBar, elisa.plugins.poblesec.poblesec_browser_controller.TopBarButton, elisa.plugins.poblesec.poblesec_browser_controller.TopBarWithBreadCrumbs, elisa.plugins.poblesec.popup.PopupWidget, elisa.plugins.poblesec.sections_menu.SectionItemWidget, elisa.plugins.poblesec.viewport_buttons.AutohideButtons, elisa.plugins.poblesec.widgets.button.IconButton, elisa.plugins.poblesec.widgets.button.StateButton, elisa.plugins.poblesec.widgets.entry.EntryBar, elisa.plugins.poblesec.widgets.image_with_reflection.ImageWithReflection, elisa.plugins.poblesec.widgets.long_loading_image.LongLoadingImage, elisa.plugins.poblesec.widgets.menu_item.MenuItemWidget, elisa.plugins.poblesec.widgets.nothing_to_display.NothingToDisplay, elisa.plugins.poblesec.widgets.player.buffering_bar.BufferingBar, elisa.plugins.poblesec.widgets.player.button.Button, elisa.plugins.poblesec.widgets.player.volumebar.VolumeBar, elisa.plugins.poblesec.widgets.search_results.SearchResultEntryWidget, elisa.plugins.poblesec.widgets.search_results.SearchResultWidget, elisa.plugins.poblesec.widgets.selector.ActionSelector, elisa.plugins.poblesec.widgets.sliced_image.SlicedImageHorizontal, elisa.plugins.shelf.shelf_controller.PluginWidget, elisa.plugins.shelf.shelf_controller.ShelfHeader, elisa.plugins.weather.report_widget.WeatherWidget
Set the default styles for the widget. Subclasses should override and call "self._update_style_properties()" after calling this base class constructor.
def _init_styles(self):
Undocumented
def state__get(self):
The present state of the widget
def state__set(self, state):
Set the state of the widget and emit the "state-changed" signal if necessary.
Parametersstatethe new state (type: enum(STATE_NORMAL, STATE_ACTIVE, STATE_PRELIGHT, STATE_SELECTED, STATE_INSENSITIVE) )
def do_state_changed(self, previous_state):
Default 'state-changed' handler
def style__get(self):
The present style
def style__set(self, style):
Set the present style, after binding it to the widget and subscribing for property change notifications.
Parametersstylethe style to set
param (type: pgm.widget.Style )
def _style_property_changed(self, style, key, value):
Undocumented
def do_style_set(self, style):
Default 'style-set' signal handler
def _update_style_properties(self, props):

Update the widget's appearence basing on the properties set.

This is intended to be overriden by subclasses, that will implement the actual code to bind style properties to widget ones.
Parameterspropsthe properties that have to be updated (type: dictionary of strings ==> anything )
def get_parent(self):
Get the parent, if exists.
Returnselisa.plugins.pigment.widgets.Widget
def get_children(self):
Get the list of direct children.
Returnslist of elisa.plugins.pigment.widgets.Widget
def get_root(self):
Get the root of the widget's tree hierarchy
Returnselisa.plugins.pigment.widgets.Widget
def get_descendants(self):
Get the list of nodes in the subtree
Returnslist of elisa.plugins.pigment.widgets.Widget
def focus__get(self):
Whether the widget has focus
def focus__set(self, value):

Set or unset the focus on the widget and emit the 'focus' signal.

If setting the focus on the current widget, walk throught the widget hierarchy it belongs to and unset the previously focused one.
Parametersvaluethe focus value. (type: boolean. )
def focus_child__get(self):
Get the child with focus
def do_key_press_event(self, viewport, event, widget):

Default 'key-press-event' signal handler.

Forward the signal to the focused child, if any.
def _do_real_key_press_event(self, viewport, event, widget):
Undocumented
@classmethod
def _demo_create_viewport(cls, plugin):
Undocumented
@classmethod
def _on_demo_delete(self, viewport, event):
Undocumented
@classmethod
def _demo_widget(cls):
Meant to be overidden by inheriting widgets for widget creation and setup at demo time.
Returnselisa.plugins.pigment.widgets.Widget
@classmethod
def _set_demo_widget_defaults(cls, widget, canvas, viewport):
Undocumented
@classmethod
def demo(cls, plugin='opengl'):

Create a demo widget, put it on a canvas and show it in a viewport.

Just start a pgm.main() or an "ipython -gthread" shell to interactively test your widget. See the __main__ block at the end of this file.
Returnsthe demo elisa.plugins.pigment.widgets.Widget
API Documentation for Elisa Media Center, generated by pydoctor at 2008-10-13 19:16:17.