wxoo.spinner
index
p:\wxproperties\wxoo\spinner.py

Simple scrolling control for use in creating other controls

 
Modules
       
wxoo.arrowbuttons
clip_dndc
cmndlgsc
wxoo.compositecontrol
controls2c
controlsc
eventsc
filesysc
fontsc
framesc
gdic
imagec
mdic
misc2c
miscc
printfwc
sizersc
stattoolc
streamsc
sys
types
utilsc
windows2c
windows3c
windowsc
wxPython.wx
wxPython.wxc

 
Classes
       
CompositeControl(ContainerWindow, BaseControl)
Spinner

 
class Spinner(CompositeControl)
    Simple scrolling control for use in creating other controls
 
The Spinner class provides either two or four arrow buttons
which generate wxScrollEvent events when they are activated.
 
There are three configurations for the Spinner determined by the
style specified during initialization:
        wxSP_HORIZONTAL -- left and right arrows, generate wxEVT_SCROLL_LINEUP
                and wxEVT_SCROLL_LINEDOWN events with orientation set
                to wxHORIZONTAL
        wxSP_VERTICAL -- up and down arrows, generate wxEVT_SCROLL_LINEUP
                and wxEVT_SCROLL_LINEDOWN events with orientation set
                to wxVERTICAL
        both wxSP_VERTICAL and wxSP_HORIZONTAL -- all four arrows in a
                compass arrangement, generating the same events as when the
                orientations are specified separately
 
You can use any of the following event mapping functions:
        EVT_COMMAND_SCROLL_LINEUP
        EVT_COMMAND_SCROLL_LINEDOWN
and use the wxScrollEvent's GetOrientation method to return the direction
of the scroll. i.e. to determine if the scroll was vertical, check:
        event.GetOrientation() == wxVERTICAL
 
If you prefer to use a single event handler, use:
        EVT_COMMAND_SCROLL
You can then determine the direction within the orientation (up/left versus
down/right) using:
        event.GetEventType() == wxEVT_SCROLL_LINEUP
 
ToDo:
        Need to add click-and-hold functionality for scrolling
        will likely require either a timer or defining a scroll range
        in which to create events.  Probably go for the timer
        to keep the control more general.
 
 
Method resolution order:
Spinner
CompositeControl
ContainerWindow
BaseControl
wxControl
wxControlPtr
wxWindowPtr
wxEvtHandlerPtr
wxObjectPtr

Methods defined here:
CreateControls(self, style)
Customization point for creating internal controls
CreateDown(self, parent)
Create the button, store local reference, map events
CreateLeft(self, parent)
Create the button, store local reference, map events
CreateRight(self, parent)
Create the button, store local reference, map events
CreateUp(self, parent)
Create the button, store local reference, map events
OnDown(self, event=None)
Respond to click of the button, send a properly configured scroll event
OnLeft(self, event=None)
Respond to click of the button, send a properly configured scroll event
OnRight(self, event=None)
Respond to click of the button, send a properly configured scroll event
OnUp(self, event=None)
Respond to click of the button, send a properly configured scroll event
__init__(self, parent, id=-1, pos=wxPoint(-1, -1), size=wxSize(-1, -1), style=524292, name='spinner')

Methods inherited from ContainerWindow:
GetControlContainer(self)
Get the current control-container object
GetDefaultItem(self)
return container.GetDefaultItem()
OnChildFocus(self, focusEvent)
container.SetLastFocus
OnFocus(self, focusEvent)
container.HandleOnFocus
OnNavigationKey(self, navigationKeyEvent)
container.HandleOnNavigationKey
RemoveChild(self, childWindow)
container.HandleOnWindowDestroy(child), then base
SetControlContainer(self, value)
Set the current control-container object
SetDefaultItem(self, childWindow)
container.SetDefaultItem(childWindow)
SetFocus(self)
container.DoSetFocus(), calls base SetFocus if that returns false
SetTmpDefaultItem(self, childWindow)
container.SetTmpDefaultItem(childWindow)

Data and other attributes inherited from ContainerWindow:
controlContainerClass = <class wxoo.wxcontrolcontainer.ControlContainer at 0x012BD720>
ControlContainer with ability to explicitly specify tab-order
 
This is a wxoo-specific tabbing-order control
container object.  It provides a simple mechanism
for explicitly setting the focus set through
which keyboard navigation will traverse.
 
XXX Should have API for manipulating the list:
 
        AppendFocusItem
        RemoveFocusItem
        InsertFocusItem
 
or
 
        Have GetFocusChildren set the focus children
        on default get to allow for direct manipulation
        of the list.  However, this is ideologically
        fuzzy, because it is not immediately clear
        whether the focus children should then be the
        whole children set, or merely an empty list
        to begin with.

Methods inherited from BaseControl:
CollectValue(self, default=[])
Customization point: Collect current value from sub-controls
 
Default implementation just returns RetrieveValue()
GetChoices(self)
Customization point: Get the current choice-set
GetValue(self)
Customization point: Get current value from control
 
The implementation here merely retrieves the value by
returning RetrieveValue().
RetrieveChoices(self)
Customization point: Retrieve reference to choice-set
 
The point of this customization point is to allow,
for instance, storing only weak references within
the GUI to allow for re-acquiring references whenever
necessary.
RetrieveValue(self)
Customization point: Retrieve reference to edited value
 
The point of this customization point is to allow,
for instance, storing only weak references within
the GUI to allow for re-acquiring references whenever
necessary.
SaveChoices(self, value)
Customization point: Store reference to choice-set
 
The point of this customization point is to allow,
for instance, storing only weak references within
the GUI to allow for re-acquiring references whenever
necessary.
SaveValue(self, value)
Customization point: Store reference to the value
 
The point of this customization point is to allow,
for instance, storing only weak references within
the GUI to allow for re-acquiring references whenever
necessary.
SendValueChanged(self, value, previous=[])
Send a value-changed message if appropriate for value and previous
 
Sends the message if previous is not __NULL_VALUE__ and
previous is not equal to value.  "Equality" is dependent
on the compareIdentity member.  If true, then uses
        value is previous
otherwise uses:
        value != previous
SetChoices(self, choices)
Customization point: Set the current choice-set
SetValue(self, value)
Customization point: Set current value for control
 
implementation here stores value by calling
        SaveValue(value)
 
Calls SendValueChanged( value, previous )
ShareChoices(self, value)
Customization point: Share new value with sub-controls
ShareValue(self, value)
Customization point: Share new value with sub-controls
__repr__(self)

Data and other attributes inherited from BaseControl:
choices = ()
compareIdentity = 0
currentValue = []

Methods inherited from wxControlPtr:
Command(self, *_args, **_kwargs)
Create(self, *_args, **_kwargs)
GetLabel(self, *_args, **_kwargs)
SetLabel(self, *_args, **_kwargs)

Methods inherited from wxWindowPtr:
AcceptsFocus(self, *_args, **_kwargs)
AddChild(self, *_args, **_kwargs)
CaptureMouse(self, *_args, **_kwargs)
Center(self, *_args, **_kwargs)
CenterOnParent(self, *_args, **_kwargs)
CenterOnScreen(self, *_args, **_kwargs)
Centre(self, *_args, **_kwargs)
CentreOnParent(self, *_args, **_kwargs)
CentreOnScreen(self, *_args, **_kwargs)
Clear(self, *_args, **_kwargs)
ClientToScreen(self, *_args, **_kwargs)
ClientToScreenXY(self, *_args, **_kwargs)
Close(self, *_args, **_kwargs)
ConvertDialogPointToPixels(self, *_args, **_kwargs)
ConvertDialogSizeToPixels(self, *_args, **_kwargs)
ConvertPixelPointToDialog(self, *_args, **_kwargs)
ConvertPixelSizeToDialog(self, *_args, **_kwargs)
DLG_PNT(self, *_args, **_kwargs)
DLG_SZE(self, *_args, **_kwargs)
Destroy(self, *_args, **_kwargs)
DestroyChildren(self, *_args, **_kwargs)
Disable(self, *_args, **_kwargs)
DragAcceptFiles(self, *_args, **_kwargs)
Enable(self, *_args, **_kwargs)
FindWindowById(self, *_args, **_kwargs)
FindWindowByName(self, *_args, **_kwargs)
Fit(self, *_args, **_kwargs)
FitInside(self, *_args, **_kwargs)
Freeze(self, *_args, **_kwargs)
GetAcceleratorTable(self, *_args, **_kwargs)
GetAdjustedBestSize(self, *_args, **_kwargs)
GetAutoLayout(self, *_args, **_kwargs)
GetBackgroundColour(self, *_args, **_kwargs)
GetBestSize(self, *_args, **_kwargs)
GetBestVirtualSize(self, *_args, **_kwargs)
GetBorder(self, *_args, **_kwargs)
GetCaret(self, *_args, **_kwargs)
# replaces broken shadow method
GetCharHeight(self, *_args, **_kwargs)
GetCharWidth(self, *_args, **_kwargs)
GetChildren(self, *_args, **_kwargs)
GetClientAreaOrigin(self, *_args, **_kwargs)
GetClientRect(self, *_args, **_kwargs)
GetClientSize(self, *_args, **_kwargs)
GetClientSizeTuple(self, *_args, **_kwargs)
GetConstraints(self, *_args, **_kwargs)
GetContainingSizer(self, *_args, **_kwargs)
GetCursor(self, *_args, **_kwargs)
GetDropTarget(self, *_args, **_kwargs)
GetEventHandler(self, *_args, **_kwargs)
GetFont(self, *_args, **_kwargs)
GetForegroundColour(self, *_args, **_kwargs)
GetFullTextExtent(self, *_args, **_kwargs)
GetGrandParent(self, *_args, **_kwargs)
GetHandle(self, *_args, **_kwargs)
GetHelpText(self, *_args, **_kwargs)
GetId(self, *_args, **_kwargs)
GetMaxSize(self, *_args, **_kwargs)
GetName(self, *_args, **_kwargs)
GetParent(self, *_args, **_kwargs)
GetPosition(self, *_args, **_kwargs)
GetPositionTuple(self, *_args, **_kwargs)
GetRect(self, *_args, **_kwargs)
GetScrollPos(self, *_args, **_kwargs)
GetScrollRange(self, *_args, **_kwargs)
GetScrollThumb(self, *_args, **_kwargs)
GetSize(self, *_args, **_kwargs)
GetSizeTuple(self, *_args, **_kwargs)
GetSizer(self, *_args, **_kwargs)
GetTextExtent(self, *_args, **_kwargs)
GetThemeEnabled(self, *_args, **_kwargs)
GetTitle(self, *_args, **_kwargs)
GetToolTip(self, *_args, **_kwargs)
GetUpdateRegion(self, *_args, **_kwargs)
GetValidator(self, *_args, **_kwargs)
GetVirtualSize(self, *_args, **_kwargs)
GetVirtualSizeTuple(self, *_args, **_kwargs)
GetWindowStyleFlag(self, *_args, **_kwargs)
HasCapture(self, *_args, **_kwargs)
HasScrollbar(self, *_args, **_kwargs)
Hide(self, *_args, **_kwargs)
HitTest(self, *_args, **_kwargs)
InitDialog(self, *_args, **_kwargs)
IsBeingDeleted(self, *_args, **_kwargs)
IsEnabled(self, *_args, **_kwargs)
IsExposed(self, *_args, **_kwargs)
IsExposedPoint(self, *_args, **_kwargs)
IsExposedRect(self, *_args, **_kwargs)
IsRetained(self, *_args, **_kwargs)
IsShown(self, *_args, **_kwargs)
IsTopLevel(self, *_args, **_kwargs)
Layout(self, *_args, **_kwargs)
LineDown(self, *_args, **_kwargs)
LineUp(self, *_args, **_kwargs)
Lower(self, *_args, **_kwargs)
MakeModal(self, *_args, **_kwargs)
Move(self, *_args, **_kwargs)
MoveXY(self, *_args, **_kwargs)
OnPaint(self, *_args, **_kwargs)
PageDown(self, *_args, **_kwargs)
PageUp(self, *_args, **_kwargs)
PopEventHandler(self, *_args, **_kwargs)
PopupMenu(self, *_args, **_kwargs)
PopupMenuXY(self, *_args, **_kwargs)
PushEventHandler(self, *_args, **_kwargs)
Raise(self, *_args, **_kwargs)
Refresh(self, *_args, **_kwargs)
RefreshRect(self, *_args, **_kwargs)
ReleaseMouse(self, *_args, **_kwargs)
RemoveEventHandler(self, *_args, **_kwargs)
Reparent(self, *_args, **_kwargs)
ScreenToClient(self, *_args, **_kwargs)
ScreenToClientXY(self, *_args, **_kwargs)
ScrollLines(self, *_args, **_kwargs)
ScrollPages(self, *_args, **_kwargs)
ScrollWindow(self, *_args, **_kwargs)
SetAcceleratorTable(self, *_args, **_kwargs)
SetAutoLayout(self, *_args, **_kwargs)
SetBackgroundColour(self, *_args, **_kwargs)
SetCaret(self, *_args, **_kwargs)
SetClientSize(self, *_args, **_kwargs)
SetClientSizeWH(self, *_args, **_kwargs)
SetConstraints(self, *_args, **_kwargs)
SetContainingSizer(self, *_args, **_kwargs)
SetCursor(self, *_args, **_kwargs)
SetDimensions(self, *_args, **_kwargs)
SetDropTarget(self, *_args, **_kwargs)
SetEventHandler(self, *_args, **_kwargs)
SetExtraStyle(self, *_args, **_kwargs)
SetFocusFromKbd(self, *_args, **_kwargs)
SetFont(self, *_args, **_kwargs)
SetForegroundColour(self, *_args, **_kwargs)
SetHelpText(self, *_args, **_kwargs)
SetHelpTextForId(self, *_args, **_kwargs)
SetId(self, *_args, **_kwargs)
SetName(self, *_args, **_kwargs)
SetPosition(self, *_args, **_kwargs)
SetRect(self, *_args, **_kwargs)
SetScrollPos(self, *_args, **_kwargs)
SetScrollbar(self, *_args, **_kwargs)
SetSize(self, *_args, **_kwargs)
SetSizeHints(self, *_args, **_kwargs)
SetSizer(self, *_args, **_kwargs)
SetSizerAndFit(self, *_args, **_kwargs)
SetThemeEnabled(self, *_args, **_kwargs)
SetTitle(self, *_args, **_kwargs)
SetToolTip(self, *_args, **_kwargs)
SetToolTipString(self, *_args, **_kwargs)
SetValidator(self, *_args, **_kwargs)
SetVirtualSize(self, *_args, **_kwargs)
SetVirtualSizeHints(self, *_args, **_kwargs)
SetVirtualSizeWH(self, *_args, **_kwargs)
SetWindowStyle(self, *_args, **_kwargs)
SetWindowStyleFlag(self, *_args, **_kwargs)
Show(self, *_args, **_kwargs)
Thaw(self, *_args, **_kwargs)
TransferDataFromWindow(self, *_args, **_kwargs)
TransferDataToWindow(self, *_args, **_kwargs)
UnsetConstraints(self, *_args, **_kwargs)
Update(self, *_args, **_kwargs)
UpdateWindowUI(self, *_args, **_kwargs)
Validate(self, *_args, **_kwargs)
WarpPointer(self, *_args, **_kwargs)

Methods inherited from wxEvtHandlerPtr:
AddPendingEvent(self, *_args, **_kwargs)
Connect(self, *_args, **_kwargs)
Disconnect(self, *_args, **_kwargs)
GetEvtHandlerEnabled(self, *_args, **_kwargs)
GetNextHandler(self, *_args, **_kwargs)
GetPreviousHandler(self, *_args, **_kwargs)
ProcessEvent(self, *_args, **_kwargs)
SetEvtHandlerEnabled(self, *_args, **_kwargs)
SetNextHandler(self, *_args, **_kwargs)
SetPreviousHandler(self, *_args, **_kwargs)

Methods inherited from wxObjectPtr:
GetClassName(self, *_args, **_kwargs)