commit-gnue
[Top][All Lists]
Advanced

[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 ----




reply via email to

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