testing interface
authortanya <tanya@tanin.oblgaz>
Wed, 20 Jan 2010 08:42:52 +0000 (10:42 +0200)
committertanya <tanya@tanin.oblgaz>
Wed, 20 Jan 2010 08:42:52 +0000 (10:42 +0200)
list.py [new file with mode: 0755]

diff --git a/list.py b/list.py
new file mode 100755 (executable)
index 0000000..d4ebdd4
--- /dev/null
+++ b/list.py
@@ -0,0 +1,119 @@
+#!/usr/bin/python
+import pygtk
+pygtk.require('2.0')
+import gtk
+
+class HelloWorld:
+
+    def hello(self, widget, data=None):
+        print "Hello World"
+
+    def delete_event(self, widget, event, data=None):
+        # If you return FALSE in the "delete_event" signal handler,
+        # GTK will emit the "destroy" signal. Returning TRUE means
+        # you don't want the window to be destroyed.
+        # This is useful for popping up 'are you sure you want to quit?'
+        # type dialogs.
+        print "delete event occurred"
+
+        # Change FALSE to TRUE and the main window will not be destroyed
+        # with a "delete_event".
+        return False
+
+    def destroy(self, widget, data=None):
+        print "destroy signal occurred"
+        gtk.main_quit()
+
+    def __init__(self):
+
+        gtk.rc_parse_string("style 'scroll' {\n"
+                            "   GtkRange::slider-width = 40\n"
+                            "}\n"
+                            "class 'GtkRange' style 'scroll'")        
+
+        self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
+        
+        self.window.set_size_request(300, 200)
+        
+    
+        # When the window is given the "delete_event" signal (this is given
+        # by the window manager, usually by the "close" option, or on the
+        # titlebar), we ask it to call the delete_event () function
+        # as defined above. The data passed to the callback
+        # function is NULL and is ignored in the callback function.
+        self.window.connect("delete_event", self.delete_event)
+    
+        # Here we connect the "destroy" event to a signal handler.  
+        # This event occurs when we call gtk_widget_destroy() on the window,
+        # or if we return FALSE in the "delete_event" callback.
+        self.window.connect("destroy", self.destroy)
+    
+        # Sets the border width of the window.
+        self.window.set_border_width(10)
+
+        vbox = gtk.VBox(False, 8)
+
+        sw = gtk.ScrolledWindow()
+        sw.set_shadow_type(gtk.SHADOW_ETCHED_IN)
+        sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
+        #a = gtk.Adjustment(0, 100, 100, 0, 10, 10)
+        #sw.set_vadjustment()
+
+
+        vbox.pack_start(sw, True, True, 0)
+        
+        data = [('fio fdkfdskajf jdkflasjkla', 'doldfsagfdas dlaskj', '212345'),
+            ('fdsafdsa dfasfasf dfasfdsa', 'fdsafaf fdafdas', '345678'),
+            ('fdsafdsa dfasfasf dfasfdsa', 'fdsafaf fdafdas', '345678'),
+            ('fdsafdsa dfasfasf dfasfdsa', 'fdsafaf fdafdas', '345678'),
+            ('fdsafdsa dfasfasf dfasfdsa', 'fdsafaf fdafdas', '345678'),
+            ('fdsafdsa dfasfasf dfasfdsa', 'fdsafaf fdafdas', '345678'),
+            ('fdsafdsa dfasfasf dfasfdsa', 'fdsafaf fdafdas', '345678'),
+            ('fdsafdsa dfasfasf dfasfdsa', 'fdsafaf fdafdas', '345678'),
+            ('fdsafdsa dfasfasf dfasfdsa', 'fdsafaf fdafdas', '345678'),
+            ('fdsafdsa dfasfasf dfasfdsa', 'fdsafaf fdafdas', '345678'),
+            ('fdsafdsa dfasfasf dfasfdsa', 'fdsafaf fdafdas', '345678'),
+            ('fdsafdsa dfasfasf dfasfdsa', 'fdsafaf fdafdas', '345678'),
+            ('fdas dafs fdsfasd ', 'fdasf dafa', '12435678')]
+        store = gtk.ListStore(str, str, str)
+        for d in data:
+            store.append([d[0], d[1], d[2]])
+
+        tree = gtk.TreeView(store)
+        tree.set_rules_hint(True)
+
+        t1 = gtk.CellRendererText()
+        column = gtk.TreeViewColumn("Name", t1, text=0)
+        column.set_sort_column_id(0)
+        tree.append_column(column)
+
+        
+        t1 = gtk.CellRendererText()
+        column = gtk.TreeViewColumn("State", t1, text=1)
+        column.set_sort_column_id(1)
+        tree.append_column(column)
+
+
+        t1 = gtk.CellRendererText()
+        column = gtk.TreeViewColumn("Phone", t1, text=2)
+        column.set_sort_column_id(2)
+        tree.append_column(column)
+
+        sw.add(tree)
+
+        self.window.add(vbox)
+        self.window.show_all()
+    
+    
+        # and the window
+        self.window.show()
+
+    def main(self):
+        # All PyGTK applications must have a gtk.main(). Control ends here
+        # and waits for an event to occur (like a key press or mouse event).
+        gtk.main()
+
+if __name__ == "__main__":
+    hello = HelloWorld()
+    hello.main()
+