daboide Commit
Revision 572
Date: 2006-05-15 09:34:11 -0700 (Mon, 15 May 2006)
Author: ed

Changed:
U   trunk/ClassDesignerComponents.py
U   trunk/ClassDesignerControlMixin.py

Log:
Added option to insert an empty slot before or after any object in a 1-D sizer.


Diff:
Modified: trunk/ClassDesignerComponents.py
===================================================================
--- trunk/ClassDesignerComponents.py    2006-05-15 03:31:16 UTC (rev 571)
+++ trunk/ClassDesignerComponents.py    2006-05-15 16:34:11 UTC (rev 572)
@@ -441,10 +441,31 @@
                # Add the Sizer editing option
                pop.appendSeparator()
                pop.append(_("Edit Sizer Settings"), bindfunc=self.onEditSizer)
+               if isinstance(self.ControllingSizer, dabo.ui.dSizer):
+                       if self.ControllingSizer.Orientation == "Vertical":
+                               pop.append(_("Add Slot Above"), 
bindfunc=self.onAddSlotBefore)
+                               pop.append(_("Add Slot Below"), 
bindfunc=self.onAddSlotAfter)
+                       else:
+                               pop.append(_("Add Slot Left"), 
bindfunc=self.onAddSlotBefore)
+                               pop.append(_("Add Slot Right"), 
bindfunc=self.onAddSlotAfter)
                dabo.ui.callAfter(self.showContextMenu, pop)
                evt.stop()
 
 
+       def onAddSlotBefore(self, evt):
+               self._addEmptySlot(0)
+               
+
+       def onAddSlotAfter(self, evt):
+               self._addEmptySlot(1)
+               
+               
+       def _addEmptySlot(self, offset):
+               lp = LayoutPanel(self.Parent, AutoSizer=False)
+               self.ControllingSizer.insert(self.getPositionInSizer() + 
offset, lp, 1, "x")
+               self.Application.updateLayout()
+
+
        def onEditSizer(self, evt):
                """Called when the user selects the context menu option
                to edit this slot's sizer information.

Modified: trunk/ClassDesignerControlMixin.py
===================================================================
--- trunk/ClassDesignerControlMixin.py  2006-05-15 03:31:16 UTC (rev 571)
+++ trunk/ClassDesignerControlMixin.py  2006-05-15 16:34:11 UTC (rev 572)
@@ -157,9 +157,30 @@
                # Add the Sizer editing option
                pop.appendSeparator()
                pop.append(_("Edit Sizer Settings"), bindfunc=self.onEditSizer)
+               if isinstance(self.ControllingSizer, dabo.ui.dSizer):
+                       if self.ControllingSizer.Orientation == "Vertical":
+                               pop.append(_("Add Slot Above"), 
bindfunc=self.onAddSlotBefore)
+                               pop.append(_("Add Slot Below"), 
bindfunc=self.onAddSlotAfter)
+                       else:
+                               pop.append(_("Add Slot Left"), 
bindfunc=self.onAddSlotBefore)
+                               pop.append(_("Add Slot Right"), 
bindfunc=self.onAddSlotAfter)
                self.showContextMenu(pop)
 
 
+       def onAddSlotBefore(self, evt):
+               self._addEmptySlot(0)
+               
+
+       def onAddSlotAfter(self, evt):
+               self._addEmptySlot(1)
+               
+               
+       def _addEmptySlot(self, offset):
+               lp = LayoutPanel(self.Parent, AutoSizer=False)
+               self.ControllingSizer.insert(self.getPositionInSizer() + 
offset, lp, 1, "x")
+               self.Application.updateLayout()
+
+
        def onEditSizer(self, evt):
                """Called when the user selects the context menu option
                to edit this control's sizer information.




_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-dev

Reply via email to