diff options
author | Eduardo Silva <edsiper@tuto.(none)> | 2007-01-04 02:51:08 (GMT) |
---|---|---|
committer | Eduardo Silva <edsiper@tuto.(none)> | 2007-01-04 02:51:08 (GMT) |
commit | 3dd0def247c966f87bef9630fc8a978177782a15 (patch) | |
tree | 4e0c825b718975f20513d9fcf79a6953b8a68912 /shell/console/console.py | |
parent | e28a1b27ee6cb527b7ede0a244cf5990f7e50568 (diff) |
[dev-console] - Interfaces fixed: memphis, logviewer
Diffstat (limited to 'shell/console/console.py')
-rwxr-xr-x | shell/console/console.py | 119 |
1 files changed, 74 insertions, 45 deletions
diff --git a/shell/console/console.py b/shell/console/console.py index a8568c1..5d2b00d 100755 --- a/shell/console/console.py +++ b/shell/console/console.py @@ -23,49 +23,78 @@ import gtk sys.path.append(os.path.dirname(__file__) + '/lib') sys.path.append(os.path.dirname(__file__) + '/interface') -# Console interfaces -from xo import xo -from memphis import memphis -from logviewer import logviewer -from terminal import terminal - -window = gtk.Window() -window.set_title('Developer console') -window.connect("delete-event", gtk.main_quit) - -width = gtk.gdk.screen_width() * 95 / 100 -height = gtk.gdk.screen_height() * 95 / 100 - -window.set_default_size(width, height) - -window.realize() -window.window.set_type_hint(gtk.gdk.WINDOW_TYPE_HINT_DIALOG) - -# XO Interface -xo_widget = xo.Interface().widget -xo_widget.show() - -# Memphis interface -memphis_widget = memphis.Interface().widget -memphis_widget.show() - -# Log viewer interface -logviewer_widget = logviewer.Interface().widget -logviewer_widget.show() - -# Terminal interface -terminal_widget = terminal.Interface().widget -terminal_widget.show() - -# Notebook -notebook = gtk.Notebook() -notebook.append_page(xo_widget, gtk.Label('XO Resources')) -notebook.append_page(memphis_widget, gtk.Label('Memphis')) -notebook.append_page(logviewer_widget, gtk.Label('Log Viewer')) -notebook.append_page(terminal_widget, gtk.Label('Terminal')) - -notebook.show() - -window.add(notebook) -window.show() +class Console: + + def __init__(self): + + # Main Window + self.window = gtk.Window() + self.window.set_title('Developer console') + self.window.connect("delete-event", self._minimize_main_window) + + self.default_width = gtk.gdk.screen_width() * 95 / 100 + self.default_height = gtk.gdk.screen_height() * 95 / 100 + self.default_mini_width = 150 + self.default_mini_height = 30 + + self.window.set_default_size(self.default_width, self.default_height) + + self.window.realize() + self.window.window.set_type_hint(gtk.gdk.WINDOW_TYPE_HINT_DIALOG) + + # Minimize Window + self.mini_fixed = gtk.Fixed() + + # Minimize buttons + button_restore = gtk.Button('Restore') + button_restore.connect("clicked", self._restore_window) + + button_quit = gtk.Button('Quit') + button_quit.connect("clicked", gtk.main_quit) + + mini_hbox = gtk.HBox() + mini_hbox.pack_start(button_restore, True, True, 0) + mini_hbox.pack_start(button_quit, True, True, 0) + self.mini_fixed.add(mini_hbox) + + # Notebook + self.notebook = gtk.Notebook() + + self._load_interface('xo', 'XO Resources') + self._load_interface('memphis', 'Memphis') + self._load_interface('logviewer', 'Log Viewer') + self._load_interface('terminal', 'Terminal') + + main_hbox = gtk.HBox() + main_hbox.pack_start(self.notebook, True, True, 0) + main_hbox.pack_start(self.mini_fixed, True, True, 0) + main_hbox.show() + + self.notebook.show() + self.window.add(main_hbox) + self.window.show() + + self.mini_fixed.hide() + + def _load_interface(self, interface, label): + mod = __import__(interface) + widget = mod.Interface().widget + widget.show() + + self.notebook.append_page(widget, gtk.Label(label)) + + + def _restore_window(self, button): + self.mini_fixed.hide_all() + self.window.resize(self.default_mini_width, self.default_mini_height) + self.notebook.show_all() + + def _minimize_main_window(self, window, gdkevent): + self.notebook.hide_all() + window.resize(self.default_mini_width, self.default_mini_height) + self.mini_fixed.show_all() + return True + + +CS = Console() gtk.main() |