commit-gnue
[Top][All Lists]
Advanced

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

gnue/gnuef client/gfclient src/GFForm.py src/GF...


From: James Thompson
Subject: gnue/gnuef client/gfclient src/GFForm.py src/GF...
Date: Sun, 15 Apr 2001 14:42:52 -0700

CVSROOT:        /cvs
Module name:    gnue
Changes by:             01/04/15 14:42:52

Modified files:
        gnuef/client   : gfclient 
        gnuef/src      : GFForm.py GFObjects.py UIbase.py UIwxpython.py 

Log message:
        Added ra3vat's checkbox support

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnuef/client/gfclient.diff?cvsroot=OldCVS&tr1=1.31&tr2=1.32&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnuef/src/GFForm.py.diff?cvsroot=OldCVS&tr1=1.88&tr2=1.89&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnuef/src/GFObjects.py.diff?cvsroot=OldCVS&tr1=1.79&tr2=1.80&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnuef/src/UIbase.py.diff?cvsroot=OldCVS&tr1=1.32&tr2=1.33&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnuef/src/UIwxpython.py.diff?cvsroot=OldCVS&tr1=1.81&tr2=1.82&r1=text&r2=text

Patches:
Index: gnue/gnuef/client/gfclient
diff -u gnue/gnuef/client/gfclient:1.31 gnue/gnuef/client/gfclient:1.32
--- gnue/gnuef/client/gfclient:1.31     Fri Apr 13 04:49:42 2001
+++ gnue/gnuef/client/gfclient  Sun Apr 15 14:42:52 2001
@@ -16,7 +16,7 @@
 #
 # Copyright (c) 2000 Free Software Foundation
 #
-# $Id: gfclient,v 1.31 2001/04/13 11:49:42 jcater Exp $
+# $Id: gfclient,v 1.32 2001/04/15 21:42:52 jamest Exp $
 #
 
 import pstats
@@ -85,6 +85,8 @@
                            'requestEXIT'       : self.executeExit,
                            'requestABOUT'      : self.executeAbout,
                            'fireTRIGGER'       : self.fireTrigger,
+
+                           'requestTOGGLECHKBOX'  : self.toggleCheckBox,       
                    
                            }
     
     # Init database list
@@ -417,7 +419,13 @@
   #
   def fireTrigger(self, event):
     self.form.fireTrigger(event.data)
-                                                      
+
+
+  def toggleCheckBox(self, event):
+    object = event.data[0]
+    value = event.data[1]
+    object.setValue(value)
+    
 
 #
 # old stuff still in use
Index: gnue/gnuef/src/GFForm.py
diff -u gnue/gnuef/src/GFForm.py:1.88 gnue/gnuef/src/GFForm.py:1.89
--- gnue/gnuef/src/GFForm.py:1.88       Fri Apr 13 05:59:58 2001
+++ gnue/gnuef/src/GFForm.py    Sun Apr 15 14:42:52 2001
@@ -132,7 +132,11 @@
   def initEntries(self, object):
     if object.getObjectType() == 'GFEntry':
       object.initialize()
-      object.value = object.block.dataSourceLink.getField(0,object.field)
+      value = object.block.dataSourceLink.getField(0,object.field)
+      if value=='':
+        if hasattr(object, 'style') and object.style=='checkbox':
+          value = 0
+      object.value = value
 
   def initLabels(self, object):
     if object.getObjectType() == 'GFLabel':
Index: gnue/gnuef/src/GFObjects.py
diff -u gnue/gnuef/src/GFObjects.py:1.79 gnue/gnuef/src/GFObjects.py:1.80
--- gnue/gnuef/src/GFObjects.py:1.79    Fri Apr 13 11:17:56 2001
+++ gnue/gnuef/src/GFObjects.py Sun Apr 15 14:42:52 2001
@@ -27,6 +27,9 @@
 #
 # NOTES:
 #
+# HISTORY:
+# Copyright (c) 2000 Free Software Foundation
+#
 
 from gnue.common.GObjects import * 
 from GFEvent import *
@@ -419,7 +422,24 @@
       if hasattr(self.block,'rowSpacer'):
         self.gap = self.block.rowSpacer
 
+    #following check does not work if move it to GFEntry.__init__ (ra3vat) 
+    if hasattr(self, 'style'):
+      if self.style=='checkbox':
+        self.value = 0
+
+  def getValue(self):
+    #CheckBox does not work if comment following "if" block (ra3vat)
+    if self.value=='':
+      if hasattr(self, 'style') and self.style=='checkbox':
+        self.value = 0
+    GFDebug.printMesg(10, "Value = %s"% self.value)
+    return self.value
+
+
   def setValue(self, value):
+    if value=='':
+      if hasattr(self, 'style') and self.style=='checkbox':
+        value = 0
     self.value = value
     self.block.dataSourceLink.setField(self.block.currentRecord,
                                        self.field,self.value)
@@ -716,8 +736,11 @@
   #
   def setField(self,recordNumber,fieldName,value,internalCall=FALSE):
     if len(self.resultSet) > recordNumber:
-      if len(value) == 0:
-        value = None
+
+      #CheckBox does not work if uncomment these (ra3vat)
+      #if len(value) == 0:
+      #  value = None
+
 
       # Believed fixed but leaving comment in for now just in case - jamest
       # Hack warning - the value != None is catching an error in the code
Index: gnue/gnuef/src/UIbase.py
diff -u gnue/gnuef/src/UIbase.py:1.32 gnue/gnuef/src/UIbase.py:1.33
--- gnue/gnuef/src/UIbase.py:1.32       Fri Apr 13 11:17:56 2001
+++ gnue/gnuef/src/UIbase.py    Sun Apr 15 14:42:52 2001
@@ -286,6 +286,8 @@
       value = 
block.dataSourceLink.getField(currentRecord-(index-count),event.data.field)
       if style == 'dropdown':
         value = event.data.allowedValues()[value]
+      elif style == 'checkbox':
+        value = int(value)   
 
       self.formToUIWidget[event.data].setValue(value,count)
 
@@ -294,25 +296,33 @@
       value = event.data.allowedValues()[event.data.getValue()]
     else:
       value = event.data.getValue()
-      
-    self.formToUIWidget[event.data].setValue(value, index)
-    
self.formToUIWidget[event.data].setCursorPosition(event.data.cursorPosition, 
index)
 
+    if style == 'checkbox':
+      value = int(event.data.getValue())
+      self.formToUIWidget[event.data].setValue(value, index)
+    else:
+      self.formToUIWidget[event.data].setValue(value, index)
+      
self.formToUIWidget[event.data].setCursorPosition(event.data.cursorPosition, 
index)
+
     # Fill trailing spots
     #
     # You must skip the matching index but
     # you do not want to just add 1 to count
     # as the formulas would then be off
     count = index
-  
     while count < int(event.data.visibleCount):
       if count != index:
         if currentRecord+(count-index) > block.recordCount:
-          value = ""
+          if style == 'checkbox':
+            value = int(0)
+          else:  
+            value = ""
         else:
           value = 
block.dataSourceLink.getField(currentRecord+(count-index),event.data.field)
           if style == 'dropdown':
             value = event.data.allowedValues()[value]
+          elif style == 'checkbox':
+            value = int(value)
         self.formToUIWidget[event.data].setValue(value, count)
       count = count +1
                                                                                
                                                                   
Index: gnue/gnuef/src/UIwxpython.py
diff -u gnue/gnuef/src/UIwxpython.py:1.81 gnue/gnuef/src/UIwxpython.py:1.82
--- gnue/gnuef/src/UIwxpython.py:1.81   Fri Apr 13 04:49:08 2001
+++ gnue/gnuef/src/UIwxpython.py        Sun Apr 15 14:42:52 2001
@@ -443,10 +443,23 @@
             self.dispatchEvent(GFEvent('requestJUMPRECORD',count - 
key._visibleIndex))
             break
             
+    #
+    # ra3vat CheckBox Events 
+    #
+    elif event.GetEventType() == wxEVT_COMMAND_CHECKBOX_CLICKED:
+      # hack for swig shortcomming 
+      eo = event.GetEventObject()
+# CheckBox does not work if uncomment this instead of next line (ra3vat)       
+##      object = wxPyTypeCast(eo, 'wxWindow')
+      object = wxPyTypeCast(eo, 'wxCheckBox')
+      
       for key in self.formToUI.keys():
         for count in range(len(self.formToUI[key][0])):
           if self.formToUI[key][0][count].GetId() == object.GetId():
+            self.dispatchEvent(GFEvent('requestFOCUS',key))
+            eventdata = [key, object.GetValue()]
             self.dispatchEvent(GFEvent('requestJUMPRECORD',count - 
key._visibleIndex))
+            self.dispatchEvent(GFEvent('requestTOGGLECHKBOX',eventdata))
             break
 
     #
@@ -725,7 +738,21 @@
       newWidget.SetValue("")
 
       EVT_CHAR(newWidget, interface.uiEventTrap)
-      EVT_COMBOBOX(newWidget, newWidget.GetId(), interface.uiEventTrap)        
 
+      EVT_COMBOBOX(newWidget, newWidget.GetId(), interface.uiEventTrap)
+    elif style == 'checkbox':
+      style = object.style
+      
+      newWidget = wxCheckBox(container, -1, "",
+                             wxPoint(int(object.x)*int(widgetWidth),
+                                     
(int(object.y)+spacer+(object.gap*spacer))*int(widgetHeight)),
+                             wxSize(int(2)*int(textWidth),
+                                    int(1)*int(textHeight)), wxNO_BORDER)
+#                                 wxSize(int(object.width)*int(self.textWidth),
+#                                        
int(object.height)*int(self.textHeight)), wxNO_BORDER)
+      newWidget.SetValue(0)
+      
+      EVT_CHECKBOX(newWidget, newWidget.GetId(), interface.uiEventTrap)
+      
     else:
       styles = wxTE_PROCESS_TAB
       if int(object.height) > 1:



reply via email to

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