--- a/PLCOpenEditor.py Wed Mar 18 16:42:12 2009 +0100
+++ b/PLCOpenEditor.py Thu Mar 19 18:10:12 2009 +0100
@@ -283,6 +283,8 @@
kind=wx.ITEM_NORMAL, text=u'Program')
AppendMenu(addmenu, help='', id=ID_PLCOPENEDITOREDITMENUADDCONFIGURATION,
kind=wx.ITEM_NORMAL, text=u'Configuration')
+ AppendMenu(parent, help='', id=wx.ID_SELECTALL,
+ kind=wx.ITEM_NORMAL, text=u'Select All\tCTRL+A')
AppendMenu(parent, help='', id=wx.ID_DELETE,
kind=wx.ITEM_NORMAL, text=u'Delete')
self.Bind(wx.EVT_MENU, self.OnRefreshMenu, id=wx.ID_REFRESH)
@@ -304,6 +306,7 @@
id=ID_PLCOPENEDITOREDITMENUADDPROGRAM)
self.Bind(wx.EVT_MENU, self.OnAddConfigurationMenu,
id=ID_PLCOPENEDITOREDITMENUADDCONFIGURATION)
+ self.Bind(wx.EVT_MENU, self.OnSelectAllMenu, id=wx.ID_SELECTALL)
self.Bind(wx.EVT_MENU, self.OnDeleteMenu, id=wx.ID_DELETE)
def _init_coll_HelpMenu_Items(self, parent):
@@ -662,6 +665,11 @@
else:
self.SetTitle(name)
+ def RefreshScaling(self):
+ for i in xrange(self.TabsOpened.GetPageCount()):
+ editor = self.TabsOpened.GetPage(i)
+ editor.RefreshScaling()
+
def ShowProperties(self):
old_values = self.Controler.GetProjectProperties(self.Debug)
dialog = ProjectDialog(self)
@@ -675,9 +683,7 @@
self.RefreshFileMenu()
self.RefreshEditMenu()
self.RefreshTypesTree()
- for i in xrange(self.TabsOpened.GetPageCount()):
- editor = self.TabsOpened.GetPage(i)
- editor.RefreshScaling()
+ self.RefreshScaling()
dialog.Destroy()
def OnCloseFrame(self, event):
@@ -1002,21 +1008,31 @@
self.EditMenu.Enable(wx.ID_REDO, redo)
self.EditMenu.Enable(wx.ID_ADD, True)
self.EditMenu.Enable(wx.ID_DELETE, True)
+ if self.TabsOpened.GetPageCount() > 0:
+ self.EditMenu.Enable(wx.ID_CUT, True)
+ self.EditMenu.Enable(wx.ID_COPY, True)
+ if self.CopyBuffer is not None:
+ self.EditMenu.Enable(wx.ID_PASTE, True)
+ else:
+ self.EditMenu.Enable(wx.ID_PASTE, False)
+ self.EditMenu.Enable(wx.ID_SELECTALL, True)
+ else:
+ self.EditMenu.Enable(wx.ID_CUT, False)
+ self.EditMenu.Enable(wx.ID_COPY, False)
+ self.EditMenu.Enable(wx.ID_PASTE, False)
+ self.EditMenu.Enable(wx.ID_SELECTALL, False)
else:
self.EditMenu.Enable(wx.ID_REFRESH, False)
if not self.Debug:
self.EditMenu.Enable(wx.ID_UNDO, False)
self.EditMenu.Enable(wx.ID_REDO, False)
+ self.EditMenu.Enable(wx.ID_CUT, False)
+ self.EditMenu.Enable(wx.ID_COPY, False)
+ self.EditMenu.Enable(wx.ID_PASTE, False)
+ self.EditMenu.Enable(wx.ID_SELECTALL, False)
self.EditMenu.Enable(wx.ID_ADD, False)
self.EditMenu.Enable(wx.ID_DELETE, False)
- if not self.Debug:
- self.EditMenu.Enable(wx.ID_CUT, True)
- self.EditMenu.Enable(wx.ID_COPY, True)
- if self.CopyBuffer is not None:
- self.EditMenu.Enable(wx.ID_PASTE, True)
- else:
- self.EditMenu.Enable(wx.ID_PASTE, False)
-
+
def OnRefreshMenu(self, event):
selected = self.TabsOpened.GetSelection()
if selected != -1:
@@ -1049,6 +1065,7 @@
self.RefreshTypesTree()
self.RefreshInstancesTree()
self.RefreshLibraryTree()
+ self.RefreshScaling()
event.Skip()
def OnRedoMenu(self, event):
@@ -1070,6 +1087,7 @@
self.RefreshTypesTree()
self.RefreshInstancesTree()
self.RefreshLibraryTree()
+ self.RefreshScaling()
event.Skip()
def OnCutMenu(self, event):
@@ -1096,6 +1114,13 @@
control.ProcessEvent(event)
event.Skip()
+ def OnSelectAllMenu(self, event):
+ selected = self.TabsOpened.GetSelection()
+ if selected != -1:
+ window = self.TabsOpened.GetPage(selected)
+ window.SelectAll()
+ event.Skip()
+
def OnDeleteMenu(self, event):
window = self.FindFocus()
if window == self.TypesTree:
@@ -1242,6 +1267,16 @@
else:
self.TabsOpened.SetPageText(idx, "-".join(words[1:]))
+ def GetTabsOpenedDClickFunction(self, window):
+ def OnTabsOpenedDClick(event):
+ pane = self.AUIManager.GetPane(self.TabsOpened)
+ if pane.IsMaximized():
+ self.AUIManager.RestorePane(pane)
+ else:
+ self.AUIManager.MaximizePane(pane)
+ self.AUIManager.Update()
+ event.Skip()
+ return OnTabsOpenedDClick
#-------------------------------------------------------------------------------
# Types Tree Management Functions
@@ -1604,6 +1639,9 @@
elif elementtype == ITEM_DATATYPE:
new_window = DataTypeEditor(self.TabsOpened, tagname, self, self.Controler)
self.TabsOpened.AddPage(new_window, "")
+ if wx.VERSION >= (2, 6, 0):
+ children = self.TabsOpened.GetChildren()
+ children[len(children) - 1].Bind(wx.EVT_LEFT_DCLICK, self.GetTabsOpenedDClickFunction(new_window))
self.VariablePanelIndexer.ChangeVariablePanel(tagname)
openedidx = self.IsOpened(tagname)
old_selected = self.TabsOpened.GetSelection()
@@ -3918,7 +3956,7 @@
def _init_coll_MainSizer_Items(self, parent):
parent.AddWindow(self.VariablesGrid, 0, border=0, flag=wx.GROW)
- parent.AddSizer(self.ControlPanelSizer, 0, border=0, flag=wx.GROW)
+ parent.AddSizer(self.ControlPanelSizer, 0, border=5, flag=wx.GROW|wx.ALL)
def _init_coll_MainSizer_Growables(self, parent):
parent.AddGrowableCol(0)
@@ -3954,9 +3992,9 @@
def _init_sizers(self):
self.MainSizer = wx.FlexGridSizer(cols=2, hgap=10, rows=1, vgap=0)
- self.ControlPanelSizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=10)
+ self.ControlPanelSizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=5)
self.ChoicePanelSizer = wx.GridSizer(cols=1, hgap=5, rows=4, vgap=5)
- self.ButtonPanelSizer = wx.FlexGridSizer(cols=2, hgap=5, rows=2, vgap=0)
+ self.ButtonPanelSizer = wx.FlexGridSizer(cols=2, hgap=5, rows=2, vgap=5)
self._init_coll_MainSizer_Items(self.MainSizer)
self._init_coll_MainSizer_Growables(self.MainSizer)
@@ -4084,7 +4122,7 @@
self.ReturnType.Enable(False)
self.staticText1.Hide()
self.ReturnType.Hide()
-
+
self.VariablesGrid.SetTable(self.Table)
self.VariablesGrid.SetRowLabelSize(0)
for col in range(self.Table.GetNumberCols()):