objdictgen/networkedit.py
changeset 778 9edaa9d21cf9
parent 748 18ed0f3b030a
--- a/objdictgen/networkedit.py	Wed Mar 06 23:50:35 2013 +0100
+++ b/objdictgen/networkedit.py	Tue Mar 26 23:21:03 2013 +0100
@@ -22,7 +22,6 @@
 #Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
 import wx
-import wx.grid
 
 from types import *
 import os, re, platform, sys, time, traceback, getopt
@@ -84,9 +83,7 @@
 
 from nodelist import *
 from nodemanager import *
-from nodeeditor import NodeEditorTemplate
-from subindextable import *
-from commondialogs import *
+from networkeditortemplate import NetworkEditorTemplate
 from doc_index.DS301_index import *
 
 try:
@@ -160,125 +157,6 @@
 except:
     Html_Window = False
 
-[ID_NETWORKEDITORNETWORKNODES,
-] = [wx.NewId() for _init_ctrls in range(1)]
-
-class NetworkEditorTemplate(NodeEditorTemplate):
-    
-    def _init_ctrls(self, prnt):
-        self.NetworkNodes = wx.Notebook(id=ID_NETWORKEDITNETWORKNODES,
-              name='NetworkNodes', parent=prnt, pos=wx.Point(0, 0),
-              size=wx.Size(0, 0), style=wx.NB_LEFT)
-        self.NetworkNodes.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGED,
-              self.OnNodeSelectedChanged, id=ID_NETWORKEDITNETWORKNODES)
-    
-    def __init__(self, manager, frame, mode_solo):
-        self.NodeList = manager
-        NodeEditorTemplate.__init__(self, self.NodeList.GetManager(), frame, mode_solo)
-    
-    def GetCurrentNodeId(self):
-        selected = self.NetworkNodes.GetSelection()
-        # At init selected = -1
-        if selected > 0:
-            window = self.NetworkNodes.GetPage(selected)
-            return window.GetIndex()
-        else:
-            return 0
-    
-    def RefreshCurrentIndexList(self):
-        selected = self.NetworkNodes.GetSelection()
-        if selected == 0:
-            window = self.NetworkNodes.GetPage(selected)
-            window.RefreshIndexList()
-        else:
-            pass
-
-    def RefreshNetworkNodes(self):
-        if self.NetworkNodes.GetPageCount() > 0:
-            self.NetworkNodes.DeleteAllPages()
-        if self.NodeList:
-            new_editingpanel = EditingPanel(self.NetworkNodes, self, self.Manager)
-            new_editingpanel.SetIndex(self.Manager.GetCurrentNodeID())
-            self.NetworkNodes.AddPage(new_editingpanel, "")
-            for idx in self.NodeList.GetSlaveIDs():
-                new_editingpanel = EditingPanel(self.NetworkNodes, self, self.NodeList, False)
-                new_editingpanel.SetIndex(idx)
-                self.NetworkNodes.AddPage(new_editingpanel, "")
-    
-    def OnNodeSelectedChanged(self, event):
-        if not self.Closing:
-            selected = event.GetSelection()
-            # At init selected = -1
-            if selected >= 0:
-                window = self.NetworkNodes.GetPage(selected)
-                self.NodeList.SetCurrentSelected(window.GetIndex())
-            wx.CallAfter(self.RefreshMainMenu)
-            wx.CallAfter(self.RefreshStatusBar)
-        event.Skip()
-
-#-------------------------------------------------------------------------------
-#                              Buffer Functions
-#-------------------------------------------------------------------------------
-
-    def RefreshBufferState(self):
-        if self.NodeList is not None:
-            nodeID = self.Manager.GetCurrentNodeID()
-            if nodeID != None:
-                nodename = "0x%2.2X %s"%(nodeID, self.Manager.GetCurrentNodeName())
-            else:
-                nodename = self.Manager.GetCurrentNodeName()
-            self.NetworkNodes.SetPageText(0, nodename)
-            for idx, name in enumerate(self.NodeList.GetSlaveNames()):
-                self.NetworkNodes.SetPageText(idx + 1, name)
-
-#-------------------------------------------------------------------------------
-#                             Slave Nodes Management
-#-------------------------------------------------------------------------------
-
-    def OnAddSlaveMenu(self, event):
-        dialog = AddSlaveDialog(self.Frame)
-        dialog.SetNodeList(self.NodeList)
-        if dialog.ShowModal() == wx.ID_OK:
-            values = dialog.GetValues()
-            result = self.NodeList.AddSlaveNode(values["slaveName"], values["slaveNodeID"], values["edsFile"])
-            if not result:
-                new_editingpanel = EditingPanel(self.NetworkNodes, self, self.NodeList, False)
-                new_editingpanel.SetIndex(values["slaveNodeID"])
-                idx = self.NodeList.GetOrderNumber(values["slaveNodeID"])
-                self.NetworkNodes.InsertPage(idx, new_editingpanel, "")
-                self.NodeList.SetCurrentSelected(idx)
-                self.NetworkNodes.SetSelection(idx)
-                self.RefreshBufferState()
-            else:
-                self.ShowErrorMessage(result)
-        dialog.Destroy()
-        
-    def OnRemoveSlaveMenu(self, event):
-        slavenames = self.NodeList.GetSlaveNames()
-        slaveids = self.NodeList.GetSlaveIDs()
-        dialog = wx.SingleChoiceDialog(self.Frame, _("Choose a slave to remove"), _("Remove slave"), slavenames)
-        if dialog.ShowModal() == wx.ID_OK:
-            choice = dialog.GetSelection()
-            result = self.NodeList.RemoveSlaveNode(slaveids[choice])
-            if not result:
-                slaveids.pop(choice)
-                current = self.NetworkNodes.GetSelection()
-                self.NetworkNodes.DeletePage(choice + 1)
-                if self.NetworkNodes.GetPageCount() > 0:
-                    new_selection = min(current, self.NetworkNodes.GetPageCount() - 1)
-                    self.NetworkNodes.SetSelection(new_selection)
-                    if new_selection > 0:
-                        self.NodeList.SetCurrentSelected(slaveids[new_selection - 1])
-                self.RefreshBufferState()
-            else:
-                self.ShowErrorMessage(result)
-        dialog.Destroy()
-
-    def OpenMasterDCFDialog(self, node_id):
-        self.NetworkNodes.SetSelection(0)
-        self.NetworkNodes.GetPage(0).OpenDCFDialog(node_id)
-
-
 [ID_NETWORKEDIT, ID_NETWORKEDITNETWORKNODES, 
  ID_NETWORKEDITHELPBAR,
 ] = [wx.NewId() for _init_ctrls in range(3)]