[Xfce4-commits] <design:master> Work on the appfinder demo code a bit. Resizing doesn't work yet.

Jannis Pohlmann noreply at xfce.org
Tue May 31 15:50:01 CEST 2011


Updating branch refs/heads/master
         to df3ed4bf8401d91388cae90f3ce3ea6394a1044e (commit)
       from 8e37ead7a30032f2ff99f8d2701db6b89c951b80 (commit)

commit df3ed4bf8401d91388cae90f3ce3ea6394a1044e
Author: Jannis Pohlmann <jannis at xfce.org>
Date:   Tue May 31 15:48:16 2011 +0200

    Work on the appfinder demo code a bit. Resizing doesn't work yet.

 .../merge-with-xfrun/demo-code/mockup.vala         |   70 +++++++++++++++++++-
 1 files changed, 68 insertions(+), 2 deletions(-)

diff --git a/xfce4-appfinder/merge-with-xfrun/demo-code/mockup.vala b/xfce4-appfinder/merge-with-xfrun/demo-code/mockup.vala
index fd860f4..4d4bed2 100644
--- a/xfce4-appfinder/merge-with-xfrun/demo-code/mockup.vala
+++ b/xfce4-appfinder/merge-with-xfrun/demo-code/mockup.vala
@@ -22,12 +22,53 @@ using Gtk;
 
 
 
+public class CategoryModel : ListStore {
+  public static enum Column {
+    ICON_NAME, MARKUP, SEPARATOR,
+  }
+
+  private static Type[] ColumnTypes = {
+    typeof (string),
+    typeof (string),
+    typeof (bool)
+  };
+
+  public CategoryModel () {
+    set_column_types (ColumnTypes);
+
+    TreeIter iter;
+
+    append (out iter);
+    this.set (iter, Column.ICON_NAME, "applications-other", Column.MARKUP, "All Applications", -1);
+
+    append (out iter);
+    this.set (iter, Column.ICON_NAME, Stock.EXECUTE, Column.MARKUP, "Command History", -1);
+
+    append (out iter);
+    this.set (iter, Column.SEPARATOR, true, -1);
+
+    append (out iter);
+    this.set (iter, Column.ICON_NAME, "applications-accessories", Column.MARKUP, "Accessories", -1);
+
+    append (out iter);
+    this.set (iter, Column.ICON_NAME, "applications-development", Column.MARKUP, "Development", -1);
+
+    append (out iter);
+    this.set (iter, Column.ICON_NAME, "applications-graphics", Column.MARKUP, "Graphics", -1);
+
+    append (out iter);
+    this.set (iter, Column.ICON_NAME, "applications-multimedia", Column.MARKUP, "Multimedia", -1);
+  }
+}
+
+
+
 public class DetailsView : Paned {
   private TreeView categories_view { get; set; }
   private TreeView applications_view { get; set; }
 
   public DetailsView() {
-    set_position (200);
+    set_position (150);
     set_size_request (-1, 300);
 
     var scrollwin1 = new ScrolledWindow (null, null);
@@ -36,10 +77,33 @@ public class DetailsView : Paned {
     add1 (scrollwin1);
     scrollwin1.show ();
 
+    var categories_model = new CategoryModel ();
+
     categories_view = new TreeView ();
+    categories_view.set_model (categories_model);
+    categories_view.set_headers_visible (false);
     scrollwin1.add (categories_view);
     categories_view.show ();
 
+    categories_view.set_row_separator_func ((model, iter) => {
+      bool separator = false;
+      model.get (iter, CategoryModel.Column.SEPARATOR, out separator, -1);
+      return separator;
+    });
+
+    var category_icon_renderer = new CellRendererPixbuf ();
+    var category_text_renderer = new CellRendererText ();
+
+    var category_column = new TreeViewColumn ();
+    category_column.set_expand (false);
+    category_column.pack_start (category_icon_renderer, false);
+    category_column.set_attributes (category_icon_renderer,
+                                    "icon-name", CategoryModel.Column.ICON_NAME);
+    category_column.pack_start (category_text_renderer, true);
+    category_column.set_attributes (category_text_renderer,
+                                    "markup", CategoryModel.Column.MARKUP);
+    categories_view.append_column (category_column);
+
     var scrollwin2 = new ScrolledWindow (null, null);
     scrollwin2.set_shadow_type (ShadowType.IN);
     scrollwin2.set_policy (PolicyType.AUTOMATIC, PolicyType.AUTOMATIC);
@@ -92,6 +156,8 @@ public class AppfinderView : Table {
 
     notify["expanded"].connect (() => {
       details_view.set_visible (expanded);
+      entry.set_icon_from_stock (EntryIconPosition.SECONDARY,
+                                 expanded ? Stock.GO_UP : Stock.GO_DOWN);
     });
   }
 
@@ -107,7 +173,7 @@ int main (string[] args) {
 
   var window = new Window ();
   window.title = "Shortcuts Pane Mockup (Tree View)";
-  window.set_default_size (600, -1);
+  window.set_default_size (500, -1);
   window.position = WindowPosition.CENTER;
   window.destroy.connect (Gtk.main_quit);
   window.set_border_width (8);



More information about the Xfce4-commits mailing list