[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue/designer/src/forms/LayoutEditor GridPane.p...
From: |
Jason Cater |
Subject: |
gnue/designer/src/forms/LayoutEditor GridPane.p... |
Date: |
Tue, 20 May 2003 18:19:43 -0400 |
CVSROOT: /cvsroot/gnue
Module name: gnue
Branch: layout-editor-phantom
Changes by: Jason Cater <address@hidden> 03/05/20 18:19:42
Modified files:
designer/src/forms/LayoutEditor: GridPane.py LayoutEditor.py
WidgetHandler.py
Log message:
experimental layout editor
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/LayoutEditor/GridPane.py.diff?only_with_tag=layout-editor-phantom&tr1=1.6&tr2=1.6.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/LayoutEditor/LayoutEditor.py.diff?only_with_tag=layout-editor-phantom&tr1=1.71&tr2=1.71.2.1&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/LayoutEditor/WidgetHandler.py.diff?only_with_tag=layout-editor-phantom&tr1=1.11&tr2=1.11.2.1&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.70
gnue/designer/src/forms/LayoutEditor/LayoutEditor.py:1.71
*** gnue/designer/src/forms/LayoutEditor/LayoutEditor.py:1.70 Fri Apr 4
21:23:59 2003
--- gnue/designer/src/forms/LayoutEditor/LayoutEditor.py Fri Apr 4
23:29:23 2003
***************
*** 654,660 ****
if pos:
for widget in self._currentSelection:
! if object._type != 'GFPage':
widget._widgetHandler.relativeMove(*pos)
elif event.KeyCode() == WXK_DELETE and \
--- 654,660 ----
if pos:
for widget in self._currentSelection:
! if widget._type != 'GFPage':
widget._widgetHandler.relativeMove(*pos)
elif event.KeyCode() == WXK_DELETE and \
Index: gnue/designer/src/forms/LayoutEditor/WidgetHandler.py
diff -c gnue/designer/src/forms/LayoutEditor/WidgetHandler.py:1.10
gnue/designer/src/forms/LayoutEditor/WidgetHandler.py:1.11
*** gnue/designer/src/forms/LayoutEditor/WidgetHandler.py:1.10 Mon Feb 17
02:32:52 2003
--- gnue/designer/src/forms/LayoutEditor/WidgetHandler.py Sun Mar 30
12:17:00 2003
***************
*** 1,6 ****
#
- # Copyright 2001-2003 Free Software Foundation
- #
# This file is part of GNU Enterprise.
#
# GNU Enterprise is free software; you can redistribute it
--- 1,4 ----
***************
*** 18,23 ****
--- 16,23 ----
# write to the Free Software Foundation, Inc., 59 Temple Place
# - Suite 330, Boston, MA 02111-1307, USA.
#
+ # Copyright 2001-2003 Free Software Foundation
+ #
# FILE:
# WidgetHandler.py
#
***************
*** 109,117 ****
widget.Refresh()
! def setSelected(self, selected):
self.selected = selected
! self.highlightBox.setSelected(selected)
def setAllChildren(self, event, widget, trap):
--- 109,118 ----
widget.Refresh()
! def setSelected(self, selected, focused=1):
self.selected = selected
! self.focused = focused
! self.highlightBox.setSelected(selected, focused)
def setAllChildren(self, event, widget, trap):
***************
*** 131,151 ****
event.Skip()
- def OnLeftDown(self, event):
- self.mouseStartX, self.mouseStartY = event.GetPositionTuple()
- self._iMoved = 0
-
- if not self.instance._currentSelection.has_key(self):
- self.instance._currentSelection[self] = 1
-
self.instance._instance.dispatchEvent('ObjectSelected',object=self.object,originator="Forms::LayoutEditor")
- self.setSelected(1)
- self._alreadySelected = 0
- else:
- self._alreadySelected = 1
-
- event.Skip()
-
-
def beginDragDrop(self, event):
# Drag and drop TODO: This needs changed to pull all selected widgets
--- 132,137 ----
***************
*** 175,195 ****
event.Skip()
def OnLeftUp(self, event):
if self._iMoved:
self._iMoved = 0
- elif not event.ShiftDown():
- # Select only 1 widget
- for selection in self.instance._currentSelection.keys():
- selection.setSelected(0)
- self.instance._currentSelection = {self:1}
- self.setSelected(1)
- elif self._alreadySelected:
- # Remove widget from selection hash
- del self.instance._currentSelection[self]
- self.setSelected(0)
- self._alreadySelected = 0
event.Skip()
--- 161,191 ----
event.Skip()
+ def OnLeftDown(self, event):
+ self.mouseStartX, self.mouseStartY = event.GetPositionTuple()
+ self._iMoved = 0
+
+ if event.ShiftDown():
+ selections = self.instance._currentSelection[:]
+ else:
+ selections = []
+
+ if self.object in selections:
+ if event.ShiftDown():
+ del selections[selections.index(self.object)]
+ else:
+ selections.append(self.object)
+
+ self.instance._instance.dispatchEvent('ObjectSelected',object=self.object,
+ originator="Forms::LayoutEditor",
+ selection=selections)
+ event.Skip()
+
+
def OnLeftUp(self, event):
if self._iMoved:
self._iMoved = 0
event.Skip()
***************
*** 252,258 ****
x = self.widget.GetPosition().x
width = self.widget.GetSize().width + self.instance.gridWidth
- self.instance.clearSelections()
self._popup_editor = PopupEditor(self.instance.workspace,
self._endPopupEditor,
x + self.instance.panel.GetPosition().x,
--- 248,253 ----
- gnue/designer/src/forms/LayoutEditor GridPane.p...,
Jason Cater <=