diff options
author | Sebastian Koslowski <koslowski@kit.edu> | 2014-03-15 17:07:09 +0100 |
---|---|---|
committer | Sebastian Koslowski <koslowski@kit.edu> | 2014-04-16 11:00:46 +0200 |
commit | 586d5494ab8914df9d6f2b1bfac04573c705a217 (patch) | |
tree | 8f57cf31aedb1d4c88aa367b924f37b1c2190e7e | |
parent | 24b9e5bee104769db1bef04feda0c6fd07a3bc29 (diff) |
grc: new tools menu to execute gr_filter_design
-rw-r--r-- | grc/gui/ActionHandler.py | 26 | ||||
-rw-r--r-- | grc/gui/Actions.py | 5 | ||||
-rw-r--r-- | grc/gui/Bars.py | 3 |
3 files changed, 25 insertions, 9 deletions
diff --git a/grc/gui/ActionHandler.py b/grc/gui/ActionHandler.py index aa692f5ca3..65969e0d6f 100644 --- a/grc/gui/ActionHandler.py +++ b/grc/gui/ActionHandler.py @@ -25,6 +25,7 @@ import pygtk pygtk.require('2.0') import gtk import gobject +import subprocess import Preferences from threading import Thread import Messages @@ -116,6 +117,7 @@ class ActionHandler: Actions.FLOW_GRAPH_SCREEN_CAPTURE, Actions.HELP_WINDOW_DISPLAY, Actions.TYPES_WINDOW_DISPLAY, Actions.TOGGLE_BLOCKS_WINDOW, Actions.TOGGLE_REPORTS_WINDOW, Actions.TOGGLE_HIDE_DISABLED_BLOCKS, + Actions.TOOLS_RUN_FDESIGN, ): action.set_sensitive(True) if ParseXML.xml_failures: Messages.send_xml_errors_if_any(ParseXML.xml_failures) @@ -485,23 +487,29 @@ class ActionHandler: bn = []; for b in self.get_flow_graph().get_selected_blocks(): if b._grc_source: - self.main_window.new_page(b._grc_source, show=True); + self.main_window.new_page(b._grc_source, show=True) elif action == Actions.BUSSIFY_SOURCES: n = {'name':'bus', 'type':'bus'} for b in self.get_flow_graph().get_selected_blocks(): - b.bussify(n, 'source'); - self.get_flow_graph()._old_selected_port = None; - self.get_flow_graph()._new_selected_port = None; - Actions.ELEMENT_CREATE(); + b.bussify(n, 'source') + self.get_flow_graph()._old_selected_port = None + self.get_flow_graph()._new_selected_port = None + Actions.ELEMENT_CREATE() elif action == Actions.BUSSIFY_SINKS: n = {'name':'bus', 'type':'bus'} for b in self.get_flow_graph().get_selected_blocks(): b.bussify(n, 'sink') - self.get_flow_graph()._old_selected_port = None; - self.get_flow_graph()._new_selected_port = None; - Actions.ELEMENT_CREATE(); - else: print '!!! Action "%s" not handled !!!'%action + self.get_flow_graph()._old_selected_port = None + self.get_flow_graph()._new_selected_port = None + Actions.ELEMENT_CREATE() + + elif action == Actions.TOOLS_RUN_FDESIGN: + subprocess.Popen('gr_filter_design', + shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + + else: + print '!!! Action "%s" not handled !!!' % action ################################################## # Global Actions for all States ################################################## diff --git a/grc/gui/Actions.py b/grc/gui/Actions.py index afbeb97612..97681eccd6 100644 --- a/grc/gui/Actions.py +++ b/grc/gui/Actions.py @@ -365,3 +365,8 @@ XML_PARSER_ERRORS_DISPLAY = Action( tooltip='View errors that occured while parsing XML files', stock_id=gtk.STOCK_DIALOG_ERROR, ) +TOOLS_RUN_FDESIGN = Action( + label='Filter design tool', + tooltip='Execute gr_filter_design', + stock_id=gtk.STOCK_EXECUTE, +) diff --git a/grc/gui/Bars.py b/grc/gui/Bars.py index ef8feb0a0b..ce72edeeaf 100644 --- a/grc/gui/Bars.py +++ b/grc/gui/Bars.py @@ -101,6 +101,9 @@ MENU_BAR_LIST = ( Actions.FLOW_GRAPH_EXEC, Actions.FLOW_GRAPH_KILL, ]), + (gtk.Action('Tools', '_Tools', None, None), [ + Actions.TOOLS_RUN_FDESIGN, + ]), (gtk.Action('Help', '_Help', None, None), [ Actions.HELP_WINDOW_DISPLAY, Actions.TYPES_WINDOW_DISPLAY, |