def set_goal(self, goal): if goal is None: self.status_bg.SetBackgroundColour(wx.Colour(200, 0, 0)) self.status.SetLabel("Waiting For Goal...") self.send_feedback.Disable() self.succeed.Disable() self.abort.Disable() self.preempt.Disable() self.goal.SetValue("") else: self.status_bg.SetBackgroundColour(wx.Colour(0, 200, 0)) self.status.SetLabel("Received Goal. Send feedback, succeed, or abort.") self.send_feedback.Enable() self.succeed.Enable() self.abort.Enable() self.preempt.Enable() try: self.goal.SetValue(to_yaml(goal)) except UnicodeDecodeError: self.goal.SetValue("Cannot display goal due to unprintable characters")
def OnInit(self): self.frame = wx.Frame( None, -1, self.action_name + ' - ' + self.action_type.name + ' - GUI Client') self.sz = wx.BoxSizer(wx.VERTICAL) tmp_goal = self.action_type.goal() self.goal = wx.TextCtrl(self.frame, -1, style=wx.TE_MULTILINE) self.goal.SetValue(to_yaml(tmp_goal)) self.goal_st_bx = wx.StaticBox(self.frame, -1, "Goal") self.goal_st = wx.StaticBoxSizer(self.goal_st_bx, wx.VERTICAL) self.goal_st.Add(self.goal, 1, wx.EXPAND) self.feedback = wx.TextCtrl(self.frame, -1, style=(wx.TE_MULTILINE | wx.TE_READONLY)) self.feedback_st_bx = wx.StaticBox(self.frame, -1, "Feedback") self.feedback_st = wx.StaticBoxSizer(self.feedback_st_bx, wx.VERTICAL) self.feedback_st.Add(self.feedback, 1, wx.EXPAND) self.result = wx.TextCtrl(self.frame, -1, style=(wx.TE_MULTILINE | wx.TE_READONLY)) self.result_st_bx = wx.StaticBox(self.frame, -1, "Result") self.result_st = wx.StaticBoxSizer(self.result_st_bx, wx.VERTICAL) self.result_st.Add(self.result, 1, wx.EXPAND) self.send_goal = wx.Button(self.frame, -1, label="SEND GOAL") self.send_goal.Bind(wx.EVT_BUTTON, self.on_goal) self.send_goal.Disable() self.cancel_goal = wx.Button(self.frame, -1, label="CANCEL GOAL") self.cancel_goal.Bind(wx.EVT_BUTTON, self.on_cancel) self.cancel_goal.Disable() self.status_bg = wx.Panel(self.frame, -1) self.status_bg.SetBackgroundColour(wx.Colour(200, 0, 0)) self.status = wx.StaticText(self.status_bg, -1, label="No Goal") self.server_status_bg = wx.Panel(self.frame, -1) self.server_status_bg.SetBackgroundColour(wx.Colour(200, 0, 0)) self.server_status = wx.StaticText(self.server_status_bg, -1, label="Disconnected from server.") self.sz.Add(self.goal_st, 1, wx.EXPAND) self.sz.Add(self.feedback_st, 1, wx.EXPAND) self.sz.Add(self.result_st, 1, wx.EXPAND) self.sz.Add(self.send_goal, 0, wx.EXPAND) self.sz.Add(self.cancel_goal, 0, wx.EXPAND) self.sz.Add(self.status_bg, 0, wx.EXPAND) self.sz.Add(self.server_status_bg, 0, wx.EXPAND) self.frame.SetSizer(self.sz) self.server_check_timer = wx.Timer(self.frame) self.frame.Bind(wx.EVT_TIMER, self.server_check, self.server_check_timer) self.server_check_timer.Start(1000) self.sz.Layout() self.frame.Show() return True
def set_feedback(self, feedback): try: self.feedback.SetValue(to_yaml(feedback)) except UnicodeDecodeError: self.feedback.SetValue( "Cannot display feedback due to unprintable characters")
def set_result(self, result): try: self.result.SetValue(to_yaml(result)) except UnicodeDecodeError: self.result.SetValue( "Cannot display result due to unprintable characters")
def OnInit(self): self.frame = wx.Frame( None, -1, self.action_name + ' - ' + self.action_type.name + ' - Standin' ) self.sz = wx.BoxSizer(wx.VERTICAL) tmp_feedback = self.action_type.feedback() tmp_result = self.action_type.result() self.goal = wx.TextCtrl(self.frame, -1, style=(wx.TE_MULTILINE | wx.TE_READONLY)) self.goal_st_bx = wx.StaticBox(self.frame, -1, "Goal") self.goal_st = wx.StaticBoxSizer(self.goal_st_bx, wx.VERTICAL) self.goal_st.Add(self.goal, 1, wx.EXPAND) self.feedback = wx.TextCtrl(self.frame, -1, style=wx.TE_MULTILINE) self.feedback.SetValue(to_yaml(tmp_feedback)) self.feedback_st_bx = wx.StaticBox(self.frame, -1, "Feedback") self.feedback_st = wx.StaticBoxSizer(self.feedback_st_bx, wx.VERTICAL) self.feedback_st.Add(self.feedback, 1, wx.EXPAND) self.result = wx.TextCtrl(self.frame, -1, style=wx.TE_MULTILINE) self.result.SetValue(to_yaml(tmp_result)) self.result_st_bx = wx.StaticBox(self.frame, -1, "Result") self.result_st = wx.StaticBoxSizer(self.result_st_bx, wx.VERTICAL) self.result_st.Add(self.result, 1, wx.EXPAND) self.send_feedback = wx.Button(self.frame, -1, label="SEND FEEDBACK") self.send_feedback.Bind(wx.EVT_BUTTON, self.on_feedback) self.succeed = wx.Button(self.frame, -1, label="SUCCEED") self.succeed.Bind(wx.EVT_BUTTON, self.on_succeed) self.abort = wx.Button(self.frame, -1, label="ABORT") self.abort.Bind(wx.EVT_BUTTON, self.on_abort) self.preempt = wx.Button(self.frame, -1, label="PREEMPT") self.preempt.Bind(wx.EVT_BUTTON, self.on_preempt) self.status_bg = wx.Panel(self.frame, -1) self.status_bg.SetBackgroundColour(wx.Colour(200, 0, 0)) self.status = wx.StaticText(self.status_bg, -1, label="Waiting For Goal...") self.sz.Add(self.goal_st, 1, wx.EXPAND) self.sz.Add(self.feedback_st, 1, wx.EXPAND) self.sz.Add(self.result_st, 1, wx.EXPAND) self.sz.Add(self.send_feedback, 0, wx.EXPAND) self.sz.Add(self.succeed, 0, wx.EXPAND) self.sz.Add(self.abort, 0, wx.EXPAND) self.sz.Add(self.preempt, 0, wx.EXPAND) self.sz.Add(self.status_bg, 0, wx.EXPAND) self.frame.SetSizer(self.sz) self.set_goal(None) self.sz.Layout() self.frame.Show() return True