commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] r9282 - in grc/trunk/src/grc: . gui gui/elements


From: jblum
Subject: [Commit-gnuradio] r9282 - in grc/trunk/src/grc: . gui gui/elements
Date: Thu, 14 Aug 2008 08:21:15 -0600 (MDT)

Author: jblum
Date: 2008-08-14 08:21:14 -0600 (Thu, 14 Aug 2008)
New Revision: 9282

Modified:
   grc/trunk/src/grc/ActionHandler.py
   grc/trunk/src/grc/gui/DrawingArea.py
   grc/trunk/src/grc/gui/elements/FlowGraph.py
Log:
moved control mask to drawing area

Modified: grc/trunk/src/grc/ActionHandler.py
===================================================================
--- grc/trunk/src/grc/ActionHandler.py  2008-08-14 06:54:11 UTC (rev 9281)
+++ grc/trunk/src/grc/ActionHandler.py  2008-08-14 14:21:14 UTC (rev 9282)
@@ -57,7 +57,6 @@
                self.main_window = gui.MainWindow(self.handle_states, platform)
                self.main_window.connect('delete_event', self._quit)
                self.main_window.connect('key_press_event', 
self._handle_key_press)
-               self.main_window.connect('key_release_event', 
self._handle_key_release)
                self.get_page = self.main_window.get_page
                self.get_flow_graph = self.main_window.get_flow_graph
                self.get_focus_flag = 
self.main_window.drawing_area.get_focus_flag
@@ -71,8 +70,6 @@
                gtk.gdk.threads_init()
                gtk.main()
 
-       def _handle_key_release(self, widget, event): 
self.get_flow_graph().set_ctrl_mask(False)
-
        def _handle_key_press(self, widget, event):
                """
                Handle key presses from the keyboard.
@@ -85,8 +82,6 @@
                ctrl = event.state & gtk.gdk.CONTROL_MASK
                alt = event.state & gtk.gdk.MOD1_MASK
                shift = event.state & gtk.gdk.SHIFT_MASK
-               #update flow graph ctrl mask
-               self.get_flow_graph().set_ctrl_mask(keyname in ('Control_L', 
'Control_R'))
                #################### save/open/new/close 
###############################
                if ctrl and keyname == 's':
                        self.handle_states(FLOW_GRAPH_SAVE)

Modified: grc/trunk/src/grc/gui/DrawingArea.py
===================================================================
--- grc/trunk/src/grc/gui/DrawingArea.py        2008-08-14 06:54:11 UTC (rev 
9281)
+++ grc/trunk/src/grc/gui/DrawingArea.py        2008-08-14 14:21:14 UTC (rev 
9282)
@@ -37,6 +37,7 @@
                Connect event handlers.
                @param main_window the main_window containing all flow graphs
                """
+               self.ctrl_mask = False
                self._main_window = main_window
                #inject drawing area into main_window
                self._main_window.drawing_area = self
@@ -79,6 +80,7 @@
                """!
                Forward button click information to the flow graph.
                """
+               self.ctrl_mask = event.state & gtk.gdk.CONTROL_MASK
                self._main_window.get_flow_graph().handle_mouse_button_press(
                        left_click=(event.button == 1),
                        double_click=(event.type == gtk.gdk._2BUTTON_PRESS),
@@ -90,6 +92,7 @@
                """!
                Forward button release information to the flow graph.
                """
+               self.ctrl_mask = event.state & gtk.gdk.CONTROL_MASK
                self._main_window.get_flow_graph().handle_mouse_button_release(
                        left_click=(event.button == 1),
                        coordinate=(event.x, event.y),
@@ -100,6 +103,7 @@
                """!
                Forward mouse motion information to the flow graph.
                """
+               self.ctrl_mask = event.state & gtk.gdk.CONTROL_MASK
                self._main_window.get_flow_graph().handle_mouse_motion(
                        coordinate=(event.x, event.y),
                )

Modified: grc/trunk/src/grc/gui/elements/FlowGraph.py
===================================================================
--- grc/trunk/src/grc/gui/elements/FlowGraph.py 2008-08-14 06:54:11 UTC (rev 
9281)
+++ grc/trunk/src/grc/gui/elements/FlowGraph.py 2008-08-14 14:21:14 UTC (rev 
9282)
@@ -52,8 +52,6 @@
                Element.__init__(self)
                #when is the flow graph selected? (used by keyboard event 
handler)
                self.is_selected = lambda: bool(self.get_selected_elements())
-               #ctrl mask
-               self.set_ctrl_mask(False)
                #important vars dealing with mouse event tracking
                self.element_moved = False
                self.mouse_pressed = False
@@ -64,8 +62,6 @@
                self._old_selected_port = None
                self._new_selected_port = None
 
-       def set_ctrl_mask(self, ctrl): self._ctrl = ctrl
-
        def _get_unique_id(self, base_id=''):
                """!
                Get a unique id starting with the base id.
@@ -89,6 +85,7 @@
        def set_size(self, *args): 
self.get_drawing_area().set_size_request(*args)
        def get_window(self): return self.get_drawing_area().window
        def get_scroll_pane(self): return self.drawing_area.get_parent()
+       def get_ctrl_mask(self): return self.drawing_area.ctrl_mask
 
        def add_new_block(self, key):
                """!
@@ -325,7 +322,7 @@
                                self.get_gc().foreground = Colors.TXT_COLOR
                                self.get_pixmap().draw_points(self.get_gc(), 
points)
                        #draw multi select rectangle
-                       if self.mouse_pressed and (not 
self.get_selected_elements() or self._ctrl):
+                       if self.mouse_pressed and (not 
self.get_selected_elements() or self.get_ctrl_mask()):
                                #coordinates
                                x1, y1 = self.press_coor
                                x2, y2 = self.get_coordinate()
@@ -462,11 +459,11 @@
                        new_selection = 
self.what_is_selected(self.get_coordinate())
                        #update the selections if the new selection is not in 
the current selections
                        #allows us to move entire selected groups of elements
-                       if self._ctrl or not (
+                       if self.get_ctrl_mask() or not (
                                new_selection and new_selection[0] in 
self.get_selected_elements()
                        ): selected_elements = new_selection
                else: #called from a mouse release
-                       if not self.element_moved and (not 
self.get_selected_elements() or self._ctrl):
+                       if not self.element_moved and (not 
self.get_selected_elements() or self.get_ctrl_mask()):
                                selected_elements = 
self.what_is_selected(self.get_coordinate(), self.press_coor)
                #this selection and the last were ports, try to connect them
                if self._old_selected_port and self._new_selected_port and \
@@ -484,7 +481,7 @@
                self._selected_elements = list(set(selected_elements))
                new_elements = set(self.get_selected_elements())
                #if ctrl, set the selected elements to the union - intersection 
of old and new
-               if self._ctrl:
+               if self.get_ctrl_mask():
                        self._selected_elements = list(
                                set.union(old_elements, new_elements) - 
set.intersection(old_elements, new_elements)
                        )
@@ -562,7 +559,7 @@
                                adj.emit('changed')
                #move the selected element and record the new coordinate
                X, Y = self.get_coordinate()
-               if not self._ctrl: self.move_selected((int(x - X), int(y - Y)))
+               if not self.get_ctrl_mask(): self.move_selected((int(x - X), 
int(y - Y)))
                self.draw()
                self.set_coordinate((x, y))
                #update time





reply via email to

[Prev in Thread] Current Thread [Next in Thread]