[Top][All Lists]
[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 } }
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnue/designer/src/forms PropertyEditor.py Layou...,
Jason Cater <=