[Top][All Lists]
[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:
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnue/gnuef client/gfclient src/GFForm.py src/GF...,
James Thompson <=