PLCOpenEditor.py
changeset 7 f1691e685c49
parent 6 c8cf918ee7ea
child 8 7ceec5c40d77
equal deleted inserted replaced
6:c8cf918ee7ea 7:f1691e685c49
   343               parent=prnt, pos=wx.Point(235, 287), size=wx.Size(1000, 600),
   343               parent=prnt, pos=wx.Point(235, 287), size=wx.Size(1000, 600),
   344               style=wx.DEFAULT_FRAME_STYLE, title=u'PLCOpenEditor')
   344               style=wx.DEFAULT_FRAME_STYLE, title=u'PLCOpenEditor')
   345         self._init_utils()
   345         self._init_utils()
   346         self.SetClientSize(wx.Size(1000, 600))
   346         self.SetClientSize(wx.Size(1000, 600))
   347         self.SetMenuBar(self.menuBar1)
   347         self.SetMenuBar(self.menuBar1)
       
   348         
       
   349         self.splitterWindow1 = wx.SplitterWindow(id=wxID_PLCOPENEDITORSPLITTERWINDOW1,
       
   350               name='splitterWindow1', parent=self, point=wx.Point(0, 0),
       
   351               size=wx.Size(-1, -1), style=wx.SP_3D)
       
   352         self.splitterWindow1.SetNeedUpdating(True)
       
   353         self.splitterWindow1.SetMinimumPaneSize(1)
       
   354 
       
   355         self.EditorPanel = wx.Panel(id=wxID_PLCOPENEDITOREDITORPANEL, 
       
   356               name='TabPanel', parent=self.splitterWindow1, pos=wx.Point(0, 0),
       
   357               size=wx.Size(-1, -1), style=wx.TAB_TRAVERSAL)
       
   358         
       
   359         self.TabsOpened = wx.Notebook(id=wxID_PLCOPENEDITORTABSOPENED,
       
   360               name='TabsOpened', parent=self.EditorPanel, pos=wx.Point(0,
       
   361               0), size=wx.Size(-1, -1), style=0)
       
   362         self.TabsOpened.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGED,
       
   363               self.OnPouSelectedChanged, id=wxID_PLCOPENEDITORTABSOPENED)
       
   364 
       
   365         self.ToolBar = wxToolBar(id=wxID_PLCOPENEDITORTOOLBAR, name='ToolBar',
       
   366               parent=self.EditorPanel, pos=wx.Point(0, 0), size=wx.Size(0, 40),
       
   367               style=wxTB_HORIZONTAL | wxNO_BORDER)
       
   368         self.ToolBar.AddRadioTool(wxID_PLCOPENEDITORTOOLBARITEMS0, 
       
   369               wxBitmap(os.path.join(CWD, 'Images/select.png')), wxNullBitmap, "Select an object")
       
   370         self.Bind(wx.EVT_TOOL, self.OnSelectionTool, 
       
   371               id=wxID_PLCOPENEDITORTOOLBARITEMS0)
       
   372         
       
   373         self.ProjectTree = wx.TreeCtrl(id=wxID_PLCOPENEDITORPROJECTTREE,
       
   374               name='treeCtrl1', parent=self.splitterWindow1, pos=wx.Point(0, 0),
       
   375               size=wx.Size(-1, -1),
       
   376               style=wx.TR_HAS_BUTTONS|wx.TR_EDIT_LABELS|wx.TR_SINGLE|wx.SUNKEN_BORDER)
       
   377         self.Bind(wx.EVT_RIGHT_UP, self.OnProjectTreeRightUp)
       
   378         self.Bind(wx.EVT_TREE_BEGIN_DRAG, self.OnProjectTreeBeginDrag,
       
   379               id=wxID_PLCOPENEDITORPROJECTTREE)
   348         self.Bind(wx.EVT_TREE_BEGIN_LABEL_EDIT, self.OnProjectTreeItemBeginEdit,
   380         self.Bind(wx.EVT_TREE_BEGIN_LABEL_EDIT, self.OnProjectTreeItemBeginEdit,
   349               id=wxID_PLCOPENEDITORPROJECTTREE)
   381               id=wxID_PLCOPENEDITORPROJECTTREE)
   350         self.Bind(wx.EVT_TREE_END_LABEL_EDIT, self.OnProjectTreeItemEndEdit,
   382         self.Bind(wx.EVT_TREE_END_LABEL_EDIT, self.OnProjectTreeItemEndEdit,
   351               id=wxID_PLCOPENEDITORPROJECTTREE)
   383               id=wxID_PLCOPENEDITORPROJECTTREE)
   352         self.Bind(wx.EVT_TREE_ITEM_ACTIVATED, self.OnProjectTreeItemActivated,
   384         self.Bind(wx.EVT_TREE_ITEM_ACTIVATED, self.OnProjectTreeItemActivated,
   353               id=wxID_PLCOPENEDITORPROJECTTREE)
   385               id=wxID_PLCOPENEDITORPROJECTTREE)
   354         self.Bind(wx.EVT_TREE_SEL_CHANGED, self.OnProjectTreeItemSelected,
   386         self.Bind(wx.EVT_TREE_SEL_CHANGED, self.OnProjectTreeItemSelected,
   355               id=wxID_PLCOPENEDITORPROJECTTREE)
   387               id=wxID_PLCOPENEDITORPROJECTTREE)
   356         
       
   357         self.splitterWindow1 = wx.SplitterWindow(id=wxID_PLCOPENEDITORSPLITTERWINDOW1,
       
   358               name='splitterWindow1', parent=self, point=wx.Point(0, 0),
       
   359               size=wx.Size(-1, -1), style=wx.SP_3D)
       
   360         self.splitterWindow1.SetNeedUpdating(True)
       
   361         self.splitterWindow1.SetMinimumPaneSize(1)
       
   362 
       
   363         self.EditorPanel = wx.Panel(id=wxID_PLCOPENEDITOREDITORPANEL, 
       
   364               name='TabPanel', parent=self.splitterWindow1, pos=wx.Point(0, 0),
       
   365               size=wx.Size(-1, -1), style=wx.TAB_TRAVERSAL)
       
   366         
       
   367         self.TabsOpened = wx.Notebook(id=wxID_PLCOPENEDITORTABSOPENED,
       
   368               name='TabsOpened', parent=self.EditorPanel, pos=wx.Point(0,
       
   369               0), size=wx.Size(-1, -1), style=0)
       
   370         self.TabsOpened.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGED,
       
   371               self.OnPouSelectedChanged, id=wxID_PLCOPENEDITORTABSOPENED)
       
   372 
       
   373         self.ToolBar = wxToolBar(id=wxID_PLCOPENEDITORTOOLBAR, name='ToolBar',
       
   374               parent=self.EditorPanel, pos=wx.Point(0, 0), size=wx.Size(0, 40),
       
   375               style=wxTB_HORIZONTAL | wxNO_BORDER)
       
   376         self.ToolBar.AddRadioTool(wxID_PLCOPENEDITORTOOLBARITEMS0, 
       
   377               wxBitmap(os.path.join(CWD, 'Images/select.png')), wxNullBitmap, "Select an object")
       
   378         self.Bind(wx.EVT_TOOL, self.OnSelectionTool, 
       
   379               id=wxID_PLCOPENEDITORTOOLBARITEMS0)
       
   380         
       
   381         self.ProjectTree = wx.TreeCtrl(id=wxID_PLCOPENEDITORPROJECTTREE,
       
   382               name='treeCtrl1', parent=self.splitterWindow1, pos=wx.Point(0, 0),
       
   383               size=wx.Size(-1, -1),
       
   384               style=wx.TR_HAS_BUTTONS|wx.TR_EDIT_LABELS|wx.TR_SINGLE|wx.SUNKEN_BORDER)
       
   385         self.ProjectTree.Bind(wx.EVT_RIGHT_UP, self.OnProjectTreeRightUp)
       
   386         self.splitterWindow1.SplitVertically(self.ProjectTree, self.EditorPanel,
   388         self.splitterWindow1.SplitVertically(self.ProjectTree, self.EditorPanel,
   387               200)
   389               200)
   388               
   390               
   389         self._init_sizers()
   391         self._init_sizers()
   390 
   392 
   660         event.Skip()
   662         event.Skip()
   661     
   663     
   662     def OnLDBlockTool(self, event):
   664     def OnLDBlockTool(self, event):
   663         selected = self.TabsOpened.GetSelection()
   665         selected = self.TabsOpened.GetSelection()
   664         if selected != -1:
   666         if selected != -1:
   665             pass
   667             self.TabsOpened.GetPage(selected).AddBlock()
   666         event.Skip()
   668         event.Skip()
   667     
   669     
   668     def OnLDBranchTool(self, event): 
   670     def OnLDBranchTool(self, event): 
   669         selected = self.TabsOpened.GetSelection()
   671         selected = self.TabsOpened.GetSelection()
   670         if selected != -1:
   672         if selected != -1:
   684                     self.ProjectTree.SelectItem(item)
   686                     self.ProjectTree.SelectItem(item)
   685                 item, root_cookie = self.ProjectTree.GetNextChild(root, root_cookie)
   687                 item, root_cookie = self.ProjectTree.GetNextChild(root, root_cookie)
   686             self.RefreshFileMenu()
   688             self.RefreshFileMenu()
   687             self.RefreshEditMenu()
   689             self.RefreshEditMenu()
   688             self.RefreshToolBar()
   690             self.RefreshToolBar()
       
   691         event.Skip()
       
   692 
       
   693     def OnProjectTreeBeginDrag(self, event):
       
   694         item = event.GetItem()
       
   695         if self.ProjectTree.GetPyData(item) == ITEM_VARIABLE:
       
   696             data = wxTextDataObject(self.ProjectTree.GetItemText(item))
       
   697             dragSource = wxDropSource(self.ProjectTree)
       
   698             dragSource.SetData(data)
       
   699             dragSource.DoDragDrop()
   689         event.Skip()
   700         event.Skip()
   690 
   701 
   691     def OnProjectTreeItemEndEdit(self, event):
   702     def OnProjectTreeItemEndEdit(self, event):
   692         message = None
   703         message = None
   693         abort = False
   704         abort = False