commit-gnue
[Top][All Lists]
Advanced

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

gnue/gnuef TODO src/GFForm.py src/GFObjects.py ...


From: James Thompson
Subject: gnue/gnuef TODO src/GFForm.py src/GFObjects.py ...
Date: Wed, 01 Nov 2000 18:57:31 -0800

CVSROOT:        /cvs
Module name:    gnue
Changes by:     James Thompson <address@hidden> 00/11/01 18:57:30

Modified files:
        gnuef          : TODO 
        gnuef/src      : GFForm.py GFObjects.py UIwxpython.py 
        gnuef/src/drivers/postgresql: DBdriver.py 

Log message:
        Hack to prevent UI corruption after commit
        Fixed bug that causes empty queries to corrupt record index
        Removed some print lines
        Tinkered w/ login dialog ideas
        TODO updates

CVSWeb URLs:
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/TODO.diff?r1=1.16&r2=1.17
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/src/GFForm.py.diff?r1=1.31&r2=1.32
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/src/GFObjects.py.diff?r1=1.28&r2=1.29
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/src/UIwxpython.py.diff?r1=1.24&r2=1.25
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/src/drivers/postgresql/DBdriver.py.diff?r1=1.4&r2=1.5

Patches:
Index: gnue/gnuef/TODO
diff -u gnue/gnuef/TODO:1.16 gnue/gnuef/TODO:1.17
--- gnue/gnuef/TODO:1.16        Tue Oct 31 22:13:02 2000
+++ gnue/gnuef/TODO     Wed Nov  1 18:57:30 2000
@@ -4,13 +4,18 @@
 
 **MUST HAVES for 0.1.0
 **  Create UI/Form event interactions for login
-**  debug master/detail, UI, delete purges
-**  make packages (RPM and deb) [jade]
-**  curses support up to date [arno]
+**  debug master/detail
 **  Make GFDataSource verify that all records in memory are saved
        prior to clearing and new queries
 **  windows support (ODBC?)
-**  cvs cleanup
+**  make packages (RPM and deb) [jade]
+**  curses support up to date [arno]
+**  cvs cleanup[jamest]
+
+  creating a new record and marking for delete prior to any commit
+    still causes record to commit
+
+  status bar not updating as soon as I'd like
 
   fill in todo list (easy as there is a lot of DOs to TO) [everyone]
 
Index: gnue/gnuef/src/GFForm.py
diff -u gnue/gnuef/src/GFForm.py:1.31 gnue/gnuef/src/GFForm.py:1.32
--- gnue/gnuef/src/GFForm.py:1.31       Tue Oct 31 21:06:33 2000
+++ gnue/gnuef/src/GFForm.py    Wed Nov  1 18:57:30 2000
@@ -55,9 +55,7 @@
 
                            'recordSWITCHED'    : self.recordSwitched,
                            'notifyMASTERSWITCH': self.notifyDetailBlocks,
-#                           'requestLOGIN'     : self.requestLogin,
                            'uiINITIALIZED'     : self.uiInitialized
-
                            }
 
     self.databaseDictionary = {}
@@ -504,8 +502,8 @@
   def uiInitialized(self,event):
 
     self.loginInProgress = 1
-    
-    self.dispatchEvent(GFEvent('requireLogin',self))
+    print "login required"
+    self.dispatchEvent(GFEvent('requireLOGIN',self))
 
     while self.loginInProgress:
       print "We're up dude!"
Index: gnue/gnuef/src/GFObjects.py
diff -u gnue/gnuef/src/GFObjects.py:1.28 gnue/gnuef/src/GFObjects.py:1.29
--- gnue/gnuef/src/GFObjects.py:1.28    Tue Oct 31 21:06:33 2000
+++ gnue/gnuef/src/GFObjects.py Wed Nov  1 18:57:30 2000
@@ -288,13 +288,17 @@
     if GFOptions.DEBUG:
       print "processing commit"
     self.mode='commit'
-    
self.dispatchEvent(GFEvent('switchRECORD',[self.currentRecord,self.currentRecord]));
+    self.dispatchEvent(GFEvent('requestNEXTRECORD'));
     self.dataSourceLink.commit()
+    self.recordCount   = 
self.form.datasourceDictionary[self.datasource].getLastRecordNumber()
+    self.currentRecord = 0
 
     # Switch to first record
-    self.currentRecord = 0
-    self.recordCount   = 
self.form.datasourceDictionary[self.datasource].getLastRecordNumber()
-    self.dispatchEvent(GFEvent('switchRECORD',[-1,self.currentRecord]))
+    self.dispatchEvent(GFEvent('switchRECORD',[-1,0]));
+    self.dispatchEvent(GFEvent('requestPREVRECORD',None))
+    self.dispatchEvent(GFEvent('requestNEXTRECORD',None))
+
+    
self.dispatchEvent(GFEvent('uiUPDATESTATUS',[None,None,None,self.currentRecord,self.recordCount]))
     self.mode='normal'
 
   #
@@ -332,6 +336,10 @@
           self.dispatchEvent(GFEvent('switchRECORD',[0,0]));
           self.dataSourceLink.query()
           self.recordCount = 
self.form.datasourceDictionary[self.datasource].getLastRecordNumber()
+          if self.recordCount < 0:
+            self.dataSourceLink.clear()
+            self.recordCount = 
self.form.datasourceDictionary[self.datasource].getLastRecordNumber()
+                            
           self.dispatchEvent(GFEvent('switchRECORD',[-1,0]));
           self.currentRecord = 0
           
self.dispatchEvent(GFEvent('uiUPDATESTATUS',[None,None,None,self.currentRecord,self.recordCount]))
 
@@ -556,10 +564,8 @@
               mask[self.dataConnection.uniqueKey] = \
                 mask[self.dataConnection.uniqueKey] * -1
               self.dataConnection.delete(self.table,mask)
-              del self.resultSet[count]
-              del self.resultSetStatus[count]
-              if len(self.resultSet) == 0:
-                self.clear()
+              # flip negative again so upcomming list purge see's the negatives
+              mask[self.dataConnection.uniqueKey] = -1
               
           else:
             if GFOptions.DEBUG:
@@ -570,9 +576,22 @@
               self.resultSet[count][newkey] = result[newkey]
             
       self.dataConnection.commit()
-      for count in range(len(self.resultSet)):
-        self.resultSetStatus[count] == 'saved'
 
+
+      # Clean up record list
+      count = 0
+      self.resultSetStatus = []
+      while (count < len(self.resultSet)):
+        if self.resultSet[count][self.dataConnection.uniqueKey] < 0:
+          del self.resultSet[count]
+        else:
+          count = count + 1
+          self.resultSetStatus.append('saved')
+
+      if len(self.resultSet) == 0:
+        self.clear()
+
+
       # Reset the internal type to string so things like len() work properly
       for count in range(len(self.resultSet)):
         for key in self.resultSet[count].keys():
@@ -587,10 +606,6 @@
     self.resultSetStatus.append('saved')
 
   def markForRemoval(self,recordNumber):
-    print "ID was ",self.resultSet[recordNumber][self.dataConnection.uniqueKey]
-    print "type was 
",type(self.resultSet[recordNumber][self.dataConnection.uniqueKey])
-    print "Will now be 
",int(self.resultSet[recordNumber][self.dataConnection.uniqueKey]) * -1
-    
     self.resultSet[recordNumber][self.dataConnection.uniqueKey] = \
       int(self.resultSet[recordNumber][self.dataConnection.uniqueKey]) * -1
     self.resultSetStatus[recordNumber] = 'modified'
Index: gnue/gnuef/src/UIwxpython.py
diff -u gnue/gnuef/src/UIwxpython.py:1.24 gnue/gnuef/src/UIwxpython.py:1.25
--- gnue/gnuef/src/UIwxpython.py:1.24   Tue Oct 31 21:06:33 2000
+++ gnue/gnuef/src/UIwxpython.py        Wed Nov  1 18:57:30 2000
@@ -62,6 +62,7 @@
                            'updateENTRY'  : self.updateEntry,
                            'gotoPAGE'     : self.gotoPage,
                            'formALERT'    : self.formAlert,
+                           'requireLOGIN' : self.getLogin,
                            'uiNEXTRECORD' : self.adjustMultiView,
                            'uiPREVRECORD' : self.adjustMultiView,
                            'uiUPDATESTATUS': self.updateStatus
@@ -463,6 +464,12 @@
                           "  F9: Execute query with current mask\n"
                           " F12: Add new record\n",
                           "About Me", wxOK | wxICON_INFORMATION)
+    dlg.ShowModal()
+    dlg.Destroy()
+
+  def getLogin(self,event):
+    print "trying to get it now dude"
+    dlg = wxDialog(self.frame, -1, "Login Required")
     dlg.ShowModal()
     dlg.Destroy()
 
Index: gnue/gnuef/src/drivers/postgresql/DBdriver.py
diff -u gnue/gnuef/src/drivers/postgresql/DBdriver.py:1.4 
gnue/gnuef/src/drivers/postgresql/DBdriver.py:1.5
--- gnue/gnuef/src/drivers/postgresql/DBdriver.py:1.4   Fri Oct 27 12:59:27 2000
+++ gnue/gnuef/src/drivers/postgresql/DBdriver.py       Wed Nov  1 18:57:30 2000
@@ -43,8 +43,6 @@
     return mask
   
   def delete(self,table,mask):
-    print "I'm deleting "
-    print mask
     self.connection.delete(table,mask)
 
   def update(self,table,mask):



reply via email to

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