133 self.StaticTextDic[statictext_name] = wx.StaticText(self, label=_(statictext_label)) |
133 self.StaticTextDic[statictext_name] = wx.StaticText(self, label=_(statictext_label)) |
134 self.TextCtrlDic[textctrl_name] = wx.TextCtrl(self, size=wx.Size(130, 24), style=wx.TE_READONLY) |
134 self.TextCtrlDic[textctrl_name] = wx.TextCtrl(self, size=wx.Size(130, 24), style=wx.TE_READONLY) |
135 self.SizerDic["SlaveInfosDetailsInnerSizer"].AddMany([self.StaticTextDic[statictext_name], |
135 self.SizerDic["SlaveInfosDetailsInnerSizer"].AddMany([self.StaticTextDic[statictext_name], |
136 self.TextCtrlDic[textctrl_name]]) |
136 self.TextCtrlDic[textctrl_name]]) |
137 |
137 |
138 self.SizerDic["SlaveInfosDetailsBox"].AddSizer(self.SizerDic["SlaveInfosDetailsInnerSizer"]) |
138 self.SizerDic["SlaveInfosDetailsBox"].Add(self.SizerDic["SlaveInfosDetailsInnerSizer"]) |
139 |
139 |
140 self.SyncManagersGrid = CustomGrid(self, size=wx.Size(605, 155), style=wx.VSCROLL) |
140 self.SyncManagersGrid = CustomGrid(self, size=wx.Size(605, 155), style=wx.VSCROLL) |
141 |
141 |
142 self.SizerDic["SyncManagerInnerSizer"].Add(self.SyncManagersGrid) |
142 self.SizerDic["SyncManagerInnerSizer"].Add(self.SyncManagersGrid) |
143 self.SizerDic["SyncManagerBox"].Add(self.SizerDic["SyncManagerInnerSizer"]) |
143 self.SizerDic["SyncManagerBox"].Add(self.SizerDic["SyncManagerInnerSizer"]) |
151 ("CurrentStateLabel", "Current State:", "CurrentState")]) |
151 ("CurrentStateLabel", "Current State:", "CurrentState")]) |
152 ] |
152 ] |
153 for button_name, button_id, button_label, button_tooltipstring, event_method, sub_item in buttons: |
153 for button_name, button_id, button_label, button_tooltipstring, event_method, sub_item in buttons: |
154 self.ButtonDic[button_name] = wx.Button(self, id=button_id, label=_(button_label)) |
154 self.ButtonDic[button_name] = wx.Button(self, id=button_id, label=_(button_label)) |
155 self.ButtonDic[button_name].Bind(wx.EVT_BUTTON, event_method) |
155 self.ButtonDic[button_name].Bind(wx.EVT_BUTTON, event_method) |
156 self.ButtonDic[button_name].SetToolTipString(button_tooltipstring) |
156 self.ButtonDic[button_name].SetToolTip(button_tooltipstring) |
157 self.SizerDic["SlaveState_up_sizer"].Add(self.ButtonDic[button_name]) |
157 self.SizerDic["SlaveState_up_sizer"].Add(self.ButtonDic[button_name]) |
158 for statictext_name, statictext_label, textctrl_name in sub_item: |
158 for statictext_name, statictext_label, textctrl_name in sub_item: |
159 self.StaticTextDic[statictext_name] = wx.StaticText(self, label=_(statictext_label)) |
159 self.StaticTextDic[statictext_name] = wx.StaticText(self, label=_(statictext_label)) |
160 self.TextCtrlDic[textctrl_name] = wx.TextCtrl(self, size=wx.DefaultSize, style=wx.TE_READONLY) |
160 self.TextCtrlDic[textctrl_name] = wx.TextCtrl(self, size=wx.DefaultSize, style=wx.TE_READONLY) |
161 self.SizerDic["SlaveState_up_sizer"].AddMany([self.StaticTextDic[statictext_name], |
161 self.SizerDic["SlaveState_up_sizer"].AddMany([self.StaticTextDic[statictext_name], |
164 for button_name, button_label, button_tooltipstring, event_method in [ |
164 for button_name, button_label, button_tooltipstring, event_method in [ |
165 ("StartTimerButton", "Start State Monitoring", "Slave State Update Restart", self.StartTimer), |
165 ("StartTimerButton", "Start State Monitoring", "Slave State Update Restart", self.StartTimer), |
166 ("StopTimerButton", "Stop State Monitoring", "Slave State Update Stop", self.CurrentStateThreadStop)]: |
166 ("StopTimerButton", "Stop State Monitoring", "Slave State Update Stop", self.CurrentStateThreadStop)]: |
167 self.ButtonDic[button_name] = wx.Button(self, label=_(button_label)) |
167 self.ButtonDic[button_name] = wx.Button(self, label=_(button_label)) |
168 self.ButtonDic[button_name].Bind(wx.EVT_BUTTON, event_method) |
168 self.ButtonDic[button_name].Bind(wx.EVT_BUTTON, event_method) |
169 self.ButtonDic[button_name].SetToolTipString(button_tooltipstring) |
169 self.ButtonDic[button_name].SetToolTip(button_tooltipstring) |
170 self.SizerDic["SlaveState_down_sizer"].Add(self.ButtonDic[button_name]) |
170 self.SizerDic["SlaveState_down_sizer"].Add(self.ButtonDic[button_name]) |
171 |
171 |
172 self.SizerDic["SlaveState_sizer"].AddMany([self.SizerDic["SlaveState_up_sizer"], |
172 self.SizerDic["SlaveState_sizer"].AddMany([self.SizerDic["SlaveState_up_sizer"], |
173 self.SizerDic["SlaveState_down_sizer"]]) |
173 self.SizerDic["SlaveState_down_sizer"]]) |
174 |
174 |
1727 @param controler: _EthercatSlaveCTN class in EthercatSlave.py |
1727 @param controler: _EthercatSlaveCTN class in EthercatSlave.py |
1728 """ |
1728 """ |
1729 |
1729 |
1730 wx.Panel.__init__(self, parent, -1, size=(350, 500)) |
1730 wx.Panel.__init__(self, parent, -1, size=(350, 500)) |
1731 |
1731 |
1732 self.Tree = wx.gizmos.TreeListCtrl(self, -1, size=(350, 500), |
1732 self.Tree = wx.adv.TreeListCtrl(self, -1, size=(350, 500), |
1733 style=(wx.TR_DEFAULT_STYLE | |
1733 style=(wx.TR_DEFAULT_STYLE | |
1734 wx.TR_FULL_ROW_HIGHLIGHT | |
1734 wx.TR_FULL_ROW_HIGHLIGHT | |
1735 wx.TR_HIDE_ROOT | |
1735 wx.TR_HIDE_ROOT | |
1736 wx.TR_COLUMN_LINES | |
1736 wx.TR_COLUMN_LINES | |
1737 wx.TR_ROW_LINES)) |
1737 wx.TR_ROW_LINES)) |
2690 ('Slaves', 'Slave Count:')]: |
2690 ('Slaves', 'Slave Count:')]: |
2691 self.StaticText[key] = wx.StaticText(self, label=_(label)) |
2691 self.StaticText[key] = wx.StaticText(self, label=_(label)) |
2692 self.TextCtrl[key] = wx.TextCtrl(self, size=wx.Size(130, 24), style=wx.TE_READONLY) |
2692 self.TextCtrl[key] = wx.TextCtrl(self, size=wx.Size(130, 24), style=wx.TE_READONLY) |
2693 self.MasterStateSizer['innerMasterState'].AddMany([self.StaticText[key], self.TextCtrl[key]]) |
2693 self.MasterStateSizer['innerMasterState'].AddMany([self.StaticText[key], self.TextCtrl[key]]) |
2694 |
2694 |
2695 self.MasterStateSizer['masterState'].AddSizer(self.MasterStateSizer['innerMasterState']) |
2695 self.MasterStateSizer['masterState'].Add(self.MasterStateSizer['innerMasterState']) |
2696 |
2696 |
2697 # ----------------------- Ethernet Network Card Information --------------------------------------- |
2697 # ----------------------- Ethernet Network Card Information --------------------------------------- |
2698 for key, label in [ |
2698 for key, label in [ |
2699 ('Main', 'MAC Address:'), |
2699 ('Main', 'MAC Address:'), |
2700 ('Link', 'Link State:'), |
2700 ('Link', 'Link State:'), |
2703 ('Lost frames', 'Lost Frames:')]: |
2703 ('Lost frames', 'Lost Frames:')]: |
2704 self.StaticText[key] = wx.StaticText(self, label=_(label)) |
2704 self.StaticText[key] = wx.StaticText(self, label=_(label)) |
2705 self.TextCtrl[key] = wx.TextCtrl(self, size=wx.Size(130, 24), style=wx.TE_READONLY) |
2705 self.TextCtrl[key] = wx.TextCtrl(self, size=wx.Size(130, 24), style=wx.TE_READONLY) |
2706 self.MasterStateSizer['innerDeviceInfo'].AddMany([self.StaticText[key], self.TextCtrl[key]]) |
2706 self.MasterStateSizer['innerDeviceInfo'].AddMany([self.StaticText[key], self.TextCtrl[key]]) |
2707 |
2707 |
2708 self.MasterStateSizer['deviceInfo'].AddSizer(self.MasterStateSizer['innerDeviceInfo']) |
2708 self.MasterStateSizer['deviceInfo'].Add(self.MasterStateSizer['innerDeviceInfo']) |
2709 |
2709 |
2710 # ----------------------- Network Frame Information ----------------------------------------------- |
2710 # ----------------------- Network Frame Information ----------------------------------------------- |
2711 for key, label in [ |
2711 for key, label in [ |
2712 ("Tx frame rate [1/s]", "Tx Frame Rate [1/s]:"), |
2712 ("Tx frame rate [1/s]", "Tx Frame Rate [1/s]:"), |
2713 ("Tx rate [KByte/s]", "Tx Rate [KByte/s]:"), |
2713 ("Tx rate [KByte/s]", "Tx Rate [KByte/s]:"), |
2720 self.TextCtrl[key] = {} |
2720 self.TextCtrl[key] = {} |
2721 for index in ['0', '1', '2']: |
2721 for index in ['0', '1', '2']: |
2722 self.TextCtrl[key][index] = wx.TextCtrl(self, size=wx.Size(130, 24), style=wx.TE_READONLY) |
2722 self.TextCtrl[key][index] = wx.TextCtrl(self, size=wx.Size(130, 24), style=wx.TE_READONLY) |
2723 self.MasterStateSizer['innerFrameInfo'].Add(self.TextCtrl[key][index]) |
2723 self.MasterStateSizer['innerFrameInfo'].Add(self.TextCtrl[key][index]) |
2724 |
2724 |
2725 self.MasterStateSizer['frameInfo'].AddSizer(self.MasterStateSizer['innerFrameInfo']) |
2725 self.MasterStateSizer['frameInfo'].Add(self.MasterStateSizer['innerFrameInfo']) |
2726 |
2726 |
2727 # ------------------------------- Slave Information ----------------------------------------------- |
2727 # ------------------------------- Slave Information ----------------------------------------------- |
2728 self.SITreeListCtrl = SITreeListCtrl(self, self.Controler) |
2728 self.SITreeListCtrl = SITreeListCtrl(self, self.Controler) |
2729 self.MasterStateSizer["innerSlaveInfo"].AddMany([self.SIUpdateButton, |
2729 self.MasterStateSizer["innerSlaveInfo"].AddMany([self.SIUpdateButton, |
2730 self.SITreeListCtrl]) |
2730 self.SITreeListCtrl]) |
2731 self.MasterStateSizer["slaveInfo"].AddSizer( |
2731 self.MasterStateSizer["slaveInfo"].Add( |
2732 self.MasterStateSizer["innerSlaveInfo"]) |
2732 self.MasterStateSizer["innerSlaveInfo"]) |
2733 |
2733 |
2734 # --------------------------------- Main Sizer ---------------------------------------------------- |
2734 # --------------------------------- Main Sizer ---------------------------------------------------- |
2735 self.MasterStateSizer["main"].Add(self.MSUpdateButton) |
2735 self.MasterStateSizer["main"].Add(self.MSUpdateButton) |
2736 for key, sub, in [ |
2736 for key, sub, in [ |
2741 ("innerBottom", [ |
2741 ("innerBottom", [ |
2742 "slaveInfo"]), |
2742 "slaveInfo"]), |
2743 ("main", [ |
2743 ("main", [ |
2744 "innerTop", "innerMiddle", "innerBottom"])]: |
2744 "innerTop", "innerMiddle", "innerBottom"])]: |
2745 for key2 in sub: |
2745 for key2 in sub: |
2746 self.MasterStateSizer[key].AddSizer(self.MasterStateSizer[key2]) |
2746 self.MasterStateSizer[key].Add(self.MasterStateSizer[key2]) |
2747 |
2747 |
2748 self.SetSizer(self.MasterStateSizer["main"]) |
2748 self.SetSizer(self.MasterStateSizer["main"]) |
2749 |
2749 |
2750 def OnMSUpdateButtonClick(self, event): |
2750 def OnMSUpdateButtonClick(self, event): |
2751 """ |
2751 """ |
2796 |
2796 |
2797 wx.Panel.__init__(self, parent, -1, size=wx.Size(750, 350)) |
2797 wx.Panel.__init__(self, parent, -1, size=wx.Size(750, 350)) |
2798 |
2798 |
2799 self.Controler=controler |
2799 self.Controler=controler |
2800 |
2800 |
2801 self.Tree = wx.gizmos.TreeListCtrl(self, -1, size=wx.Size(750,350), |
2801 self.Tree = wx.adv.TreeListCtrl(self, -1, size=wx.Size(750,350), |
2802 style=wx.TR_HAS_BUTTONS |
2802 style=wx.TR_HAS_BUTTONS |
2803 |wx.TR_HIDE_ROOT |
2803 |wx.TR_HIDE_ROOT |
2804 |wx.TR_ROW_LINES |
2804 |wx.TR_ROW_LINES |
2805 |wx.TR_COLUMN_LINES |
2805 |wx.TR_COLUMN_LINES |
2806 |wx.TR_FULL_ROW_HIGHLIGHT) |
2806 |wx.TR_FULL_ROW_HIGHLIGHT) |