Initial commit
[fillmore] / src / marina / marina / StatusBar.c
diff --git a/src/marina/marina/StatusBar.c b/src/marina/marina/StatusBar.c
new file mode 100644 (file)
index 0000000..b6b72c1
--- /dev/null
@@ -0,0 +1,401 @@
+/* StatusBar.c generated by valac, the Vala compiler
+ * generated from StatusBar.vala, do not modify */
+
+/* Copyright 2009 Yorba Foundation
+ *
+ * This software is licensed under the GNU Lesser General Public License
+ * (version 2.1 or later).  See the COPYING file in this distribution. 
+ */
+
+#include <glib.h>
+#include <glib-object.h>
+#include <gtk/gtk.h>
+#include <float.h>
+#include <math.h>
+#include <stdlib.h>
+#include <string.h>
+#include <gdk/gdk.h>
+#include <gee.h>
+#include <pango/pango.h>
+
+
+#define VIEW_TYPE_STATUS_BAR (view_status_bar_get_type ())
+#define VIEW_STATUS_BAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIEW_TYPE_STATUS_BAR, ViewStatusBar))
+#define VIEW_STATUS_BAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIEW_TYPE_STATUS_BAR, ViewStatusBarClass))
+#define VIEW_IS_STATUS_BAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIEW_TYPE_STATUS_BAR))
+#define VIEW_IS_STATUS_BAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIEW_TYPE_STATUS_BAR))
+#define VIEW_STATUS_BAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIEW_TYPE_STATUS_BAR, ViewStatusBarClass))
+
+typedef struct _ViewStatusBar ViewStatusBar;
+typedef struct _ViewStatusBarClass ViewStatusBarClass;
+typedef struct _ViewStatusBarPrivate ViewStatusBarPrivate;
+
+#define MODEL_TYPE_TIME_SYSTEM (model_time_system_get_type ())
+#define MODEL_TIME_SYSTEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_TIME_SYSTEM, ModelTimeSystem))
+#define MODEL_IS_TIME_SYSTEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_TIME_SYSTEM))
+#define MODEL_TIME_SYSTEM_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), MODEL_TYPE_TIME_SYSTEM, ModelTimeSystemIface))
+
+typedef struct _ModelTimeSystem ModelTimeSystem;
+typedef struct _ModelTimeSystemIface ModelTimeSystemIface;
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+
+#define MODEL_TYPE_TEMPO_INFORMATION (model_tempo_information_get_type ())
+#define MODEL_TEMPO_INFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_TEMPO_INFORMATION, ModelTempoInformation))
+#define MODEL_IS_TEMPO_INFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_TEMPO_INFORMATION))
+#define MODEL_TEMPO_INFORMATION_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), MODEL_TYPE_TEMPO_INFORMATION, ModelTempoInformationIface))
+
+typedef struct _ModelTempoInformation ModelTempoInformation;
+typedef struct _ModelTempoInformationIface ModelTempoInformationIface;
+
+#define TYPE_FRACTION (fraction_get_type ())
+typedef struct _Fraction Fraction;
+
+#define MODEL_TYPE_PROJECT (model_project_get_type ())
+#define MODEL_PROJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_PROJECT, ModelProject))
+#define MODEL_PROJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MODEL_TYPE_PROJECT, ModelProjectClass))
+#define MODEL_IS_PROJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_PROJECT))
+#define MODEL_IS_PROJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MODEL_TYPE_PROJECT))
+#define MODEL_PROJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MODEL_TYPE_PROJECT, ModelProjectClass))
+
+typedef struct _ModelProject ModelProject;
+typedef struct _ModelProjectClass ModelProjectClass;
+typedef struct _ModelProjectPrivate ModelProjectPrivate;
+
+#define MODEL_TYPE_CLIP_FILE (model_clip_file_get_type ())
+#define MODEL_CLIP_FILE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_CLIP_FILE, ModelClipFile))
+#define MODEL_CLIP_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MODEL_TYPE_CLIP_FILE, ModelClipFileClass))
+#define MODEL_IS_CLIP_FILE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_CLIP_FILE))
+#define MODEL_IS_CLIP_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MODEL_TYPE_CLIP_FILE))
+#define MODEL_CLIP_FILE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MODEL_TYPE_CLIP_FILE, ModelClipFileClass))
+
+typedef struct _ModelClipFile ModelClipFile;
+typedef struct _ModelClipFileClass ModelClipFileClass;
+
+#define TYPE_TIME_CODE (time_code_get_type ())
+typedef struct _TimeCode TimeCode;
+
+#define MODEL_TYPE_TRACK (model_track_get_type ())
+#define MODEL_TRACK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_TRACK, ModelTrack))
+#define MODEL_TRACK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MODEL_TYPE_TRACK, ModelTrackClass))
+#define MODEL_IS_TRACK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_TRACK))
+#define MODEL_IS_TRACK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MODEL_TYPE_TRACK))
+#define MODEL_TRACK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MODEL_TYPE_TRACK, ModelTrackClass))
+
+typedef struct _ModelTrack ModelTrack;
+typedef struct _ModelTrackClass ModelTrackClass;
+
+#define VIEW_TYPE_MEDIA_ENGINE (view_media_engine_get_type ())
+#define VIEW_MEDIA_ENGINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIEW_TYPE_MEDIA_ENGINE, ViewMediaEngine))
+#define VIEW_MEDIA_ENGINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIEW_TYPE_MEDIA_ENGINE, ViewMediaEngineClass))
+#define VIEW_IS_MEDIA_ENGINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIEW_TYPE_MEDIA_ENGINE))
+#define VIEW_IS_MEDIA_ENGINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIEW_TYPE_MEDIA_ENGINE))
+#define VIEW_MEDIA_ENGINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIEW_TYPE_MEDIA_ENGINE, ViewMediaEngineClass))
+
+typedef struct _ViewMediaEngine ViewMediaEngine;
+typedef struct _ViewMediaEngineClass ViewMediaEngineClass;
+
+#define MODEL_TYPE_PROJECT_LOADER (model_project_loader_get_type ())
+#define MODEL_PROJECT_LOADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_PROJECT_LOADER, ModelProjectLoader))
+#define MODEL_PROJECT_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MODEL_TYPE_PROJECT_LOADER, ModelProjectLoaderClass))
+#define MODEL_IS_PROJECT_LOADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_PROJECT_LOADER))
+#define MODEL_IS_PROJECT_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MODEL_TYPE_PROJECT_LOADER))
+#define MODEL_PROJECT_LOADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MODEL_TYPE_PROJECT_LOADER, ModelProjectLoaderClass))
+
+typedef struct _ModelProjectLoader ModelProjectLoader;
+typedef struct _ModelProjectLoaderClass ModelProjectLoaderClass;
+
+#define MODEL_TYPE_UNDO_MANAGER (model_undo_manager_get_type ())
+#define MODEL_UNDO_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_UNDO_MANAGER, ModelUndoManager))
+#define MODEL_UNDO_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MODEL_TYPE_UNDO_MANAGER, ModelUndoManagerClass))
+#define MODEL_IS_UNDO_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_UNDO_MANAGER))
+#define MODEL_IS_UNDO_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MODEL_TYPE_UNDO_MANAGER))
+#define MODEL_UNDO_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MODEL_TYPE_UNDO_MANAGER, ModelUndoManagerClass))
+
+typedef struct _ModelUndoManager ModelUndoManager;
+typedef struct _ModelUndoManagerClass ModelUndoManagerClass;
+
+#define MODEL_TYPE_LIBRARY_IMPORTER (model_library_importer_get_type ())
+#define MODEL_LIBRARY_IMPORTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MODEL_TYPE_LIBRARY_IMPORTER, ModelLibraryImporter))
+#define MODEL_LIBRARY_IMPORTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MODEL_TYPE_LIBRARY_IMPORTER, ModelLibraryImporterClass))
+#define MODEL_IS_LIBRARY_IMPORTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MODEL_TYPE_LIBRARY_IMPORTER))
+#define MODEL_IS_LIBRARY_IMPORTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MODEL_TYPE_LIBRARY_IMPORTER))
+#define MODEL_LIBRARY_IMPORTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MODEL_TYPE_LIBRARY_IMPORTER, ModelLibraryImporterClass))
+
+typedef struct _ModelLibraryImporter ModelLibraryImporter;
+typedef struct _ModelLibraryImporterClass ModelLibraryImporterClass;
+
+#define LOGGING_TYPE_FACILITY (logging_facility_get_type ())
+
+#define LOGGING_TYPE_LEVEL (logging_level_get_type ())
+#define _g_free0(var) (var = (g_free (var), NULL))
+
+struct _ViewStatusBar {
+       GtkDrawingArea parent_instance;
+       ViewStatusBarPrivate * priv;
+};
+
+struct _ViewStatusBarClass {
+       GtkDrawingAreaClass parent_class;
+};
+
+struct _ModelTimeSystemIface {
+       GTypeInterface parent_iface;
+       void (*calculate_pixel_step) (ModelTimeSystem* self, float inc, float pixel_min, float pixel_div);
+       gint64 (*xpos_to_time) (ModelTimeSystem* self, gint x);
+       gint64 (*xsize_to_time) (ModelTimeSystem* self, gint x);
+       gint (*time_to_xpos) (ModelTimeSystem* self, gint64 time);
+       gint64 (*get_pixel_snap_time) (ModelTimeSystem* self);
+       gint (*time_to_xsize) (ModelTimeSystem* self, gint64 time);
+       float (*get_pixel_percentage) (ModelTimeSystem* self);
+       gint (*get_start_token) (ModelTimeSystem* self, gint xsize);
+       gint (*get_next_position) (ModelTimeSystem* self, gint token);
+       gint (*get_pixel_height) (ModelTimeSystem* self, gint token);
+       char* (*get_display_string) (ModelTimeSystem* self, gint token);
+       gint (*frame_to_xsize) (ModelTimeSystem* self, gint frame);
+       gint (*xsize_to_frame) (ModelTimeSystem* self, gint xsize);
+       char* (*get_time_string) (ModelTimeSystem* self, gint64 time);
+       char* (*get_time_duration) (ModelTimeSystem* self, gint64 time);
+};
+
+struct _ViewStatusBarPrivate {
+       ModelTimeSystem* provider;
+       gint64 current_position;
+};
+
+struct _Fraction {
+       gint numerator;
+       gint denominator;
+};
+
+struct _ModelTempoInformationIface {
+       GTypeInterface parent_iface;
+       void (*get_time_signature) (ModelTempoInformation* self, Fraction* result);
+       gint (*get_bpm) (ModelTempoInformation* self);
+};
+
+struct _TimeCode {
+       gint hour;
+       gint minute;
+       gint second;
+       gint frame;
+       gboolean drop_code;
+};
+
+struct _ModelProject {
+       GObject parent_instance;
+       ModelProjectPrivate * priv;
+       GeeArrayList* tracks;
+       GeeArrayList* inactive_tracks;
+       GeeArrayList* clipfiles;
+       ViewMediaEngine* media_engine;
+       char* project_file;
+       ModelProjectLoader* loader;
+       ModelUndoManager* undo_manager;
+       ModelLibraryImporter* importer;
+       Fraction default_framerate;
+       gboolean click_during_play;
+       gboolean click_during_record;
+       double click_volume;
+       gboolean library_visible;
+       gint library_width;
+       gboolean snap_to_clip;
+};
+
+struct _ModelProjectClass {
+       GObjectClass parent_class;
+       void (*get_clip_time) (ModelProject* self, ModelClipFile* f, TimeCode* result);
+       char* (*get_project_file) (ModelProject* self);
+       void (*do_append) (ModelProject* self, ModelTrack* track, ModelClipFile* clipfile, const char* name, gint64 insert_time);
+       void (*add_track) (ModelProject* self, ModelTrack* track);
+       void (*insert_track) (ModelProject* self, gint index, ModelTrack* track);
+       void (*load) (ModelProject* self, const char* fname);
+       void (*save) (ModelProject* self, const char* filename);
+       char* (*get_app_name) (ModelProject* self);
+       void (*load_complete) (ModelProject* self);
+};
+
+typedef enum  {
+       LOGGING_FACILITY_SIGNAL_HANDLERS,
+       LOGGING_FACILITY_DEVELOPER_WARNINGS,
+       LOGGING_FACILITY_GRAPH,
+       LOGGING_FACILITY_LOADING,
+       LOGGING_FACILITY_IMPORT,
+       LOGGING_FACILITY_SINGLEDECODEBIN
+} LoggingFacility;
+
+typedef enum  {
+       LOGGING_LEVEL_CRITICAL,
+       LOGGING_LEVEL_HIGH,
+       LOGGING_LEVEL_MEDIUM,
+       LOGGING_LEVEL_LOW,
+       LOGGING_LEVEL_INFO,
+       LOGGING_LEVEL_VERBOSE
+} LoggingLevel;
+
+
+static gpointer view_status_bar_parent_class = NULL;
+
+GType view_status_bar_get_type (void);
+GType model_time_system_get_type (void);
+#define VIEW_STATUS_BAR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), VIEW_TYPE_STATUS_BAR, ViewStatusBarPrivate))
+enum  {
+       VIEW_STATUS_BAR_DUMMY_PROPERTY
+};
+void parse_color (const char* color, GdkColor* result);
+GType fraction_get_type (void);
+Fraction* fraction_dup (const Fraction* self);
+void fraction_free (Fraction* self);
+GType model_tempo_information_get_type (void);
+GType model_project_get_type (void);
+GType model_clip_file_get_type (void);
+GType time_code_get_type (void);
+TimeCode* time_code_dup (const TimeCode* self);
+void time_code_free (TimeCode* self);
+GType model_track_get_type (void);
+GType view_media_engine_get_type (void);
+GType model_project_loader_get_type (void);
+gpointer model_undo_manager_ref (gpointer instance);
+void model_undo_manager_unref (gpointer instance);
+GParamSpec* model_param_spec_undo_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void model_value_set_undo_manager (GValue* value, gpointer v_object);
+void model_value_take_undo_manager (GValue* value, gpointer v_object);
+gpointer model_value_get_undo_manager (const GValue* value);
+GType model_undo_manager_get_type (void);
+GType model_library_importer_get_type (void);
+void view_status_bar_on_position_changed (ViewStatusBar* self, gint64 new_position);
+static void _view_status_bar_on_position_changed_view_media_engine_position_changed (ViewMediaEngine* _sender, gint64 position, gpointer self);
+ViewStatusBar* view_status_bar_new (ModelProject* p, ModelTimeSystem* provider, gint height);
+ViewStatusBar* view_status_bar_construct (GType object_type, ModelProject* p, ModelTimeSystem* provider, gint height);
+GType logging_facility_get_type (void);
+GType logging_level_get_type (void);
+void logging_emit (GObject* object, LoggingFacility facility, LoggingLevel level, const char* message);
+char* model_time_system_get_time_string (ModelTimeSystem* self, gint64 time);
+static gboolean view_status_bar_real_expose_event (GtkWidget* base, GdkEventExpose* e);
+static void view_status_bar_finalize (GObject* obj);
+
+
+
+#line 23 "StatusBar.vala"
+static void _view_status_bar_on_position_changed_view_media_engine_position_changed (ViewMediaEngine* _sender, gint64 position, gpointer self) {
+#line 281 "StatusBar.c"
+       view_status_bar_on_position_changed (self, position);
+}
+
+
+static gpointer _g_object_ref0 (gpointer self) {
+       return self ? g_object_ref (self) : NULL;
+}
+
+
+#line 14 "StatusBar.vala"
+ViewStatusBar* view_status_bar_construct (GType object_type, ModelProject* p, ModelTimeSystem* provider, gint height) {
+#line 293 "StatusBar.c"
+       ViewStatusBar * self;
+       GdkColor _tmp1_;
+       GdkColor _tmp0_ = {0};
+       ModelTimeSystem* _tmp2_;
+#line 14 "StatusBar.vala"
+       g_return_val_if_fail (MODEL_IS_PROJECT (p), NULL);
+#line 14 "StatusBar.vala"
+       g_return_val_if_fail (MODEL_IS_TIME_SYSTEM (provider), NULL);
+#line 302 "StatusBar.c"
+       self = g_object_newv (object_type, 0, NULL);
+#line 15 "StatusBar.vala"
+       GTK_WIDGET_SET_FLAGS (GTK_WIDGET (self), GTK_NO_WINDOW);
+#line 16 "StatusBar.vala"
+       gtk_widget_modify_bg (GTK_WIDGET (self), GTK_STATE_NORMAL, (_tmp1_ = (parse_color ("#666", &_tmp0_), _tmp0_), &_tmp1_));
+#line 17 "StatusBar.vala"
+       gtk_widget_set_size_request (GTK_WIDGET (self), 0, height);
+#line 19 "StatusBar.vala"
+       g_signal_connect_object (p->media_engine, "position-changed", (GCallback) _view_status_bar_on_position_changed_view_media_engine_position_changed, self, 0);
+#line 20 "StatusBar.vala"
+       self->priv->provider = (_tmp2_ = _g_object_ref0 (provider), _g_object_unref0 (self->priv->provider), _tmp2_);
+#line 314 "StatusBar.c"
+       return self;
+}
+
+
+#line 14 "StatusBar.vala"
+ViewStatusBar* view_status_bar_new (ModelProject* p, ModelTimeSystem* provider, gint height) {
+#line 14 "StatusBar.vala"
+       return view_status_bar_construct (VIEW_TYPE_STATUS_BAR, p, provider, height);
+#line 323 "StatusBar.c"
+}
+
+
+#line 23 "StatusBar.vala"
+void view_status_bar_on_position_changed (ViewStatusBar* self, gint64 new_position) {
+#line 23 "StatusBar.vala"
+       g_return_if_fail (VIEW_IS_STATUS_BAR (self));
+#line 24 "StatusBar.vala"
+       logging_emit (G_OBJECT (self), LOGGING_FACILITY_SIGNAL_HANDLERS, LOGGING_LEVEL_INFO, "on_position_changed");
+#line 25 "StatusBar.vala"
+       self->priv->current_position = new_position;
+#line 26 "StatusBar.vala"
+       gtk_widget_queue_draw (GTK_WIDGET (self));
+#line 337 "StatusBar.c"
+}
+
+
+#line 29 "StatusBar.vala"
+static gboolean view_status_bar_real_expose_event (GtkWidget* base, GdkEventExpose* e) {
+#line 343 "StatusBar.c"
+       ViewStatusBar * self;
+       gboolean result = FALSE;
+       char* time;
+       PangoLayout* layout;
+       self = VIEW_STATUS_BAR (base);
+#line 30 "StatusBar.vala"
+       gdk_draw_rectangle (GDK_DRAWABLE (GTK_WIDGET (self)->window), gtk_widget_get_style (GTK_WIDGET (self))->bg_gc[(gint) GTK_STATE_NORMAL], TRUE, GTK_WIDGET (self)->allocation.x, GTK_WIDGET (self)->allocation.y, GTK_WIDGET (self)->allocation.width, GTK_WIDGET (self)->allocation.height);
+#line 33 "StatusBar.vala"
+       time = model_time_system_get_time_string (self->priv->provider, self->priv->current_position);
+#line 35 "StatusBar.vala"
+       layout = gtk_widget_create_pango_layout (GTK_WIDGET (self), time);
+#line 36 "StatusBar.vala"
+       gdk_draw_layout (GDK_DRAWABLE (GTK_WIDGET (self)->window), gtk_widget_get_style (GTK_WIDGET (self))->white_gc, GTK_WIDGET (self)->allocation.x + 4, GTK_WIDGET (self)->allocation.y + 2, layout);
+#line 357 "StatusBar.c"
+       result = TRUE;
+       _g_free0 (time);
+       _g_object_unref0 (layout);
+#line 38 "StatusBar.vala"
+       return result;
+#line 363 "StatusBar.c"
+}
+
+
+static void view_status_bar_class_init (ViewStatusBarClass * klass) {
+       view_status_bar_parent_class = g_type_class_peek_parent (klass);
+       g_type_class_add_private (klass, sizeof (ViewStatusBarPrivate));
+       GTK_WIDGET_CLASS (klass)->expose_event = view_status_bar_real_expose_event;
+       G_OBJECT_CLASS (klass)->finalize = view_status_bar_finalize;
+}
+
+
+static void view_status_bar_instance_init (ViewStatusBar * self) {
+       self->priv = VIEW_STATUS_BAR_GET_PRIVATE (self);
+       self->priv->current_position = (gint64) 0;
+}
+
+
+static void view_status_bar_finalize (GObject* obj) {
+       ViewStatusBar * self;
+       self = VIEW_STATUS_BAR (obj);
+       _g_object_unref0 (self->priv->provider);
+       G_OBJECT_CLASS (view_status_bar_parent_class)->finalize (obj);
+}
+
+
+GType view_status_bar_get_type (void) {
+       static volatile gsize view_status_bar_type_id__volatile = 0;
+       if (g_once_init_enter (&view_status_bar_type_id__volatile)) {
+               static const GTypeInfo g_define_type_info = { sizeof (ViewStatusBarClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) view_status_bar_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ViewStatusBar), 0, (GInstanceInitFunc) view_status_bar_instance_init, NULL };
+               GType view_status_bar_type_id;
+               view_status_bar_type_id = g_type_register_static (GTK_TYPE_DRAWING_AREA, "ViewStatusBar", &g_define_type_info, 0);
+               g_once_init_leave (&view_status_bar_type_id__volatile, view_status_bar_type_id);
+       }
+       return view_status_bar_type_id__volatile;
+}
+
+
+
+