[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] r8997 - in grc/trunk/src: grc grc/elements grc/gui/ele
From: |
jblum |
Subject: |
[Commit-gnuradio] r8997 - in grc/trunk/src: grc grc/elements grc/gui/elements grc_gnuradio |
Date: |
Thu, 24 Jul 2008 12:50:21 -0600 (MDT) |
Author: jblum
Date: 2008-07-24 12:50:20 -0600 (Thu, 24 Jul 2008)
New Revision: 8997
Modified:
grc/trunk/src/grc/ActionHandler.py
grc/trunk/src/grc/elements/Connection.py
grc/trunk/src/grc/elements/Port.py
grc/trunk/src/grc/gui/elements/Colors.py
grc/trunk/src/grc/gui/elements/Connection.py
grc/trunk/src/grc/gui/elements/FlowGraph.py
grc/trunk/src/grc_gnuradio/Generator.py
Log:
connection disable
Modified: grc/trunk/src/grc/ActionHandler.py
===================================================================
--- grc/trunk/src/grc/ActionHandler.py 2008-07-24 17:48:46 UTC (rev 8996)
+++ grc/trunk/src/grc/ActionHandler.py 2008-07-24 18:50:20 UTC (rev 8997)
@@ -204,13 +204,13 @@
# Enable/Disable
##############################################################################################
elif state == BLOCK_ENABLE:
- self.get_flow_graph().enable_selected(True)
-
self.get_page().get_state_cache().save_new_state(self.get_flow_graph().export_data())
- self.get_page().set_saved(False)
+ if self.get_flow_graph().enable_selected(True):
+
self.get_page().get_state_cache().save_new_state(self.get_flow_graph().export_data())
+ self.get_page().set_saved(False)
elif state == BLOCK_DISABLE:
- self.get_flow_graph().enable_selected(False)
-
self.get_page().get_state_cache().save_new_state(self.get_flow_graph().export_data())
- self.get_page().set_saved(False)
+ if self.get_flow_graph().enable_selected(False):
+
self.get_page().get_state_cache().save_new_state(self.get_flow_graph().export_data())
+ self.get_page().set_saved(False)
##############################################################################################
# Cut/Copy/Paste
##############################################################################################
Modified: grc/trunk/src/grc/elements/Connection.py
===================================================================
--- grc/trunk/src/grc/elements/Connection.py 2008-07-24 17:48:46 UTC (rev
8996)
+++ grc/trunk/src/grc/elements/Connection.py 2008-07-24 18:50:20 UTC (rev
8997)
@@ -63,11 +63,15 @@
sink_type = self.get_sink().get_type()
try: assert source_type == sink_type
except AssertionError: self._add_error_message('Source type
"%s" does not match sink type "%s".'%(source_type, sink_type))
- try: assert self.get_source().get_parent().get_enabled()
- except AssertionError: self._add_error_message('Source is
disabled.')
- try: assert self.get_sink().get_parent().get_enabled()
- except AssertionError: self._add_error_message('Sink is
disabled.')
+ def get_enabled(self):
+ """!
+ Get the enabled state of this connection.
+ @return true if source and sink blocks are enabled
+ """
+ return self.get_source().get_parent().get_enabled() and \
+ self.get_sink().get_parent().get_enabled()
+
#############################
# Access Ports
#############################
@@ -83,8 +87,8 @@
@return a nested data odict
"""
n = odict()
- n['source_block_id'] =
self.get_source().get_parent().get_param('id').get_value()
- n['sink_block_id'] =
self.get_sink().get_parent().get_param('id').get_value()
+ n['source_block_id'] = self.get_source().get_parent().get_id()
+ n['sink_block_id'] = self.get_sink().get_parent().get_id()
n['source_key'] = self.get_source().get_key()
n['sink_key'] = self.get_sink().get_key()
return n
Modified: grc/trunk/src/grc/elements/Port.py
===================================================================
--- grc/trunk/src/grc/elements/Port.py 2008-07-24 17:48:46 UTC (rev 8996)
+++ grc/trunk/src/grc/elements/Port.py 2008-07-24 18:50:20 UTC (rev 8997)
@@ -24,11 +24,11 @@
from grc.elements.Element import Element
class Port(Element):
-
+
##possible port types
TYPES = []
-
- def __init__(self, block, n):
+
+ def __init__(self, block, n):
"""
Make a new port from nested data.
@param block the parent element
@@ -44,7 +44,7 @@
self._name = name
self._key = key
self._type = type
-
+
def validate(self):
"""!
Validate the port.
@@ -53,28 +53,28 @@
try: assert(not self.is_empty())
except AssertionError: self._add_error_message('is empty.')
try: assert(self.get_type() in self.TYPES)
- except AssertionError: self._add_error_message('Type "%s" is
not a possible type.'%self.get_type())
-
- def __str__(self):
+ except AssertionError: self._add_error_message('Type "%s" is
not a possible type.'%self.get_type())
+
+ def __str__(self):
if self.is_source():
return 'Source - %s(%s)'%(self.get_name(),
self.get_key())
if self.is_sink():
return 'Sink - %s(%s)'%(self.get_name(), self.get_key())
-
+
def is_port(self): return True
-
+
def get_color(self): return '#FFFFFF'
-
+
def get_name(self): return self._name
-
+
def get_key(self): return self._key
-
+
def is_sink(self): return self in self.get_parent().get_sinks()
-
+
def is_source(self): return self in self.get_parent().get_sources()
-
+
def get_type(self): return
self.get_parent().resolve_dependencies(self._type)
-
+
def get_connections(self):
"""!
Get all connections that use this port.
@@ -83,14 +83,14 @@
connections = self.get_parent().get_parent().get_connections()
connections = filter(lambda c: c.get_source() is self or
c.get_sink() is self, connections)
return connections
-
+
def is_connected(self):
"""!
Is this port connected?
@return true if at least one connection
"""
return bool(self.get_connections())
-
+
def is_full(self):
"""!
Is this port full of connections?
@@ -99,7 +99,7 @@
"""
if self.is_source(): return False
if self.is_sink(): return bool(self.get_connections())
-
+
def is_empty(self):
"""!
Is this port empty?
Modified: grc/trunk/src/grc/gui/elements/Colors.py
===================================================================
--- grc/trunk/src/grc/gui/elements/Colors.py 2008-07-24 17:48:46 UTC (rev
8996)
+++ grc/trunk/src/grc/gui/elements/Colors.py 2008-07-24 18:50:20 UTC (rev
8997)
@@ -31,6 +31,7 @@
FG_COLOR = get_color('black') #normal border color
BG_COLOR = get_color('#F1ECFF') #default background
DISABLED_BG_COLOR = get_color('#CCCCCC') #disabled background
+DISABLED_FG_COLOR = get_color('#999999') #disabled foreground
H_COLOR = get_color('#00FFFF') #Highlight border color
TXT_COLOR = get_color('black') #text color
ERROR_COLOR = get_color('red') #error color
Modified: grc/trunk/src/grc/gui/elements/Connection.py
===================================================================
--- grc/trunk/src/grc/gui/elements/Connection.py 2008-07-24 17:48:46 UTC
(rev 8996)
+++ grc/trunk/src/grc/gui/elements/Connection.py 2008-07-24 18:50:20 UTC
(rev 8997)
@@ -157,8 +157,10 @@
self._sink_coor = sink.get_coordinate()
self._source_coor = source.get_coordinate()
#draw
- Element.draw(self, window)
+ fg_color = self.get_enabled() and Colors.FG_COLOR or
Colors.DISABLED_FG_COLOR
+ Element.draw(self, window, FG_color=fg_color)
gc = self.get_gc()
- if not self.is_valid(): gc.foreground = Colors.ERROR_COLOR
+ if self.is_valid(): gc.foreground = Colors.FG_COLOR
+ else: gc.foreground = Colors.ERROR_COLOR
#draw arrow on sink port
window.draw_polygon(gc, True, self._arrow)
Modified: grc/trunk/src/grc/gui/elements/FlowGraph.py
===================================================================
--- grc/trunk/src/grc/gui/elements/FlowGraph.py 2008-07-24 17:48:46 UTC (rev
8996)
+++ grc/trunk/src/grc/gui/elements/FlowGraph.py 2008-07-24 18:50:20 UTC (rev
8997)
@@ -174,10 +174,14 @@
"""!
Enable/disable the selected block.
@param enable true to enable
+ @return true if changed
"""
if self.get_selected_block():
+ if self.get_selected_block().get_enabled() == enable:
return False
self.get_selected_block().set_enabled(enable)
self.update()
+ return True
+ return False
def move_selected(self, delta_coordinate):
"""!
Modified: grc/trunk/src/grc_gnuradio/Generator.py
===================================================================
--- grc/trunk/src/grc_gnuradio/Generator.py 2008-07-24 17:48:46 UTC (rev
8996)
+++ grc/trunk/src/grc_gnuradio/Generator.py 2008-07-24 18:50:20 UTC (rev
8997)
@@ -79,9 +79,11 @@
"""
imports = self._flow_graph.get_imports()
variables = self._flow_graph.get_variables()
- #list of blocks not including variables and imports
+ #list of blocks not including variables and imports, not
including disabled blocks
blocks = sorted(self._flow_graph.get_blocks(), lambda x, y:
cmp(x.get_id(), y.get_id()))
blocks = filter(lambda b: b not in (imports + variables) and
b.get_enabled(), blocks)
+ #list of connections where each endpoint is enabled
+ connections = filter(lambda c: c.get_enabled(),
self._flow_graph.get_connections())
#list of callbacks
callbacks = sum([block.get_callbacks() for block in
self._flow_graph.get_blocks()], [])
#list of variable names
@@ -116,7 +118,7 @@
'flow_graph': self._flow_graph,
'variables': variables,
'blocks': blocks,
- 'connections': self._flow_graph.get_connections(),
+ 'connections': connections,
'gui_type':
self._flow_graph.get_option('generate_options'),
'var_id2expr': var_id2expr,
'var_id2deps': var_id2deps,
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r8997 - in grc/trunk/src: grc grc/elements grc/gui/elements grc_gnuradio,
jblum <=