[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
r5146 - in trunk: gnue-designer/src gnue-forms/src gnue-forms/src/uidriv
From: |
jcater |
Subject: |
r5146 - in trunk: gnue-designer/src gnue-forms/src gnue-forms/src/uidrivers/_base gnue-forms/src/uidrivers/_commonGuiToolkit gnue-forms/src/uidrivers/curses gnue-forms/src/uidrivers/gtk2 gnue-forms/src/uidrivers/qt gnue-forms/src/uidrivers/win32 gnue-forms/src/uidrivers/wx gnue-forms/src/uidrivers/wx/widgets/form gnue-navigator/src gnue-reports/doc |
Date: |
Mon, 23 Feb 2004 22:45:23 -0600 (CST) |
Author: jcater
Date: 2004-02-23 22:45:21 -0600 (Mon, 23 Feb 2004)
New Revision: 5146
Modified:
trunk/gnue-designer/src/Designer.py
trunk/gnue-forms/src/GFInstance.py
trunk/gnue-forms/src/uidrivers/_base/UIdriver.py
trunk/gnue-forms/src/uidrivers/_commonGuiToolkit/UIdriver.py
trunk/gnue-forms/src/uidrivers/curses/UIdriver.py
trunk/gnue-forms/src/uidrivers/gtk2/UIdriver.py
trunk/gnue-forms/src/uidrivers/qt/UIdriver.py
trunk/gnue-forms/src/uidrivers/win32/UIdriver.py
trunk/gnue-forms/src/uidrivers/wx/UIdriver.py
trunk/gnue-forms/src/uidrivers/wx/widgets/form/widget.py
trunk/gnue-forms/src/uidrivers/wx/widgets/form/wrappers.py
trunk/gnue-navigator/src/UIwx.py
trunk/gnue-reports/doc/report-notes.txt
Log:
cleanup of driver init; added embeddable form support into gnue-navigator
Modified: trunk/gnue-designer/src/Designer.py
===================================================================
--- trunk/gnue-designer/src/Designer.py 2004-02-23 18:39:41 UTC (rev 5145)
+++ trunk/gnue-designer/src/Designer.py 2004-02-24 04:45:21 UTC (rev 5146)
@@ -37,7 +37,7 @@
class MyHooks(ihooks.Hooks):
pass
-import_indent = 0
+_import_indent = 0
import __builtin__
__builtin__.__dict__['StartupStatus'] = lambda string:string
@@ -46,13 +46,13 @@
def load_module(self, name, stuff):
- global import_indent
- print "." * import_indent + "Importing %s..." % name
- import_indent += 1
+ global _import_indent
+ print "." * _import_indent + "Importing %s..." % name
+ _import_indent += 1
module = ihooks.ModuleLoader.load_module(self, name, stuff)
- import_indent -= 1
+ _import_indent -= 1
return module
Modified: trunk/gnue-forms/src/GFInstance.py
===================================================================
--- trunk/gnue-forms/src/GFInstance.py 2004-02-23 18:39:41 UTC (rev 5145)
+++ trunk/gnue-forms/src/GFInstance.py 2004-02-24 04:45:21 UTC (rev 5146)
@@ -53,7 +53,7 @@
# Initialize the class
#
def __init__(self, manager, connections, ui, disableSplash=0,
- parameters={}):
+ parameters={}, parentContainer=None):
#
# Configure event handling
#
@@ -95,8 +95,8 @@
'requestROLLBACK' : self.executeRollback,
'requestENTERQUERY' : self.requestQuery,
'requestEXECQUERY' : self.executeQuery,
- 'requestCANCELQUERY' : self.cancelQuery,
- 'requestCOPYQUERY' : self.copyQuery,
+ 'requestCANCELQUERY' : self.cancelQuery,
+ 'requestCOPYQUERY' : self.copyQuery,
# Miscellaneous stuff
'requestEXIT' : self.executeExit,
@@ -146,7 +146,9 @@
# GBaseApp instance
self._formsDictionary = {} # A dictionary containing all the
# forms loaded from a file
-
+
+ self._parentContainer = parentContainer
+
#
# Load user customized key mappings
#
@@ -181,7 +183,7 @@
print 'ImportError',dialog
try:
self.addFormFromBuffer(dialog.buildForm())
- except StandardError, mesg:
+ except StandardError, mesg:
print "WARNING: Cannot build %s form \n%s" % (dialog,mesg)
else:
############
@@ -201,20 +203,20 @@
dialog = dyn_import('gnue.forms.dialogs.%s' %(dialogName))
try:
self.addFormFromBuffer(dialog.buildForm())
- except StandardError, mesg:
+ except StandardError, mesg:
print "WARNING: Cannot build %s form \n%s" % (dialogName,mesg)
#except ImportError, mesg:
# GDebug.printMesg(2,"dialogs.%s doesn't appear to be a valid
dialog" % (dialogName))
# GDebug.printMesg(5,' --> %s' % (mesg))
-
+
#
# addFormFromBuffer
#
# Loads a form from a string buffer
#
-
+
def addFormFromBuffer(self,buffer):
try:
fileHandle=openBuffer(buffer)
@@ -222,7 +224,7 @@
fileHandle.close()
except IOError, mesg:
self.manager.handleStartupError(_("Unable to open file\n\n %s")%mesg)
-
+
#
# addFormFromFile
#
@@ -233,7 +235,7 @@
fileHandle.close()
except IOError, mesg:
self.manager.handleStartupError(_("Unable to open file\n\n %s")%mesg)
-
+
#
# addFormFromFilehandle
#
@@ -255,7 +257,7 @@
# Extract the child <dialog>s from the main form tree
#
self.reapSubforms(form)
-
+
#
# Add the main form into the dictionary
#
@@ -277,7 +279,7 @@
self._formsDictionary[child.name] = child
else:
childList.append(child)
- formTree._children = childList
+ formTree._children = childList
#
# activate
@@ -310,8 +312,8 @@
#
- # Construct an instance of the UI driver
- self._uiinstance = self._uimodule.GFUserInterface(self.eventController,
self._disableSplash)
+ # Construct an instance of the UI driver
+ self._uiinstance = self._uimodule.GFUserInterface(self.eventController,
self._disableSplash, parentContainer=self._parentContainer)
self._uiinstance.initialize()
#
@@ -319,7 +321,7 @@
#
for dialog in self._formsDictionary.keys():
self.buildForm(dialog)
-
+
#
# Bring up the main form
#
@@ -332,7 +334,7 @@
#
def activateForm(self,formName='__main__',parameters={}, modal=0):
form = self._formsDictionary[formName]
-
+
if parameters != {}:
form._parameters=parameters
@@ -348,7 +350,7 @@
form.refreshDisplay(form)
self.updateStatus(form)
-
+
#
# buildForm
#
@@ -357,12 +359,12 @@
#
def buildForm(self,formName='__main__'):
form = self._formsDictionary[formName]
-
+
self._uiinstance.buildForm(form, formName)
-
+
#
#
- # UI FUNCTIONS
+ # UI FUNCTIONS
#
# Routines to update parts of the UI's status bar
#
@@ -388,7 +390,7 @@
#
# updateRecordStatus
#
- # Determine the status of the current record
+ # Determine the status of the current record
# in the current block.
#
def updateRecordStatus(self, form):
@@ -417,7 +419,7 @@
#
# updateStatusBar
- #
+ #
# generates the event to the UI that
# tells it to update it's status bar
#
@@ -510,7 +512,7 @@
def previousEntry(self, event):
if not event._form.endEditing():
return
-
+
event._form.previousEntry()
self.dispatchEvent('gotoENTRY',object=event._form._currentEntry,
_form=event._form)
@@ -599,7 +601,7 @@
message = event._form.prevRecord()
if message:
self.displayMessageBox(message)
-
+
return
self._entryUpdated(event._form)
@@ -615,7 +617,7 @@
message = event._form.nextRecord()
if message:
self.displayMessageBox(message)
-
+
return
self._entryUpdated(event._form)
@@ -631,7 +633,7 @@
message = event._form.firstRecord()
if message:
self.displayMessageBox(message)
-
+
return
self._entryUpdated(event._form)
@@ -669,7 +671,7 @@
if message:
self.displayMessageBox(message)
-
+
return
self._entryUpdated(event._form)
@@ -798,8 +800,8 @@
'description' : event._form.getOption('description') or "Unknown",
}
self.activateForm('_about', parameters, modal=1)
-
+
#
# displayMessageBox
#
@@ -880,8 +882,8 @@
## def activateDialog(self,event):
## pass
## #self.activateForm(event.dialogName)
-
+
#
# changeFocus
#
@@ -902,7 +904,7 @@
message = event._form.changeFocus(newEntry)
if message:
self.displayMessageBox( message)
-
+
return
self.dispatchEvent('gotoENTRY',object=event._form._currentEntry,
_form=event._form)
@@ -915,12 +917,12 @@
def requestQuery(self, event):
if not event._form.endEditing():
return
-
+
message = event._form.initQuery()
if message:
self.displayMessageBox(message)
-
+
return
event._form.refreshDisplay(event._form)
@@ -933,12 +935,12 @@
def cancelQuery(self, event):
if not event._form.endEditing():
return
-
+
message = event._form.cancelQuery()
if message:
self.displayMessageBox(message)
-
+
return
event._form.refreshDisplay(event._form)
@@ -951,12 +953,12 @@
def copyQuery(self, event):
if not event._form.endEditing():
return
-
+
message = event._form.copyQuery()
if message:
self.displayMessageBox(message)
-
+
return
event._form.refreshDisplay(event._form)
@@ -965,7 +967,7 @@
#
# executeQuery
- #
+ #
def executeQuery(self, event):
if not event._form.endEditing():
return
@@ -986,7 +988,7 @@
message = event._form.commit()
if message:
self.displayMessageBox(message)
-
+
return
self._entryUpdated(event._form)
event._form.refreshDisplay(event._form._currentBlock)
Modified: trunk/gnue-forms/src/uidrivers/_base/UIdriver.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/_base/UIdriver.py 2004-02-23 18:39:41 UTC
(rev 5145)
+++ trunk/gnue-forms/src/uidrivers/_base/UIdriver.py 2004-02-24 04:45:21 UTC
(rev 5146)
@@ -43,17 +43,27 @@
# Provides basic functionality.
#
class GFUserInterfaceBase(GRootObj,events.EventAware):
- def __init__(self, eventHandler, name="Undefined"):
-
+ def __init__(self, eventHandler, name="Undefined",
+ disableSplash=None, parentContainer=None):
+
############################################################
#
# Things you do not adjust in the individual UI drivers
#
############################################################
GRootObj.__init__(self, 'uiDriver', None, None)
+
self._type = 'UIDriver'
self.name = name
-
+
+ self._disableSplash = disableSplash
+
+
+ # Used when forms are embedded in navigator.
+ # What parentContainer is depends on the
+ # individual UIdriver and Navigator.
+ self._parentContainer = parentContainer
+
events.EventAware.__init__(self, eventHandler)
#
@@ -65,7 +75,7 @@
'updateEntryEditor': self.updateEntryEditor,
'gotoPAGE' : self.gotoPage,
'exitApplication' : self.exitApplication,
-
+
# User feedback events from the virtual form to the UI
'beginWAIT' : self.beginWait,
'endWAIT' : self.endWait,
@@ -118,7 +128,7 @@
############################
if hasattr(sys, 'frozen'):
uiDriver = sys.modules[self.__module__].__file__.split('.')[-2]
-
+
from gnue.forms.uidrivers._base.widgets import WIDGETS
for widgetName in WIDGETS:
try:
@@ -139,17 +149,17 @@
if widgetName[0] != '_':
if os.path.isfile(basedir+widgetName) and
os.path.splitext(widgetName)[1] == ".py":
widgetName = os.path.splitext(widgetName)[0]
- widget = dyn_import('gnue.forms.uidrivers.%s.widgets.%s'
%(uiDriver,widgetName))
+ widget = dyn_import('gnue.forms.uidrivers.%s.widgets.%s'
%(uiDriver,widgetName))
elif os.path.isdir(basedir+widgetName):
widget = dyn_import('gnue.forms.uidrivers.%s.widgets.%s'
%(uiDriver,widgetName))
- else:
+ else:
raise ImportError, "How the fsck did I get here?"
try:
self._supportedWidgets[widget.configuration['provides']]=widget
except Exception,mesg:
raise ImportError, mesg
-
+
except ImportError, mesg:
GDebug.printMesg(2,"%s.widgets.%s doesn't appear to be a valid ui
widget" % (uiDriver,widgetName))
GDebug.printMesg(5,' --> %s' % (mesg))
@@ -165,7 +175,7 @@
#
# TODO: Once <dialog> works we may be able to
# do away with these
- #
+ #
self._DIALOGS = {}
@@ -179,7 +189,7 @@
else:
parent = object.getParent()
- # fine the ui widget that corrosponds with that parent
+ # find the ui widget that corrosponds with that parent
uiParent = self
if parent:
try:
@@ -212,13 +222,13 @@
# If the current object is a GFForm then add it to the
# dictionary.
#
-
+
if object._type == 'GFForm':
self._formNameToUIForm[formName] = uiWidget
self._formNameToGFForm[formName] = object
#
- # GFObject to list of widget set specific widgets
+ # GFObject to list of widget set specific widgets
# associated with it
#
# Note: The list would be empty on hidden fields
@@ -248,12 +258,12 @@
def buildForm(self, form, formName):
self._form = form
-
+
# Create the UI from the GFForm passed in
form.walk(self._buildUI, formName=formName)
self._gfObjToUIWidget[form].phaseInit()
-
+
self._formNameToUIForm[formName]._gfObjToToolkitWidgets =
self._gfObjToToolkitWidgets
self._formNameToUIForm[formName]._gfObjToUIWidget = self._gfObjToUIWidget
self._formNameToUIForm[formName]._form = form
@@ -262,10 +272,10 @@
#
# activateForm
#
-
+
def activateForm(self,formName, modal=0):
- self._form = self._formNameToGFForm[formName]
+ self._form = self._formNameToGFForm[formName]
self._activateForm(self._form, modal)
@@ -312,7 +322,7 @@
for count in range(index):
value =
handler.getDisplayFiller(block._resultSet.getRecord(currentRecord- \
(index-count)).getField(field.field))
-
+
self._gfObjToUIWidget[entry].setValue(value,count)
# Fill current spot
@@ -348,7 +358,7 @@
#
# updateEntryEditor
#
- # updates the displayed value and sets
+ # updates the displayed value and sets
# the cursor position for a specific GFObject
#
def updateEntryEditor(self, event):
@@ -381,7 +391,7 @@
#
# Optional Functions
#
- # UIDrivers can override the following functions
+ # UIDrivers can override the following functions
#
#
@@ -391,7 +401,7 @@
#
def beginWait (self, event):
pass
-
+
#
# endWait
#
@@ -449,8 +459,8 @@
#
def gotoPage(self,event):
self._gfObjToUIWidget[event.data]._uiForm.gotoPage(event)
-
+
#
# updateStatusBar
#
Modified: trunk/gnue-forms/src/uidrivers/_commonGuiToolkit/UIdriver.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/_commonGuiToolkit/UIdriver.py
2004-02-23 18:39:41 UTC (rev 5145)
+++ trunk/gnue-forms/src/uidrivers/_commonGuiToolkit/UIdriver.py
2004-02-24 04:45:21 UTC (rev 5146)
@@ -40,7 +40,7 @@
from gnue.forms.uidrivers._base.UIdriver import *
#from common import *
-
+
#
# GFUserInterface
#
@@ -49,11 +49,9 @@
#
class GFUserInterface(GFUserInterfaceBase):
- def __init__(self, eventController, disableSplash = None):
- GFUserInterfaceBase.__init__(self,eventController)
+ def __init__(self, *args, **parms):
+ GFUserInterfaceBase.__init__(self,*args, **parms)
- self._disableSplash = disableSplash
-
# Shortcut
self.images_dir = GConfig.getInstalledBase('forms_images','common_images')
+ '/'
@@ -73,8 +71,8 @@
self._formNameToUIForm[key].showModal()
else:
self._formNameToUIForm[key].show()
-
-
+
+
#############################################################################
#
# Private UIBase support functions
@@ -96,7 +94,7 @@
#
# Processes the incoming events from other objects
# From here down should be nothing but eventListeners listed
-
+
#
# formAlert
#
Modified: trunk/gnue-forms/src/uidrivers/curses/UIdriver.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/curses/UIdriver.py 2004-02-23 18:39:41 UTC
(rev 5145)
+++ trunk/gnue-forms/src/uidrivers/curses/UIdriver.py 2004-02-24 04:45:21 UTC
(rev 5146)
@@ -58,19 +58,18 @@
# All UIs must provide this class
#
class GFUserInterface(commonToolkit.GFUserInterface):
- def __init__(self, eventController, disableSplash = None):
- commonToolkit.GFUserInterface.__init__(self,eventController, disableSplash)
- self._objectMapping = {}
+ _objectMapping = {}
- global _EVENTPROCESSOR
- _EVENTPROCESSOR = self.dispatchEvent
#
# initialize
#
def initialize(self):
+ global _EVENTPROCESSOR
+ _EVENTPROCESSOR = self.dispatchEvent
+
#
# Create the main window
#
Modified: trunk/gnue-forms/src/uidrivers/gtk2/UIdriver.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/gtk2/UIdriver.py 2004-02-23 18:39:41 UTC
(rev 5145)
+++ trunk/gnue-forms/src/uidrivers/gtk2/UIdriver.py 2004-02-24 04:45:21 UTC
(rev 5146)
@@ -66,22 +66,20 @@
# All UIs must provide this class
#
class GFUserInterface(commonToolkit.GFUserInterface):
-
+
_WidgetToGFObj = {}
_WidgetToUIObj = {}
-
- def __init__(self, eventController, disableSplash = None):
- commonToolkit.GFUserInterface.__init__(self,eventController,disableSplash)
- # self._disabledColour = gtk.gdk.color_parse("light_grey")
-
def initialize(self):
+
+ # self._disabledColour = gtk.gdk.color_parse("light_grey")
+
################################################################
# GTK Specifics
################################################################
self.app = getApp()
-
+
#
# SplashScreen
#
@@ -98,7 +96,7 @@
fontname = 'monospace %s' % gConfigForms('pointSize')
else:
fontname = 'bitstream vera %s' % gConfigForms('pointSize')
-
+
self.mono_font = pango.FontDescription(fontname)
#
@@ -110,7 +108,7 @@
p_c=dummyWindow.get_pango_context()
p_m=p_c.get_metrics(self.mono_font,
pango.pango_language_from_string('english'))
-
+
# The pixel width of text inside a widget
self.textWidth = int (p_m.get_approximate_char_width() / PANGO_SCALE)
@@ -166,7 +164,7 @@
#
# Processes the incoming events from other objects
# From here down should be nothing but eventListeners listed
-
+
#
# mainLoop
#
Modified: trunk/gnue-forms/src/uidrivers/qt/UIdriver.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/qt/UIdriver.py 2004-02-23 18:39:41 UTC
(rev 5145)
+++ trunk/gnue-forms/src/uidrivers/qt/UIdriver.py 2004-02-24 04:45:21 UTC
(rev 5146)
@@ -55,12 +55,11 @@
# All UIs must provide this class
#
class GFUserInterface(commonToolkit.GFUserInterface):
- def __init__(self, eventController, disableSplash = None):
- commonToolkit.GFUserInterface.__init__(self,eventController)
- self._disabledColour = None
-
def initialize(self):
+
+ self._disabledColour = None
+
self._qtapp = getQtApp()
fdb = QFontDatabase()
@@ -78,7 +77,7 @@
# if fixedFont != "":
# break
#font = fixedFont
-
+
font = QFont("Courier 10 Pitch", int(gConfigForms('pointSize')))
font.setFixedPitch(True)
@@ -147,7 +146,7 @@
#
# Processes the incoming events from other objects
# From here down should be nothing but eventListeners listed
-
+
#
# mainLoop
#
Modified: trunk/gnue-forms/src/uidrivers/win32/UIdriver.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/win32/UIdriver.py 2004-02-23 18:39:41 UTC
(rev 5145)
+++ trunk/gnue-forms/src/uidrivers/win32/UIdriver.py 2004-02-24 04:45:21 UTC
(rev 5146)
@@ -89,11 +89,7 @@
win32con.WM_COMMAND : OnWMCommand,
}
- def __init__(self, eventController, disableSplash = None):
- commonToolkit.GFUserInterface.__init__(self,eventController,disableSplash)
- self._disabledColour = afxres.AFX_IDC_COLOR_LIGHTGRAY
-
def _wndproc(self, hwnd, msg, wParam, lParam):
try:
widget = self._win32app._HwndToTkObj[hwnd]
@@ -108,6 +104,9 @@
def initialize(self):
+
+ self._disabledColour = afxres.AFX_IDC_COLOR_LIGHTGRAY
+
self._win32app = getWin32App()
################################################################
@@ -115,7 +114,7 @@
################################################################
win32gui.InitCommonControls()
try:
- icon = win32gui.LoadImage(0, sys.prefix+'\py.ico', win32con.IMAGE_ICON,
+ icon = win32gui.LoadImage(0, sys.prefix+'\py.ico', win32con.IMAGE_ICON,
0, 0, win32con.LR_LOADFROMFILE |
win32con.LR_DEFAULTSIZE)
except:
icon = win32gui.LoadIcon(0, win32con.IDI_APPLICATION)
@@ -141,7 +140,7 @@
self._font = win32ui.CreateFont(font_spec)
#
- # Create a dummy window used to compute sizes
+ # Create a dummy window used to compute sizes
#
from pywin.mfc import window
dummyWindow = window.Wnd(win32ui.CreateWnd())
@@ -152,7 +151,7 @@
maxHeight = metrics["tmHeight"]
maxDescent = metrics["tmDescent"]
maxLeading = metrics["tmExternalLeading"]
-
+
self.textWidth = int(maxWidth+maxLeading) # The pixel width of text
inside a widget
self.textHeight = int(maxHeight+maxDescent) # The pixel height of text
inside a widget
self.widgetWidth = self.textWidth # The pixel width of a 1
char widget (for things like buttons)
@@ -211,7 +210,7 @@
#
# Processes the incoming events from other objects
# From here down should be nothing but eventListeners listed
-
+
#
# mainLoop
#
Modified: trunk/gnue-forms/src/uidrivers/wx/UIdriver.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/wx/UIdriver.py 2004-02-23 18:39:41 UTC
(rev 5145)
+++ trunk/gnue-forms/src/uidrivers/wx/UIdriver.py 2004-02-24 04:45:21 UTC
(rev 5146)
@@ -57,15 +57,15 @@
# All UIs must provide this class
#
class GFUserInterface(commonToolkit.GFUserInterface):
- def __init__(self, eventController, disableSplash = None):
- commonToolkit.GFUserInterface.__init__(self,eventController,disableSplash)
- self._disabledColour = wxLIGHT_GREY
+ def initialize(self):
- def initialize(self):
################################################################
# WX Specifics
################################################################
+
+ self._disabledColour = wxLIGHT_GREY
+
self._wxapp = getWxApp()
#
@@ -142,7 +142,7 @@
#
# Processes the incoming events from other objects
# From here down should be nothing but eventListeners listed
-
+
#
# mainLoop
#
Modified: trunk/gnue-forms/src/uidrivers/wx/widgets/form/widget.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/wx/widgets/form/widget.py 2004-02-23
18:39:41 UTC (rev 5145)
+++ trunk/gnue-forms/src/uidrivers/wx/widgets/form/widget.py 2004-02-24
04:45:21 UTC (rev 5146)
@@ -45,13 +45,13 @@
# Widget set specific function that creates a single instance of a Form widget
#
class UIForm(UIHelper):
-
+
def __init__(self, event):
self._uiPageList=[]
self.statusBar = None
UIHelper.__init__(self, event)
-
+
def _createWidget(self, event, spacer):
object = event.object
@@ -64,19 +64,22 @@
formHeight = int(self._form._layout.Char__height)
self._visibleSize = wxSize(formWidth*self._uiDriver.widgetWidth,
formHeight*self._uiDriver.widgetHeight)
-
+
self._formSize = formSize = wxSize(formWidth*self._uiDriver.widgetWidth,
(formHeight+self.menu_sb_space)*self._uiDriver.widgetHeight)
# The main frame of this form
if self._form.style != 'dialog':
- self.mainWindow = wxFrame(NULL, -1, "", wxDefaultPosition)
- self.containerFrame = self.mainWindow
+ if self._uiDriver._parentContainer:
+ self.mainWindow = self._uiDriver._parentContainer
+ else:
+ self.mainWindow = wxFrame(NULL, -1, "", wxDefaultPosition)
else:
self.mainWindow = wxDialog(NULL,-1,"",wxDefaultPosition)
- self.containerFrame = self.mainWindow
-
+
+ self.containerFrame = self.mainWindow
+
self.mainWindow.SetTitle(str(self._form.title))
EVT_CLOSE(self.mainWindow,self.closeTrap)
initFont(self.mainWindow,1)
@@ -89,7 +92,7 @@
initFont(self.statusBar,0)
- # The window in which pages will be rendered
+ # The window in which pages will be rendered
if object._layout.tabbed != 'none':
self._wrapper = wrappers.TabbedWrapper(self)
else:
@@ -98,18 +101,18 @@
newWidget = self._wrapper.pane
self._containerToolkitWidget = newWidget
-
-
+
+
# Add the menu
if not self._form._features['GUI:MENUBAR:SUPPRESS']:
MenuBar(self._uiDriver, self.containerFrame, self._form)
-
+
# and the Toolbar
if not self._form._features['GUI:TOOLBAR:SUPPRESS']:
ToolBar(self._uiDriver, self.containerFrame, self._form)
-
-
+
+
self._eventHandler = event.eventHandler
self._wrapper.finalize()
@@ -124,7 +127,7 @@
# back an event closing the application
#`
def closeTrap(self,event):
- form = self._form
+ form = self._form
if event.CanVeto():
self._uiDriver.dispatchEvent('requestEXIT',_form=self._form)
@@ -132,8 +135,8 @@
object = _eventObjTowxWindow(event)
object.Destroy()
# wxExit() TODO: Try and work this into navigator or here if it still
hangs
-
+
#
# gotoPage
#
@@ -141,15 +144,15 @@
#
def gotoPage(self,event):
self._wrapper.setPage(self._uiDriver._gfObjToUIWidget[event.data].widgets[0])
-
-
+
+
#
# _setStatusBar
#
def _setStatusBar(self,tip, statusValue, insertValue, currentRecord,
maxRecord, currentPage, maxPage):
if not self.statusBar:
return
-
+
if tip != None: self.statusBar.SetStatusText(str(tip),0)
if statusValue:
@@ -190,4 +193,4 @@
def showModal(self):
self.containerFrame.ShowModal()
# self.mainWindow.ShowModal()
-
+
Modified: trunk/gnue-forms/src/uidrivers/wx/widgets/form/wrappers.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/wx/widgets/form/wrappers.py 2004-02-23
18:39:41 UTC (rev 5145)
+++ trunk/gnue-forms/src/uidrivers/wx/widgets/form/wrappers.py 2004-02-24
04:45:21 UTC (rev 5146)
@@ -194,7 +194,7 @@
else:
p.Show(1)
-
+
_tabStyles = {'left':wxNB_LEFT,
'right':wxNB_RIGHT,
'bottom':wxNB_BOTTOM,
Modified: trunk/gnue-navigator/src/UIwx.py
===================================================================
--- trunk/gnue-navigator/src/UIwx.py 2004-02-23 18:39:41 UTC (rev 5145)
+++ trunk/gnue-navigator/src/UIwx.py 2004-02-24 04:45:21 UTC (rev 5146)
@@ -83,7 +83,7 @@
self.frame.SetMenuBar(self.menu)
EVT_MENU (self.frame, ID_EXIT, self.OnClose)
- EVT_MENU (self.frame, ID_ABOUT, self.OnAbout)
+ EVT_MENU (self.frame, ID_ABOUT, self.OnAbout)
self.splitter= wxSplitterWindow(self.frame,-1)
@@ -140,7 +140,7 @@
def OnClose(self, event):
- # close down
+ # close down
self.frame.Destroy()
def OnAbout(self, event):
@@ -156,7 +156,7 @@
text % (VERSION,"","","",""),
_("About"), wxOK | wxICON_INFORMATION)
dlg.ShowModal()
-
+
dlg.Destroy()
def buildMenu(self, process):
@@ -250,19 +250,26 @@
# connections=self.connections,
# ui=ui, disableSplash=1)
instance = GFInstance(self,connections=self.connections,
- ui=ui,disableSplash=1, parameters=parameters)
+ ui=ui,disableSplash=1, parameters=parameters,
+ parentContainer=self.panel2)
+
self._formInstances[id(self)] = instance
-
+
#
# Build the form tree
#
instance.addFormFromFile(formfile)
+ # Temp stuff to test embedding
+ self.panel2.SetTitle = self.setTitle
+ self.panel2.SetMenuBar = self.setMenuBar
+ self.panel2.SetToolBar = self.setToolBar
+
#
# Start the instance
#
instance.addDialogs()
-
+
#instance.buildForm(form)
instance.activate()
@@ -283,7 +290,15 @@
except GDataObjects.Error, mesg:
self.handleError(mesg)
+ def setTitle(self, title):
+ self.frame.SetTitle ("GNUe Navigator: %s (form)" % title )
+ def setMenuBar(self, *arg, **parm):
+ self.frame.SetMenuBar (*arg, **parm)
+
+ def setToolBar(self, *arg, **parm):
+ self.frame.SetToolBar (*arg, **parm)
+
ID_EXIT = wxNewId()
ID_FAV_ORG = wxNewId()
ID_FAV_ADD = wxNewId()
Modified: trunk/gnue-reports/doc/report-notes.txt
===================================================================
--- trunk/gnue-reports/doc/report-notes.txt 2004-02-23 18:39:41 UTC (rev
5145)
+++ trunk/gnue-reports/doc/report-notes.txt 2004-02-24 04:45:21 UTC (rev
5146)
@@ -63,11 +63,51 @@
<cell style="+center">
<cell style="+right">
- <columnar columns="2">
+ <columns count="2">
+ <columnbreak/>
+ <pagebreak/>
+ <pagespec size="auto" orient="portrait|landscape|auto"/>
+ <!-- pgoptions are largely output device specific
+ Listed below are some possible ones. -->
+ <pgoption name="tray" value="upper|manual|envelope|tray 1|tray 2">
+ <pgoption name="media" value="upper|manual|envelope|tray 1|tray 2">
+
+ <table orient="portrait|landscape|auto">
+ <>
+
+
+ <out:table size="<measurement>|auto|expand">
+ <out:colspec num="1" size="auto"/>
+ <out:colspec num="2" size="50em"/>
+ <out:tbody>
+ <out:tgroup>
+ <out:row repeat="page|column|none" style="table-heading">
+ <out:entry>Heading
+ <out:entry/>
+ </out:row>
+ <section name="indata">
+ <out:tgroup>
+ <out:row repeat="page|column" style="table-heading">
+ <out:entry><field name="foobar"/> <out:on-repeat><t
style="table-continued">(Continued)</t></out:on-repeat>
+ <out:entry/>
+ </out:row>
+ <out:section name="indata2">
+ <out:row>
+ <out:entry/>
+ <out:entry/>
+ </out:row>
+ </section>
+ <out:tgroup>
+ </section>
+ </out:tgroup>
+ </out:tbody>
+ </out:table>
+
+
+
<section positioning="below|right|marginleft|margintop|absolute|named"
relation="<sectionname>|<formanchor>"
- mode="freeflow|tabular|crosstab|(bar|pie|line)chart"
spacingvert="<measurement>|auto"
spacinghoriz="<measurement>|auto"
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- r5146 - in trunk: gnue-designer/src gnue-forms/src gnue-forms/src/uidrivers/_base gnue-forms/src/uidrivers/_commonGuiToolkit gnue-forms/src/uidrivers/curses gnue-forms/src/uidrivers/gtk2 gnue-forms/src/uidrivers/qt gnue-forms/src/uidrivers/win32 gnue-forms/src/uidrivers/wx gnue-forms/src/uidrivers/wx/widgets/form gnue-navigator/src gnue-reports/doc,
jcater <=