summaryrefslogtreecommitdiff
path: root/portato/gui/gtk/wrapper.py
diff options
context:
space:
mode:
Diffstat (limited to 'portato/gui/gtk/wrapper.py')
-rw-r--r--portato/gui/gtk/wrapper.py105
1 files changed, 105 insertions, 0 deletions
diff --git a/portato/gui/gtk/wrapper.py b/portato/gui/gtk/wrapper.py
new file mode 100644
index 0000000..7066acb
--- /dev/null
+++ b/portato/gui/gtk/wrapper.py
@@ -0,0 +1,105 @@
+# -*- coding: utf-8 -*-
+#
+# File: portato/gui/gtk/wrapper.py
+# This file is part of the Portato-Project, a graphical portage-frontend.
+#
+# Copyright (C) 2006 René 'Necoro' Neumann
+# This is free software. You may redistribute copies of it under the terms of
+# the GNU General Public License version 2.
+# There is NO WARRANTY, to the extent permitted by law.
+#
+# Written by René 'Necoro' Neumann <necoro@necoro.net>
+
+from portato.gui.wrapper import Tree, Console
+
+class GtkTree (Tree):
+ """The implementation of the abstract tree."""
+
+ def __init__ (self, tree, col = 0):
+ """Constructor.
+
+ @param tree: original tree
+ @type tree: gtk.TreeStore
+ @param col: the column where the cpv is stored
+ @type col: int"""
+
+ self.tree = tree
+ self.cpv_col = col
+ self.emergeIt = self.append(None, ["Emerge", ""])
+ self.unmergeIt = self.append(None, ["Unmerge", ""])
+
+ def build_append_value (self, cpv, oneshot = False, update = False, version = None):
+ string = ""
+
+ if oneshot:
+ string += "<i>oneshot</i>"
+ if update: string += "; "
+
+ if update:
+ string += "<i>updating</i>"
+ if version != None:
+ string += "<i> from version %s</i>" % version
+
+ return [cpv, string]
+
+ def get_emerge_it (self):
+ return self.emergeIt
+
+ def get_unmerge_it (self):
+ return self.unmergeIt
+
+ def is_in_emerge (self, it):
+ return self.get_path_from_iter(it).split(":")[0] == self.get_path_from_iter(self.emergeIt)
+
+ def is_in_unmerge (self, it):
+ return self.get_path_from_iter(it).split(":")[0] == self.get_path_from_iter(self.unmergeIt)
+
+ def iter_has_parent (self, it):
+ return (self.tree.iter_parent(it) != None)
+
+ def parent_iter (self, it):
+ return self.tree.iter_parent(it)
+
+ def first_child_iter (self, it):
+ return self.tree.iter_children(it)
+
+ def iter_has_children (self, it):
+ return self.tree.iter_has_child(it)
+
+ def next_iter (self, it):
+ return self.tree.iter_next(it)
+
+ def get_value (self, it, column):
+ return self.tree.get_value(it, column)
+
+ def get_path_from_iter (self, it):
+ return self.tree.get_string_from_iter(it)
+
+ def append (self, parent = None, values = None):
+ return self.tree.append(parent, values)
+
+ def remove (self, it):
+ return self.tree.remove(it)
+
+ def get_original (self):
+ return self.tree
+
+ def get_cpv_column (self):
+ return self.cpv_col
+
+class GtkConsole (Console):
+ """The implementation of the abstract Console for GTK."""
+
+ def __init__ (self, console):
+ """Constructor.
+
+ @param console: the original console
+ @type console: vte.Terminal"""
+
+ self.console = console
+
+ def set_pty (self, pty):
+ self.console.set_pty(pty)
+
+ def get_original (self):
+ return self.console