commit-gnue
[Top][All Lists]
Advanced

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

gnue/gnuef/src GFClient.py GFForm.py GFInstance...


From: Jason Cater
Subject: gnue/gnuef/src GFClient.py GFForm.py GFInstance...
Date: Fri, 20 Jul 2001 14:06:58 -0700

CVSROOT:        /home/cvs
Module name:    gnue
Branch:         gnuef-new-datasources
Changes by:     Jason Cater <address@hidden>    01/07/20 14:06:58

Modified files:
        gnuef/src      : GFClient.py GFForm.py GFInstance.py UIbase.py 
                         UIwxpython.py 
        gnuef/src/GFObjects: GFBlock.py GFEntry.py 

Log message:
        changes for jamest to view

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnuef/src/GFClient.py.diff?cvsroot=OldCVS&only_with_tag=gnuef-new-datasources&tr1=1.24.2.3&tr2=1.24.2.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnuef/src/GFForm.py.diff?cvsroot=OldCVS&only_with_tag=gnuef-new-datasources&tr1=1.110.2.12&tr2=1.110.2.13&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnuef/src/GFInstance.py.diff?cvsroot=OldCVS&only_with_tag=gnuef-new-datasources&tr1=1.16.2.7&tr2=1.16.2.8&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnuef/src/UIbase.py.diff?cvsroot=OldCVS&only_with_tag=gnuef-new-datasources&tr1=1.40.2.2&tr2=1.40.2.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnuef/src/UIwxpython.py.diff?cvsroot=OldCVS&only_with_tag=gnuef-new-datasources&tr1=1.104.2.9&tr2=1.104.2.10&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnuef/src/GFObjects/GFBlock.py.diff?cvsroot=OldCVS&only_with_tag=gnuef-new-datasources&tr1=1.4.2.12&tr2=1.4.2.13&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnuef/src/GFObjects/GFEntry.py.diff?cvsroot=OldCVS&only_with_tag=gnuef-new-datasources&tr1=1.2.2.8&tr2=1.2.2.9&r1=text&r2=text

Patches:
Index: gnue/gnuef/src/GFClient.py
diff -u gnue/gnuef/src/GFClient.py:1.23 gnue/gnuef/src/GFClient.py:1.24
--- gnue/gnuef/src/GFClient.py:1.23     Fri Jun 29 17:59:05 2001
+++ gnue/gnuef/src/GFClient.py  Mon Jul  2 10:54:19 2001
@@ -34,7 +34,7 @@
 #
 # Copyright (c) 2000 Free Software Foundation
 #
-# $Id: GFClient.py,v 1.23 2001/06/30 00:59:05 jamest Exp $
+# $Id: GFClient.py,v 1.24 2001/07/02 17:54:19 jcater Exp $
 #
 
 import pstats
@@ -52,6 +52,7 @@
 from gnue.common import GDebug
 from gnue.common import GConfig
 from gnue.common.GClientApp import * 
+from gnue.forms import VERSION
 
 class GFClient(GClientApp):
   #
Index: gnue/gnuef/src/GFForm.py
diff -u gnue/gnuef/src/GFForm.py:1.112 gnue/gnuef/src/GFForm.py:1.113
--- gnue/gnuef/src/GFForm.py:1.112      Thu Jul 12 20:56:13 2001
+++ gnue/gnuef/src/GFForm.py    Mon Jul 16 20:09:41 2001
@@ -783,6 +783,16 @@
             return message
     self._currentBlock.nextRecord()
 
+  def jumpRecord(self,count):
+    for block in self._blockList:
+      if hasattr(block,'master'):
+        masterBlock,masterField = string.split(block.master,'.')
+        if masterBlock == self._currentBlock.name:
+          if not block.isSaved():
+            message = GConfig.get('_msgNOTSAVED')
+            return message
+    self._currentBlock.jumpRecord(count)
+
 
   def toggleInsertMode(self):
     self._insertMode = not self._insertMode
Index: gnue/gnuef/src/GFInstance.py
diff -u gnue/gnuef/src/GFInstance.py:1.17 gnue/gnuef/src/GFInstance.py:1.18
--- gnue/gnuef/src/GFInstance.py:1.17   Thu Jul 12 20:56:13 2001
+++ gnue/gnuef/src/GFInstance.py        Mon Jul 16 20:09:41 2001
@@ -34,7 +34,7 @@
 #
 # Copyright (c) 2000 Free Software Foundation
 #
-# $Id: GFInstance.py,v 1.17 2001/07/13 03:56:13 jcater Exp $
+# $Id: GFInstance.py,v 1.18 2001/07/17 03:09:41 jamest Exp $
 #
 
 import pstats
@@ -72,7 +72,7 @@
                            'requestPREVBLOCK'    : self.previousBlock,
                            'requestPREVRECORD'   : self.prevRecord,
                            'requestNEXTRECORD'   : self.nextRecord,
-                           'requestJUMPRECORD'   : self.jumpRecords,
+                           'requestRECORDNUMBER' : self.jumpRecords,
                            'requestPAGE'         : self.gotoPage,
                            
                            'requestKEYPRESS'     : self.keyPress,
@@ -225,12 +225,18 @@
   # form move an arbitrary number of records
   #
   def jumpRecords(self,event):
-    count = event.data
-    for jumps in range(abs(count)):
-      if count > 0:
-        self._form.nextRecord()
-      if count < 0:
-        self._form.prevRecord()
+    try:
+      count = abs(int(event.data))-1
+    except ValueError:
+      message = "Invalid numeric value entered."
+    else:
+      message = self._form.jumpRecord(count)
+
+    if message:
+      messageBox = GFMsgBox(self,message)
+      messageBox.show()
+      return                    
+
     
self.dispatchEvent(GFEvent('gotoENTRY',{'object':self._form._currentEntry}))
     self.updateRecordCounter()
     self.updateRecordStatus()
Index: gnue/gnuef/src/GFObjects/GFBlock.py
diff -u gnue/gnuef/src/GFObjects/GFBlock.py:1.5 
gnue/gnuef/src/GFObjects/GFBlock.py:1.6
--- gnue/gnuef/src/GFObjects/GFBlock.py:1.5     Mon Jul 16 20:09:41 2001
+++ gnue/gnuef/src/GFObjects/GFBlock.py Wed Jul 18 15:45:01 2001
@@ -31,8 +31,7 @@
 # Copyright (c) 2000 Free Software Foundation
 #
 
-from gnue.common.GObjects import * 
-from gnue.common.dbdrivers.factory import factory
+#from gnue.common.GObjects import * 
 from gnue.forms.GFEvent import *
 from gnue.forms.GFObjects.GFDataSource import GFDataSource
 
@@ -41,7 +40,6 @@
 from GFObj import GFObj
 
 import string
-import types
 
 # These should really go somewhere else
 TRUE = 1
Index: gnue/gnuef/src/GFObjects/GFEntry.py
diff -u gnue/gnuef/src/GFObjects/GFEntry.py:1.5 
gnue/gnuef/src/GFObjects/GFEntry.py:1.6
--- gnue/gnuef/src/GFObjects/GFEntry.py:1.5     Mon Jul 16 20:09:41 2001
+++ gnue/gnuef/src/GFObjects/GFEntry.py Wed Jul 18 15:45:01 2001
@@ -31,18 +31,10 @@
 # Copyright (c) 2000 Free Software Foundation
 #
 
-from gnue.common.GObjects import * 
-from gnue.common.dbdrivers.factory import factory
-
 from gnue.common import GDebug
 from gnue.common import GConfig
 from GFValue import GFValue
 import string
-import types
-
-# These should really go somewhere else
-TRUE = 1
-FALSE = 0
 
 ############################################################
 # GFEntry
Index: gnue/gnuef/src/UIbase.py
diff -u gnue/gnuef/src/UIbase.py:1.39 gnue/gnuef/src/UIbase.py:1.40
--- gnue/gnuef/src/UIbase.py:1.39       Wed Jun 20 14:43:16 2001
+++ gnue/gnuef/src/UIbase.py    Wed Jun 20 16:34:50 2001
@@ -68,13 +68,7 @@
     global UI
     UI = __import__(self.getModule(), globals(), locals(), ['UIAbout'])
     
-    self.widgets = {'GFLabel'     : UI.UILabel,
-                    'GFBox'       : UI.UIBox,
-                    'GFPage'      : UI.UIPage,
-                    'GFForm'      : UI.UIForm,
-                    'GFEntry'     : UI.UIEntry,
-                    'GFButton'    : UI.UIButton,
-                    'GFScrollBar' : UI.UIScrollBar}
+    self.widgets = UI.WIDGETS
 
     self._loginHandler = None
 
@@ -356,7 +350,7 @@
 #
 
 class UIWidget:
-  def __init__(self, object, container, textWidth, textHeight, widgetWidth, 
widgetHeight, interface):
+  def __init__(self, object, container, textWidth, textHeight, widgetWidth, 
widgetHeight, interface, initialize=1):
     self.widgets = []
 
     if not hasattr(object,'visibleCount'):
@@ -378,10 +372,10 @@
       
     if not object.hidden:
       for spacer in range(int(object.visibleCount)):
-        newWidget = self.createWidget(object, container, textWidth, 
textHeight, widgetWidth, widgetHeight, interface, spacer)
+        newWidget = self.createWidget(object, container, textWidth, 
textHeight, widgetWidth, widgetHeight, interface, spacer, initialize)
         self.widgets.append(newWidget)
         
-  def createWidget(self, object, container, textWidth, textHeight, 
widgetWidth, widgetHeight, interface, spacer):
+  def createWidget(self, object, container, textWidth, textHeight, 
widgetWidth, widgetHeight, interface, spacer,initialize=1):
     GDebug.printMesg(1,"UI doesn't support %s" % self.__class__)
     
 
Index: gnue/gnuef/src/UIwxpython.py
diff -u gnue/gnuef/src/UIwxpython.py:1.104 gnue/gnuef/src/UIwxpython.py:1.105
--- gnue/gnuef/src/UIwxpython.py:1.104  Tue Jul  3 18:42:45 2001
+++ gnue/gnuef/src/UIwxpython.py        Mon Jul 16 20:09:41 2001
@@ -42,8 +42,6 @@
 _NOTEBOOK = None
 _LOOPTRAP = 0
 
-
-
 #
 # Little global helper routine to set font according to options
 #
@@ -226,6 +224,8 @@
     EVT_MENU(self, 201, lambda event, l=self: 
l.dispatchEvent(GFEvent('requestNEXTRECORD')))
     dataMenu.Append( 202, "Previous Record   
(Down)",GConfig.get('msg_previous'))
     EVT_MENU(self, 202, lambda event, l=self: 
l.dispatchEvent(GFEvent('requestPREVRECORD')))
+    dataMenu.Append( 209, "Jump to Record...     (F2)",GConfig.get('msg_jump'))
+    EVT_MENU(self, 209, self.promptForRecordNumber)
     dataMenu.Append( 203, "New Record           
(F12)",GConfig.get('msg_insert'))
     EVT_MENU(self, 203, lambda event, l=self: 
l.dispatchEvent(GFEvent('requestNEWRECORD')))
     dataMenu.Append( 204, "Delete Record          
(F5)",GConfig.get('msg_delete'))
@@ -438,6 +438,19 @@
     self.mainWindow.Close()
 
   #
+  # promptForRecordNumber
+  #
+  # Presents a dialog to user asking for the record number to jump to
+  #
+  def promptForRecordNumber(self, event= None):
+    dlg = wxTextEntryDialog(self.mainWindow, 'Enter record number to jump to',
+                                                        'Which record?')
+    if dlg.ShowModal() == wxID_OK:
+      self.dispatchEvent(GFEvent('requestRECORDNUMBER', dlg.GetValue()))
+      dlg.Destroy()
+                      
+
+  #
   # closeTrap
   #
   # intercepts the applications closure and generates an event to the form 
requesting
@@ -480,6 +493,9 @@
           elif (1728 <= event.KeyCode() <= 1791):
             offset = 1536
             action = GFEvent('requestKEYPRESS',chr(event.KeyCode()-offset))
+          elif event.KeyCode() == WXK_F2:
+            self.promptForRecordNumber()
+
             
     #
     # Mouse Events
@@ -1007,6 +1023,7 @@
 class UIMessageBox(wxMessageDialog, UIHelper):
   def __init__(self, interface, message, caption):
     wxMessageDialog.__init__(self, interface, message, caption, 
style=wxOK|wxICON_EXCLAMATION)
+
 
 
 



reply via email to

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