summaryrefslogtreecommitdiff
path: root/gtk/gtksidebarrowprivate.h
diff options
context:
space:
mode:
authorCarlos Soriano <csoriano@gnome.org>2015-05-06 23:07:17 +0200
committerCarlos Soriano <csoriano@gnome.org>2015-06-16 16:19:37 +0200
commitfbbad5deecb635af34a890a540e8e272b95c4d9b (patch)
tree90289307eaecc1d91065d3088a5c12c05619bcc1 /gtk/gtksidebarrowprivate.h
parentd881b1534914398046f7e5237321f978ff073441 (diff)
downloadgtk+-fbbad5deecb635af34a890a540e8e272b95c4d9b.tar.gz
gtkplacesidebar: use GtkListBox
We were using GTkTreeView in a simple list. Also, as we know, GtkCellRenderers are not the best way to theme and manipulate widgets. So instead use a GtkListBox to modernize the GtkPlacesSidebar, and in the way clean up some parts of the code (like headings) which were not used anymore. Also we don't use a model anymore, since the data is simple enough to manage it in a subclass of the row itself.
Diffstat (limited to 'gtk/gtksidebarrowprivate.h')
-rw-r--r--gtk/gtksidebarrowprivate.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/gtk/gtksidebarrowprivate.h b/gtk/gtksidebarrowprivate.h
new file mode 100644
index 0000000000..b513184e7a
--- /dev/null
+++ b/gtk/gtksidebarrowprivate.h
@@ -0,0 +1,53 @@
+/* gtksidebarrowprivate.h
+ *
+ * Copyright (C) 2015 Carlos Soriano <csoriano@gnome.org>
+ *
+ * This file is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This file 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#ifndef GTK_SIDEBAR_ROW_PRIVATE_H
+#define GTK_SIDEBAR_ROW_PRIVATE_H
+
+#include <glib.h>
+#include "gtklistbox.h"
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_SIDEBAR_ROW (gtk_sidebar_row_get_type())
+#define GTK_SIDEBAR_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SIDEBAR_ROW, GtkSidebarRow))
+#define GTK_SIDEBAR_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_SIDEBAR_ROW, GtkSidebarRowClass))
+#define GTK_IS_SIDEBAR_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SIDEBAR_ROW))
+#define GTK_IS_SIDEBAR_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_SIDEBAR_ROW))
+#define GTK_SIDEBAR_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_SIDEBAR_ROW, GtkSidebarRowClass))
+
+typedef struct _GtkSidebarRow GtkSidebarRow;
+typedef struct _GtkSidebarRowClass GtkSidebarRowClass;
+
+struct _GtkSidebarRowClass
+{
+ GtkListBoxRowClass parent;
+};
+
+GType gtk_sidebar_row_get_type (void) G_GNUC_CONST;
+
+GtkSidebarRow *gtk_sidebar_row_new (void);
+GtkSidebarRow *gtk_sidebar_row_clone (GtkSidebarRow *self);
+
+/* Use these methods instead of gtk_widget_hide/show to use an animation */
+void gtk_sidebar_row_hide (GtkSidebarRow *self,
+ gboolean inmediate);
+void gtk_sidebar_row_reveal (GtkSidebarRow *self);
+
+G_END_DECLS
+
+#endif /* GTK_SIDEBAR_ROW_PRIVATE_H */