diff options
author | James Meyer <james.meyer@operamail.com> | 2010-12-02 22:37:23 (GMT) |
---|---|---|
committer | James Meyer <james.meyer@operamail.com> | 2010-12-02 22:37:34 (GMT) |
commit | 8b94d7f39c71234712bead363526a0283efeb9fa (patch) | |
tree | 23f1dbd6458dc39a2c1b08bcdd4cbf768a60d84d /build_tools/larch8/larch0/gui/larch.py | |
parent | 338af567e74d08cbd357079941208e494463d61e (diff) | |
download | linhes_dev-8b94d7f39c71234712bead363526a0283efeb9fa.zip |
larch8: first checkin, still needs some work
Diffstat (limited to 'build_tools/larch8/larch0/gui/larch.py')
-rwxr-xr-x | build_tools/larch8/larch0/gui/larch.py | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/build_tools/larch8/larch0/gui/larch.py b/build_tools/larch8/larch0/gui/larch.py new file mode 100755 index 0000000..cda420b --- /dev/null +++ b/build_tools/larch8/larch0/gui/larch.py @@ -0,0 +1,66 @@ +#!/usr/bin/env python2 +# +# larch.py - GUI for the larch scripts +# +# (c) Copyright 2010 Michael Towers (larch42 at googlemail dot com) +# +# This file is part of the larch project. +# +# larch is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# larch is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with larch; if not, write to the Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# +#---------------------------------------------------------------------------- +#2010.10.12 + +import sys, os, __builtin__ +dirpath = os.path.dirname(os.path.realpath(__file__)) +sys.path.append(dirpath + '/front') +basedir = os.path.dirname(dirpath) +sys.path.append(basedir + '/cli') +sys.path.append(os.path.dirname(basedir)) + +from controller import base_dir, exports +# Note that the gui module must have a reference point for relative +# paths, so the current directory must be set to the larch base directory +# before starting the gui: +os.chdir(base_dir) + +import mainwindow + +_running = False +def fss(key, *args, **kargs): + while True: + if _running: + ui.busy(True) + res = exports[key](*args) + if _running and not ui.isbusy(): + ui.busy(False) + if res: + result = res[1] + if res[0]: + filter = kargs.get('filter') + return filter(result) if filter else result + + if kargs.get('trap', True): + ui.command('errorDialog', result) + # That might return, but the gui should quit (soon?). + return None + +__builtin__.fss = fss +__builtin__.ui = mainwindow.Ui() +__builtin__.ui_signal = ui.sigin + +mainwindow.init() +_running = True +ui.run() |