Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell/console/console.py
diff options
context:
space:
mode:
authorEduardo Silva <edsiper@tuto.(none)>2007-01-04 02:51:08 (GMT)
committer Eduardo Silva <edsiper@tuto.(none)>2007-01-04 02:51:08 (GMT)
commit3dd0def247c966f87bef9630fc8a978177782a15 (patch)
tree4e0c825b718975f20513d9fcf79a6953b8a68912 /shell/console/console.py
parente28a1b27ee6cb527b7ede0a244cf5990f7e50568 (diff)
[dev-console] - Interfaces fixed: memphis, logviewer
Diffstat (limited to 'shell/console/console.py')
-rwxr-xr-xshell/console/console.py119
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()