diff options
author | Alexey Yakovenko <wakeroid@gmail.com> | 2010-04-09 22:22:23 +0200 |
---|---|---|
committer | Alexey Yakovenko <wakeroid@gmail.com> | 2010-04-09 22:22:23 +0200 |
commit | 49508a75eeb63ab65f6cb84c14e46e679fad2688 (patch) | |
tree | dedd7b5c03ad8b411ecd26277bcc3f00527dabcc /plugins/gtkui/ddbseekbar.c | |
parent | 133b2f31913b25ff222bd9ba9aa716a990e0d94a (diff) |
implemented seekbar gtk widget in vala
Diffstat (limited to 'plugins/gtkui/ddbseekbar.c')
-rw-r--r-- | plugins/gtkui/ddbseekbar.c | 183 |
1 files changed, 183 insertions, 0 deletions
diff --git a/plugins/gtkui/ddbseekbar.c b/plugins/gtkui/ddbseekbar.c new file mode 100644 index 00000000..e53ba83f --- /dev/null +++ b/plugins/gtkui/ddbseekbar.c @@ -0,0 +1,183 @@ +/* ddbseekbar.c generated by valac, the Vala compiler + * generated from ddbseekbar.vala, do not modify */ + +/* + DeaDBeeF - ultimate music player for GNU/Linux systems with X11 + Copyright (C) 2009-2010 Alexey Yakovenko <waker@users.sourceforge.net> + + 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. +*/ + +#include <glib.h> +#include <glib-object.h> +#include <gtk/gtk.h> +#include <gtkui.h> +#include <gdk/gdk.h> + + +#define DDB_TYPE_SEEKBAR (ddb_seekbar_get_type ()) +#define DDB_SEEKBAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DDB_TYPE_SEEKBAR, DdbSeekbar)) +#define DDB_SEEKBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DDB_TYPE_SEEKBAR, DdbSeekbarClass)) +#define DDB_IS_SEEKBAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DDB_TYPE_SEEKBAR)) +#define DDB_IS_SEEKBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DDB_TYPE_SEEKBAR)) +#define DDB_SEEKBAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DDB_TYPE_SEEKBAR, DdbSeekbarClass)) + +typedef struct _DdbSeekbar DdbSeekbar; +typedef struct _DdbSeekbarClass DdbSeekbarClass; +typedef struct _DdbSeekbarPrivate DdbSeekbarPrivate; + +struct _DdbSeekbar { + GtkWidget parent_instance; + DdbSeekbarPrivate * priv; +}; + +struct _DdbSeekbarClass { + GtkWidgetClass parent_class; +}; + + +static gpointer ddb_seekbar_parent_class = NULL; + +GType ddb_seekbar_get_type (void); +enum { + DDB_SEEKBAR_DUMMY_PROPERTY +}; +static void ddb_seekbar_real_realize (GtkWidget* base); +static void ddb_seekbar_real_unrealize (GtkWidget* base); +static void ddb_seekbar_real_size_request (GtkWidget* base, GtkRequisition* requisition); +static gboolean ddb_seekbar_real_expose_event (GtkWidget* base, GdkEventExpose* event); +static gboolean ddb_seekbar_real_button_press_event (GtkWidget* base, GdkEventButton* event); +static gboolean ddb_seekbar_real_button_release_event (GtkWidget* base, GdkEventButton* event); +static gboolean ddb_seekbar_real_motion_notify_event (GtkWidget* base, GdkEventMotion* event); +DdbSeekbar* ddb_seekbar_new (void); +DdbSeekbar* ddb_seekbar_construct (GType object_type); +static GObject * ddb_seekbar_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties); + + + +static void ddb_seekbar_real_realize (GtkWidget* base) { + DdbSeekbar * self; + self = (DdbSeekbar*) base; + gtk_widget_set_has_window ((GtkWidget*) self, FALSE); + GTK_WIDGET_CLASS (ddb_seekbar_parent_class)->realize (GTK_WIDGET (self)); +} + + +static void ddb_seekbar_real_unrealize (GtkWidget* base) { + DdbSeekbar * self; + self = (DdbSeekbar*) base; + GTK_WIDGET_CLASS (ddb_seekbar_parent_class)->unrealize (GTK_WIDGET (self)); +} + + +static void ddb_seekbar_real_size_request (GtkWidget* base, GtkRequisition* requisition) { + DdbSeekbar * self; + self = (DdbSeekbar*) base; +} + + +static gboolean ddb_seekbar_real_expose_event (GtkWidget* base, GdkEventExpose* event) { + DdbSeekbar * self; + gboolean result = FALSE; + self = (DdbSeekbar*) base; + seekbar_draw (GTK_WIDGET (self)); + result = TRUE; + return result; +} + + +static gboolean ddb_seekbar_real_button_press_event (GtkWidget* base, GdkEventButton* event) { + DdbSeekbar * self; + gboolean result = FALSE; + self = (DdbSeekbar*) base; + result = on_seekbar_button_press_event ((GtkWidget*) self, event); + return result; +} + + +static gboolean ddb_seekbar_real_button_release_event (GtkWidget* base, GdkEventButton* event) { + DdbSeekbar * self; + gboolean result = FALSE; + self = (DdbSeekbar*) base; + result = on_seekbar_button_release_event ((GtkWidget*) self, event); + return result; +} + + +static gboolean ddb_seekbar_real_motion_notify_event (GtkWidget* base, GdkEventMotion* event) { + DdbSeekbar * self; + gboolean result = FALSE; + self = (DdbSeekbar*) base; + result = on_seekbar_motion_notify_event ((GtkWidget*) self, event); + return result; +} + + +DdbSeekbar* ddb_seekbar_construct (GType object_type) { + DdbSeekbar * self; + self = g_object_newv (object_type, 0, NULL); + return self; +} + + +DdbSeekbar* ddb_seekbar_new (void) { + return ddb_seekbar_construct (DDB_TYPE_SEEKBAR); +} + + +static GObject * ddb_seekbar_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) { + GObject * obj; + GObjectClass * parent_class; + DdbSeekbar * self; + parent_class = G_OBJECT_CLASS (ddb_seekbar_parent_class); + obj = parent_class->constructor (type, n_construct_properties, construct_properties); + self = DDB_SEEKBAR (obj); + { + } + return obj; +} + + +static void ddb_seekbar_class_init (DdbSeekbarClass * klass) { + ddb_seekbar_parent_class = g_type_class_peek_parent (klass); + GTK_WIDGET_CLASS (klass)->realize = ddb_seekbar_real_realize; + GTK_WIDGET_CLASS (klass)->unrealize = ddb_seekbar_real_unrealize; + GTK_WIDGET_CLASS (klass)->size_request = ddb_seekbar_real_size_request; + GTK_WIDGET_CLASS (klass)->expose_event = ddb_seekbar_real_expose_event; + GTK_WIDGET_CLASS (klass)->button_press_event = ddb_seekbar_real_button_press_event; + GTK_WIDGET_CLASS (klass)->button_release_event = ddb_seekbar_real_button_release_event; + GTK_WIDGET_CLASS (klass)->motion_notify_event = ddb_seekbar_real_motion_notify_event; + G_OBJECT_CLASS (klass)->constructor = ddb_seekbar_constructor; +} + + +static void ddb_seekbar_instance_init (DdbSeekbar * self) { +} + + +GType ddb_seekbar_get_type (void) { + static volatile gsize ddb_seekbar_type_id__volatile = 0; + if (g_once_init_enter (&ddb_seekbar_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DdbSeekbarClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) ddb_seekbar_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DdbSeekbar), 0, (GInstanceInitFunc) ddb_seekbar_instance_init, NULL }; + GType ddb_seekbar_type_id; + ddb_seekbar_type_id = g_type_register_static (GTK_TYPE_WIDGET, "DdbSeekbar", &g_define_type_info, 0); + g_once_init_leave (&ddb_seekbar_type_id__volatile, ddb_seekbar_type_id); + } + return ddb_seekbar_type_id__volatile; +} + + + + |