summaryrefslogtreecommitdiff
path: root/src/trg-persistent-tree-view.h
diff options
context:
space:
mode:
authorGravatar Alan Fitton <ajf@eth0.org.uk>2011-10-21 23:12:21 +0000
committerGravatar Alan Fitton <ajf@eth0.org.uk>2011-10-21 23:12:21 +0000
commit34c56c7db7c57f5db0184489d01866902e992300 (patch)
tree8707a14ac8f786ff684279be77e66946f235b751 /src/trg-persistent-tree-view.h
parent3b8fd9e7274477cfad98d66e41a43417ce8d21bf (diff)
make the execute command tree view in preferences a generic widget, the "persistent tree view"
Diffstat (limited to 'src/trg-persistent-tree-view.h')
-rw-r--r--src/trg-persistent-tree-view.h77
1 files changed, 77 insertions, 0 deletions
diff --git a/src/trg-persistent-tree-view.h b/src/trg-persistent-tree-view.h
new file mode 100644
index 0000000..2664946
--- /dev/null
+++ b/src/trg-persistent-tree-view.h
@@ -0,0 +1,77 @@
+/*
+ * transmission-remote-gtk - A GTK RPC client to Transmission
+ * Copyright (C) 2011 Alan Fitton
+
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#ifndef _TRG_PERSISTENT_TREE_VIEW
+#define _TRG_PERSISTENT_TREE_VIEW
+
+#include <gtk/gtk.h>
+#include <glib-object.h>
+
+#include "trg-preferences-dialog.h"
+
+G_BEGIN_DECLS
+
+#define TRG_TYPE_PERSISTENT_TREE_VIEW trg_persistent_tree_view_get_type()
+
+#define TRG_PERSISTENT_TREE_VIEW(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST ((obj), TRG_TYPE_PERSISTENT_TREE_VIEW, TrgPersistentTreeView))
+
+#define TRG_PERSISTENT_TREE_VIEW_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_CAST ((klass), TRG_TYPE_PERSISTENT_TREE_VIEW, TrgPersistentTreeViewClass))
+
+#define TRG_IS_PERSISTENT_TREE_VIEW(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TRG_TYPE_PERSISTENT_TREE_VIEW))
+
+#define TRG_IS_PERSISTENT_TREE_VIEW_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_TYPE ((klass), TRG_TYPE_PERSISTENT_TREE_VIEW))
+
+#define TRG_PERSISTENT_TREE_VIEW_GET_CLASS(obj) \
+ (G_TYPE_INSTANCE_GET_CLASS ((obj), TRG_TYPE_PERSISTENT_TREE_VIEW, TrgPersistentTreeViewClass))
+
+typedef struct {
+ GtkVBox parent;
+} TrgPersistentTreeView;
+
+typedef struct {
+ GtkTreeViewClass parent_class;
+} TrgPersistentTreeViewClass;
+
+GType trg_persistent_tree_view_get_type (void);
+
+typedef struct {
+ GtkTreeViewColumn *column;
+ gchar *key;
+ gchar *label;
+ TrgPersistentTreeView *tv;
+ gint index;
+} trg_persistent_tree_view_column;
+
+TrgPersistentTreeView*
+trg_persistent_tree_view_new (TrgPrefs *prefs, GtkListStore *model, const gchar *key);
+trg_pref_widget_desc* trg_persistent_tree_view_get_widget_desc(TrgPersistentTreeView* ptv);
+void trg_persistent_tree_view_set_add_select(TrgPersistentTreeView *ptv, trg_persistent_tree_view_column *cd);
+trg_persistent_tree_view_column *trg_persistent_tree_view_add_column(TrgPersistentTreeView *ptv,
+ gint index,
+ const gchar *key,
+ const gchar *label);
+void trg_persistent_tree_view_build(TrgPersistentTreeView *ptv);
+
+G_END_DECLS
+
+#endif /* _TRG_PERSISTENT_TREE_VIEW */