--- a/Beremiz.py Mon Jan 28 20:06:22 2008 +0100
+++ b/Beremiz.py Tue Jan 29 10:02:45 2008 +0100
@@ -519,16 +519,20 @@
msizer = wx.BoxSizer(wx.VERTICAL)
msizer.AddSizer(bsizer, 0, border=0, flag=wx.GROW)
- if plugin != self.PluginRoot and len(plugin.PluginMethods) > 0:
+ if len(plugin.PluginMethods) > 0: #and plugin != self.PluginRoot for plugin_method in plugin.PluginMethods:
if "method" in plugin_method:
- button = wx.lib.buttons.GenBitmapTextButton(id=id, parent=window,
+ button = wx.lib.buttons.GenBitmapTextButton(id=id, parent=window, bitmap=wx.Bitmap(os.path.join(CWD, "%s24x24.png"%plugin_method.get("bitmap", os.path.join("images", "RunMethod")))), label=plugin_method["name"],
- name=plugin_method["name"], pos=wx.Point(0, 0), style=wx.BU_EXACTFIT|wx.NO_BORDER)
+ name=plugin_method["name"], pos=wx.DefaultPosition, style=wx.NO_BORDER) button.SetToolTipString(plugin_method["tooltip"])
button.Bind(wx.EVT_BUTTON, self.GetButtonCallBackFunction(plugin, plugin_method["method"]), id=id)
- msizer.AddWindow(button, 0, border=5, flag=wx.RIGHT)
+ #hack to force size to mini + gen_mini_GetLabelSize = lambda obj:lambda:(wx.lib.buttons.GenBitmapTextButton._GetLabelSize(obj)[:-1] + (False,)) + button._GetLabelSize = gen_mini_GetLabelSize(button) + #button._GetLabelSize = lambda :(-1,-1,False) + msizer.AddWindow(button, 0, border=5, flag=0) tcsizer.AddSizer(msizer, 0, border=0, flag=wx.ALIGN_CENTER_VERTICAL)
tcsizer.AddSizer(psizer, 0, border=0, flag=wx.GROW)
if plugin == self.PluginRoot:
@@ -544,7 +548,7 @@
self.PluginTree.SetItemWindowEnabled(root, infos["enabled"])
item, root_cookie = self.PluginTree.GetFirstChild(root)
- for values in infos["values"]:
+ for values in infos["values"]: if item is None or not item.IsOk():
item = self.PluginTree.AppendItem(root, "")
# 2.6.x returns bad item on gtk
@@ -573,19 +577,26 @@
if getattr(self, "PluginRoot", None):
root = self.PluginTree.GetRootItem()
if root is not None and root.IsOk():
- self.ResizePluginTreeWindow_r(root)
+ #sz = self.PluginTree.GetClientSize() + #sz = self.PluginTree.GetBestSize() + minimalsz = wx.Size(-1,-1) + itemswindows = self.ResizePluginTreeWindow_r(root, minimalsz) + for window, posx in itemswindows: + window.SetSize(wx.Size(minimalsz.x - posx, -1)) self.MustRecalTreeSizes = False
- def ResizePluginTreeWindow_r(self, root):
+ def ResizePluginTreeWindow_r(self, root, sz): window = self.PluginTree.GetItemWindow(root)
- pos = window.GetPosition()
- sz = self.PluginTree.GetClientSize()
- window.SetSize(wx.Size(sz.width - pos.x, -1))
+ posx = window.GetPosition().x + bestsz = window.GetBestSize() + sz.x = max(sz.x, bestsz.x + posx) item, root_cookie = self.PluginTree.GetFirstChild(root)
while item is not None and item.IsOk():
- self.ResizePluginTreeWindow_r(item)
+ res.extend(self.ResizePluginTreeWindow_r(item, sz)) item, root_cookie = self.PluginTree.GetNextChild(root, root_cookie)
def GetSelectedPluginName(self, selected = None):
@@ -701,6 +712,8 @@
if wx.VERSION < (2, 8, 0):
self.ClearSizer(self.MenuSizer)
+ # toolbar temporarely disabled. if "ToolBar" in self.Panes:
self.AUIManager.DetachPane(self.Panes["ToolBar"])
self.Panes["ToolBar"].Destroy()