diff options
author | Matthias Clasen <mclasen@redhat.com> | 2013-04-22 09:31:32 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2013-04-22 12:42:37 -0400 |
commit | 443459b52ea66bb20f1cf191333a8369c49cfe57 (patch) | |
tree | a6042cff0c0885128c9c11763cd01f817b211fcb /gtk/gtkrevealer.h | |
parent | d82257e1c865959d4ea771c50dc8e6e6f7f3c0c0 (diff) | |
download | gtk+-443459b52ea66bb20f1cf191333a8369c49cfe57.tar.gz |
Add GtkRevealer
This is a widget that can hide or show (ie reveal) its child
in an animated fashion.
This widget was initially developed in libgd.
Diffstat (limited to 'gtk/gtkrevealer.h')
-rw-r--r-- | gtk/gtkrevealer.h | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/gtk/gtkrevealer.h b/gtk/gtkrevealer.h new file mode 100644 index 0000000000..c6da3d794a --- /dev/null +++ b/gtk/gtkrevealer.h @@ -0,0 +1,74 @@ +/* + * Copyright (c) 2013 Red Hat, Inc. + * + * This program 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 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 Lesser General Public + * License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * + * Author: Alexander Larsson <alexl@redhat.com> + * + */ + +#ifndef __GTK_REVEALER_H__ +#define __GTK_REVEALER_H__ + +#include <gtk/gtkbin.h> + +G_BEGIN_DECLS + + +#define GTK_TYPE_REVEALER (gtk_revealer_get_type ()) +#define GTK_REVEALER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_REVEALER, GtkRevealer)) +#define GTK_REVEALER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_REVEALER, GtkRevealerClass)) +#define GTK_IS_REVEALER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_REVEALER)) +#define GTK_IS_REVEALER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_REVEALER)) +#define GTK_REVEALER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_REVEALER, GtkRevealerClass)) + +typedef struct _GtkRevealer GtkRevealer; +typedef struct _GtkRevealerClass GtkRevealerClass; +typedef struct _GtkRevealerPrivate GtkRevealerPrivate; + +typedef enum { + GTK_REVEALER_TRANSITION_TYPE_NONE, + GTK_REVEALER_TRANSITION_TYPE_SLIDE_RIGHT, + GTK_REVEALER_TRANSITION_TYPE_SLIDE_LEFT, + GTK_REVEALER_TRANSITION_TYPE_SLIDE_UP, + GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN +} GtkRevealerTransitionType; + +struct _GtkRevealer { + GtkBin parent_instance; + GtkRevealerPrivate * priv; +}; + +struct _GtkRevealerClass { + GtkBinClass parent_class; +}; + +GType gtk_revealer_get_type (void) G_GNUC_CONST; +GtkWidget* gtk_revealer_new (void); +gboolean gtk_revealer_get_reveal_child (GtkRevealer *revealer); +void gtk_revealer_set_reveal_child (GtkRevealer *revealer, + gboolean reveal_child); +gboolean gtk_revealer_get_child_revealed (GtkRevealer *revealer); +guint gtk_revealer_get_transition_duration (GtkRevealer *revealer); +void gtk_revealer_set_transition_duration (GtkRevealer *revealer, + guint duration); +void gtk_revealer_set_transition_type (GtkRevealer *revealer, + GtkRevealerTransitionType transition); +GtkRevealerTransitionType gtk_revealer_get_transition_type (GtkRevealer *revealer); + + +G_END_DECLS + +#endif |