diff options
Diffstat (limited to 'grc/gui/Constants.py')
-rw-r--r-- | grc/gui/Constants.py | 74 |
1 files changed, 50 insertions, 24 deletions
diff --git a/grc/gui/Constants.py b/grc/gui/Constants.py index 0dc6279fd2..a8395f631e 100644 --- a/grc/gui/Constants.py +++ b/grc/gui/Constants.py @@ -18,78 +18,104 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA """ import pygtk + pygtk.require('2.0') import gtk import os +import sys +from gnuradio import gr + +_gr_prefs = gr.prefs() + -##default path for the open/save dialogs +# default path for the open/save dialogs DEFAULT_FILE_PATH = os.getcwd() -##file extensions +# file extensions IMAGE_FILE_EXTENSION = '.png' TEXT_FILE_EXTENSION = '.txt' -##name for new/unsaved flow graphs +# name for new/unsaved flow graphs NEW_FLOGRAPH_TITLE = 'untitled' -##main window constraints +# main window constraints MIN_WINDOW_WIDTH = 600 MIN_WINDOW_HEIGHT = 400 -##dialog constraints +# dialog constraints MIN_DIALOG_WIDTH = 500 MIN_DIALOG_HEIGHT = 500 -##default sizes +# default sizes DEFAULT_BLOCKS_WINDOW_WIDTH = 100 DEFAULT_REPORTS_WINDOW_WIDTH = 100 -## flow-graph canvas fonts + +try: # ugly, but matches current code style + raw = _gr_prefs.get_string('grc', 'canvas_default_size', '1280, 1024') + DEFAULT_CANVAS_SIZE = tuple(int(x.strip('() ')) for x in raw.split(',')) + if len(DEFAULT_CANVAS_SIZE) != 2 or not all(300 < x < 4096 for x in DEFAULT_CANVAS_SIZE): + raise Exception() +except: + DEFAULT_CANVAS_SIZE = 1280, 1024 + print >> sys.stderr, "Error: invalid 'canvas_default_size' setting." + +# flow-graph canvas fonts +try: # ugly, but matches current code style + FONT_SIZE = _gr_prefs.get_long('grc', 'canvas_font_size', 8) + if FONT_SIZE <= 0: + raise Exception() +except: + FONT_SIZE = 8 + print >> sys.stderr, "Error: invalid 'canvas_font_size' setting." FONT_FAMILY = "Sans" -FONT_SIZE = 8 BLOCK_FONT = "%s %f" % (FONT_FAMILY, FONT_SIZE) PORT_FONT = BLOCK_FONT PARAM_FONT = "%s %f" % (FONT_FAMILY, FONT_SIZE - 0.5) -##The size of the state saving cache in the flow graph (for undo/redo functionality) +# size of the state saving cache in the flow graph (undo/redo functionality) STATE_CACHE_SIZE = 42 -##Shared targets for drag and drop of blocks +# Shared targets for drag and drop of blocks DND_TARGETS = [('STRING', gtk.TARGET_SAME_APP, 0)] -#label constraint dimensions +# label constraint dimensions LABEL_SEPARATION = 3 BLOCK_LABEL_PADDING = 7 PORT_LABEL_PADDING = 2 -#port constraint dimensions -PORT_SEPARATION = 32 -PORT_BORDER_SEPARATION = 9 +# canvas grid size +CANVAS_GRID_SIZE = 8 + +# port constraint dimensions +PORT_BORDER_SEPARATION = 8 +PORT_SPACING = 2 * PORT_BORDER_SEPARATION +PORT_SEPARATION = PORT_SPACING + 2 * PORT_LABEL_PADDING + int(1.5 * FONT_SIZE) +PORT_SEPARATION += -PORT_SEPARATION % (2 * CANVAS_GRID_SIZE) # even multiple + PORT_MIN_WIDTH = 20 PORT_LABEL_HIDDEN_WIDTH = 10 -#minimal length of connector +# minimal length of connector CONNECTOR_EXTENSION_MINIMAL = 11 -#increment length for connector +# increment length for connector CONNECTOR_EXTENSION_INCREMENT = 11 -#connection arrow dimensions +# connection arrow dimensions CONNECTOR_ARROW_BASE = 13 CONNECTOR_ARROW_HEIGHT = 17 -#possible rotations in degrees +# possible rotations in degrees POSSIBLE_ROTATIONS = (0, 90, 180, 270) -#How close can the mouse get to the window border before mouse events are ignored. +# How close can the mouse get to the window border before mouse events are ignored. BORDER_PROXIMITY_SENSITIVITY = 50 -#How close the mouse can get to the edge of the visible window before scrolling is invoked. +# How close the mouse can get to the edge of the visible window before scrolling is invoked. SCROLL_PROXIMITY_SENSITIVITY = 30 -#When the window has to be scrolled, move it this distance in the required direction. +# When the window has to be scrolled, move it this distance in the required direction. SCROLL_DISTANCE = 15 -#How close the mouse click can be to a line and register a connection select. +# How close the mouse click can be to a line and register a connection select. LINE_SELECT_SENSITIVITY = 5 -# canvas grid size -CANVAS_GRID_SIZE = 8 |