def cr_ui_chart_panel_show(self, chart_obj, closable=False, width=640, height=480, pos_x=400, pos_y=300): """ 展示图表 :param chart_obj: 实例化的对象 :param closable: boole :param width: 图表的宽 :param height: 图标的高 :param pos_x: 以屏幕左上角为坐系的x轴 :param pos_y: 以屏幕左上角为坐系的y轴 :return: """ panel_id = "CHART_" + str(chart_obj.chart_id) title = chart_obj.title if panel_id not in self.html_panels: # 先创建一个htmlPanel url = chart_obj.html_file msg = AtomUi.mk_ui_html_panel_show(panel_id, url, title, width, height, closable, pos_x, pos_y) self.html_panels.append(panel_id) # 用state显示图表 self.pub_state(panel_id, "", msg) time.sleep(1) init_data = chart_obj.to_json() msg = AtomUi.mk_ui_chart_init(panel_id, init_data) self.chart_panels[chart_obj.chart_id] = chart_obj return self.pub_state(WORLD_STATES.CHART_INIT, { "panel_id": panel_id, "init_data": init_data }, msg)
def cr_ui_chart_panel_update(self, chart_id): """ 更新图表 :param chart_id: 展示图表的名字 :return: """ panel_id = "CHART_" + str(chart_id) if chart_id in self.chart_panels: data = self.chart_panels[chart_id].to_json() msg = AtomUi.mk_ui_chart_init(panel_id, data) return self.pub_message(msg)