+ fixed text bug in Draft taskview

git-svn-id: https://free-cad.svn.sourceforge.net/svnroot/free-cad/trunk@5077 e8eeb9e2-ec13-0410-a4a9-efa5cf37419d
This commit is contained in:
yorikvanhavre 2011-10-28 14:36:34 +00:00
parent 92a48eb14a
commit bb29938c7f

View File

@ -159,6 +159,7 @@ class DraftToolBar:
self.state = None self.state = None
self.textbuffer = [] self.textbuffer = []
self.crossedViews = [] self.crossedViews = []
self.isTaskOn = False
if self.taskmode: if self.taskmode:
# only a dummy widget, since widgets are created on demand # only a dummy widget, since widgets are created on demand
@ -319,6 +320,7 @@ class DraftToolBar:
QtCore.QObject.connect(self.radiusValue,QtCore.SIGNAL("textEdited(QString)"),self.checkSpecialChars) QtCore.QObject.connect(self.radiusValue,QtCore.SIGNAL("textEdited(QString)"),self.checkSpecialChars)
QtCore.QObject.connect(self.zValue,QtCore.SIGNAL("returnPressed()"),self.validatePoint) QtCore.QObject.connect(self.zValue,QtCore.SIGNAL("returnPressed()"),self.validatePoint)
QtCore.QObject.connect(self.radiusValue,QtCore.SIGNAL("returnPressed()"),self.validatePoint) QtCore.QObject.connect(self.radiusValue,QtCore.SIGNAL("returnPressed()"),self.validatePoint)
QtCore.QObject.connect(self.textValue,QtCore.SIGNAL("textChanged(QString)"),self.storeCurrentText)
QtCore.QObject.connect(self.textValue,QtCore.SIGNAL("returnPressed()"),self.sendText) QtCore.QObject.connect(self.textValue,QtCore.SIGNAL("returnPressed()"),self.sendText)
QtCore.QObject.connect(self.textValue,QtCore.SIGNAL("escaped()"),self.finish) QtCore.QObject.connect(self.textValue,QtCore.SIGNAL("escaped()"),self.finish)
QtCore.QObject.connect(self.textValue,QtCore.SIGNAL("down()"),self.sendText) QtCore.QObject.connect(self.textValue,QtCore.SIGNAL("down()"),self.sendText)
@ -454,6 +456,7 @@ class DraftToolBar:
def taskUi(self,title): def taskUi(self,title):
if self.taskmode: if self.taskmode:
self.isTaskOn = True
FreeCADGui.Control.closeDialog() FreeCADGui.Control.closeDialog()
self.baseWidget = QtGui.QWidget() self.baseWidget = QtGui.QWidget()
self.setTitle(title) self.setTitle(title)
@ -523,6 +526,7 @@ class DraftToolBar:
def offUi(self): def offUi(self):
if self.taskmode: if self.taskmode:
self.isTaskOn = False
FreeCADGui.Control.closeDialog() FreeCADGui.Control.closeDialog()
self.baseWidget = QtGui.QWidget() self.baseWidget = QtGui.QWidget()
# print "UI turned off" # print "UI turned off"
@ -843,6 +847,13 @@ class DraftToolBar:
if spec and (not self.taskmode): if spec and (not self.taskmode):
for i in [self.xValue,self.yValue,self.zValue]: for i in [self.xValue,self.yValue,self.zValue]:
if (i.text() == txt): i.setText("") if (i.text() == txt): i.setText("")
def storeCurrentText(self,qstr):
self.currEditText = self.textValue.text()
def setCurrentText(self,tstr):
if (not self.taskmode) or (self.taskmode and self.isTaskOn):
self.textValue.setText(tstr)
def sendText(self): def sendText(self):
''' '''
@ -851,19 +862,19 @@ class DraftToolBar:
''' '''
if self.textline == len(self.textbuffer): if self.textline == len(self.textbuffer):
if self.textline: if self.textline:
if not self.textValue.text(): if not self.currEditText:
self.sourceCmd.text=self.textbuffer self.sourceCmd.text=self.textbuffer
self.sourceCmd.createObject() self.sourceCmd.createObject()
self.textbuffer.append(self.textValue.text()) self.textbuffer.append(self.currEditText)
self.textline += 1 self.textline += 1
self.textValue.setText('') self.setCurrentText('')
elif self.textline < len(self.textbuffer): elif self.textline < len(self.textbuffer):
self.textbuffer[self.textline] = self.textValue.text() self.textbuffer[self.textline] = self.currEditText
self.textline += 1 self.textline += 1
if self.textline < len(self.textbuffer): if self.textline < len(self.textbuffer):
self.textValue.setText(self.textbuffer[self.textline]) self.setCurrentText(self.textbuffer[self.textline])
else: else:
self.textValue.setText('') self.setCurrentText('')
def lineUp(self): def lineUp(self):
"displays previous line in text editor" "displays previous line in text editor"