commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gnue] r7937 - in trunk/gnue-forms/src: . GFObjects uidrivers/_base uidr


From: reinhard
Subject: [gnue] r7937 - in trunk/gnue-forms/src: . GFObjects uidrivers/_base uidrivers/_commonGuiToolkit
Date: Wed, 28 Sep 2005 12:35:27 -0500 (CDT)

Author: reinhard
Date: 2005-09-21 05:53:22 -0500 (Wed, 21 Sep 2005)
New Revision: 7937

Modified:
   trunk/gnue-forms/src/GFForm.py
   trunk/gnue-forms/src/GFInstance.py
   trunk/gnue-forms/src/GFObjects/GFBlock.py
   trunk/gnue-forms/src/uidrivers/_base/UserActions.py
   trunk/gnue-forms/src/uidrivers/_commonGuiToolkit/MenuBar.py
Log:
Separate event requestUNDELETE.


Modified: trunk/gnue-forms/src/GFForm.py
===================================================================
--- trunk/gnue-forms/src/GFForm.py      2005-09-21 09:04:24 UTC (rev 7936)
+++ trunk/gnue-forms/src/GFForm.py      2005-09-21 10:53:22 UTC (rev 7937)
@@ -473,18 +473,32 @@
       self._currentBlock.newRecord()
 
 
-  #---------------------------------------------------------------------------
-  # Delete the actual record.
-  #---------------------------------------------------------------------------
-  def toggleRecordDelete(self):
+  # --------------------------------------------------------------------------
+  # Delete the current record.
+  # --------------------------------------------------------------------------
+
+  def deleteRecord (self):
     """
     Deletes the actual record.
     """
     if not self.readonly:
-      self._currentBlock.toggleDelete()
+      self._currentBlock.deleteRecord()
       self.refreshUIEvents()
 
 
+  # --------------------------------------------------------------------------
+  # Undelete the current record.
+  # --------------------------------------------------------------------------
+
+  def undeleteRecord (self):
+    """
+    Undeletes the actual record.
+    """
+    if not self.readonly:
+      self._currentBlock.undeleteRecord()
+      self.refreshUIEvents()
+
+
   #---------------------------------------------------------------------------
   # Check all blocks in the form whether they are saved (committed) or not.
   #---------------------------------------------------------------------------
@@ -981,9 +995,7 @@
       dispatchEvent('canENTERQUERY')
       dispatchEvent('cannotCANCELQUERY')
       dispatchEvent('cannotEXECQUERY')
-##      dispatchEvent('canNEXTRECORD')
 
-      # TODO: There should probably be some tests here....
       if not self.isSaved():
         dispatchEvent('canCOMMIT')
       else:
@@ -991,7 +1003,6 @@
 
       dispatchEvent('canROLLBACK')
       dispatchEvent('canJUMPPROMPT')
-      dispatchEvent('canNEWRECORD')
       dispatchEvent('canMARKFORDELETE')
 
       if block._resultSet.isFirstRecord():
@@ -1002,18 +1013,28 @@
         dispatchEvent('canFIRSTRECORD')
 
       if block._resultSet.isLastRecord():
+        dispatchEvent('cannotNEXTRECORD')
         dispatchEvent('cannotLASTRECORD')
-        if block._resultSet.current.isEmpty():
-          dispatchEvent('cannotNEXTRECORD')
-          dispatchEvent('cannotNEWRECORD')
-        else:
-          dispatchEvent('canNEWRECORD')
       else:
         dispatchEvent('canNEXTRECORD')
         dispatchEvent('canLASTRECORD')
         dispatchEvent('canNEWRECORD')
 
+      if block._resultSet.current.isEmpty():
+        dispatchEvent('cannotNEWRECORD')
+      else:
+        dispatchEvent('canNEWRECORD')
 
+      if block._resultSet.current.isDeleted():
+        dispatchEvent('cannotMARKFORDELETE')
+        dispatchEvent('canUNDELETE')
+        dispatchEvent('beginMARKFORDELETE')
+      else:
+        dispatchEvent('endMARKFORDELETE')
+        dispatchEvent('canMARKFORDELETE')
+        dispatchEvent('cannotUNDELETE')
+
+
   #---------------------------------------------------------------------------
   # Called whenever an event source has requested that the
   # focus change to the next data entry block

Modified: trunk/gnue-forms/src/GFInstance.py
===================================================================
--- trunk/gnue-forms/src/GFInstance.py  2005-09-21 09:04:24 UTC (rev 7936)
+++ trunk/gnue-forms/src/GFInstance.py  2005-09-21 10:53:22 UTC (rev 7937)
@@ -109,7 +109,8 @@
 
                            # Data set manipulation
                            'requestNEWRECORD'    : self.newRecord,
-                           'requestMARKFORDELETE': self.toggleRecordDelete,
+                           'requestMARKFORDELETE': self.deleteRecord,
+                           'requestUNDELETE'     : self.undeleteRecord,
                            'requestCOMMIT'       : self.executeCommit,
                            'requestPRINTOUT'     : self.executePrintout,
                            'requestROLLBACK'     : self.executeRollback,
@@ -916,7 +917,7 @@
   # Mark a record for deletion
   # ---------------------------------------------------------------------------
 
-  def toggleRecordDelete(self, event):
+  def deleteRecord (self, event):
     """
     Tells the form to mark a record for delete
     """
@@ -928,11 +929,24 @@
       self.dispatchEvent ('formALERT', _('Block does not allow delete'),
                           _form = event._form)
     else:
-      event._form.toggleRecordDelete ()
+      event._form.deleteRecord ()
       self.updateRecordStatus (event._form)
 
 
   # ---------------------------------------------------------------------------
+  # Unmark a record for deletion
+  # ---------------------------------------------------------------------------
+
+  def undeleteRecord (self, event):
+    """
+    Tells the form to mark a record for delete
+    """
+
+    event._form.undeleteRecord ()
+    self.updateRecordStatus (event._form)
+
+
+  # ---------------------------------------------------------------------------
   # Tells the form to create a new record
   # ---------------------------------------------------------------------------
 

Modified: trunk/gnue-forms/src/GFObjects/GFBlock.py
===================================================================
--- trunk/gnue-forms/src/GFObjects/GFBlock.py   2005-09-21 09:04:24 UTC (rev 
7936)
+++ trunk/gnue-forms/src/GFObjects/GFBlock.py   2005-09-21 10:53:22 UTC (rev 
7937)
@@ -388,18 +388,6 @@
     self._resultSet.current.undelete()
 
   #
-  # undeleteRecord
-  #
-  def toggleDelete(self):
-    """
-    Toggles the delete mark on a record
-    """
-    if self._resultSet.current.isDeleted():
-      self.undeleteRecord()
-    else:
-      self.deleteRecord()
-  
-  #
   # isEmpty()
   #
   def isEmpty(self):

Modified: trunk/gnue-forms/src/uidrivers/_base/UserActions.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/_base/UserActions.py 2005-09-21 09:04:24 UTC 
(rev 7936)
+++ trunk/gnue-forms/src/uidrivers/_base/UserActions.py 2005-09-21 10:53:22 UTC 
(rev 7937)
@@ -184,9 +184,15 @@
     UserAction(
        event="MARKFORDELETE",
        description=u_('Mark record for removal at next commit.'),
-       help=u_('Mark record for removal at next commit.') ),
+       help=u_('Mark record for removal at next commit.'),
+       canToggle='UNDELETE'),
 
     UserAction(
+       event='UNDELETE',
+       description=u_("Unmark record for removal at next commit."),
+       help=u_("Unmark record for removal at next commit.") ),
+
+    UserAction(
        event="NEXTBLOCK",
        description=u_('Navigate to the next data block.'),
        help=u_('Navigate to the next data block.') ),

Modified: trunk/gnue-forms/src/uidrivers/_commonGuiToolkit/MenuBar.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/_commonGuiToolkit/MenuBar.py 2005-09-21 
09:04:24 UTC (rev 7936)
+++ trunk/gnue-forms/src/uidrivers/_commonGuiToolkit/MenuBar.py 2005-09-21 
10:53:22 UTC (rev 7937)
@@ -148,7 +148,8 @@
        None,
        (u_('&Insert New Record'),"NEWRECORD"),
        None,
-       (u_('&Delete Current Record'),'MARKFORDELETE') ) ),
+       (u_('&Delete Current Record'),'MARKFORDELETE'),
+       (u_('&Undelete Current Record'),'UNDELETE') ) ),
 
    ( u_('&Navigation'), (
        (u_('&Next Entry'), "NEXTENTRY"),





reply via email to

[Prev in Thread] Current Thread [Next in Thread]