[tracker] Clean up uri handling in treeviews
- From: Robert James Taylor <robtaylor src gnome org>
- To: svn-commits-list gnome org
- Subject: [tracker] Clean up uri handling in treeviews
- Date: Mon, 6 Jul 2009 17:45:06 +0000 (UTC)
commit fd036d98c83e993fef441dfc1e3bb44be105b77d
Author: Rob Taylor <rob taylor codethink co uk>
Date: Tue May 19 19:25:21 2009 +0100
Clean up uri handling in treeviews
Make the first column in every listmodel the unmodified url that should be
navigated to on select.
src/tracker-explorer/explorer.vala | 45 ++++++++++++++++--------------------
1 files changed, 20 insertions(+), 25 deletions(-)
---
diff --git a/src/tracker-explorer/explorer.vala b/src/tracker-explorer/explorer.vala
index ae98734..1880123 100644
--- a/src/tracker-explorer/explorer.vala
+++ b/src/tracker-explorer/explorer.vala
@@ -159,26 +159,28 @@ public class Explorer {
urisview.set_model (uris);
urisview.insert_column_with_attributes (-1, "URI", new CellRendererText (), "text", 0, null);
- urisview.row_activated += uri_selected;
+ urisview.row_activated += row_selected;
}
private void setup_relationships(TreeView relationshipsview) {
- relationships = new ListStore (2, typeof(string), typeof(string));
+ relationships = new ListStore (3, typeof(string), typeof(string), typeof(string)); //select uri, relationship, object
relationshipsview.set_model(relationships);
- relationshipsview.insert_column_with_attributes (-1, "Relationship", new CellRendererText (), "text", 0, null);
- relationshipsview.insert_column_with_attributes (-1, "Object", new CellRendererText (), "text", 1, null);
- relationshipsview.row_activated += (view, path, column) => { row_selected(view, path, column, 1);};
+ relationshipsview.insert_column_with_attributes (-1, "Relationship", new CellRendererText (), "text", 1, null);
+ relationshipsview.insert_column_with_attributes (-1, "Object", new CellRendererText (), "text", 2, null);
+ relationshipsview.row_activated += row_selected;
}
private TreeView setup_reverserelationships() {
- ListStore reverserelationships = new ListStore (2, typeof(string), typeof(string));
+ // select uri, subject, relationship
+ ListStore reverserelationships = new ListStore (3, typeof(string), typeof(string), typeof(string));
+
TreeView reverserelationshipsview = new TreeView.with_model (reverserelationships);
reverserelationshipsview.set_model(reverserelationships);
- reverserelationshipsview.insert_column_with_attributes (-1, "Subject", new CellRendererText (), "text", 0, null);
- reverserelationshipsview.insert_column_with_attributes (-1, "Relationship", new CellRendererText (), "text", 1, null);
- reverserelationshipsview.row_activated += (view, path, column) => { row_selected(view, path, column, 0);};
+ reverserelationshipsview.insert_column_with_attributes (-1, "Subject", new CellRendererText (), "text", 1, null);
+ reverserelationshipsview.insert_column_with_attributes (-1, "Relationship", new CellRendererText (), "text", 2, null);
+ reverserelationshipsview.row_activated += row_selected;
return reverserelationshipsview;
}
@@ -263,8 +265,9 @@ public class Explorer {
for (int j=0; j<result2.length[0]; j++) {
var subject = subst_prefix(result2[j,0]);
model.append (out iter);
- model.set (iter, 0, subject, -1);
- model.set (iter, 1, relation, -1);
+ model.set (iter, 0, result2[j,0], -1);
+ model.set (iter, 1, subject, -1);
+ model.set (iter, 2, relation, -1);
}
}
@@ -301,9 +304,9 @@ public class Explorer {
private void update_pane() {
forward.set_sensitive(history.can_go_forward());
back.set_sensitive(history.can_go_back());
- current_uri_label.set_text (history.current_uri());
+ current_uri_label.set_text (subst_prefix(history.current_uri()));
try {
- string query = "SELECT ?r ?o WHERE { <%s> ?r ?o }".printf(history.current_uri());
+ var query = "SELECT ?r ?o WHERE { <%s> ?r ?o }".printf(history.current_uri());
TreeIter iter;
var result = tracker.SparqlQuery(query);
relationships.clear();
@@ -313,8 +316,9 @@ public class Explorer {
var relationship = subst_prefix(result[i,0]);
var obj = subst_prefix(result[i,1]);
relationships.append (out iter);
- relationships.set (iter, 0, relationship, -1);
- relationships.set (iter, 1, obj, -1);
+ relationships.set (iter, 0, result[i,1], -1);
+ relationships.set (iter, 1, relationship, -1);
+ relationships.set (iter, 2, obj, -1);
if (relationship == "rdf:type" && obj != "rdfs:Resource") {
add_type (obj);
@@ -327,7 +331,7 @@ public class Explorer {
}
}
- private void uri_selected(TreeView view, TreePath path, TreeViewColumn column) {
+ private void row_selected(TreeView view, TreePath path, TreeViewColumn column) {
TreeIter iter;
var model = view.get_model();
model.get_iter(out iter, path);
@@ -336,15 +340,6 @@ public class Explorer {
set_current_uri(uri);
}
- private void row_selected(TreeView view, TreePath path, TreeViewColumn column, int index) {
- TreeIter iter;
- var model = view.get_model();
- model.get_iter(out iter, path);
- weak string uri;
- model.get (iter, index, out uri);
- set_current_uri(uri);
- }
-
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]