4c23f736892b4edb1f34560bec9f89d42f4b1fc8
[quicknote] / src / libhistory.py
1 #!/usr/bin/env python2.5
2 # -*- coding: utf-8 -*-
3
4 """
5  Copyright (C) 2007 Christoph Würstle
6
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License version 2 as
9 published by the Free Software Foundation.
10 """
11
12
13 import gtk
14
15
16 try:
17         _
18 except NameError:
19         _ = lambda x: x
20
21
22 class Dialog(gtk.Dialog):
23
24         def __init__(self, daten = None):
25                 gtk.Dialog.__init__(self, _("History:"), None, gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT, (gtk.STOCK_CANCEL, gtk.RESPONSE_REJECT, gtk.STOCK_OK, gtk.RESPONSE_ACCEPT))
26                 self.set_position(gtk.WIN_POS_CENTER)
27
28                 self.liststore = gtk.ListStore(int, str, str, str, str)
29                 #pcdatum, datum, sql, param # param schön
30
31                 # create the TreeView using liststore
32                 self.treeview = gtk.TreeView(self.liststore)
33                 # create a CellRenderers to render the data
34                 self.cell1 = gtk.CellRendererText()
35                 self.cell2 = gtk.CellRendererText()
36
37                 # create the TreeViewColumns to display the data
38                 self.tvcolumn1 = gtk.TreeViewColumn(_('Timestamp'))
39                 self.tvcolumn2 = gtk.TreeViewColumn(_('Note'))
40                 # add columns to treeview
41                 self.treeview.append_column(self.tvcolumn1)
42                 self.treeview.append_column(self.tvcolumn2)
43
44                 # add the cells to the columns - 2 in the first
45                 self.tvcolumn1.pack_start(self.cell1, True)
46                 self.tvcolumn2.pack_start(self.cell2, True)
47                 self.tvcolumn1.set_attributes(self.cell1, text = 1) #Spalten setzten hier!!!!
48                 self.tvcolumn2.set_attributes(self.cell2, text = 4)
49
50                 self.treeview.set_reorderable(False)
51
52                 scrolled_window = gtk.ScrolledWindow()
53                 scrolled_window.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
54                 scrolled_window.add(self.treeview)
55                 self.vbox.pack_start(scrolled_window, expand = True, fill = True, padding = 0)
56
57                 self.liststore.clear()
58
59                 if daten is not None:
60                         for data in daten:
61                                 self.liststore.append(data)
62
63         def get_selected_row(self):
64                 path = self.treeview.get_cursor()[0]
65                 if path is None or path == "":
66                         return None
67
68                 iter1 = self.treeview.get_model().get_iter(path)
69                 return self.treeview.get_model().get(iter1, 0, 1, 2, 3, 4)