--- a/Beremiz.py Mon Jun 25 12:13:58 2012 +0200
+++ b/Beremiz.py Mon Jun 25 20:05:29 2012 +0200
@@ -85,7 +85,7 @@
wx.InitAllImageHandlers()
# popup splash
- bmp = wx.Image(Bpath("images","splash.png")).ConvertToBitmap()
+ bmp = wx.Image(Bpath("images", "splash.png")).ConvertToBitmap()
#splash=AdvancedSplash(None, bitmap=bmp, style=wx.SPLASH_CENTRE_ON_SCREEN, timeout=4000)
splash=AdvancedSplash(None, bitmap=bmp)
wx.Yield()
@@ -145,10 +145,15 @@
sys.path.append(base_folder)
sys.path.append(os.path.join(base_folder, "plcopeneditor"))
+from utils.BitmapLibrary import AddBitmapFolder, GetBitmap
+AddBitmapFolder(os.path.join(CWD, "images"))
+
if __name__ == '__main__':
# Load extensions
for extfilename in extensions:
- sys.path.append(os.path.split(os.path.realpath(extfilename))[0])
+ extension_folder = os.path.split(os.path.realpath(extfilename))[0]
+ sys.path.append(extension_folder)
+ AddBitmapFolder(os.path.join(extension_folder, "images"))
execfile(extfilename, locals())
import wx.lib.buttons, wx.lib.statbmp
@@ -175,12 +180,8 @@
style = 0,
name = "genstatbmp"):
- bitmappath = Bpath( "images", bitmapname)
- if os.path.isfile(bitmappath):
- bitmap = wx.Bitmap(bitmappath)
- else:
- bitmap = None
- wx.lib.statbmp.GenStaticBitmap.__init__(self, parent, ID, bitmap,
+ wx.lib.statbmp.GenStaticBitmap.__init__(self, parent, ID,
+ GetBitmap(bitmapname),
pos, size,
style,
name)
@@ -335,11 +336,11 @@
self.Bind(wx.EVT_MENU, self.OnPrintMenu, id=wx.ID_PRINT)
self.Bind(wx.EVT_MENU, self.OnQuitMenu, id=wx.ID_EXIT)
- self.AddToMenuToolBar([(wx.ID_NEW, "new.png", _(u'New'), None),
- (wx.ID_OPEN, "open.png", _(u'Open'), None),
- (wx.ID_SAVE, "save.png", _(u'Save'), None),
- (wx.ID_SAVEAS, "saveas.png", _(u'Save As...'), None),
- (wx.ID_PRINT, "print.png", _(u'Print'), None)])
+ self.AddToMenuToolBar([(wx.ID_NEW, "new", _(u'New'), None),
+ (wx.ID_OPEN, "open", _(u'Open'), None),
+ (wx.ID_SAVE, "save", _(u'Save'), None),
+ (wx.ID_SAVEAS, "saveas", _(u'Save As...'), None),
+ (wx.ID_PRINT, "print", _(u'Print'), None)])
def _init_coll_AddMenu_Items(self, parent):
IDEFrame._init_coll_AddMenu_Items(self, parent, False)
@@ -424,15 +425,15 @@
("VAR_INPUT", LOCATION_VAR_INPUT),
("VAR_OUTPUT", LOCATION_VAR_OUTPUT),
("VAR_LOCAL", LOCATION_VAR_MEMORY)]:
- self.LocationImageDict[itemtype]=self.LocationImageList.Add(wx.Bitmap(os.path.join(base_folder, "plcopeneditor", 'Images', '%s.png'%imgname)))
+ self.LocationImageDict[itemtype] = self.LocationImageList.Add(GetBitmap(imgname))
# Icons for other items
for imgname, itemtype in [
("Extension", ITEM_CONFNODE)]:
- self.TreeImageDict[itemtype]=self.TreeImageList.Add(wx.Bitmap(os.path.join(CWD, 'images', '%s.png'%imgname)))
+ self.TreeImageDict[itemtype] = self.TreeImageList.Add(GetBitmap(imgname))
# Add beremiz's icon in top left corner of the frame
- self.SetIcon(wx.Icon(Bpath( "images", "brz.ico"), wx.BITMAP_TYPE_ICO))
+ self.SetIcon(wx.Icon(Bpath("images", "brz.ico"), wx.BITMAP_TYPE_ICO))
if ctr is None and projectOpen is None and self.Config.HasEntry("currenteditedproject"):
projectOpen = str(self.Config.Read("currenteditedproject"))
@@ -444,7 +445,7 @@
self.Controler = self.CTR
result = self.CTR.LoadProject(projectOpen, buildpath)
if not result:
- self.LibraryPanel.SetControler(self.Controler)
+ self.LibraryPanel.SetController(self.Controler)
self.ProjectTree.Enable(True)
self.PouInstanceVariablesPanel.SetController(self.Controler)
self.RefreshConfigRecentProjects(os.path.abspath(projectOpen))
@@ -456,7 +457,7 @@
self.CTR = ctr
self.Controler = ctr
if ctr is not None:
- self.LibraryPanel.SetControler(self.Controler)
+ self.LibraryPanel.SetController(self.Controler)
self.ProjectTree.Enable(True)
self.PouInstanceVariablesPanel.SetController(self.Controler)
self._Refresh(PROJECTTREE, POUINSTANCEVARIABLESPANEL, LIBRARYTREE)
@@ -697,7 +698,7 @@
if "method" in confnode_method and confnode_method.get("shown",True):
id = wx.NewId()
StatusToolBar.AddSimpleTool(id,
- wx.Bitmap(Bpath("images", "%s.png"%confnode_method.get("bitmap", "Unknown"))),
+ GetBitmap(confnode_method.get("bitmap", "Unknown")),
confnode_method["tooltip"])
self.Bind(wx.EVT_MENU, self.GetMenuCallBackFunction(confnode_method["method"]), id=id)
@@ -721,10 +722,11 @@
if panel != self.LastPanelSelected:
for i in xrange(self.EditMenuSize, self.EditMenu.GetMenuItemCount()):
item = self.EditMenu.FindItemByPosition(self.EditMenuSize)
- if item.IsSeparator():
- self.EditMenu.RemoveItem(item)
- else:
- self.EditMenu.Delete(item.GetId())
+ if item is not None:
+ if item.IsSeparator():
+ self.EditMenu.RemoveItem(item)
+ else:
+ self.EditMenu.Delete(item.GetId())
self.LastPanelSelected = panel
if panel is not None:
items = panel.GetConfNodeMenuItems()
@@ -738,7 +740,11 @@
else:
for i in xrange(self.EditMenuSize, self.EditMenu.GetMenuItemCount()):
item = self.EditMenu.FindItemByPosition(i)
- self.EditMenu.Delete(item.GetId())
+ if item is not None:
+ if item.IsSeparator():
+ self.EditMenu.RemoveItem(item)
+ else:
+ self.EditMenu.Delete(item.GetId())
self.LastPanelSelected = None
self.MenuBar.UpdateMenus()
@@ -807,7 +813,7 @@
if not result:
self.CTR = ctr
self.Controler = self.CTR
- self.LibraryPanel.SetControler(self.Controler)
+ self.LibraryPanel.SetController(self.Controler)
self.ProjectTree.Enable(True)
self.PouInstanceVariablesPanel.SetController(self.Controler)
self.RefreshConfigRecentProjects(projectpath)
@@ -844,7 +850,7 @@
self.Controler = self.CTR
result = self.CTR.LoadProject(projectpath)
if not result:
- self.LibraryPanel.SetControler(self.Controler)
+ self.LibraryPanel.SetController(self.Controler)
self.ProjectTree.Enable(True)
self.PouInstanceVariablesPanel.SetController(self.Controler)
self.RefreshConfigRecentProjects(projectpath)
@@ -872,11 +878,13 @@
def OnSaveProjectMenu(self, event):
if self.CTR is not None:
self.CTR.SaveProject()
+ self.RefreshAll()
self._Refresh(TITLE, FILEMENU, EDITMENU, PAGETITLES)
def OnSaveProjectAsMenu(self, event):
if self.CTR is not None:
self.CTR.SaveProjectAs()
+ self.RefreshAll()
self._Refresh(TITLE, FILEMENU, EDITMENU, PAGETITLES)
event.Skip()