objdictgen/networkedit.py
changeset 258 8f7725451453
parent 254 f2b0acb54e65
child 265 36cc4c87cdaa
equal deleted inserted replaced
257:4f3364846782 258:8f7725451453
    59 elif len(args) == 1:
    59 elif len(args) == 1:
    60     projectOpen = args[0]
    60     projectOpen = args[0]
    61 else:
    61 else:
    62     usage()
    62     usage()
    63     sys.exit(2)
    63     sys.exit(2)
    64 ScriptDirectory = ""
    64 ScriptDirectory = os.path.split(__file__)[0]
    65 for path in sys.path:
       
    66     if os.path.isfile(os.path.join(path, "networkedit.py")):
       
    67         ScriptDirectory = path
       
    68 
    65 
    69 try:
    66 try:
    70     import wx.html
    67     import wx.html
    71 
    68 
    72     EVT_HTML_URL_CLICK = wx.NewId()
    69     EVT_HTML_URL_CLICK = wx.NewId()
   167  ID_NETWORKEDITHELPMENUITEMS2,
   164  ID_NETWORKEDITHELPMENUITEMS2,
   168 ] = [wx.NewId() for _init_coll_HelpMenu_Items in range(3)]
   165 ] = [wx.NewId() for _init_coll_HelpMenu_Items in range(3)]
   169 
   166 
   170 class networkedit(wx.Frame):
   167 class networkedit(wx.Frame):
   171     def _init_coll_menuBar1_Menus(self, parent):
   168     def _init_coll_menuBar1_Menus(self, parent):
   172         # generated method, don't edit
       
   173 
       
   174         if self.ModeSolo:
   169         if self.ModeSolo:
   175             parent.Append(menu=self.FileMenu, title='File')
   170             parent.Append(menu=self.FileMenu, title='File')
   176         parent.Append(menu=self.NetworkMenu, title='Network')
   171         parent.Append(menu=self.NetworkMenu, title='Network')
   177         parent.Append(menu=self.EditMenu, title='Edit')
   172         parent.Append(menu=self.EditMenu, title='Edit')
   178         parent.Append(menu=self.AddMenu, title='Add')
   173         parent.Append(menu=self.AddMenu, title='Add')
   179         parent.Append(menu=self.HelpMenu, title='Help')
   174         parent.Append(menu=self.HelpMenu, title='Help')
   180 
   175 
   181     def _init_coll_EditMenu_Items(self, parent):
   176     def _init_coll_EditMenu_Items(self, parent):
   182         # generated method, don't edit
       
   183 
       
   184         parent.Append(help='', id=ID_NETWORKEDITEDITMENUITEMS4,
   177         parent.Append(help='', id=ID_NETWORKEDITEDITMENUITEMS4,
   185               kind=wx.ITEM_NORMAL, text='Refresh\tCTRL+R')
   178               kind=wx.ITEM_NORMAL, text='Refresh\tCTRL+R')
   186         parent.AppendSeparator()
   179         parent.AppendSeparator()
   187         parent.Append(help='', id=ID_NETWORKEDITEDITMENUITEMS1,
   180         parent.Append(help='', id=ID_NETWORKEDITEDITMENUITEMS1,
   188               kind=wx.ITEM_NORMAL, text='Undo\tCTRL+Z')
   181               kind=wx.ITEM_NORMAL, text='Undo\tCTRL+Z')
   211               id=ID_NETWORKEDITEDITMENUITEMS7)
   204               id=ID_NETWORKEDITEDITMENUITEMS7)
   212         self.Bind(wx.EVT_MENU, self.OnOtherCommunicationMenu,
   205         self.Bind(wx.EVT_MENU, self.OnOtherCommunicationMenu,
   213               id=ID_NETWORKEDITEDITMENUITEMS8)
   206               id=ID_NETWORKEDITEDITMENUITEMS8)
   214 
   207 
   215     def _init_coll_HelpMenu_Items(self, parent):
   208     def _init_coll_HelpMenu_Items(self, parent):
   216         # generated method, don't edit
       
   217 
       
   218         parent.Append(help='', id=ID_NETWORKEDITHELPMENUITEMS0,
   209         parent.Append(help='', id=ID_NETWORKEDITHELPMENUITEMS0,
   219               kind=wx.ITEM_NORMAL, text='DS-301 Standard\tF1')
   210               kind=wx.ITEM_NORMAL, text='DS-301 Standard\tF1')
   220         self.Bind(wx.EVT_MENU, self.OnHelpDS301Menu,
   211         self.Bind(wx.EVT_MENU, self.OnHelpDS301Menu,
   221               id=ID_NETWORKEDITHELPMENUITEMS0)
   212               id=ID_NETWORKEDITHELPMENUITEMS0)
   222         parent.Append(help='', id=ID_NETWORKEDITHELPMENUITEMS1,
   213         parent.Append(help='', id=ID_NETWORKEDITHELPMENUITEMS1,
   228                   kind=wx.ITEM_NORMAL, text='About')
   219                   kind=wx.ITEM_NORMAL, text='About')
   229             self.Bind(wx.EVT_MENU, self.OnAboutMenu,
   220             self.Bind(wx.EVT_MENU, self.OnAboutMenu,
   230                   id=ID_NETWORKEDITHELPMENUITEMS2)
   221                   id=ID_NETWORKEDITHELPMENUITEMS2)
   231 
   222 
   232     def _init_coll_FileMenu_Items(self, parent):
   223     def _init_coll_FileMenu_Items(self, parent):
   233         # generated method, don't edit
       
   234 
       
   235         parent.Append(help='', id=ID_NETWORKEDITFILEMENUITEMS5,
   224         parent.Append(help='', id=ID_NETWORKEDITFILEMENUITEMS5,
   236               kind=wx.ITEM_NORMAL, text='New\tCTRL+N')
   225               kind=wx.ITEM_NORMAL, text='New\tCTRL+N')
   237         parent.Append(help='', id=ID_NETWORKEDITFILEMENUITEMS0,
   226         parent.Append(help='', id=ID_NETWORKEDITFILEMENUITEMS0,
   238               kind=wx.ITEM_NORMAL, text='Open\tCTRL+O')
   227               kind=wx.ITEM_NORMAL, text='Open\tCTRL+O')
   239         parent.Append(help='', id=ID_NETWORKEDITFILEMENUITEMS1,
   228         parent.Append(help='', id=ID_NETWORKEDITFILEMENUITEMS1,
   253               id=ID_NETWORKEDITFILEMENUITEMS4)
   242               id=ID_NETWORKEDITFILEMENUITEMS4)
   254         self.Bind(wx.EVT_MENU, self.OnNewProjectMenu,
   243         self.Bind(wx.EVT_MENU, self.OnNewProjectMenu,
   255               id=ID_NETWORKEDITFILEMENUITEMS5)
   244               id=ID_NETWORKEDITFILEMENUITEMS5)
   256     
   245     
   257     def _init_coll_NetworkMenu_Items(self, parent):
   246     def _init_coll_NetworkMenu_Items(self, parent):
   258         # generated method, don't edit
       
   259 
       
   260         parent.Append(help='', id=ID_NETWORKEDITNETWORKMENUITEMS0,
   247         parent.Append(help='', id=ID_NETWORKEDITNETWORKMENUITEMS0,
   261               kind=wx.ITEM_NORMAL, text='Add Slave Node')
   248               kind=wx.ITEM_NORMAL, text='Add Slave Node')
   262         parent.Append(help='', id=ID_NETWORKEDITNETWORKMENUITEMS1,
   249         parent.Append(help='', id=ID_NETWORKEDITNETWORKMENUITEMS1,
   263               kind=wx.ITEM_NORMAL, text='Remove Slave Node')
   250               kind=wx.ITEM_NORMAL, text='Remove Slave Node')
   264         parent.AppendSeparator()
   251         parent.AppendSeparator()
   270               id=ID_NETWORKEDITNETWORKMENUITEMS1)
   257               id=ID_NETWORKEDITNETWORKMENUITEMS1)
   271 ##        self.Bind(wx.EVT_MENU, self.OnBuildMasterMenu,
   258 ##        self.Bind(wx.EVT_MENU, self.OnBuildMasterMenu,
   272 ##              id=ID_NETWORKEDITNETWORKMENUITEMS3)
   259 ##              id=ID_NETWORKEDITNETWORKMENUITEMS3)
   273     
   260     
   274     def _init_coll_AddMenu_Items(self, parent):
   261     def _init_coll_AddMenu_Items(self, parent):
   275         # generated method, don't edit
       
   276 
       
   277         parent.Append(help='', id=ID_NETWORKEDITADDMENUITEMS0,
   262         parent.Append(help='', id=ID_NETWORKEDITADDMENUITEMS0,
   278               kind=wx.ITEM_NORMAL, text='SDO Server')
   263               kind=wx.ITEM_NORMAL, text='SDO Server')
   279         parent.Append(help='', id=ID_NETWORKEDITADDMENUITEMS1,
   264         parent.Append(help='', id=ID_NETWORKEDITADDMENUITEMS1,
   280               kind=wx.ITEM_NORMAL, text='SDO Client')
   265               kind=wx.ITEM_NORMAL, text='SDO Client')
   281         parent.Append(help='', id=ID_NETWORKEDITADDMENUITEMS2,
   266         parent.Append(help='', id=ID_NETWORKEDITADDMENUITEMS2,
   298               id=ID_NETWORKEDITADDMENUITEMS4)
   283               id=ID_NETWORKEDITADDMENUITEMS4)
   299         self.Bind(wx.EVT_MENU, self.OnAddUserTypeMenu,
   284         self.Bind(wx.EVT_MENU, self.OnAddUserTypeMenu,
   300               id=ID_NETWORKEDITADDMENUITEMS5)
   285               id=ID_NETWORKEDITADDMENUITEMS5)
   301 
   286 
   302     def _init_coll_HelpBar_Fields(self, parent):
   287     def _init_coll_HelpBar_Fields(self, parent):
   303         # generated method, don't edit
       
   304         parent.SetFieldsCount(3)
   288         parent.SetFieldsCount(3)
   305 
   289 
   306         parent.SetStatusText(number=0, text='')
   290         parent.SetStatusText(number=0, text='')
   307         parent.SetStatusText(number=1, text='')
   291         parent.SetStatusText(number=1, text='')
   308         parent.SetStatusText(number=2, text='')
   292         parent.SetStatusText(number=2, text='')
   309 
   293 
   310         parent.SetStatusWidths([100, 110, -1])
   294         parent.SetStatusWidths([100, 110, -1])
   311 
   295 
   312     def _init_utils(self):
   296     def _init_utils(self):
   313         # generated method, don't edit
       
   314         self.menuBar1 = wx.MenuBar()
   297         self.menuBar1 = wx.MenuBar()
   315         self.menuBar1.SetEvtHandlerEnabled(True)
   298         self.menuBar1.SetEvtHandlerEnabled(True)
   316         
   299         
   317         if self.ModeSolo:
   300         if self.ModeSolo:
   318             self.FileMenu = wx.Menu(title='')
   301             self.FileMenu = wx.Menu(title='')
   328         self._init_coll_EditMenu_Items(self.EditMenu)
   311         self._init_coll_EditMenu_Items(self.EditMenu)
   329         self._init_coll_AddMenu_Items(self.AddMenu)
   312         self._init_coll_AddMenu_Items(self.AddMenu)
   330         self._init_coll_HelpMenu_Items(self.HelpMenu)
   313         self._init_coll_HelpMenu_Items(self.HelpMenu)
   331 
   314 
   332     def _init_ctrls(self, prnt):
   315     def _init_ctrls(self, prnt):
   333         # generated method, don't edit
       
   334         wx.Frame.__init__(self, id=ID_NETWORKEDIT, name='networkedit',
   316         wx.Frame.__init__(self, id=ID_NETWORKEDIT, name='networkedit',
   335               parent=prnt, pos=wx.Point(149, 178), size=wx.Size(1000, 700),
   317               parent=prnt, pos=wx.Point(149, 178), size=wx.Size(1000, 700),
   336               style=wx.DEFAULT_FRAME_STYLE, title='Networkedit')
   318               style=wx.DEFAULT_FRAME_STYLE, title='Networkedit')
   337         self._init_utils()
   319         self._init_utils()
   338         self.SetClientSize(wx.Size(1000, 700))
   320         self.SetClientSize(wx.Size(1000, 700))
   356         self.Parent = parent
   338         self.Parent = parent
   357         self.HtmlFrameOpened = []
   339         self.HtmlFrameOpened = []
   358         self.BusId = None
   340         self.BusId = None
   359         
   341         
   360         if self.ModeSolo:
   342         if self.ModeSolo:
   361             self.Manager = NodeManager(ScriptDirectory)
   343             self.Manager = NodeManager()
   362             if projectOpen:
   344             if projectOpen:
   363                 self.NodeList = NodeList(self.Manager)
   345                 self.NodeList = NodeList(self.Manager)
   364                 result = self.NodeList.LoadProject(projectOpen)
   346                 result = self.NodeList.LoadProject(projectOpen)
   365                 if not result:
   347                 if not result:
   366                     self.RefreshNetworkNodes()
   348                     self.RefreshNetworkNodes()
   458         dialog = wx.DirDialog(self , "Choose a project", defaultpath, wx.DD_NEW_DIR_BUTTON)
   440         dialog = wx.DirDialog(self , "Choose a project", defaultpath, wx.DD_NEW_DIR_BUTTON)
   459         if dialog.ShowModal() == wx.ID_OK:
   441         if dialog.ShowModal() == wx.ID_OK:
   460             projectpath = dialog.GetPath()
   442             projectpath = dialog.GetPath()
   461             if os.path.isdir(projectpath) and len(os.listdir(projectpath)) == 0:
   443             if os.path.isdir(projectpath) and len(os.listdir(projectpath)) == 0:
   462                 os.mkdir(os.path.join(projectpath, "eds"))
   444                 os.mkdir(os.path.join(projectpath, "eds"))
   463                 manager = NodeManager(ScriptDirectory)
   445                 manager = NodeManager()
   464                 nodelist = NodeList(manager)
   446                 nodelist = NodeList(manager)
   465                 result = nodelist.LoadProject(projectpath)
   447                 result = nodelist.LoadProject(projectpath)
   466                 if not result:
   448                 if not result:
   467                     self.Manager = manager
   449                     self.Manager = manager
   468                     self.NodeList = nodelist
   450                     self.NodeList = nodelist
   486             defaultpath = os.getcwd()
   468             defaultpath = os.getcwd()
   487         dialog = wx.DirDialog(self , "Choose a project", defaultpath, 0)
   469         dialog = wx.DirDialog(self , "Choose a project", defaultpath, 0)
   488         if dialog.ShowModal() == wx.ID_OK:
   470         if dialog.ShowModal() == wx.ID_OK:
   489             projectpath = dialog.GetPath()
   471             projectpath = dialog.GetPath()
   490             if os.path.isdir(projectpath):
   472             if os.path.isdir(projectpath):
   491                 manager = NodeManager(ScriptDirectory)
   473                 manager = NodeManager()
   492                 nodelist = NodeList(manager)
   474                 nodelist = NodeList(manager)
   493                 result = nodelist.LoadProject(projectpath)
   475                 result = nodelist.LoadProject(projectpath)
   494                 if not result:
   476                 if not result:
   495                     self.Manager = manager
   477                     self.Manager = manager
   496                     self.NodeList = nodelist
   478                     self.NodeList = nodelist