[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnue] r9555 - trunk/gnue-forms/src
From: |
reinhard |
Subject: |
[gnue] r9555 - trunk/gnue-forms/src |
Date: |
Tue, 8 May 2007 14:19:05 -0500 (CDT) |
Author: reinhard
Date: 2007-05-08 14:19:05 -0500 (Tue, 08 May 2007)
New Revision: 9555
Modified:
trunk/gnue-forms/src/GFForm.py
trunk/gnue-forms/src/GFInstance.py
Log:
Some cleanup.
Modified: trunk/gnue-forms/src/GFForm.py
===================================================================
--- trunk/gnue-forms/src/GFForm.py 2007-05-08 17:00:06 UTC (rev 9554)
+++ trunk/gnue-forms/src/GFForm.py 2007-05-08 19:19:05 UTC (rev 9555)
@@ -138,49 +138,16 @@
'POST-COMMIT': 'Post-Commit'}
self._triggerFunctions = {
- 'getAuthenticatedUser': {
- 'function': self.__trigger_get_authenticated_user,
- 'global' : True},
- 'getFeature': {
- 'function': self.__trigger_get_feature,
- 'global': True},
- 'setFeature': {
- 'function': self.__trigger_set_feature,
- 'global': True},
- 'getParameter': {
- 'function': self.__trigger_get_parameter,
- 'global' : True},
- 'setParameter': {
- 'function': self.__trigger_set_parameter,
- 'global' : True},
- 'setTitle': {
- 'function': self.__trigger_set_title,
- 'global' : True},
- 'getCurrentBlockName': {
- 'function': self.__trigger_get_current_block_name,
- 'global' : True},
- 'setFocus': {
- 'function': self.__trigger_set_focus,
- 'global' : True},
-
- # User feedback
+ # User feedback and interaction
+ 'set_title': {'function': self.set_title},
'beep': {'function': self.beep, 'global': True},
'status_message': {'function': self.status_message},
'show_message': {'function': self.show_message},
'select_files': {'function': self.select_files},
'select_dir': {'function': self.select_dir},
+ 'show_about': {'function': self.show_about},
+ 'show_dialog': {'function': self.show_dialog},
- # User feedback - deprecated
- 'setStatusText': {
- 'function': self.status_message,
- 'global': True},
- 'showMessage': {
- 'function': self.__trigger_show_message,
- 'global': True},
- 'messageBox': {
- 'function': self.__trigger_message_box,
- 'global': True},
-
# Clipboard and selection
'cut': {'function': self.cut},
'copy': {'function': self.copy},
@@ -215,38 +182,75 @@
'apply_filter': {'function': self.apply_filter},
'in_filter_mode': {'function': self.in_filter_mode},
- # Filter - deprecated
- 'init_query': {'function': self.init_filter},
- 'copy_query': {'function': self.change_filter},
- 'cancel_query': {'function': self.discard_filter},
- 'execute_query': {'function': self.apply_filter},
- 'in_query_mode': {'function': self.in_filter_mode},
-
# Transactions
'commit': {'function': self.commit, 'global': True},
'rollback': {'function': self.rollback, 'global': True},
'is_saved': {'function': self.is_saved},
# Other stuff
+ 'fire_trigger': {'function': self.fire_trigger},
+ 'run_form': {'function': self.run_form},
+ 'run_report': {'function': self.run_report},
'toggle_insert_mode': {'function': self.toggle_insert_mode},
- 'show_about': {'function': self.show_about},
+ 'get_username': {'function': self.get_username},
'printout': {'function': self.printout},
+ 'close': {'function': self.close, 'global': True},
+ # Deprecated functions
+ 'setStatusText': {
+ 'function': self.status_message,
+ 'global': True},
+ 'showMessage': {
+ 'function': self.__trigger_show_message,
+ 'global': True},
+ 'messageBox': {
+ 'function': self.__trigger_message_box,
+ 'global': True},
+
'activateDialog': {
- 'function': self.__trigger_activate_dialog,
+ 'function': self.show_dialog,
'global': True},
'activateTrigger': {
- 'function': self.__trigger_fire_trigger,
+ 'function': self.fire_trigger,
'global': True},
'runForm': {
- 'function': self.__trigger_run_form,
+ 'function': self.run_form,
'global': True},
'runReport': {
- 'function': self.__trigger_run_report,
+ 'function': self.run_report,
'global': True},
- 'close': {'function': self.close, 'global': True}}
+ 'init_query': {'function': self.init_filter},
+ 'copy_query': {'function': self.change_filter},
+ 'cancel_query': {'function': self.discard_filter},
+ 'execute_query': {'function': self.apply_filter},
+ 'in_query_mode': {'function': self.in_filter_mode},
+ 'getAuthenticatedUser': {
+ 'function': self.get_username,
+ 'global' : True},
+ 'getFeature': {
+ 'function': self.__trigger_get_feature,
+ 'global': True},
+ 'setFeature': {
+ 'function': self.__trigger_set_feature,
+ 'global': True},
+ 'getParameter': {
+ 'function': self.__trigger_get_parameter,
+ 'global' : True},
+ 'setParameter': {
+ 'function': self.__trigger_set_parameter,
+ 'global' : True},
+ 'setTitle': {
+ 'function': self.set_title,
+ 'global' : True},
+ 'getCurrentBlockName': {
+ 'function': self.__trigger_get_current_block_name,
+ 'global' : True},
+ 'setFocus': {
+ 'function': self.__trigger_set_focus,
+ 'global' : True}}
+
self._features = {
'GUI:MENUBAR:SUPPRESS': False,
'GUI:TOOLBAR:SUPPRESS': False,
@@ -488,208 +492,8 @@
self.__find_and_change_focus([self._currentPage], False)
- # -------------------------------------------------------------------------
- # Trigger functions
- # -------------------------------------------------------------------------
-
- def __trigger_get_authenticated_user(self, connection=None):
- """
- Return the authenticated user.
- """
- return self._instance.connections.getAuthenticatedUser(connection)
-
- # -------------------------------------------------------------------------
-
- def __trigger_get_feature(self, feature):
- """
- Gets feature values.
- Features are things like toolbars, menubars and statusbar.
- @param feature: 'GUI:MENUBAR:SUPPRESS' or 'GUI:TOOLBAR:SUPPRESS' or
- 'GUI:STATUSBAR:SUPPRESS'
- @return: Boolean
- """
- try:
- return self._features[feature]
- except KeyError:
- raise KeyError, "Trigger attempted to get unknown feature %s" %
feature
-
- # -------------------------------------------------------------------------
-
- def __trigger_set_feature(self, feature, value):
- """
- Sets feature values.
- Features are things like toolbars, menubars and statusbar.
- @param feature: 'GUI:MENUBAR:SUPPRESS' or 'GUI:TOOLBAR:SUPPRESS' or
- 'GUI:STATUSBAR:SUPPRESS'
- @param value: True or False
- @return: None
- """
- if not self._features.has_key(feature):
- raise KeyError, "Trigger attempted to set unknown feature %s" %
feature
- else:
- self._features[feature] = value
-
- # -------------------------------------------------------------------------
-
- def __trigger_get_parameter(self, parameter):
-
- assert gDebug(1, "DEPRECATED: getParameter trigger function")
- if parameter in self.__parameter_dict:
- return self.__parameter_dict[parameter].value
- else:
- raise UndefinedParameterError(parameter)
-
- # -------------------------------------------------------------------------
-
- def __trigger_set_parameter(self, parameter, value):
-
- assert gDebug(1, "DEPRECATED: setParameter trigger function")
- if parameter in self.__parameter_dict:
- self.__parameter_dict[parameter].value = value
- else:
- raise UndefinedParameterError(parameter)
-
- # -------------------------------------------------------------------------
-
- def __trigger_set_title(self, title):
- """
- Sets and displays the title of the form.
- @param title: new title
- """
- self.title = title
- self.uiWidget._ui_set_title_(title)
-
- # -------------------------------------------------------------------------
-
- def __trigger_get_current_block_name(self):
- if self._currentBlock is not None:
- return self._currentBlock.name
- else:
- return None
-
- # -------------------------------------------------------------------------
-
- def __trigger_set_focus(self, object):
- """
- Switch input focus to a specific widget.
-
- @param object: the widget that should get the focus
- """
- # add global focus locking
- if self._in_trigger_lock:
- gDebug(1, "Already called by a trigger")
- return
-
- self._in_trigger_lock = True
-
- try:
- self.__find_and_change_focus([object._object], False)
- finally:
- self._in_trigger_lock = False
-
- # -------------------------------------------------------------------------
-
- def __trigger_show_message(self, msgtxt, caption='GNUe Message',
- title='Information', kind = 'Info', cancel = False):
- """
- Displays a standard message box.
- @param msgtxt: text to be displayed
- @param caption: caption to be displayed, default='GNUe Message'
- @param title: title of messagebox, default='Information'
- @param kind: 'Question', 'Info', 'Warning', or 'Error', default='Info'
- @param cancel: Flag whether to include a Cancel button, default='False'
- @return: True for <Yes> or <Ok> button, False for <No> button, None for
- <Cancel> button.
- """
- return self.show_message(msgtxt, kind, title, cancel)
-
-
- # -------------------------------------------------------------------------
-
- def __trigger_message_box(self, message, kind=None, title=None,
- cancel=False):
- """
- This function brings up a message box of a given kind.
- @param message: text to be displayed
- @param kind: 'Question', 'Info', 'Warning', or 'Error'
- @param cancel: Boolean flag indicating wether a cancel button will be
- included or not.
- @return: True for <Yes> or <Ok> button, False for <No> button, None for
- <Cancel> button.
- """
- return self.show_message(message, kind, title, cancel)
-
- # -------------------------------------------------------------------------
-
- def __trigger_activate_dialog (self, dialogName, parameters=None,
- modal=False):
- """
- Launches a standard or a custom dialog.
- @param dialogName: name of the dialog to be displayed
- @param parameters: dictionary of parameters used to pass values
- back and forth
- @param modal: whether the dialog should be modal or not
- @return: None
- """
- form = self.__subforms[dialogName]
- if parameters is not None:
- form.set_parameters(parameters)
- form.execute_open(modal)
- if modal and parameters is not None:
- parameters.update(form.get_parameters())
-
- # -------------------------------------------------------------------------
-
- def __trigger_fire_trigger(self, name):
- """
- Fires a named trigger.
- """
- # FIXME: Should allow access via trigger object run() method, like for
- # actions.
- self.fireTrigger(name)
-
- # -------------------------------------------------------------------------
-
- def __trigger_run_form(self, filename, parameters=None):
- """
- Loads and activates a new form from a file.
-
- @param fileName: the name of the .gfd file to be displayed
- @param parameters: dictionary of parameters to be passed to the newly
- run form
- """
- self._instance.run_from_file(filename, parameters)
-
- # -------------------------------------------------------------------------
-
- def __trigger_run_report(self, reportFile, parameters={}, **parms):
- """
- Launches a new instance of GNUe-Reports, running a new report.
- @param reportFile: the name of the .grd file to be processed
- @param parameters: dictionary of parameters to be passed
- to the newly run report
- @param **params:
- These roughly correspond to the ./gnue-reports options
- destination
- destinationType
- destinationOptions (dict)
- filter
- filterOptions (dict)
- sortoption
- includeStructuralComments
- omitGNUeXML
- @return: None
- """
- from gnue.reports.base.GREngine import GREngine
- from gnue.reports.base import GRFilters, GRExceptions
- rep_engine = GREngine(self._instance.connections)
- rep_engine.processReport(reportFile, parameters=parameters, **parms)
-
-
# =========================================================================
# Events
- #
- # Incoming Event handlers
# =========================================================================
# -------------------------------------------------------------------------
@@ -735,6 +539,17 @@
# User feedback
# =========================================================================
+ def set_title(self, title):
+ """
+ Sets and displays the title of the form.
+
+ @param title: new title
+ """
+ self.title = title
+ self.uiWidget._ui_set_title_(title)
+
+ # -------------------------------------------------------------------------
+
def alert_message(self, message):
self.status_message(message)
@@ -826,8 +641,36 @@
if self.uiWidget is not None:
return self.uiWidget._ui_select_dir_(title, default_dir, new_dir)
+ # -------------------------------------------------------------------------
+ def show_about(self):
+ if self.uiWidget is not None:
+ self.uiWidget._ui_show_about_(
+ self.title or "Unknown",
+ self.get_option('version') or "Unknown",
+ self.get_option('author') or "Unknown",
+ self.get_option('description') or "Unknown")
+
+ # -------------------------------------------------------------------------
+
+ def show_dialog (self, name, parameters=None, modal=False):
+ """
+ Launches a standard or a custom dialog.
+ @param name: name of the dialog to be displayed
+ @param parameters: dictionary of parameters used to pass values
+ back and forth
+ @param modal: whether the dialog should be modal or not
+ @return: None
+ """
+ form = self.__subforms[name]
+ if parameters is not None:
+ form.set_parameters(parameters)
+ form.execute_open(modal)
+ if modal and parameters is not None:
+ parameters.update(form.get_parameters())
+
+
# =========================================================================
# Clipboard and selection
# =========================================================================
@@ -1717,6 +1560,76 @@
# =========================================================================
# -------------------------------------------------------------------------
+ # Launch a trigger
+ # -------------------------------------------------------------------------
+
+ def fire_trigger(self, name):
+ """
+ Launches a trigger.
+
+ @param name: name of the trigger to be launched.
+ """
+
+ self._triggerDictionary[triggerName](self=self)
+
+
+ # -------------------------------------------------------------------------
+ # Run a form from another GFD
+ # -------------------------------------------------------------------------
+
+ def run_form(self, filename, parameters=None):
+ """
+ Loads and activates a new form from a file.
+
+ @param fileName: the name of the .gfd file to be displayed
+ @param parameters: dictionary of parameters to be passed to the newly
+ run form
+ """
+
+ self._instance.run_from_file(filename, parameters)
+
+
+ # -------------------------------------------------------------------------
+ # Run a report
+ # -------------------------------------------------------------------------
+
+ def run_report(self, reportFile, parameters={}, **parms):
+ """
+ Launches a new instance of GNUe-Reports, running a new report.
+ @param reportFile: the name of the .grd file to be processed
+ @param parameters: dictionary of parameters to be passed
+ to the newly run report
+ @param **params:
+ These roughly correspond to the ./gnue-reports options
+ destination
+ destinationType
+ destinationOptions (dict)
+ filter
+ filterOptions (dict)
+ sortoption
+ includeStructuralComments
+ omitGNUeXML
+ @return: None
+ """
+
+ from gnue.reports.base.GREngine import GREngine
+ from gnue.reports.base import GRFilters, GRExceptions
+ rep_engine = GREngine(self._instance.connections)
+ rep_engine.processReport(reportFile, parameters=parameters, **parms)
+
+
+ # -------------------------------------------------------------------------
+ # Get the currently logged in username
+ # -------------------------------------------------------------------------
+
+ def get_username(self, connection=None):
+ """
+ Return the authenticated user.
+ """
+ return self._instance.connections.getAuthenticatedUser(connection)
+
+
+ # -------------------------------------------------------------------------
# Toggles insert mode
# -------------------------------------------------------------------------
@@ -1730,20 +1643,6 @@
# -------------------------------------------------------------------------
- # Show about box
- # -------------------------------------------------------------------------
-
- def show_about(self):
-
- if self.uiWidget is not None:
- self.uiWidget._ui_show_about_(
- self.title or "Unknown",
- self.get_option('version') or "Unknown",
- self.get_option('author') or "Unknown",
- self.get_option('description') or "Unknown")
-
-
- # -------------------------------------------------------------------------
# Print form
# -------------------------------------------------------------------------
@@ -1756,7 +1655,7 @@
"""
if self._triggerDictionary.has_key('process-printout'):
- self.fireTrigger('process-printout')
+ self.fire_trigger('process-printout')
else:
if self.uiWidget is not None:
self.uiWidget._ui_printout_(self.title,
@@ -1766,6 +1665,36 @@
# -------------------------------------------------------------------------
+ # Close this window
+ # -------------------------------------------------------------------------
+
+ def close(self):
+
+ # FIXME: Changes in the current entry are not yet saved in the field if
+ # this was caused by a click on the close button of the window,
+ # because...
+ self.processTrigger('Pre-Exit', ignoreAbort = False)
+
+ # ... we would want to be able to exit here without saving even if the
+ # current entry contains an invalid value.
+ if not self._must_save():
+ return
+
+ self.processTrigger('On-Exit')
+
+ if self.uiWidget is not None:
+ self.uiWidget._ui_close_()
+
+ self.__visible = False
+
+ self._instance.maybe_exit()
+
+
+ # =========================================================================
+ # Various helper functions
+ # =========================================================================
+
+ # -------------------------------------------------------------------------
# Get all connections used by the form
# -------------------------------------------------------------------------
@@ -1790,19 +1719,6 @@
# -------------------------------------------------------------------------
- # Launch a trigger
- # -------------------------------------------------------------------------
-
- def fireTrigger(self, triggerName):
- """
- Launches a trigger.
- @param triggerName: name of the trigger to be launched.
- @return: None
- """
- self._triggerDictionary[triggerName](self=self)
-
-
- # -------------------------------------------------------------------------
# Signal the UI Drivers of navigation button relevance
# -------------------------------------------------------------------------
@@ -1924,32 +1840,6 @@
# -------------------------------------------------------------------------
- # Close this window
- # -------------------------------------------------------------------------
-
- def close(self):
-
- # FIXME: Changes in the current entry are not yet saved in the field if
- # this was caused by a click on the close button of the window,
- # because...
- self.processTrigger('Pre-Exit', ignoreAbort = False)
-
- # ... we would want to be able to exit here without saving even if the
- # current entry contains an invalid value.
- if not self._must_save():
- return
-
- self.processTrigger('On-Exit')
-
- if self.uiWidget is not None:
- self.uiWidget._ui_close_()
-
- self.__visible = False
-
- self._instance.maybe_exit()
-
-
- # -------------------------------------------------------------------------
# Ask the user whether to save or to discard changes if there are any
# -------------------------------------------------------------------------
@@ -1969,3 +1859,118 @@
self.commit()
return True
+
+
+ # =========================================================================
+ # Deprecated trigger functions
+ # =========================================================================
+
+ def __trigger_get_feature(self, feature):
+ """
+ Gets feature values.
+ Features are things like toolbars, menubars and statusbar.
+ @param feature: 'GUI:MENUBAR:SUPPRESS' or 'GUI:TOOLBAR:SUPPRESS' or
+ 'GUI:STATUSBAR:SUPPRESS'
+ @return: Boolean
+ """
+ try:
+ return self._features[feature]
+ except KeyError:
+ raise KeyError, "Trigger attempted to get unknown feature %s" %
feature
+
+ # -------------------------------------------------------------------------
+
+ def __trigger_set_feature(self, feature, value):
+ """
+ Sets feature values.
+ Features are things like toolbars, menubars and statusbar.
+ @param feature: 'GUI:MENUBAR:SUPPRESS' or 'GUI:TOOLBAR:SUPPRESS' or
+ 'GUI:STATUSBAR:SUPPRESS'
+ @param value: True or False
+ @return: None
+ """
+ if not self._features.has_key(feature):
+ raise KeyError, "Trigger attempted to set unknown feature %s" %
feature
+ else:
+ self._features[feature] = value
+
+ # -------------------------------------------------------------------------
+
+ def __trigger_get_parameter(self, parameter):
+
+ assert gDebug(1, "DEPRECATED: getParameter trigger function")
+ if parameter in self.__parameter_dict:
+ return self.__parameter_dict[parameter].value
+ else:
+ raise UndefinedParameterError(parameter)
+
+ # -------------------------------------------------------------------------
+
+ def __trigger_set_parameter(self, parameter, value):
+
+ assert gDebug(1, "DEPRECATED: setParameter trigger function")
+ if parameter in self.__parameter_dict:
+ self.__parameter_dict[parameter].value = value
+ else:
+ raise UndefinedParameterError(parameter)
+
+ # -------------------------------------------------------------------------
+
+ def __trigger_get_current_block_name(self):
+ if self._currentBlock is not None:
+ return self._currentBlock.name
+ else:
+ return None
+
+ # -------------------------------------------------------------------------
+
+ def __trigger_set_focus(self, object):
+ """
+ Switch input focus to a specific widget.
+
+ @param object: the widget that should get the focus
+ """
+ # add global focus locking
+ if self._in_trigger_lock:
+ gDebug(1, "Already called by a trigger")
+ return
+
+ self._in_trigger_lock = True
+
+ try:
+ self.__find_and_change_focus([object._object], False)
+ finally:
+ self._in_trigger_lock = False
+
+ # -------------------------------------------------------------------------
+
+ def __trigger_show_message(self, msgtxt, caption='GNUe Message',
+ title='Information', kind = 'Info', cancel = False):
+ """
+ Displays a standard message box.
+ @param msgtxt: text to be displayed
+ @param caption: caption to be displayed, default='GNUe Message'
+ @param title: title of messagebox, default='Information'
+ @param kind: 'Question', 'Info', 'Warning', or 'Error', default='Info'
+ @param cancel: Flag whether to include a Cancel button, default='False'
+ @return: True for <Yes> or <Ok> button, False for <No> button, None for
+ <Cancel> button.
+ """
+ return self.show_message(msgtxt, kind, title, cancel)
+
+
+ # -------------------------------------------------------------------------
+
+ def __trigger_message_box(self, message, kind=None, title=None,
+ cancel=False):
+ """
+ This function brings up a message box of a given kind.
+ @param message: text to be displayed
+ @param kind: 'Question', 'Info', 'Warning', or 'Error'
+ @param cancel: Boolean flag indicating wether a cancel button will be
+ included or not.
+ @return: True for <Yes> or <Ok> button, False for <No> button, None for
+ <Cancel> button.
+ """
+ return self.show_message(message, kind, title, cancel)
+
Modified: trunk/gnue-forms/src/GFInstance.py
===================================================================
--- trunk/gnue-forms/src/GFInstance.py 2007-05-08 17:00:06 UTC (rev 9554)
+++ trunk/gnue-forms/src/GFInstance.py 2007-05-08 19:19:05 UTC (rev 9555)
@@ -678,7 +678,7 @@
def __execute_user_command(self, event):
try:
- event._form.fireTrigger("KEY-%s" % event.triggerName.upper())
+ event._form.fire_trigger("KEY-%s" % event.triggerName.upper())
except KeyError:
pass
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gnue] r9555 - trunk/gnue-forms/src,
reinhard <=