* store the file name for later re-use
[simple-launcher] / sla-list.h
index 8944598..193027d 100644 (file)
 
 #include <gtk/gtkliststore.h>
 #include <gtk/gtktreeview.h>
+#include <gtk/gtkbutton.h>
+#include <gtk/gtkcellrenderertoggle.h>
+
+#include "launcher-item.h"
 
 class SLAList {
 public:
-  SLAList(int);
+  SLAList(int, LauncherItems&);
  ~SLAList();
 
-  void addItem(GdkPixbuf *pixbuf, const char *name, bool active);
-
   GtkWidget *getWidget() { return myWidget; }
 
 private:
+  static void _renderText(GtkTreeViewColumn *column, GtkCellRenderer *cell, GtkTreeModel *model, GtkTreeIter *iter, gpointer self);
+  static void _renderBool(GtkTreeViewColumn *column, GtkCellRenderer *cell, GtkTreeModel *model, GtkTreeIter *iter, gpointer self);
+  static void _moveUp(GtkButton *, void *);
+  static void _moveDown(GtkButton *, void *);
+  static void _toggleBool(GtkCellRendererToggle *, const gchar *, void *);
+
+  void renderText(GtkTreeViewColumn *column, GtkCellRenderer *cell, GtkTreeModel *model, GtkTreeIter *iter);
+  void renderBool(GtkTreeViewColumn *column, GtkCellRenderer *cell, GtkTreeModel *model, GtkTreeIter *iter);
+  void moveUp(GtkButton *);
+  void moveDown(GtkButton *);
+  void toggleBool(GtkCellRendererToggle *, const gchar *);
+
+  void swap(GtkTreeIter& a, GtkTreeIter& b);
+
+private:
   GtkWidget *myWidget;
   GtkListStore *myStore;
   GtkTreeView *myView;
+  GtkTreeSelection *mySelection;
+
+  LauncherItems& myItems;
 };
 
 #endif