[Top][All Lists]
[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r9282 - in grc/trunk/src/grc: . gui gui/elements,
jblum <=