예제 #1
0
    def on_menu_item_log_uav_data_activate(self, *args):
        sw = self.get_resource("log_message_scrolledwindow")
        tv = MessageTreeView(
                self._source.get_rx_message_treestore(),
                editable=False, show_dt=False, show_value=False)
        tv.get_selection().set_mode(gtk.SELECTION_MULTIPLE)
        tv.show()
        sw.add(tv)

        w = self.get_resource("logdatadialog")
        w.set_transient_for(self.window)
        w.set_position(gtk.WIN_POS_CENTER_ON_PARENT)
        resp = w.run()
        w.hide()

        if resp == gtk.RESPONSE_OK:
            csv = self.get_resource("log_csv_radiobutton")

            messages = [m.name for m in tv.get_all_selected_messages()]
            if messages:
                if csv.get_active():
                    self._source.register_csv_logger(None, *messages)
                else:
                    self._source.register_sqlite_logger(None, *messages)
            else:
                msg = self._msgarea.new_from_text_and_icon(
                            "Logging Data Failed",
                            "You must select messages to be logged",
                            message_type=gtk.MESSAGE_ERROR,
                            timeout=5)
                msg.show_all()

        sw.remove(tv)
예제 #2
0
    def on_menu_item_log_uav_data_activate(self, *args):
        sw = self.get_resource("log_message_scrolledwindow")
        tv = MessageTreeView(
                self._source.get_rx_message_treestore(),
                editable=False, show_dt=False, show_value=False)
        tv.show()
        sw.add(tv)

        w = self.get_resource("logdatadialog")
        w.set_transient_for(self.window)
        w.set_position(gtk.WIN_POS_CENTER_ON_PARENT)
        resp = w.run()
        w.hide()

        if resp == gtk.RESPONSE_OK:
            csv = self.get_resource("log_csv_radiobutton")

            messages = ("STATUS", "GPS_LLH")
            if csv.get_active():
                self._source.register_csv_logger(None, *messages)
            else:
                self._source.register_sqlite_logger(None, *messages)

        sw.remove(tv)
예제 #3
0
파일: tablet.py 프로젝트: MorS25/wasp
    def make_telemetry_page(self):
        rxts = self._source.get_rx_message_treestore()
        if not rxts:
            LOG.critical("Could not get RX treestore")
            return

        vb = gtk.VBox()
        rxtv = MessageTreeView(rxts, editable=False, show_dt=True)
        vb.pack_start(rxtv, expand=True, fill=True)

        b = gs.ui.get_button("Graph Selected", image_stock=gtk.STOCK_ADD)
        b.connect("clicked", self._on_graph_clicked, rxtv)
        vb.pack_start(b, expand=False, fill=True)

        b = gs.ui.get_button("Request Telemetry", image_stock=gtk.STOCK_INFO)
        b.connect("clicked", self._on_request_telemetry)
        vb.pack_start(b, expand=False, fill=True)

        sw = gtk.ScrolledWindow()
        sw.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
        sw.add_with_viewport(vb)

        return sw