[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnue] r9340 - in trunk/gnue-forms: defaults src
From: |
reinhard |
Subject: |
[gnue] r9340 - in trunk/gnue-forms: defaults src |
Date: |
Fri, 26 Jan 2007 18:36:40 -0600 (CST) |
Author: reinhard
Date: 2007-01-26 18:36:40 -0600 (Fri, 26 Jan 2007)
New Revision: 9340
Modified:
trunk/gnue-forms/defaults/default.gfd
trunk/gnue-forms/src/GFForm.py
Log:
Dynamically enable and disable actions defined in default.gfd.
Modified: trunk/gnue-forms/defaults/default.gfd
===================================================================
--- trunk/gnue-forms/defaults/default.gfd 2007-01-27 00:34:08 UTC (rev
9339)
+++ trunk/gnue-forms/defaults/default.gfd 2007-01-27 00:36:40 UTC (rev
9340)
@@ -3,143 +3,187 @@
<form>
<!-- Clipboard and selection -->
- <action name="__cut__" label="Cut">
+ <action name="act__cut__" label="Cut">
form.cut()
</action>
- <action name="__copy__" label="Copy">
+ <action name="act__copy__" label="Copy">
form.copy()
</action>
- <action name="__paste__" label="Paste">
+ <action name="act__paste__" label="Paste">
form.paste()
</action>
- <action name="__select_all__" label="Select All">
+ <action name="act__select_all__" label="Select All">
form.select_all()
</action>
<!-- Focus management -->
- <action name="__next_block__" label="Next Block">
+ <action name="act__next_block__" label="Next Block">
form.next_block()
</action>
- <action name="__previous_block__" label="Previous Block">
+ <action name="act__previous_block__" label="Previous Block">
form.previous_block()
</action>
- <action name="__next_page__" label="Next Page">
+ <action name="act__next_page__" label="Next Page">
form.next_page()
</action>
- <action name="__previous_page__" label="Previous Page">
+ <action name="act__previous_page__" label="Previous Page">
form.previous_page()
</action>
<!-- Record navigation -->
- <action name="__first_record__" label="First Record">
+ <action name="act__first_record__" label="First Record">
form.first_record()
</action>
- <action name="__prev_record__" label="Previous Record">
+ <action name="act__prev_record__" label="Previous Record">
form.prev_record()
</action>
- <action name="__next_record__" label="Next Record">
+ <action name="act__next_record__" label="Next Record">
form.next_record()
</action>
- <action name="__last_record__" label="Last Record">
+ <action name="act__last_record__" label="Last Record">
form.last_record()
</action>
- <action name="__ask_record__" label="Jump to Record">
+ <action name="act__ask_record__" label="Jump to Record">
form.ask_record()
</action>
<!-- Record insertion and deletion -->
- <action name="__new_record__" label="New Record">
+ <action name="act__new_record__" label="New Record">
form.new_record()
</action>
- <action name="__delete_record__" label="Delete Record">
+ <action name="act__delete_record__" label="Delete Record">
form.delete_record()
</action>
- <action name="__undelete_record__" label="Undelete Record">
+ <action name="act__undelete_record__" label="Undelete Record">
form.undelete_record()
</action>
<!-- Queries -->
- <action name="__init_query__" label="Enter Query Mode">
+ <action name="act__init_query__" label="Enter Query Mode">
form.init_query()
</action>
- <action name="__copy_query__" label="Repeat Last Query">
+ <action name="act__copy_query__" label="Repeat Last Query">
form.copy_query()
</action>
- <action name="__cancel_query__" label="Cancel Query Mode">
+ <action name="act__cancel_query__" label="Cancel Query Mode">
form.cancel_query()
</action>
- <action name="__execute_query__" label="Perform Query">
+ <action name="act__execute_query__" label="Perform Query">
form.execute_query()
</action>
<!-- Transactions -->
- <action name="__commit__" label="Save changes">
+ <action name="act__commit__" label="Save changes">
form.commit()
</action>
- <action name="__rollback__" label="Discard changes">
+ <action name="act__rollback__" label="Discard changes">
form.rollback()
</action>
<!-- Other stuff -->
- <action name="__show_about__" label="About">
+ <action name="act__show_about__" label="About">
form.show_about()
</action>
- <action name="__printout__" label="Print Form">
+ <action name="act__printout__" label="Print Form">
form.printout()
</action>
- <action name="__close__" label="Close Window">
+ <action name="act__close__" label="Close Window">
form.close()
</action>
+ <trigger name="trg__update_status__" type="ON-STATUSCHANGE">
+ current_block = form.get_focus_block()
+ if current_block is not None:
+ record_status = current_block.get_record_status()
+ possible_operations = current_block.get_possible_operations()
+ else:
+ record_status = None
+ possible_operations = []
+
+ for operation, action in (
+ ('first_record', form.act__first_record__),
+ ('prev_record', form.act__prev_record__),
+ ('next_record', form.act__next_record__),
+ ('last_record', form.act__last_record__),
+ ('goto_record', form.act__ask_record__),
+ ('new_record', form.act__new_record__),
+ ('delete_record', form.act__delete_record__),
+ ('undelete_record', form.act__undelete_record__)):
+ action.enabled = (operation in possible_operations)
+
+ if form.in_query_mode():
+ form.act__init_query__.enabled = False
+ form.act__copy_query__.enabled = False
+ form.act__cancel_query__.enabled = True
+ form.act__execute_query__.enabled = True
+ form.act__commit__.enabled = False
+ form.act__rollback__.enabled = False
+ else:
+ form.act__init_query__.enabled = True
+ form.act__copy_query__.enabled = True
+ form.act__cancel_query__.enabled = False
+ form.act__execute_query__.enabled = False
+ form.act__commit__.enabled = not form.is_saved()
+ form.act__rollback__.enabled = True
+ </trigger>
+
+
<menu name="__main__" label="Main Menu">
<menu name="__file__" label="File">
- <menuitem name="__commit__" action="__commit__" hotkey="F6"/>
- <menuitem name="__rollback__" action="__rollback__" hotkey="F11"/>
+ <menuitem name="__commit__" action="act__commit__" hotkey="F6"/>
+ <menuitem name="__rollback__" action="act__rollback__" hotkey="F11"/>
<menuitem name="__sep0__"/>
- <menuitem name="__printout__" action="__printout__" hotkey="CTRL+P"/>
+ <menuitem name="__printout__" action="act__printout__"
+ hotkey="CTRL+P"/>
<menuitem name="__sep1__"/>
- <menuitem name="__close__" action="__close__" hotkey="CTRL+Q"/>
+ <menuitem name="__close__" action="act__close__" hotkey="CTRL+Q"/>
</menu>
<menu name="__edit__" label="Edit">
- <menuitem name="__cut__" action="__cut__" hotkey="CTRL+X"/>
- <menuitem name="__copy__" action="__copy__" hotkey="CTRL+C"/>
- <menuitem name="__paste__" action="__paste__" hotkey="CTRL+V"/>
- <menuitem name="__select_all__" action="__select_all__" hotkey="CTRL+A"/>
+ <menuitem name="__cut__" action="act__cut__" hotkey="CTRL+X"/>
+ <menuitem name="__copy__" action="act__copy__" hotkey="CTRL+C"/>
+ <menuitem name="__paste__" action="act__paste__" hotkey="CTRL+V"/>
+ <menuitem name="__select_all__" action="act__select_all__"
+ hotkey="CTRL+A"/>
<menuitem name="__sep0__"/>
- <menuitem name="__new_record__" action="__new_record__" hotkey="F12"/>
+ <menuitem name="__new_record__" action="act__new_record__"
+ hotkey="F12"/>
<menuitem name="__sep1__"/>
- <menuitem name="__delete_record__" action="__delete_record__"
- action_off="__undelete_record__" hotkey="F5"/>
+ <menuitem name="__delete_record__" action="act__delete_record__"
+ action_off="act__undelete_record__" hotkey="F5"/>
</menu>
<menu name="__navigation__" label="Navigation">
- <menuitem name="__previous_block__" action="__previous_block__"
+ <menuitem name="__previous_block__" action="act__previous_block__"
hotkey="PGUP"/>
- <menuitem name="__next_block__" action="__next_block__"
+ <menuitem name="__next_block__" action="act__next_block__"
hotkey="PGDN"/>
- <menuitem name="__previous_page__" action="__previous_page__"
+ <menuitem name="__previous_page__" action="act__previous_page__"
hotkey="CTRL+PGUP"/>
- <menuitem name="__next_page__" action="__next_page__"
+ <menuitem name="__next_page__" action="act__next_page__"
hotkey="CTRL+PGDN"/>
<menuitem name="__sep0__"/>
- <menuitem name="__first_record__" action="__first_record__"
+ <menuitem name="__first_record__" action="act__first_record__"
hotkey="CTRL+UP"/>
- <menuitem name="__prev_record__" action="__prev_record__" hotkey="UP"/>
- <menuitem name="__next_record__" action="__next_record__" hotkey="DOWN"/>
- <menuitem name="__last_record__" action="__last_record__"
+ <menuitem name="__prev_record__" action="act__prev_record__"
+ hotkey="UP"/>
+ <menuitem name="__next_record__" action="act__next_record__"
+ hotkey="DOWN"/>
+ <menuitem name="__last_record__" action="act__last_record__"
hotkey="CTRL+DOWN"/>
- <menuitem name="__ask_record__" action="__ask_record__" hotkey="F3"/>
+ <menuitem name="__ask_record__" action="act__ask_record__"
+ hotkey="F3"/>
</menu>
<menu name="__filter__" label="Filter">
- <menuitem name="__init_query__" action="__init_query__" hotkey="F8"/>
- <menuitem name="__cancel_query__" action="__cancel_query__"
+ <menuitem name="__init_query__" action="act__init_query__"
+ hotkey="F8"/>
+ <menuitem name="__cancel_query__" action="act__cancel_query__"
hotkey="SHIFT+F9"/>
- <menuitem name="__copy_query__" action="__copy_query__"
+ <menuitem name="__copy_query__" action="act__copy_query__"
hotkey="SHIFT+F8"/>
- <menuitem name="__execute_query__" action="__execute_query__"
+ <menuitem name="__execute_query__" action="act__execute_query__"
hotkey="F9"/>
</menu>
<menu name="__help__" label="Help">
- <menuitem name="__show_about__" action="__show_about__"/>
+ <menuitem name="__show_about__" action="act__show_about__"/>
</menu>
</menu>
Modified: trunk/gnue-forms/src/GFForm.py
===================================================================
--- trunk/gnue-forms/src/GFForm.py 2007-01-27 00:34:08 UTC (rev 9339)
+++ trunk/gnue-forms/src/GFForm.py 2007-01-27 00:36:40 UTC (rev 9340)
@@ -129,12 +129,13 @@
self._triggerGlobal = True
self._validTriggers = {
- 'ON-STARTUP': 'On-Startup',
- 'ON-ACTIVATION': 'On-Activation',
- 'PRE-EXIT': 'Pre-Exit',
- 'ON-EXIT': 'On-Exit',
- 'PRE-COMMIT': 'Pre-Commit',
- 'POST-COMMIT': 'Post-Commit'}
+ 'ON-STARTUP': 'On-Startup',
+ 'ON-ACTIVATION': 'On-Activation',
+ 'ON-STATUSCHANGE': 'On-StatusChange',
+ 'PRE-EXIT': 'Pre-Exit',
+ 'ON-EXIT': 'On-Exit',
+ 'PRE-COMMIT': 'Pre-Commit',
+ 'POST-COMMIT': 'Post-Commit'}
self._triggerFunctions = {
'getAuthenticatedUser': {
@@ -1742,6 +1743,10 @@
@return: None
"""
+ self.processTrigger('On-StatusChange')
+
+ # FIXME: The rest of this method can be removed after complete
+ # migration to dynamic menus and toolbars.
if self._currentBlock is not None:
record_status = self._currentBlock.get_record_status()
possible_operations = self._currentBlock.get_possible_operations()
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gnue] r9340 - in trunk/gnue-forms: defaults src,
reinhard <=