[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue designer/src/forms/LayoutEditor/LayoutEdit...
From: |
Jason Cater |
Subject: |
gnue designer/src/forms/LayoutEditor/LayoutEdit... |
Date: |
Tue, 02 Apr 2002 17:14:02 -0500 |
CVSROOT: /cvsroot/gnue
Module name: gnue
Changes by: Jason Cater <address@hidden> 02/04/02 17:14:01
Modified files:
designer/src/forms/LayoutEditor: LayoutEditor.py
WidgetHandler.py
WidgetHighlighter.py
forms/src/uidrivers/_base: UIWidget.py
forms/src/uidrivers/wx: UIdriver.py
Log message:
code cleanup; misc bug fixes
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/LayoutEditor/LayoutEditor.py.diff?tr1=1.17&tr2=1.18&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/LayoutEditor/WidgetHandler.py.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/LayoutEditor/WidgetHighlighter.py.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/_base/UIWidget.py.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/wx/UIdriver.py.diff?tr1=1.159&tr2=1.160&r1=text&r2=text
Patches:
Index: gnue/designer/src/forms/LayoutEditor/LayoutEditor.py
diff -c gnue/designer/src/forms/LayoutEditor/LayoutEditor.py:1.17
gnue/designer/src/forms/LayoutEditor/LayoutEditor.py:1.18
*** gnue/designer/src/forms/LayoutEditor/LayoutEditor.py:1.17 Tue Apr 2
15:32:55 2002
--- gnue/designer/src/forms/LayoutEditor/LayoutEditor.py Tue Apr 2
17:14:01 2002
***************
*** 157,162 ****
--- 157,163 ----
def onCreateObject (self, object, handler):
+
self._currentSelection = {}
if object == None:
return
***************
*** 178,195 ****
if object == None:
return
! # TODO: adjust label width to match new length...this shouldn't be here
! mods = []
! for modification in modifications:
! mods.append(modification)
!
if object._type == 'GFLabel':
for modification in modifications:
field, value = modification
if field=='text':
! if (not hasattr(object,'alignment')) or ( object.alignment ==
'left'):
! object.width=len(value)
! mods.append( ('width',len(value)) )
self.propBar.onModifyObject(object, handler, mods)
--- 179,195 ----
if object == None:
return
! # TODO: adjust label width to match new length...this shouldn't be here
if object._type == 'GFLabel':
for modification in modifications:
field, value = modification
if field=='text':
! #TODO: this will butcher align=center setups
! if (not hasattr(object,'alignment')) or ( object.alignment ==
'left'):
! object.width=len(value)
! mods.append( ('width',len(value)) )
! else:
! mods = modifications
self.propBar.onModifyObject(object, handler, mods)
***************
*** 198,204 ****
if object._type == 'GFPage':
self.notebook.SetPageText(self._notebookMap[object],object.name)
self.notebook.SetSelection(self.notebook.GetSelection())
! else:
page = object.findParentOfType('GFPage')
if page:
self._setCurrentPage(page)
--- 198,204 ----
if object._type == 'GFPage':
self.notebook.SetPageText(self._notebookMap[object],object.name)
self.notebook.SetSelection(self.notebook.GetSelection())
! else:
page = object.findParentOfType('GFPage')
if page:
self._setCurrentPage(page)
***************
*** 208,213 ****
--- 208,216 ----
def onDeleteObject (self, object, handler):
+
+ self._currentObject = None
+
if object == None:
return
if handler != "Forms::LayoutEditor":
***************
*** 218,225 ****
del self._notebookMap[int(len(self._notebookMap.keys())/2)-1]
del self._notebookMap[object]
self.notebook.DeletePage(index)
! if hasattr(object, '_widgetHandler') and object._widgetHandler != None:
! object._widgetHandler.Destroy()
def refreshPage(self, page):
try:
--- 221,244 ----
del self._notebookMap[int(len(self._notebookMap.keys())/2)-1]
del self._notebookMap[object]
self.notebook.DeletePage(index)
!
! if hasattr(object, '_widgetHandler') and object._widgetHandler != None:
! try:
! del self._currentSelection[object._widgetHandler]
! except KeyError:
! pass
!
! for i in range(len(self.widgetList)):
! if self.widgetList[i] == object:
! self.widgetList.pop(i)
! break
!
! object._widget.cleanup(object)
! object._widget._object = None
! object._widget = None
! object._widgetHandler.Destroy()
! object._widgetHandler = None
!
def refreshPage(self, page):
try:
***************
*** 254,260 ****
maxWidth, maxHeight, maxDescent, maxLeading = [0,0,0,0]
- # need to add string.punctionation if we dump python 1.5.2
checkchars = string.letters+string.digits+"-\|" + string.punctuation
for letter in checkchars:
width,height,descent,leading = self.panel.GetFullTextExtent(letter)
--- 273,278 ----
Index: gnue/designer/src/forms/LayoutEditor/WidgetHandler.py
diff -c gnue/designer/src/forms/LayoutEditor/WidgetHandler.py:1.2
gnue/designer/src/forms/LayoutEditor/WidgetHandler.py:1.3
*** gnue/designer/src/forms/LayoutEditor/WidgetHandler.py:1.2 Wed Jan 30
15:48:16 2002
--- gnue/designer/src/forms/LayoutEditor/WidgetHandler.py Tue Apr 2
17:14:01 2002
***************
*** 313,319 ****
# Recursively destroy this widget set
#
def Destroy(self):
! self.highlightBox.Destroy()
! for widget in self.mainWidget.widgets:
! widget.Destroy()
--- 313,326 ----
# Recursively destroy this widget set
#
def Destroy(self):
!
! # TODO: Why the fsck can't I Destroy() this thing!?!??!?
! self.widget.Show(0)
+ self.instance = None
+ self.object = None
+ self.highlightBox.Destroy()
+ self.highlightBox = None
+ self._popup_editor = None
+ self.widget = None
+ self.mainWidget = None
Index: gnue/designer/src/forms/LayoutEditor/WidgetHighlighter.py
diff -c gnue/designer/src/forms/LayoutEditor/WidgetHighlighter.py:1.1
gnue/designer/src/forms/LayoutEditor/WidgetHighlighter.py:1.2
*** gnue/designer/src/forms/LayoutEditor/WidgetHighlighter.py:1.1 Wed Jan
30 12:29:46 2002
--- gnue/designer/src/forms/LayoutEditor/WidgetHighlighter.py Tue Apr 2
17:14:01 2002
***************
*** 53,58 ****
--- 53,60 ----
panelColor.Blue()-16)
self.activeBorderColor = wxBLUE
+
+ # Draw the lines comprising the highlights
def createHighlights(self):
if self.north:
self.Destroy()
***************
*** 64,69 ****
--- 66,88 ----
EVT_PAINT(object, self.OnPaint)
self.setBoundary(self.x1, self.y1, self.x2, self.y2)
+
+ # Delete the lines comprising the highlights
+ def deleteHighlights(self):
+ if self.west:
+ self.west.Destroy()
+ if self.east:
+ self.east.Destroy()
+ if self.north:
+ self.north.Destroy()
+ if self.south:
+ self.south.Destroy()
+ self.west = None
+ self.east = None
+ self.north = None
+ self.south = None
+
+
def setBoundary(self, x1, y1, x2, y2):
self.x1 = x1
self.y1 = y1
***************
*** 94,104 ****
object.Refresh()
def Destroy(self):
! for object in (self.north,self.south,self.east,self.west):
! if object != None:
! object.Destroy()
! self.north = self.south = self.east = self.west = None
!
def setSelected (self, selected):
if selected:
--- 113,119 ----
object.Refresh()
def Destroy(self):
! self.deleteHighlights()
def setSelected (self, selected):
if selected:
***************
*** 106,123 ****
self.createHighlights()
self.Refresh()
else:
! if self.west:
! self.west.Destroy()
! if self.east:
! self.east.Destroy()
! if self.north:
! self.north.Destroy()
! if self.south:
! self.south.Destroy()
! self.west = None
! self.east = None
! self.north = None
! self.south = None
def reconfigure(self, event):
self.Refresh()
--- 121,127 ----
self.createHighlights()
self.Refresh()
else:
! self.deleteHighlights()
def reconfigure(self, event):
self.Refresh()
Index: gnue/forms/src/uidrivers/_base/UIWidget.py
diff -c gnue/forms/src/uidrivers/_base/UIWidget.py:1.2
gnue/forms/src/uidrivers/_base/UIWidget.py:1.3
*** gnue/forms/src/uidrivers/_base/UIWidget.py:1.2 Fri Feb 22 20:08:16 2002
--- gnue/forms/src/uidrivers/_base/UIWidget.py Tue Apr 2 17:14:01 2002
***************
*** 61,66 ****
--- 61,67 ----
widgetWidth, widgetHeight, interface,
spacer, initialize)
self.widgets.append(newWidget)
+
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/forms/src/uidrivers/wx/UIdriver.py
diff -c gnue/forms/src/uidrivers/wx/UIdriver.py:1.159
gnue/forms/src/uidrivers/wx/UIdriver.py:1.160
*** gnue/forms/src/uidrivers/wx/UIdriver.py:1.159 Thu Mar 28 02:56:51 2002
--- gnue/forms/src/uidrivers/wx/UIdriver.py Tue Apr 2 17:14:01 2002
***************
*** 70,76 ****
def getWxApp():
global __wxApp
!
if not __wxApp:
GDebug.printMesg(7,"WxApp initializing3")
__wxApp = GFwxApp(0)
--- 70,76 ----
def getWxApp():
global __wxApp
!
if not __wxApp:
GDebug.printMesg(7,"WxApp initializing3")
__wxApp = GFwxApp(0)
***************
*** 532,538 ****
#
# A set of standard UI objects that allow us to move more code into UIbase
# These map generic functionality to the specific UI widget set in use by
! # this driver.
#
#############################################################################
#############################################################################
--- 532,538 ----
#
# A set of standard UI objects that allow us to move more code into UIbase
# These map generic functionality to the specific UI widget set in use by
! # this driver.
#
#############################################################################
#############################################################################
***************
*** 572,583 ****
--- 572,595 ----
except (AttributeError, TypeError):
pass # For label-style & dropdown entries
+
def _addToCrossRef(self, widget,gfobject, uiobject):
id = widget.GetId()
_IdToWxObj[id]=widget
_IdToGFObj[id]=gfobject
_IdToUIObj[id]=uiobject
+
+ def _deleteFromCrossRef(self, widget, object):
+ id = widget.GetId()
+ try:
+ del _IdToWxObj[id]
+ del _IdToGFObj[id]
+ del _IdToUIObj[id]
+ except:
+ pass
+
+
def createWidget(self, object, container, textWidth, textHeight,
widgetWidth, widgetHeight, interface, spacer,initialize=1):
***************
*** 586,591 ****
--- 598,613 ----
initFont(newWidget)
self._addToCrossRef(newWidget,object,self)
return newWidget
+
+ def cleanup(self, object):
+ for widget in self.widgets[:]:
+ id = widget.GetId()
+ del _IdToWxObj[id]
+ del _IdToGFObj[id]
+ del _IdToUIObj[id]
+ self.widgets.pop(0)
+ self._deleteFromCrossRef(widget, object)
+
#
# UILabel
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnue designer/src/forms/LayoutEditor/LayoutEdit...,
Jason Cater <=