pdk.Gui.Widgets.MonitoringWidgets ($Date: 2002/12/04 10:16:47 $)
index
pdk/Gui/Widgets/MonitoringWidgets.py

Classes for monitoring object properties with widgets.

Implements a two-way monitoring: the value of the widget changes whenever the configure method of the monitored object is called, and vice versa.

The code builds on the property managing machinery in pdk.PropertyManagers.

FOG 05.2001

 
Classes
            
pdk.Gui.Widgets.AggregatedWidgets.AggFloatSpinCtrl(pdk.Gui.Widgets.AggregatedWidgets._AggSpinCtrl)
MonitoringAggFloatSpinCtrl(pdk.Gui.Widgets.AggregatedWidgets.AggFloatSpinCtrl, PropertyMonitorAggSpinCtrlMixin)
pdk.Gui.Widgets.AggregatedWidgets.AggIntegerSpinCtrl(pdk.Gui.Widgets.AggregatedWidgets._AggSpinCtrl)
MonitoringAggIntegerSpinCtrl(pdk.Gui.Widgets.AggregatedWidgets.AggIntegerSpinCtrl, PropertyMonitorAggSpinCtrlMixin)
PropertyMonitorMixin
MonitoringStaticText(wxPython.controls.wxStaticText, PropertyMonitorMixin)
PropertyMonitorAggSpinCtrlMixin
MonitoringAggFloatSpinCtrl(pdk.Gui.Widgets.AggregatedWidgets.AggFloatSpinCtrl, PropertyMonitorAggSpinCtrlMixin)
MonitoringAggIntegerSpinCtrl(pdk.Gui.Widgets.AggregatedWidgets.AggIntegerSpinCtrl, PropertyMonitorAggSpinCtrlMixin)
PropertyMonitorRadioBoxMixin
MonitoringRadioBox(wxPython.controls.wxRadioBox, PropertyMonitorRadioBoxMixin)
PropertyMonitorSpinCtrlMixin
MonitoringSpinCtrl(wxPython.controls.wxSpinCtrl, PropertyMonitorSpinCtrlMixin)
PropertyMonitorTextCtrlMixin
MonitoringTextCtrl(pdk.Gui.Widgets.CoreWidgets.pdkTextCtrl, PropertyMonitorTextCtrlMixin)
MonitoringFloatTextCtrl(pdk.Gui.Widgets.CoreWidgets.pdkFloatTextCtrl, MonitoringTextCtrl)
MonitoringIntegerTextCtrl(pdk.Gui.Widgets.CoreWidgets.pdkIntegerTextCtrl, MonitoringTextCtrl)
PropertyMonitorToggleButtonMixin
MonitoringToggleButton(wxPython.lib.buttons.wxGenToggleButton, PropertyMonitorToggleButtonMixin)
pdk.Gui.Widgets.CoreWidgets.pdkFloatTextCtrl(pdk.Gui.Widgets.CoreWidgets._NumberTextCtrl)
MonitoringFloatTextCtrl(pdk.Gui.Widgets.CoreWidgets.pdkFloatTextCtrl, MonitoringTextCtrl)
pdk.Gui.Widgets.CoreWidgets.pdkIntegerTextCtrl(pdk.Gui.Widgets.CoreWidgets._NumberTextCtrl)
MonitoringIntegerTextCtrl(pdk.Gui.Widgets.CoreWidgets.pdkIntegerTextCtrl, MonitoringTextCtrl)
pdk.Gui.Widgets.CoreWidgets.pdkTextCtrl(wxPython.controls.wxTextCtrl, pdk.Gui.Widgets.CoreWidgets.pdkWidget)
MonitoringTextCtrl(pdk.Gui.Widgets.CoreWidgets.pdkTextCtrl, PropertyMonitorTextCtrlMixin)
MonitoringFloatTextCtrl(pdk.Gui.Widgets.CoreWidgets.pdkFloatTextCtrl, MonitoringTextCtrl)
MonitoringIntegerTextCtrl(pdk.Gui.Widgets.CoreWidgets.pdkIntegerTextCtrl, MonitoringTextCtrl)
wxPython.lib.buttons.wxGenToggleButton(wxPython.lib.buttons.__ToggleMixin, wxPython.lib.buttons.wxGenButton)
MonitoringToggleButton(wxPython.lib.buttons.wxGenToggleButton, PropertyMonitorToggleButtonMixin)
wxPython.controls.wxRadioBox(wxPython.controls.wxRadioBoxPtr)
MonitoringRadioBox(wxPython.controls.wxRadioBox, PropertyMonitorRadioBoxMixin)
wxPython.controls.wxSpinCtrl(wxPython.controls.wxSpinCtrlPtr)
MonitoringSpinCtrl(wxPython.controls.wxSpinCtrl, PropertyMonitorSpinCtrlMixin)
wxPython.controls.wxStaticText(wxPython.controls.wxStaticTextPtr)
MonitoringStaticText(wxPython.controls.wxStaticText, PropertyMonitorMixin)
 
class MonitoringAggFloatSpinCtrl(pdk.Gui.Widgets.AggregatedWidgets.AggFloatSpinCtrl, PropertyMonitorAggSpinCtrlMixin)
     
Purpose:float property monitoring with an aggregated spin control

 
  
Method resolution order:
MonitoringAggFloatSpinCtrl
pdk.Gui.Widgets.AggregatedWidgets.AggFloatSpinCtrl
pdk.Gui.Widgets.AggregatedWidgets._AggSpinCtrl
pdk.Gui.Widgets.AggregatedWidgets.AggregationWidget
wxPython.windows.wxPanel
wxPython.windows.wxPanelPtr
wxPython.windows.wxWindowPtr
wxPython.windows.wxEvtHandlerPtr
wxPython.misc.wxObjectPtr
pdk.Gui.Widgets.CoreWidgets.pdkWidget
pdk.Gui.WidgetStateManagers.StatefulWidget
pdk.Base.OptionHandler
PropertyMonitorAggSpinCtrlMixin
PropertyMonitorMixin
 
class MonitoringAggIntegerSpinCtrl(pdk.Gui.Widgets.AggregatedWidgets.AggIntegerSpinCtrl, PropertyMonitorAggSpinCtrlMixin)
     
Purpose:integer property monitoring with an aggregated spin control

 
  
Method resolution order:
MonitoringAggIntegerSpinCtrl
pdk.Gui.Widgets.AggregatedWidgets.AggIntegerSpinCtrl
pdk.Gui.Widgets.AggregatedWidgets._AggSpinCtrl
pdk.Gui.Widgets.AggregatedWidgets.AggregationWidget
wxPython.windows.wxPanel
wxPython.windows.wxPanelPtr
wxPython.windows.wxWindowPtr
wxPython.windows.wxEvtHandlerPtr
wxPython.misc.wxObjectPtr
pdk.Gui.Widgets.CoreWidgets.pdkWidget
pdk.Gui.WidgetStateManagers.StatefulWidget
pdk.Base.OptionHandler
PropertyMonitorAggSpinCtrlMixin
PropertyMonitorMixin
 
class MonitoringFloatTextCtrl(pdk.Gui.Widgets.CoreWidgets.pdkFloatTextCtrl, MonitoringTextCtrl)
     
Purpose:integer property monitoring with a text control

 
  
Method resolution order:
MonitoringFloatTextCtrl
pdk.Gui.Widgets.CoreWidgets.pdkFloatTextCtrl
pdk.Gui.Widgets.CoreWidgets._NumberTextCtrl
pdk.Gui.Widgets.CoreWidgets._ValidatedTextCtrl
pdk.Gui.Widgets.CoreWidgets.pdkTextCtrl
wxPython.controls.wxTextCtrl
wxPython.controls.wxTextCtrlPtr
wxPython.controls.wxControlPtr
wxPython.windows.wxWindowPtr
wxPython.windows.wxEvtHandlerPtr
wxPython.misc.wxObjectPtr
pdk.Gui.Widgets.CoreWidgets.pdkWidget
pdk.Gui.WidgetStateManagers.StatefulWidget
pdk.Base.OptionHandler
pdk.Gui.Widgets.CoreWidgets._ValidatedWidget
MonitoringTextCtrl
PropertyMonitorTextCtrlMixin
PropertyMonitorMixin
 
class MonitoringIntegerTextCtrl(pdk.Gui.Widgets.CoreWidgets.pdkIntegerTextCtrl, MonitoringTextCtrl)
     
Purpose:integer property monitoring with a text control

 
  
Method resolution order:
MonitoringIntegerTextCtrl
pdk.Gui.Widgets.CoreWidgets.pdkIntegerTextCtrl
pdk.Gui.Widgets.CoreWidgets._NumberTextCtrl
pdk.Gui.Widgets.CoreWidgets._ValidatedTextCtrl
pdk.Gui.Widgets.CoreWidgets.pdkTextCtrl
wxPython.controls.wxTextCtrl
wxPython.controls.wxTextCtrlPtr
wxPython.controls.wxControlPtr
wxPython.windows.wxWindowPtr
wxPython.windows.wxEvtHandlerPtr
wxPython.misc.wxObjectPtr
pdk.Gui.Widgets.CoreWidgets.pdkWidget
pdk.Gui.WidgetStateManagers.StatefulWidget
pdk.Base.OptionHandler
pdk.Gui.Widgets.CoreWidgets._ValidatedWidget
MonitoringTextCtrl
PropertyMonitorTextCtrlMixin
PropertyMonitorMixin
 
class MonitoringRadioBox(wxPython.controls.wxRadioBox, PropertyMonitorRadioBoxMixin)
     
Purpose:single selection property monitoring with a radio box

 
  
Method resolution order:
MonitoringRadioBox
wxPython.controls.wxRadioBox
wxPython.controls.wxRadioBoxPtr
wxPython.controls.wxControlPtr
wxPython.windows.wxWindowPtr
wxPython.windows.wxEvtHandlerPtr
wxPython.misc.wxObjectPtr
PropertyMonitorRadioBoxMixin
PropertyMonitorMixin
 
class MonitoringSpinCtrl(wxPython.controls.wxSpinCtrl, PropertyMonitorSpinCtrlMixin)
     
Purpose:property monitoring with a spin control

 
  
Method resolution order:
MonitoringSpinCtrl
wxPython.controls.wxSpinCtrl
wxPython.controls.wxSpinCtrlPtr
wxPython.controls.wxSpinButtonPtr
wxPython.controls.wxControlPtr
wxPython.windows.wxWindowPtr
wxPython.windows.wxEvtHandlerPtr
wxPython.misc.wxObjectPtr
PropertyMonitorSpinCtrlMixin
PropertyMonitorMixin
 
class MonitoringStaticText(wxPython.controls.wxStaticText, PropertyMonitorMixin)
     
Purpose:string property monitoring with static text labels
Detail:this only passively reflects changes in the monitored object property.

 
  
Method resolution order:
MonitoringStaticText
wxPython.controls.wxStaticText
wxPython.controls.wxStaticTextPtr
wxPython.controls.wxControlPtr
wxPython.windows.wxWindowPtr
wxPython.windows.wxEvtHandlerPtr
wxPython.misc.wxObjectPtr
PropertyMonitorMixin

Methods defined here:
GetValue(self)
SetValue(self, newLabel)
 
class MonitoringTextCtrl(pdk.Gui.Widgets.CoreWidgets.pdkTextCtrl, PropertyMonitorTextCtrlMixin)
     
Purpose:text property monitoring with a text control

 
  
Method resolution order:
MonitoringTextCtrl
pdk.Gui.Widgets.CoreWidgets.pdkTextCtrl
wxPython.controls.wxTextCtrl
wxPython.controls.wxTextCtrlPtr
wxPython.controls.wxControlPtr
wxPython.windows.wxWindowPtr
wxPython.windows.wxEvtHandlerPtr
wxPython.misc.wxObjectPtr
pdk.Gui.Widgets.CoreWidgets.pdkWidget
pdk.Gui.WidgetStateManagers.StatefulWidget
pdk.Base.OptionHandler
PropertyMonitorTextCtrlMixin
PropertyMonitorMixin
 
class MonitoringToggleButton(wxPython.lib.buttons.wxGenToggleButton, PropertyMonitorToggleButtonMixin)
     
Purpose:boolean property monitoring with a toggle button

 
  
Method resolution order:
MonitoringToggleButton
wxPython.lib.buttons.wxGenToggleButton
wxPython.lib.buttons.__ToggleMixin
wxPython.lib.buttons.wxGenButton
wxPython.windows2.wxPyControl
wxPython.windows2.wxPyControlPtr
wxPython.controls.wxControlPtr
wxPython.windows.wxWindowPtr
wxPython.windows.wxEvtHandlerPtr
wxPython.misc.wxObjectPtr
PropertyMonitorToggleButtonMixin
PropertyMonitorMixin
 
class PropertyMonitorAggSpinCtrlMixin(PropertyMonitorMixin)
     
Purpose:mixin class for property monitoring with aggregated spin controls

 
   Methods defined here:
SetValue(self, newValue)
monitorProperty(self, object, propertyName)
setState(self, stateType, data)
 
class PropertyMonitorRadioBoxMixin(PropertyMonitorMixin)
     
Purpose:mixin class for enumeration or boolean property monitoring with radio boxes

 
   Methods defined here:
GetValue(self)
SetValue(self, newValue)
monitorProperty(self, object, propertyName)
 
class PropertyMonitorSpinCtrlMixin(PropertyMonitorMixin)
     
Purpose:mixin class for property monitoring with spin controls

 
   Methods defined here:
SetValue(self, newValue)
monitorProperty(self, object, propertyName)
 
class PropertyMonitorMixin
     
Purpose:mixin class allowing a GUI control to monitor a single property of an arbitrary object
Detail:this is geared towards, but not exclusively useful for, wx controls (hence the methods for setting/getting the monitored value are called .GetValue and .SetValue). Call .monitorProperty to have .SetValue automatically be called whenever the managed property of the object changes. Hook up .OnSetProperty to a control-specific event and the object property will automatically be set when the control value is changed.

 
   Methods defined here:
GetValue(self)
OnSetProperty(self, ev)
update the property whenever the value of the control is changed.
SetValue(self, newValue)
getMonitoredObject(self)
returns a reference to the monitored object.
getPropertyValue(self)
returns the current value of the object property.
isMonitoringProperty(self)
returns true if .monitorProperty was called before.
monitorProperty(self, object, propertyName)
call this to initiate monitoring the property propertyName of the object object.
onSignalPropertyChanged(self, newValue)
update the control whenever the object property is changed.
setPropertyValue(self, newValue)
sets the object property to a new value given in %newValue%.
 
class PropertyMonitorTextCtrlMixin(PropertyMonitorMixin)
     
Purpose:mixin class for string property monitoring with text controls

 
   Methods defined here:
SetValue(self, newValue)
monitorProperty(self, object, propertyName)
 
class PropertyMonitorToggleButtonMixin(PropertyMonitorMixin)
     
:Purpose : mixin class for boolean property monitoring with toggle buttons

 
   Methods defined here:
GetValue(self)
SetValue(self, flag)
monitorProperty(self, object, propertyName)
 
Author
            
$Author: gathmann $