[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
r6648 - trunk/gnue-forms/src/uidrivers/wx/widgets
From: |
kilo |
Subject: |
r6648 - trunk/gnue-forms/src/uidrivers/wx/widgets |
Date: |
Mon, 8 Nov 2004 05:56:52 -0600 (CST) |
Author: kilo
Date: 2004-11-08 05:56:51 -0600 (Mon, 08 Nov 2004)
New Revision: 6648
Modified:
trunk/gnue-forms/src/uidrivers/wx/widgets/box.py
trunk/gnue-forms/src/uidrivers/wx/widgets/button.py
trunk/gnue-forms/src/uidrivers/wx/widgets/entry.py
trunk/gnue-forms/src/uidrivers/wx/widgets/image.py
trunk/gnue-forms/src/uidrivers/wx/widgets/label.py
trunk/gnue-forms/src/uidrivers/wx/widgets/page.py
trunk/gnue-forms/src/uidrivers/wx/widgets/scrollbar.py
Log:
Added comments
Modified: trunk/gnue-forms/src/uidrivers/wx/widgets/box.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/wx/widgets/box.py 2004-11-08 10:52:03 UTC
(rev 6647)
+++ trunk/gnue-forms/src/uidrivers/wx/widgets/box.py 2004-11-08 11:56:51 UTC
(rev 6648)
@@ -18,42 +18,47 @@
#
# Copyright 2000-2004 Free Software Foundation
#
-# FILE:
-# UIwxpython.py
-#
# DESCRIPTION:
# A wxPython based user interface driver for GNUe forms.
#
# NOTES:
#
+# $Id$
+
from wxPython.wx import *
from gnue.forms.uidrivers.wx.widgets._base import UIHelper
from gnue.forms.uidrivers.wx.common import wxEncode
-#
-# UIBox
-#
-# Widget set specific function that creates a single instance of a border box
-#
+# =============================================================================
+# Wrap an UI layer around a wxStaticBox widget
+# =============================================================================
class UIBox(UIHelper):
-
+ """
+ Creates a single instance of a border box
+ """
+
+ # --------------------------------------------------------------------------
+ # Create a staticbox widget
+ # --------------------------------------------------------------------------
def _createWidget(self, event, spacer):
-
+ """
+ Creates a new Static Box widget.
+ """
object = event.object
- newWidget = wxStaticBox(event.container,-1, wxEncode(object.label),
-
wxPoint(object.Char__x*event.widgetWidth+(event.widgetWidth/2),
-
(object.Char__y+spacer+(spacer*object._gap))*event.widgetHeight+(event.widgetHeight/2)),
- wxSize((object.Char__width-1)*event.widgetWidth,
- (object.Char__height-1)*event.widgetHeight))
+ newWidget = wxStaticBox(event.container, -1, wxEncode(object.label),
+ wxPoint(object.Char__x * event.widgetWidth +
(event.widgetWidth / 2),
+ (object.Char__y + spacer + (spacer *
object._gap)) * event.widgetHeight + (event.widgetHeight / 2)),
+ wxSize((object.Char__width - 1) * event.widgetWidth,
+ (object.Char__height - 1) * event.widgetHeight))
return newWidget
-#
-# Configuration data
-#
+
+# ----------------------------------------------------------------------------
+# Configuration data
+# ----------------------------------------------------------------------------
configuration = {
'baseClass' : UIBox,
'provides' : 'GFBox',
'container' : 0,
}
-
Property changes on: trunk/gnue-forms/src/uidrivers/wx/widgets/box.py
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/gnue-forms/src/uidrivers/wx/widgets/button.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/wx/widgets/button.py 2004-11-08 10:52:03 UTC
(rev 6647)
+++ trunk/gnue-forms/src/uidrivers/wx/widgets/button.py 2004-11-08 11:56:51 UTC
(rev 6648)
@@ -18,14 +18,13 @@
#
# Copyright 2000-2004 Free Software Foundation
#
-# FILE:
-# UIwxpython.py
-#
# DESCRIPTION:
# A wxPython based user interface driver for GNUe forms.
#
# NOTES:
#
+# $Id$
+
from wxPython.wx import *
from gnue.common import events
@@ -33,34 +32,53 @@
from gnue.forms.uidrivers.wx.common import _eventObjTowxWindow, wxEncode
from gnue.forms.uidrivers.wx.widgets._base import UIHelper
-#
-# UIButton
-#
-# Widget set specific function that creates a single instance of a button
-#
+# =============================================================================
+# Wrap an UI layer around a wxButton widget
+# =============================================================================
class UIButton(UIHelper):
+ """
+ Creates a single instance of a button.
+ """
+
+ # --------------------------------------------------------------------------
+ # Create a button widget
+ # --------------------------------------------------------------------------
def _createWidget(self, event, spacer):
+ """
+ Creates a new Button widget.
+ """
object = event.object
- newWidget = wxButton(event.container,-1,wxEncode(object.label),
-
wxPoint(object.Char__x*event.widgetWidth,(object.Char__y+spacer)*event.widgetHeight),
-
wxSize(object.Char__width*event.widgetWidth,object.Char__height*event.widgetHeight)
+ newWidget = wxButton(event.container, -1, wxEncode(object.label),
+ wxPoint(object.Char__x * event.widgetWidth,
(object.Char__y + spacer) * event.widgetHeight),
+ wxSize(object.Char__width * event.widgetWidth,
object.Char__height * event.widgetHeight)
)
if event.initialize:
self._eventHandler = event.eventHandler
- EVT_BUTTON(newWidget,newWidget.GetId(),self.buttonHandler)
+ EVT_BUTTON(newWidget, newWidget.GetId(), self.buttonHandler)
_setDefaultEventHandlers(newWidget, event.eventHandler,
event.initialize, self._uiDriver)
return newWidget
- def buttonHandler(self,event):
+
+ # --------------------------------------------------------------------------
+ # Handle button clicks
+ # --------------------------------------------------------------------------
+ def buttonHandler(self, event):
+ """
+ Handle button clicks.
+ """
if event.GetEventType() == wxEVT_COMMAND_BUTTON_CLICKED:
action = None
object = _eventObjTowxWindow(event)
id = object.GetId()
- gfObject = self._uiDriver._IdToGFObj[id]
- action = events.Event('buttonActivated',gfObject)
+ gfObject = self._uiDriver._IdToGFObj[id]
+ action = events.Event('buttonActivated', gfObject)
self._eventHandler(action)
+
+# ----------------------------------------------------------------------------
+# Configuration data
+# ----------------------------------------------------------------------------
configuration = {
'baseClass' : UIButton,
'provides' : 'GFButton',
Property changes on: trunk/gnue-forms/src/uidrivers/wx/widgets/button.py
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/gnue-forms/src/uidrivers/wx/widgets/entry.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/wx/widgets/entry.py 2004-11-08 10:52:03 UTC
(rev 6647)
+++ trunk/gnue-forms/src/uidrivers/wx/widgets/entry.py 2004-11-08 11:56:51 UTC
(rev 6648)
@@ -18,14 +18,13 @@
#
# Copyright 2000-2004 Free Software Foundation
#
-# FILE:
-# UIwxpython.py
-#
# DESCRIPTION:
# A wxPython based user interface driver for GNUe forms.
#
# NOTES:
#
+# $Id$
+
from wxPython.wx import *
from gnue.common import events
from types import UnicodeType
@@ -35,26 +34,28 @@
from gnue.forms.uidrivers.wx.common import _eventObjTowxWindow, wxEncode,
wxDecode
from gnue.forms.uidrivers.wx.common import _setDefaultEventHandlers
-#
-# UIEntry
-#
-# Widget set specific function that creates a single instance of a data entry
widget
-#
+# =============================================================================
+# Wrap an UI layer around a data entry wx widget
+# =============================================================================
class UIEntry(UIHelper):
"""
- A wxPython-based UI driver for GNUe Forms
+ Handles a single instance of a data entry widget.
+ (dropdown / listbox / label / checkbox / textbox)
"""
+ # --------------------------------------------------------------------------
+ # Create a data entry widget
+ # --------------------------------------------------------------------------
def _createWidget(self, event, spacer):
"""
- Creates a single instance of a data entry widget
+ Creates a new data entry widget.
"""
object = event.object
style = object.style
- defaultPoint = wxPoint(object.Char__x*event.widgetWidth,
-
(object.Char__y+spacer+(object._gap*spacer))*event.widgetHeight)
- defaultSize = wxSize(self.itemWidth,self.itemHeight+1)
+ defaultPoint = wxPoint(object.Char__x * event.widgetWidth,
+ (object.Char__y + spacer + (object._gap * spacer))
* event.widgetHeight)
+ defaultSize = wxSize(self.itemWidth, self.itemHeight + 1)
if style == 'dropdown':
if gConfigForms('dropdownMode') == 'auto':
@@ -80,8 +81,8 @@
choices.sort()
- newWidget = wxComboBox(event.container, -1, "",defaultPoint,
- wxSize(self.itemWidth,self.itemHeight),
+ newWidget = wxComboBox(event.container, -1, "", defaultPoint,
+ wxSize(self.itemWidth, self.itemHeight),
choices, wxCB_DROPDOWN,) #|wxWANTS_CHARS,)
if event.initialize:
newWidget._origAllowedValues = object._field._allowedValues
@@ -105,7 +106,7 @@
# choices.sort()
newWidget = wxListBox(event.container, -1, defaultPoint,
- wxSize(self.itemWidth,self.itemHeight),
+ wxSize(self.itemWidth, self.itemHeight),
choices, wxLB_SINGLE)
newWidget.SetValue = lambda v: newWidget.SetStringSelection(v, True)
@@ -118,16 +119,16 @@
EVT_LISTBOX_DCLICK(event.container, newWidget_Id, self.listboxHandler)
elif style == 'label':
- newWidget = wxStaticText(event.container, -1,
"",defaultPoint,defaultSize,
+ newWidget = wxStaticText(event.container, -1, "", defaultPoint,
defaultSize,
wxST_NO_AUTORESIZE)
# To make the label consistent with the other entry styles...
newWidget.SetValue = newWidget.SetLabel
newWidget.GetValue = newWidget.GetLabel
elif style == 'checkbox':
- newWidget = wxCheckBox(event.container, -1,
wxEncode(object.label),defaultPoint,
- wxSize(self.itemWidth,event.textHeight),
- wxNO_BORDER|wxWANTS_CHARS)
+ newWidget = wxCheckBox(event.container, -1, wxEncode(object.label),
defaultPoint,
+ wxSize(self.itemWidth, event.textHeight),
+ wxNO_BORDER | wxWANTS_CHARS)
if event.initialize:
newWidget.SetValue(0)
EVT_CHECKBOX(newWidget, newWidget.GetId(), self.checkboxHandler)
@@ -136,7 +137,7 @@
if event.initialize:
styles = wxTE_PROCESS_TAB
if hasattr(object,'Char__height') and object.Char__height > 1:
- styles = styles|wxTE_MULTILINE
+ styles = styles | wxTE_MULTILINE
value = "" ## object.getValue()
else:
styles = 0
@@ -148,6 +149,9 @@
_setDefaultEventHandlers(newWidget, event.eventHandler,
event.initialize, self._uiDriver)
return newWidget
+ # --------------------------------------------------------------------------
+ # Handles a dropdown's events in Windows mode
+ # --------------------------------------------------------------------------
def _windowsComboHandler(self, event):
"""
Handles combobox
@@ -184,6 +188,9 @@
#event.Skip() #Is it needed here?
+ # --------------------------------------------------------------------------
+ # Handles a dropdown's events in GTK1 mode
+ # --------------------------------------------------------------------------
def _gtk1ComboHandler(self, event):
"""
Handles combobox for gtk1 style wx. Unlike the windows handler opening a
combobox
@@ -208,6 +215,9 @@
#event.Skip() #Is it needed here?
+ # --------------------------------------------------------------------------
+ # Handles a listbox's events
+ # --------------------------------------------------------------------------
def listboxHandler(self, event):
"""
Handles listbox events
@@ -228,6 +238,9 @@
self._eventHandler(action)
+ # --------------------------------------------------------------------------
+ # Handles a checkbox's events in Windows mode
+ # --------------------------------------------------------------------------
def checkboxHandler(self,event):
"""
Handles checkbox toggling if checkbox is clicked.
@@ -237,12 +250,15 @@
object = _eventObjTowxWindow(event)
id = object.GetId()
- gfObject = self._uiDriver._IdToGFObj[id]
+ gfObject = self._uiDriver._IdToGFObj[id]
eventdata = [gfObject, event.GetString()]
action = events.Event('requestTOGGLECHKBOX', _form=gfObject._form)
self._eventHandler(action)
+# ----------------------------------------------------------------------------
+# Configuration data
+# ----------------------------------------------------------------------------
configuration = {
'baseClass' : UIEntry,
'provides' : 'GFEntry',
Property changes on: trunk/gnue-forms/src/uidrivers/wx/widgets/entry.py
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/gnue-forms/src/uidrivers/wx/widgets/image.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/wx/widgets/image.py 2004-11-08 10:52:03 UTC
(rev 6647)
+++ trunk/gnue-forms/src/uidrivers/wx/widgets/image.py 2004-11-08 11:56:51 UTC
(rev 6648)
@@ -18,56 +18,83 @@
#
# Copyright 2000-2004 Free Software Foundation
#
-# FILE:
-# UIwxpython.py
-#
# DESCRIPTION:
# A wxPython based user interface driver for GNUe forms.
#
# NOTES:
#
+# $Id$
+
from wxPython.wx import *
from gnue.forms.uidrivers.wx.widgets._base import UIHelper
import Image
-#
-# UIImage
-#
-# Widget set specific function that creates a single instance of an image
-#
+# =============================================================================
+# Wrap an UI layer around a wx image
+# =============================================================================
class UIImage(UIHelper):
+ """
+ Creates a single instance of an image.
+ """
+ # --------------------------------------------------------------------------
+ # Create an image widget
+ # --------------------------------------------------------------------------
def _createWidget(self, event, spacer):
+ """
+ Creates a new StaticBitmap widget.
+ """
object = event.object
- png=wxEmptyBitmap(1,1)
+ png = wxEmptyBitmap(1, 1)
self.pane = wxScrolledWindow(event.container, -1,
- wxPoint(object.Char__x*event.widgetWidth,
-
(object.Char__y+spacer+(spacer*object._gap))*event.widgetHeight),
- wxSize(self.itemWidth,self.itemHeight))
- EVT_SIZE(self.pane,self.OnFrameSize)
+ wxPoint(object.Char__x * event.widgetWidth,
+ (object.Char__y + spacer + (spacer *
object._gap)) * event.widgetHeight),
+ wxSize(self.itemWidth, self.itemHeight))
+ EVT_SIZE(self.pane, self.OnFrameSize)
EVT_PAINT(self.pane, self.onPaint)
imageWidth = png.GetWidth()
imageHeight = png.GetHeight()
self.imageWindow = wxStaticBitmap(self.pane, -1, png,
- wxPoint(0,0),
- wxSize(imageWidth,imageHeight))
+ wxPoint(0, 0),
+ wxSize(imageWidth, imageHeight))
self.fixScrollbars()
return self.imageWindow
+
+ # --------------------------------------------------------------------------
+ # Handle image frame size change
+ # --------------------------------------------------------------------------
def OnFrameSize(self, event):
+ """
+ Handles image frame size changes.
+ """
pass
#self.pane.SetSize(self.pane.GetClientSize())
#self.fixScrollbars()
+
+ # --------------------------------------------------------------------------
+ # Handle image paint request
+ # --------------------------------------------------------------------------
def onPaint(self,event):
+ """
+ Handles image paint requests.
+ """
self.imageWindow.Refresh()
+
+ # --------------------------------------------------------------------------
+ # Make scrollbars good size and position
+ # --------------------------------------------------------------------------
def fixScrollbars(self):
+ """
+ Ensures that scrollbars are in good position and good size.
+ """
x1, y1 = self.pane.GetClientSizeTuple()
x2, y2 = self.imageWindow.GetSizeTuple()
if x1 < x2 or y1 < y2:
@@ -75,7 +102,14 @@
else:
self.pane.SetScrollbars(0, 0, 0, 0)
+
+ # --------------------------------------------------------------------------
+ # Set the widget's PIL
+ # --------------------------------------------------------------------------
def setValue(self, value, index=0, enabled=1):
+ """
+ Loads an image.
+ """
widget = self.widgets[index]
widget.SetEvtHandlerEnabled(FALSE)
@@ -83,35 +117,33 @@
imgx, imgy = value.size
gfObject = self._uiDriver._IdToGFObj[widget.GetId()]
-
scalex = scaley = 1
fit = gfObject.fit
if fit == "auto":
- if float(scrx)/imgx < float(scry)/imgy:
+ if float(scrx) / imgx < float(scry) / imgy:
fit = "width"
else:
- fit="height"
+ fit = "height"
if fit == "width":
- scalex = scaley = float(scrx)/imgx
+ scalex = scaley = float(scrx) / imgx
elif fit == "height":
- scalex = scaley = float(scry)/imgy
+ scalex = scaley = float(scry) / imgy
elif fit == "both":
- scalex = float(scrx)/imgx
- scaley = float(scry)/imgy
+ scalex = float(scrx) / imgx
+ scaley = float(scry) / imgy
## print "(%s, %s) (%s, %s)" % (scrx, scry, imgx, imgy)
## print "(%s, %s)" % (abs(int(imgx*scalex)), abs(int(imgy*scaley)))
## print "%s%% %s%%" % (scalex, scaley)
if scalex != 1 or scaley != 1:
- value = value.resize((abs(int(imgx*(scalex))), abs(int(imgy*(scaley)))),
Image.BICUBIC)
+ value = value.resize((abs(int(imgx * (scalex))), abs(int(imgy *
(scaley)))), Image.BICUBIC)
-
# Convert the PIL Image to a wxBitmap
- wxImg = wxEmptyImage(value.size[0],value.size[1])
+ wxImg = wxEmptyImage(value.size[0], value.size[1])
wxImg.SetData(value.convert("RGB").tostring())
image = wxImg.ConvertToBitmap()
@@ -119,16 +151,19 @@
# and fix the scrollbars
imageWidth = image.GetWidth()
imageHeight = image.GetHeight()
- widget.SetSize(wxSize(imageWidth,imageHeight))
+ widget.SetSize(wxSize(imageWidth, imageHeight))
self.fixScrollbars()
# Load the new image
widget.SetBitmap(image)
-
widget.Enable(enabled)
widget.SetEvtHandlerEnabled(TRUE)
widget.Refresh()
+
+# ----------------------------------------------------------------------------
+# Configuration data
+# ----------------------------------------------------------------------------
configuration = {
'baseClass' : UIImage,
'provides' : 'GFImage',
Property changes on: trunk/gnue-forms/src/uidrivers/wx/widgets/image.py
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/gnue-forms/src/uidrivers/wx/widgets/label.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/wx/widgets/label.py 2004-11-08 10:52:03 UTC
(rev 6647)
+++ trunk/gnue-forms/src/uidrivers/wx/widgets/label.py 2004-11-08 11:56:51 UTC
(rev 6648)
@@ -18,44 +18,52 @@
#
# Copyright 2000-2004 Free Software Foundation
#
-# FILE:
-# UIwxpython.py
-#
# DESCRIPTION:
# A wxPython based user interface driver for GNUe forms.
#
# NOTES:
#
+# $Id$
+
from wxPython.wx import *
from gnue.forms.uidrivers.wx.widgets._base import UIHelper
from gnue.forms.uidrivers.wx.common import wxEncode
-_alignmentStyle = { 'left' : wxALIGN_LEFT|wxST_NO_AUTORESIZE,
- 'center': wxALIGN_CENTRE|wxST_NO_AUTORESIZE,
- 'right' : wxALIGN_RIGHT|wxST_NO_AUTORESIZE,
+_alignmentStyle = { 'left' : wxALIGN_LEFT | wxST_NO_AUTORESIZE,
+ 'center': wxALIGN_CENTRE | wxST_NO_AUTORESIZE,
+ 'right' : wxALIGN_RIGHT | wxST_NO_AUTORESIZE,
}
-
-
-#
-# UILabel
-#
-# Widget set specific function that creates a single instance of a label
-#
+# =============================================================================
+# Wrap an UI layer around a label widget
+# =============================================================================
class UILabel(UIHelper):
+ """
+ Creates a single instance of a label (static text)
+ """
+ # --------------------------------------------------------------------------
+ # Create a button widget
+ # --------------------------------------------------------------------------
def _createWidget(self, event, spacer):
+ """
+ Creates a new StaticText widget.
+ """
object = event.object
style = _alignmentStyle[object.alignment]
newWidget = wxStaticText(event.container, -1, wxEncode(object.text),
- wxPoint(object.Char__x*event.widgetWidth,
-
(object.Char__y+spacer+(spacer*object._gap))*event.widgetHeight),
- wxSize(self.itemWidth,self.itemHeight), style)
+ wxPoint(object.Char__x * event.widgetWidth,
+ (object.Char__y + spacer + (spacer *
object._gap)) * event.widgetHeight),
+ wxSize(self.itemWidth, self.itemHeight), style)
return newWidget
+
+# ----------------------------------------------------------------------------
+# Configuration data
+# ----------------------------------------------------------------------------
configuration = {
'baseClass' : UILabel,
'provides' : 'GFLabel',
Property changes on: trunk/gnue-forms/src/uidrivers/wx/widgets/label.py
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/gnue-forms/src/uidrivers/wx/widgets/page.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/wx/widgets/page.py 2004-11-08 10:52:03 UTC
(rev 6647)
+++ trunk/gnue-forms/src/uidrivers/wx/widgets/page.py 2004-11-08 11:56:51 UTC
(rev 6648)
@@ -18,38 +18,34 @@
#
# Copyright 2000-2004 Free Software Foundation
#
-# FILE:
-# UIwxpython.py
-#
# DESCRIPTION:
# A wxPython based user interface driver for GNUe forms.
#
# NOTES:
#
+# $Id$
+
from wxPython.wx import *
-
-## from gnue.forms.GFForm import *
-## from gnue.forms.uidrivers._base.UIdriver import *
-
-## from gnue.forms.uidrivers.wx.GFwxApp import *
-## from gnue.forms.uidrivers.wx.common import *
from gnue.forms.uidrivers.wx.common import _setDefaultEventHandlers
-
-## #from gnue.forms.uidrivers.wx.UIWXSplashScreen import *
from gnue.forms.uidrivers.wx.widgets._base import UIHelper
-#from gnue.common import *
-#
-# UIPage
-#
-# Widget set specific function that creates a single instance of a page
-#
+# =============================================================================
+# Wrap an UI layer around a page widget
# Note: The event trap for changing notebook pages is attached to the UIForm
-#
+# =============================================================================
class UIPage(UIHelper):
+ """
+ Creates a single instance of a page.
+ """
+
+ # --------------------------------------------------------------------------
+ # Create a page widget
+ # --------------------------------------------------------------------------
def _createWidget(self, event, spacer):
-
+ """
+ Creates a new Page widget.
+ """
object = event.object
newWidget = self._uiForm._wrapper.createPage(object)
@@ -57,6 +53,10 @@
self._containerToolkitWidget = newWidget
return newWidget
+
+# ----------------------------------------------------------------------------
+# Configuration data
+# ----------------------------------------------------------------------------
configuration = {
'baseClass' : UIPage,
'provides' : 'GFPage',
Property changes on: trunk/gnue-forms/src/uidrivers/wx/widgets/page.py
___________________________________________________________________
Name: svn:keywords
+ Id
Modified: trunk/gnue-forms/src/uidrivers/wx/widgets/scrollbar.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/wx/widgets/scrollbar.py 2004-11-08
10:52:03 UTC (rev 6647)
+++ trunk/gnue-forms/src/uidrivers/wx/widgets/scrollbar.py 2004-11-08
11:56:51 UTC (rev 6648)
@@ -18,36 +18,40 @@
#
# Copyright 2000-2004 Free Software Foundation
#
-# FILE:
-# UIwxpython.py
-#
# DESCRIPTION:
# A wxPython based user interface driver for GNUe forms.
#
# NOTES:
#
+# $Id$
+
from wxPython.wx import *
-from wxPython.wx import *
from gnue.common import events
-
from gnue.forms.uidrivers.wx.widgets._base import UIHelper
from gnue.forms.uidrivers.wx.common import _eventObjTowxWindow
from gnue.forms.uidrivers.wx.common import _setDefaultEventHandlers
-#
-# UIScrollBar
-#
-# Widget set specific function that creates a single instance of a scroll bar
used
-# to navigate multiple records
-#
+# =============================================================================
+# Wrap an UI layer around a scrollbar used to navigating multiple records
+# =============================================================================
class UIScrollBar(UIHelper):
+ """
+ Creates a single instance of a scrollbar.
+ """
+
+ # --------------------------------------------------------------------------
+ # Create a scrollbar widget
+ # --------------------------------------------------------------------------
def _createWidget(self, event, spacer):
+ """
+ Creates a new wxScrollBar widget.
+ """
object = event.object
- newWidget = self._widget = wxScrollBar(event.container,-1,
-
wxPoint(object.Char__x*event.widgetWidth,(object.Char__y+spacer)*event.widgetHeight),
-
wxSize(object.Char__width*event.widgetWidth,object.Char__height*event.widgetHeight),
+ newWidget = self._widget = wxScrollBar(event.container, -1,
+ wxPoint(object.Char__x * event.widgetWidth,
(object.Char__y + spacer) * event.widgetHeight),
+ wxSize(object.Char__width * event.widgetWidth,
object.Char__height * event.widgetHeight),
wxSB_VERTICAL)
if event.initialize:
@@ -60,23 +64,40 @@
return newWidget
+
+ # --------------------------------------------------------------------------
+ # Handle scrollbar events
+ # --------------------------------------------------------------------------
def scrollbarHandler(self, event):
+ """
+ Handles scrollbar events.
+ """
object = _eventObjTowxWindow(event)
id = object.GetId()
value = object.GetThumbPosition()
- recno = int(value)+1
+ recno = int(value) + 1
- gfObject = self._uiDriver._IdToGFObj[id]
- action = events.Event('requestRECORDNUMBER',object=gfObject,
- data=recno,
+ gfObject = self._uiDriver._IdToGFObj[id]
+ action = events.Event('requestRECORDNUMBER', object=gfObject, data=recno,
_form=gfObject._form)
self._eventHandler(action)
+
+ # --------------------------------------------------------------------------
+ # Adjusts scrollbar pos and size
+ # --------------------------------------------------------------------------
def adjustScrollbar(self, pos, range):
- # position, thumbSize, range, pageSize, refresh = TRUE
- self._widget.SetScrollbar(pos, self._rows, range+self._rows-1,
self._rows-1)
+ """
+ Adjusts the scrollbar's position and size
+ """
+ # position, thumbSize, range, pageSize, refresh = TRUE
+ self._widget.SetScrollbar(pos, self._rows, range + self._rows - 1,
self._rows - 1)
+
+# ----------------------------------------------------------------------------
+# Configuration data
+# ----------------------------------------------------------------------------
configuration = {
'baseClass' : UIScrollBar,
'provides' : 'GFScrollBar',
Property changes on: trunk/gnue-forms/src/uidrivers/wx/widgets/scrollbar.py
___________________________________________________________________
Name: svn:keywords
+ Id
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- r6648 - trunk/gnue-forms/src/uidrivers/wx/widgets,
kilo <=