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