--- a/PLCOpenEditor.py Mon Sep 17 17:51:05 2007 +0200
+++ b/PLCOpenEditor.py Tue Sep 18 18:05:52 2007 +0200
@@ -98,34 +98,34 @@
] = [wx.NewId() for _init_coll_DefaultToolBar_Items in range(17)]
ToolBarItems = {
- "FBD" : [(True, FREEDRAWING_MODE|DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARCOMMENT, "OnCommentTool", "Images/comment.png", "Create a new comment"),
- (True, FREEDRAWING_MODE|DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARVARIABLE, "OnVariableTool", "Images/variable.png", "Create a new variable"),
- (True, FREEDRAWING_MODE|DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARBLOCK, "OnBlockTool", "Images/block.png", "Create a new block"),
- (True, FREEDRAWING_MODE|DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARCONNECTION, "OnConnectionTool", "Images/connection.png", "Create a new connection"),
- (True, FREEDRAWING_MODE|DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARWIRE, "OnWireTool", "Images/wire.png", "Create a new wire")],
- "LD" : [(True, FREEDRAWING_MODE, ID_PLCOPENEDITORTOOLBARCOMMENT, "OnCommentTool", "Images/comment.png", "Create a new comment"),
- (True, FREEDRAWING_MODE, ID_PLCOPENEDITORTOOLBARPOWERRAIL, "OnPowerRailTool", "Images/powerrail.png", "Create a new power rail"),
- (False, DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARRUNG, "OnRungTool", "Images/rung.png", "Create a new rung"),
- (True, FREEDRAWING_MODE, ID_PLCOPENEDITORTOOLBARCOIL, "OnCoilTool", "Images/coil.png", "Create a new coil"),
- (False, FREEDRAWING_MODE|DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARCONTACT, "OnContactTool", "Images/contact.png", "Create a new contact"),
- (False, DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARBRANCH, "OnBranchTool", "Images/branch.png", "Create a new branch"),
- (True, FREEDRAWING_MODE, ID_PLCOPENEDITORTOOLBARVARIABLE, "OnVariableTool", "Images/variable.png", "Create a new variable"),
- (False, FREEDRAWING_MODE|DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARBLOCK, "OnBlockTool", "Images/block.png", "Create a new block"),
- (True, FREEDRAWING_MODE, ID_PLCOPENEDITORTOOLBARCONNECTION, "OnConnectionTool", "Images/connection.png", "Create a new connection"),
- (True, FREEDRAWING_MODE, ID_PLCOPENEDITORTOOLBARWIRE, "OnWireTool", "Images/wire.png", "Create a new wire")],
- "SFC" : [(True, FREEDRAWING_MODE|DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARCOMMENT, "OnCommentTool", "Images/comment.png", "Create a new comment"),
- (True, FREEDRAWING_MODE|DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARINITIALSTEP, "OnInitialStepTool", "Images/initial_step.png", "Create a new initial step"),
- (False, FREEDRAWING_MODE|DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARSTEP, "OnStepTool", "Images/step.png", "Create a new step"),
- (True, FREEDRAWING_MODE, ID_PLCOPENEDITORTOOLBARTRANSITION, "OnTransitionTool", "Images/transition.png", "Create a new transition"),
- (False, FREEDRAWING_MODE|DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARACTIONBLOCK, "OnActionBlockTool", "Images/action.png", "Create a new action block"),
- (False, FREEDRAWING_MODE|DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARDIVERGENCE, "OnDivergenceTool", "Images/divergence.png", "Create a new divergence"),
- (False, FREEDRAWING_MODE|DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARJUMP, "OnJumpTool", "Images/jump.png", "Create a new jump"),
- (True, FREEDRAWING_MODE, ID_PLCOPENEDITORTOOLBARVARIABLE, "OnVariableTool", "Images/variable.png", "Create a new variable"),
- (True, FREEDRAWING_MODE, ID_PLCOPENEDITORTOOLBARBLOCK, "OnBlockTool", "Images/block.png", "Create a new block"),
- (True, FREEDRAWING_MODE, ID_PLCOPENEDITORTOOLBARCONNECTION, "OnConnectionTool", "Images/connection.png", "Create a new connection"),
- (True, FREEDRAWING_MODE, ID_PLCOPENEDITORTOOLBARPOWERRAIL, "OnPowerRailTool", "Images/powerrail.png", "Create a new power rail"),
- (True, FREEDRAWING_MODE, ID_PLCOPENEDITORTOOLBARCONTACT, "OnContactTool", "Images/contact.png", "Create a new contact"),
- (True, FREEDRAWING_MODE, ID_PLCOPENEDITORTOOLBARWIRE, "OnWireTool", "Images/wire.png", "Create a new wire")],
+ "FBD" : [(True, FREEDRAWING_MODE|DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARCOMMENT, "OnCommentTool", "comment.png", "Create a new comment"),
+ (True, FREEDRAWING_MODE|DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARVARIABLE, "OnVariableTool", "variable.png", "Create a new variable"),
+ (True, FREEDRAWING_MODE|DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARBLOCK, "OnBlockTool", "block.png", "Create a new block"),
+ (True, FREEDRAWING_MODE|DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARCONNECTION, "OnConnectionTool", "connection.png", "Create a new connection"),
+ (True, FREEDRAWING_MODE|DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARWIRE, "OnWireTool", "wire.png", "Create a new wire")],
+ "LD" : [(True, FREEDRAWING_MODE, ID_PLCOPENEDITORTOOLBARCOMMENT, "OnCommentTool", "comment.png", "Create a new comment"),
+ (True, FREEDRAWING_MODE, ID_PLCOPENEDITORTOOLBARPOWERRAIL, "OnPowerRailTool", "powerrail.png", "Create a new power rail"),
+ (False, DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARRUNG, "OnRungTool", "rung.png", "Create a new rung"),
+ (True, FREEDRAWING_MODE, ID_PLCOPENEDITORTOOLBARCOIL, "OnCoilTool", "coil.png", "Create a new coil"),
+ (False, FREEDRAWING_MODE|DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARCONTACT, "OnContactTool", "contact.png", "Create a new contact"),
+ (False, DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARBRANCH, "OnBranchTool", "branch.png", "Create a new branch"),
+ (True, FREEDRAWING_MODE, ID_PLCOPENEDITORTOOLBARVARIABLE, "OnVariableTool", "variable.png", "Create a new variable"),
+ (False, FREEDRAWING_MODE|DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARBLOCK, "OnBlockTool", "block.png", "Create a new block"),
+ (True, FREEDRAWING_MODE, ID_PLCOPENEDITORTOOLBARCONNECTION, "OnConnectionTool", "connection.png", "Create a new connection"),
+ (True, FREEDRAWING_MODE, ID_PLCOPENEDITORTOOLBARWIRE, "OnWireTool", "wire.png", "Create a new wire")],
+ "SFC" : [(True, FREEDRAWING_MODE|DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARCOMMENT, "OnCommentTool", "comment.png", "Create a new comment"),
+ (True, FREEDRAWING_MODE|DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARINITIALSTEP, "OnInitialStepTool", "initial_step.png", "Create a new initial step"),
+ (False, FREEDRAWING_MODE|DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARSTEP, "OnStepTool", "step.png", "Create a new step"),
+ (True, FREEDRAWING_MODE, ID_PLCOPENEDITORTOOLBARTRANSITION, "OnTransitionTool", "transition.png", "Create a new transition"),
+ (False, FREEDRAWING_MODE|DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARACTIONBLOCK, "OnActionBlockTool", "action.png", "Create a new action block"),
+ (False, FREEDRAWING_MODE|DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARDIVERGENCE, "OnDivergenceTool", "divergence.png", "Create a new divergence"),
+ (False, FREEDRAWING_MODE|DRIVENDRAWING_MODE, ID_PLCOPENEDITORTOOLBARJUMP, "OnJumpTool", "jump.png", "Create a new jump"),
+ (True, FREEDRAWING_MODE, ID_PLCOPENEDITORTOOLBARVARIABLE, "OnVariableTool", "variable.png", "Create a new variable"),
+ (True, FREEDRAWING_MODE, ID_PLCOPENEDITORTOOLBARBLOCK, "OnBlockTool", "block.png", "Create a new block"),
+ (True, FREEDRAWING_MODE, ID_PLCOPENEDITORTOOLBARCONNECTION, "OnConnectionTool", "connection.png", "Create a new connection"),
+ (True, FREEDRAWING_MODE, ID_PLCOPENEDITORTOOLBARPOWERRAIL, "OnPowerRailTool", "powerrail.png", "Create a new power rail"),
+ (True, FREEDRAWING_MODE, ID_PLCOPENEDITORTOOLBARCONTACT, "OnContactTool", "contact.png", "Create a new contact"),
+ (True, FREEDRAWING_MODE, ID_PLCOPENEDITORTOOLBARWIRE, "OnWireTool", "wire.png", "Create a new wire")],
"ST" : [],
"IL" : []
}
@@ -286,32 +286,22 @@
self._init_coll_SFCMenu_Items(self.SFCMenu)
self._init_coll_ConfigMenu_Items(self.ConfigMenu)
- def _init_coll_MainGridSizer_Items(self, parent):
- parent.AddWindow(self.MainSplitter, 0, border=0, flag=wx.GROW)
-
def _init_coll_EditorGridSizer_Items(self, parent):
parent.AddWindow(self.ToolBar, 0, border=0, flag=wx.GROW)
parent.AddWindow(self.TabsOpened, 0, border=0, flag=wx.GROW)
- def _init_coll_MainGridSizer_Growables(self, parent):
- parent.AddGrowableCol(0)
- parent.AddGrowableRow(0)
-
def _init_coll_EditorGridSizer_Growables(self, parent):
parent.AddGrowableCol(0)
parent.AddGrowableRow(1)
def _init_sizers(self):
- self.MainGridSizer = wx.FlexGridSizer(cols=1, hgap=0, rows=1, vgap=0)
- self.EditorGridSizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=0)
-
- self._init_coll_MainGridSizer_Growables(self.MainGridSizer)
- self._init_coll_MainGridSizer_Items(self.MainGridSizer)
- self._init_coll_EditorGridSizer_Growables(self.EditorGridSizer)
- self._init_coll_EditorGridSizer_Items(self.EditorGridSizer)
-
- self.SetSizer(self.MainGridSizer)
- self.EditorPanel.SetSizer(self.EditorGridSizer)
+ if wx.Platform != '__WXMSW__':
+ self.EditorGridSizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=0)
+
+ self._init_coll_EditorGridSizer_Growables(self.EditorGridSizer)
+ self._init_coll_EditorGridSizer_Items(self.EditorGridSizer)
+
+ self.EditorPanel.SetSizer(self.EditorGridSizer)
def _init_ctrls(self, prnt):
wx.Frame.__init__(self, id=ID_PLCOPENEDITOR, name=u'PLCOpenEditor',
@@ -333,24 +323,6 @@
self.MainSplitter.SetNeedUpdating(True)
self.MainSplitter.SetMinimumPaneSize(1)
- self.EditorPanel = wx.Panel(id=ID_PLCOPENEDITOREDITORPANEL,
- name='TabPanel', parent=self.MainSplitter, pos=wx.Point(0, 0),
- size=wx.Size(0, 0), style=wx.TAB_TRAVERSAL)
-
- self.TabsOpened = wx.Notebook(id=ID_PLCOPENEDITORTABSOPENED,
- name='TabsOpened', parent=self.EditorPanel, pos=wx.Point(0,
- 0), size=wx.Size(0, 0), style=0)
- self.TabsOpened.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGED,
- self.OnPouSelectedChanged, id=ID_PLCOPENEDITORTABSOPENED)
-
- self.ToolBar = wx.ToolBar(id=ID_PLCOPENEDITORTOOLBAR, name='ToolBar',
- parent=self.EditorPanel, pos=wx.Point(0, 0), size=wx.Size(0, 40),
- style=wx.TB_HORIZONTAL|wx.NO_BORDER)
- self.ToolBar.AddRadioTool(ID_PLCOPENEDITORTOOLBARSELECTION,
- wx.Bitmap(os.path.join(CWD, 'Images/select.png')), wx.NullBitmap, "Select an object")
- self.Bind(wx.EVT_TOOL, self.OnSelectionTool,
- id=ID_PLCOPENEDITORTOOLBARSELECTION)
-
self.ProjectTree = wx.TreeCtrl(id=ID_PLCOPENEDITORPROJECTTREE,
name='treeCtrl1', parent=self.MainSplitter, pos=wx.Point(0, 0),
size=wx.Size(-1, -1),
@@ -366,8 +338,46 @@
id=ID_PLCOPENEDITORPROJECTTREE)
self.Bind(wx.EVT_TREE_SEL_CHANGED, self.OnProjectTreeItemSelected,
id=ID_PLCOPENEDITORPROJECTTREE)
- self.MainSplitter.SplitVertically(self.ProjectTree, self.EditorPanel,
- 200)
+
+ if wx.Platform == '__WXMSW__':
+ self.ToolBar = self.CreateToolBar(wx.TB_HORIZONTAL|wx.TB_FLAT|wx.NO_BORDER,
+ ID_PLCOPENEDITORTOOLBAR, 'ToolBar')
+ self.ToolBar.SetToolBitmapSize(wx.Size(25, 25))
+ self.ToolBar.AddRadioTool(ID_PLCOPENEDITORTOOLBARSELECTION,
+ wx.Bitmap(os.path.join(CWD, 'Images', 'select.png')), wx.NullBitmap, "Select an object")
+ self.ToolBar.Realize()
+ self.Bind(wx.EVT_TOOL, self.OnSelectionTool,
+ id=ID_PLCOPENEDITORTOOLBARSELECTION)
+
+ self.TabsOpened = wx.Notebook(id=ID_PLCOPENEDITORTABSOPENED,
+ name='TabsOpened', parent=self.MainSplitter, pos=wx.Point(0,
+ 0), size=wx.Size(0, 0), style=0)
+ self.TabsOpened.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGED,
+ self.OnPouSelectedChanged, id=ID_PLCOPENEDITORTABSOPENED)
+
+ self.MainSplitter.SplitVertically(self.ProjectTree, self.TabsOpened, 200)
+
+ else:
+ self.EditorPanel = wx.Panel(id=ID_PLCOPENEDITOREDITORPANEL,
+ name='TabPanel', parent=self.MainSplitter, pos=wx.Point(0, 0),
+ size=wx.Size(0, 0), style=wx.TAB_TRAVERSAL)
+
+ self.ToolBar = wx.ToolBar(id=ID_PLCOPENEDITORTOOLBAR, name='ToolBar',
+ parent=self.EditorPanel, pos=wx.Point(0, 0), size=wx.Size(0, 40),
+ style=wx.TB_HORIZONTAL|wx.NO_BORDER)
+ self.ToolBar.AddRadioTool(ID_PLCOPENEDITORTOOLBARSELECTION,
+ wx.Bitmap(os.path.join(CWD, 'Images', 'select.png')), wx.NullBitmap, "Select an object")
+ self.ToolBar.Realize()
+ self.Bind(wx.EVT_TOOL, self.OnSelectionTool,
+ id=ID_PLCOPENEDITORTOOLBARSELECTION)
+
+ self.TabsOpened = wx.Notebook(id=ID_PLCOPENEDITORTABSOPENED,
+ name='TabsOpened', parent=self.EditorPanel, pos=wx.Point(0,
+ 0), size=wx.Size(0, 0), style=0)
+ self.TabsOpened.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGED,
+ self.OnPouSelectedChanged, id=ID_PLCOPENEDITORTABSOPENED)
+
+ self.MainSplitter.SplitVertically(self.ProjectTree, self.EditorPanel, 200)
self._init_sizers()
@@ -375,10 +385,11 @@
self.ModeSolo = controler == None
self._init_ctrls(parent)
- self.TreeImageList = wx.ImageList(16, 16)
- for language in LANGUAGES:
- self.TreeImageList.Add(wx.Bitmap(os.path.join(CWD, 'Images/%s.png'%language)))
- self.ProjectTree.SetImageList(self.TreeImageList)
+ if wx.Platform != '__WXMSW__':
+ self.TreeImageList = wx.ImageList(16, 16)
+ for language in LANGUAGES:
+ self.TreeImageList.Add(wx.Bitmap(os.path.join(CWD, 'Images','%s.png'%language)))
+ self.ProjectTree.AssignImageList(self.TreeImageList)
if self.ModeSolo:
self.Controler = PLCControler()
@@ -1017,7 +1028,7 @@
to_delete = []
self.ProjectTree.SetItemText(root, infos["name"])
self.ProjectTree.SetPyData(root, infos["type"])
- if infos["type"] == ITEM_POU:
+ if infos["type"] == ITEM_POU and wx.Platform != '__WXMSW__':
self.ProjectTree.SetItemImage(root, LANGUAGES.index(self.Controler.GetPouBodyType(infos["name"])))
item, root_cookie = self.ProjectTree.GetFirstChild(root)
for values in infos["values"]:
@@ -1047,11 +1058,15 @@
for radio, modes, id, method, picture, help in ToolBarItems[language]:
if modes & self.DrawingMode:
if radio or self.DrawingMode == FREEDRAWING_MODE:
- self.ToolBar.AddRadioTool(id, wx.Bitmap(os.path.join(CWD, picture)), wx.NullBitmap, help)
+ self.ToolBar.AddRadioTool(id, wx.Bitmap(os.path.join(CWD, "Images", picture)), wx.NullBitmap, help)
else:
- self.ToolBar.AddSimpleTool(id, wx.Bitmap(os.path.join(CWD, picture)), help)
+ self.ToolBar.AddSimpleTool(id, wx.Bitmap(os.path.join(CWD, "Images", picture)), help)
self.Bind(wx.EVT_TOOL, getattr(self, method), id=id)
self.CurrentToolBar.append(id)
+ self.ToolBar.Realize()
+ elif not language:
+ self.ResetToolBar()
+ self.CurrentLanguage = language
self.ResetCurrentMode()
def RefreshTabsOpenedTitles(self):