commit-gnue
[Top][All Lists]
Advanced

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

gnue/designer/src/forms PropertyEditor.py Layou...


From: Jason Cater
Subject: gnue/designer/src/forms PropertyEditor.py Layou...
Date: Thu, 06 Mar 2003 12:18:41 -0500

CVSROOT:        /cvsroot/gnue
Module name:    gnue
Changes by:     Jason Cater <address@hidden>    03/03/06 12:18:38

Modified files:
        designer/src/forms: PropertyEditor.py 
        designer/src/forms/LayoutEditor: GridPane.py LayoutEditor.py 

Log message:
        You can now resize a form by dragging the borders of the grid panel in 
the layout editor

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/PropertyEditor.py.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/LayoutEditor/GridPane.py.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/LayoutEditor/LayoutEditor.py.diff?tr1=1.61&tr2=1.62&r1=text&r2=text

Patches:
Index: gnue/designer/src/forms/LayoutEditor/GridPane.py
diff -c gnue/designer/src/forms/LayoutEditor/GridPane.py:1.5 
gnue/designer/src/forms/LayoutEditor/GridPane.py:1.6
*** gnue/designer/src/forms/LayoutEditor/GridPane.py:1.5        Mon Feb 17 
02:32:51 2003
--- gnue/designer/src/forms/LayoutEditor/GridPane.py    Thu Mar  6 12:18:38 2003
***************
*** 40,61 ****
      self.__showGrids = 1
      self.__instance = instance
      EVT_PAINT(self, self.OnPaint)
!     
      # TODO: Have the sash events resize the form
      self.SetSashVisible(wxSASH_RIGHT,1)
      self.SetSashVisible(wxSASH_BOTTOM,1)
  
    def OnPaint(self, event):
      if self.__showGrids:
        dc = wxPaintDC(self)
        dc.BeginDrawing()
        w, h = self.GetSizeTuple()
        dc.SetPen(wxPen(self.__instance.panelGridColor))
!       for x in range(self.__instance.widgetWidth,w-2, 
self.__instance.widgetWidth):
          dc.DrawLine(x,0,x,h-1)
  
        for y in 
range(self.__instance.widgetHeight,h-2,self.__instance.widgetHeight):
          dc.DrawLine(0,y,w-1,y)
        dc.EndDrawing()
      event.Skip()
  
--- 40,90 ----
      self.__showGrids = 1
      self.__instance = instance
      EVT_PAINT(self, self.OnPaint)
! 
      # TODO: Have the sash events resize the form
      self.SetSashVisible(wxSASH_RIGHT,1)
      self.SetSashVisible(wxSASH_BOTTOM,1)
  
+     EVT_SASH_DRAGGED(self, self.GetId(), self.SashChanged)
+ 
    def OnPaint(self, event):
      if self.__showGrids:
        dc = wxPaintDC(self)
        dc.BeginDrawing()
        w, h = self.GetSizeTuple()
        dc.SetPen(wxPen(self.__instance.panelGridColor))
!       for x in range(self.__instance.widgetWidth,w-3, 
self.__instance.widgetWidth):
          dc.DrawLine(x,0,x,h-1)
  
        for y in 
range(self.__instance.widgetHeight,h-2,self.__instance.widgetHeight):
          dc.DrawLine(0,y,w-1,y)
        dc.EndDrawing()
      event.Skip()
+ 
+   def SashChanged(self, event):
+     w = event.GetDragRect().width
+     h = event.GetDragRect().height
+ 
+     neww = int(w/float(self.__instance.widgetWidth)+.5)
+     newh = int(h/float(self.__instance.widgetHeight)+.5)
+ 
+     layout = self.__instance.instance.rootObject._layout
+ 
+     oldvars = {}
+     newvars = {}
+ 
+     if neww != layout.Char__width:
+       oldvars['Char:width'] = layout.Char__width
+       newvars['Char:width'] = neww
+       layout.Char__width = neww
+     if newh != layout.Char__height:
+       oldvars['Char:height'] = layout.Char__height
+       newvars['Char:height'] = newh
+       layout.Char__height = newh
+ 
+     if oldvars:
+       self.__instance.instance.dispatchEvent('ObjectModified', object=layout,
+                                     originator="Forms::GridPane",
+                                     old=oldvars,
+                                     new=newvars)
  
Index: gnue/designer/src/forms/LayoutEditor/LayoutEditor.py
diff -c gnue/designer/src/forms/LayoutEditor/LayoutEditor.py:1.61 
gnue/designer/src/forms/LayoutEditor/LayoutEditor.py:1.62
*** gnue/designer/src/forms/LayoutEditor/LayoutEditor.py:1.61   Sun Mar  2 
14:58:28 2003
--- gnue/designer/src/forms/LayoutEditor/LayoutEditor.py        Thu Mar  6 
12:18:38 2003
***************
*** 60,66 ****
      self.frame = self.instance
  
      self._app = self.instance._app
!     
      self.uidriver = uidriver = UIwxpython.GFUserInterface(self.instance, 0)
  
      self.widgets = {}
--- 60,66 ----
      self.frame = self.instance
  
      self._app = self.instance._app
! 
      self.uidriver = uidriver = UIwxpython.GFUserInterface(self.instance, 0)
  
      self.widgets = {}
***************
*** 311,317 ****
          if page:
            self._setCurrentPage(page)
  
!       if object in (self.rootObject, self.page) or object in self.widgetList:
          self.refreshPage(self.page)
  
      if object._type == 'GFBlock':
--- 311,317 ----
          if page:
            self._setCurrentPage(page)
  
!       if object in (self.rootObject, self.page, self.rootObject._layout) or 
object in self.widgetList:
          self.refreshPage(self.page)
  
      if object._type == 'GFBlock':
***************
*** 415,421 ****
        self.gridWidth = self.widgetWidth
        self.gridHeight = self.widgetHeight
  
!       self.menu_sb_space=2 # the extra spaces needed by the menu, toolbar and 
statusbar
  
        self.panel.SetClientSize(wxSize(int(width)*int(self.widgetWidth),
                         int(height)*int(self.widgetHeight)))
--- 415,421 ----
        self.gridWidth = self.widgetWidth
        self.gridHeight = self.widgetHeight
  
!       self.menu_sb_space=0 # the extra spaces needed by the menu, toolbar and 
statusbar
  
        self.panel.SetClientSize(wxSize(int(width)*int(self.widgetWidth),
                         int(height)*int(self.widgetHeight)))
***************
*** 443,449 ****
        cevent = Event('CreateUIWidget',None,
                     parent=None,
                     object=object,
!                    container=self.panel, 
                     textWidth=self.textWidth,
                     textHeight=self.textHeight,
                     widgetWidth=self.widgetWidth,
--- 443,449 ----
        cevent = Event('CreateUIWidget',None,
                     parent=None,
                     object=object,
!                    container=self.panel,
                     textWidth=self.textWidth,
                     textHeight=self.textHeight,
                     widgetWidth=self.widgetWidth,
Index: gnue/designer/src/forms/PropertyEditor.py
diff -c gnue/designer/src/forms/PropertyEditor.py:1.7 
gnue/designer/src/forms/PropertyEditor.py:1.8
*** gnue/designer/src/forms/PropertyEditor.py:1.7       Mon Feb 17 02:32:51 2003
--- gnue/designer/src/forms/PropertyEditor.py   Thu Mar  6 12:18:35 2003
***************
*** 47,53 ****
        layout = self.instance.incubator.elements[
               (self.object._type[2:]).lower()]['Positionable']
      except KeyError:
!       if self.object._type == 'GFLabel': 
          raise
        layout = 0
  
--- 47,53 ----
        layout = self.instance.incubator.elements[
               (self.object._type[2:]).lower()]['Positionable']
      except KeyError:
!       if self.object._type == 'GFLabel':
          raise
        layout = 0
  
***************
*** 58,66 ****
        GDebug.printMesg(4,'Adding a new entry property manager')
        self.addPage(FieldInspectorPanel(self, self.notebook), "Field")
  
  
      # Add layout
!     if layout:
        GDebug.printMesg(4,'Adding a new layout property manager')
        self.addPage(CharPosInspectorPanel(self, self.notebook), 'Layout')
  
--- 58,70 ----
        GDebug.printMesg(4,'Adding a new entry property manager')
        self.addPage(FieldInspectorPanel(self, self.notebook), "Field")
  
+     # Add layout
+     if self.object._type == 'GFLayout':
+       GDebug.printMesg(4,'Adding a new layout property manager')
+       self.addPage(CharSizeInspectorPanel(self, self.notebook), 'Layout')
  
      # Add layout
!     elif layout:
        GDebug.printMesg(4,'Adding a new layout property manager')
        self.addPage(CharPosInspectorPanel(self, self.notebook), 'Layout')
  
***************
*** 84,89 ****
--- 88,108 ----
      return {
         'Char:x':      { 'Typecast': GTypecast.whole },
         'Char:y':      { 'Typecast': GTypecast.whole },
+        'Char:width':  { 'Typecast': GTypecast.whole },
+        'Char:height': { 'Typecast': GTypecast.whole } }
+ 
+   def getPageText(self):
+     return "Layout"
+ 
+ #
+ # Character-cell layout (x,y) properties
+ #
+ class CharSizeInspectorPanel(BaseInspectorPanel):
+ 
+   NAMESPACE = "Char"
+ 
+   def getAttributes(self, object):
+     return {
         'Char:width':  { 'Typecast': GTypecast.whole },
         'Char:height': { 'Typecast': GTypecast.whole } }
  




reply via email to

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