commit-gnue
[Top][All Lists]
Advanced

[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



reply via email to

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