2 * This file is part of NeverNote
\r
3 * Copyright 2009,2010 Randy Baumgarte
\r
4 * Copyright 2010 Hiroshi Miura
\r
6 * This file may be licensed under the terms of of the
\r
7 * GNU General Public License Version 2 (the ``GPL'').
\r
9 * Software distributed under the License is distributed
\r
10 * on an ``AS IS'' basis, WITHOUT WARRANTY OF ANY KIND, either
\r
11 * express or implied. See the GPL for the specific language
\r
12 * governing rights and limitations.
\r
14 * You should have received a copy of the GPL along with this
\r
15 * program. If not, go to http://www.gnu.org/licenses/gpl.html
\r
16 * or write to the Free Software Foundation, Inc.,
\r
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
\r
21 package cx.fbn.nevernote.gui;
\r
23 import com.trolltech.qt.core.Qt;
\r
24 import com.trolltech.qt.core.Qt.ItemDataRole;
\r
26 import com.trolltech.qt.gui.QAbstractItemView;
\r
27 import com.trolltech.qt.gui.QIcon;
\r
28 import com.trolltech.qt.gui.QTreeWidget;
\r
29 import com.trolltech.qt.gui.QTreeWidgetItem;
\r
31 import cx.fbn.nevernote.Global;
\r
33 public class AttributeTreeWidget extends QTreeWidget {
\r
34 public enum Attributes {Created, Since, Before, LastModified};
\r
36 public AttributeTreeWidget() {
\r
37 setHeaderLabel(tr("Attributes"));
\r
38 setSelectionMode(QAbstractItemView.SelectionMode.MultiSelection);
\r
40 setHeaderLabel(tr("Attributes"));
\r
41 setSelectionMode(QAbstractItemView.SelectionMode.SingleSelection);
\r
43 // Setup the first attribute tree
\r
44 QTreeWidgetItem created = new QTreeWidgetItem();
\r
45 created.setText(0,tr("Created"));
\r
46 created.setData(0, Qt.ItemDataRole.UserRole, Attributes.Created);
\r
47 addTopLevelItem(created);
\r
48 // Created Since List
\r
49 QTreeWidgetItem parent = created;
\r
50 QTreeWidgetItem child;
\r
51 child = new QTreeWidgetItem();
\r
52 child.setText(0,tr("Since"));
\r
53 child.setData(0,Qt.ItemDataRole.UserRole, Attributes.Since);
\r
54 parent.addChild(child);
\r
57 // -Since=true/Before=false, Created=true/Updated=false)
\r
58 Global.createdBeforeFilter = new DateAttributeFilterTable(false, true);
\r
59 Global.createdSinceFilter = new DateAttributeFilterTable(true, true);
\r
60 Global.changedBeforeFilter = new DateAttributeFilterTable(false, false);
\r
61 Global.changedSinceFilter = new DateAttributeFilterTable(true, false);
\r
62 Global.containsFilter = new ContainsAttributeFilterTable();
\r
64 String iconPath = new String("classpath:cx/fbn/nevernote/icons/");
\r
65 QIcon icon = new QIcon(iconPath+"attribute.png");
\r
66 for (int i=0; i<Global.createdSinceFilter.size(); i++) {
\r
67 child = new QTreeWidgetItem();
\r
68 child.setIcon(0, icon);
\r
69 child.setText(0, Global.createdSinceFilter.getLabel(i));
\r
70 parent.addChild(child);
\r
74 // Created Before List
\r
76 child = new QTreeWidgetItem();
\r
77 child.setText(0,tr("Before"));
\r
78 child.setData(0,Qt.ItemDataRole.UserRole, Attributes.Before);
\r
79 created.addChild(child);
\r
81 for (int i=0; i<Global.createdBeforeFilter.size(); i++) {
\r
82 child = new QTreeWidgetItem();
\r
83 child.setIcon(0, icon);
\r
84 child.setText(0, Global.createdBeforeFilter.getLabel(i));
\r
85 parent.addChild(child);
\r
89 QTreeWidgetItem lastModified = new QTreeWidgetItem();
\r
90 lastModified.setText(0,tr("Last Modified"));
\r
91 lastModified.setData(0,Qt.ItemDataRole.UserRole, Attributes.LastModified);
\r
92 addTopLevelItem(lastModified);
\r
94 // Changed Since List
\r
95 parent = lastModified;
\r
96 child = new QTreeWidgetItem();
\r
97 child.setText(0,tr("Since"));
\r
98 child.setData(0,Qt.ItemDataRole.UserRole, Attributes.Since);
\r
99 lastModified.addChild(child);
\r
101 for (int i=0; i<Global.changedSinceFilter.size(); i++) {
\r
102 child = new QTreeWidgetItem();
\r
103 child.setIcon(0, icon);
\r
104 child.setText(0, Global.changedSinceFilter.getLabel(i));
\r
105 parent.addChild(child);
\r
110 child = new QTreeWidgetItem();
\r
111 child.setText(0,tr("Before"));
\r
112 child.setData(0,Qt.ItemDataRole.UserRole, Attributes.Before);
\r
113 lastModified.addChild(child);
\r
115 for (int i=0; i<Global.changedBeforeFilter.size(); i++) {
\r
116 child = new QTreeWidgetItem();
\r
117 child.setIcon(0, icon);
\r
118 child.setText(0, Global.changedBeforeFilter.getLabel(i));
\r
119 parent.addChild(child);
\r
122 // Now we are into the other attributes
\r
123 QTreeWidgetItem contains = new QTreeWidgetItem();
\r
124 contains.setText(0,tr("Contains"));
\r
125 contains.setData(0,Qt.ItemDataRole.UserRole,"Contains");
\r
126 addTopLevelItem(contains);
\r
128 for (int i=0; i<Global.containsFilter.size(); i++) {
\r
129 child = new QTreeWidgetItem();
\r
130 child.setText(0,Global.containsFilter.getLabel(i));
\r
131 child.setIcon(0, icon);
\r
132 contains.addChild(child);
\r