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.gui.QAbstractItemView;
\r
25 import com.trolltech.qt.gui.QIcon;
\r
26 import com.trolltech.qt.gui.QTreeWidget;
\r
27 import com.trolltech.qt.gui.QTreeWidgetItem;
\r
29 import cx.fbn.nevernote.Global;
\r
31 public class AttributeTreeWidget extends QTreeWidget {
\r
32 public enum Attributes {Created, Since, Before, LastModified};
\r
34 public AttributeTreeWidget() {
\r
35 setHeaderLabel(tr("Attributes"));
\r
36 setSelectionMode(QAbstractItemView.SelectionMode.MultiSelection);
\r
37 header().setStyleSheet("QHeaderView::section {border: 0.0em;}");
\r
39 setHeaderLabel(tr("Attributes"));
\r
40 setSelectionMode(QAbstractItemView.SelectionMode.SingleSelection);
\r
42 // Setup the first attribute tree
\r
43 QTreeWidgetItem created = new QTreeWidgetItem();
\r
44 created.setText(0,tr("Created"));
\r
45 created.setData(0, Qt.ItemDataRole.UserRole, Attributes.Created);
\r
46 addTopLevelItem(created);
\r
47 // Created Since List
\r
48 QTreeWidgetItem parent = created;
\r
49 QTreeWidgetItem child;
\r
50 child = new QTreeWidgetItem();
\r
51 child.setText(0,tr("Since"));
\r
52 child.setData(0,Qt.ItemDataRole.UserRole, Attributes.Since);
\r
53 parent.addChild(child);
\r
56 // -Since=true/Before=false, Created=true/Updated=false)
\r
57 Global.createdBeforeFilter = new DateAttributeFilterTable(false, true);
\r
58 Global.createdSinceFilter = new DateAttributeFilterTable(true, true);
\r
59 Global.changedBeforeFilter = new DateAttributeFilterTable(false, false);
\r
60 Global.changedSinceFilter = new DateAttributeFilterTable(true, false);
\r
61 Global.containsFilter = new ContainsAttributeFilterTable();
\r
63 String iconPath = new String("classpath:cx/fbn/nevernote/icons/");
\r
64 QIcon icon = new QIcon(iconPath+"attribute.png");
\r
65 for (int i=0; i<Global.createdSinceFilter.size(); i++) {
\r
66 child = new QTreeWidgetItem();
\r
67 child.setIcon(0, icon);
\r
68 child.setText(0, Global.createdSinceFilter.getLabel(i));
\r
69 parent.addChild(child);
\r
73 // Created Before List
\r
75 child = new QTreeWidgetItem();
\r
76 child.setText(0,tr("Before"));
\r
77 child.setData(0,Qt.ItemDataRole.UserRole, Attributes.Before);
\r
78 created.addChild(child);
\r
80 for (int i=0; i<Global.createdBeforeFilter.size(); i++) {
\r
81 child = new QTreeWidgetItem();
\r
82 child.setIcon(0, icon);
\r
83 child.setText(0, Global.createdBeforeFilter.getLabel(i));
\r
84 parent.addChild(child);
\r
88 QTreeWidgetItem lastModified = new QTreeWidgetItem();
\r
89 lastModified.setText(0,tr("Last Modified"));
\r
90 lastModified.setData(0,Qt.ItemDataRole.UserRole, Attributes.LastModified);
\r
91 addTopLevelItem(lastModified);
\r
93 // Changed Since List
\r
94 parent = lastModified;
\r
95 child = new QTreeWidgetItem();
\r
96 child.setText(0,tr("Since"));
\r
97 child.setData(0,Qt.ItemDataRole.UserRole, Attributes.Since);
\r
98 lastModified.addChild(child);
\r
100 for (int i=0; i<Global.changedSinceFilter.size(); i++) {
\r
101 child = new QTreeWidgetItem();
\r
102 child.setIcon(0, icon);
\r
103 child.setText(0, Global.changedSinceFilter.getLabel(i));
\r
104 parent.addChild(child);
\r
109 child = new QTreeWidgetItem();
\r
110 child.setText(0,tr("Before"));
\r
111 child.setData(0,Qt.ItemDataRole.UserRole, Attributes.Before);
\r
112 lastModified.addChild(child);
\r
114 for (int i=0; i<Global.changedBeforeFilter.size(); i++) {
\r
115 child = new QTreeWidgetItem();
\r
116 child.setIcon(0, icon);
\r
117 child.setText(0, Global.changedBeforeFilter.getLabel(i));
\r
118 parent.addChild(child);
\r
121 // Now we are into the other attributes
\r
122 QTreeWidgetItem contains = new QTreeWidgetItem();
\r
123 contains.setText(0,tr("Contains"));
\r
124 contains.setData(0,Qt.ItemDataRole.UserRole,"Contains");
\r
125 addTopLevelItem(contains);
\r
127 for (int i=0; i<Global.containsFilter.size(); i++) {
\r
128 child = new QTreeWidgetItem();
\r
129 child.setText(0,Global.containsFilter.getLabel(i));
\r
130 child.setIcon(0, icon);
\r
131 contains.addChild(child);
\r