[Goodies-commits] r5437 - xfbib/branches/gobject/src
David Gustafsson
tssj at xfce.org
Tue Sep 23 13:54:30 CEST 2008
Author: tssj
Date: 2008-09-23 11:54:30 +0000 (Tue, 23 Sep 2008)
New Revision: 5437
Added:
xfbib/branches/gobject/src/xfbib-state.c
xfbib/branches/gobject/src/xfbib-state.h
Log:
Doh...Alsa have to add the source files.
Added: xfbib/branches/gobject/src/xfbib-state.c
===================================================================
--- xfbib/branches/gobject/src/xfbib-state.c (rev 0)
+++ xfbib/branches/gobject/src/xfbib-state.c 2008-09-23 11:54:30 UTC (rev 5437)
@@ -0,0 +1,97 @@
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+#include <gtk/gtk.h>
+
+#include "xfbib-state.h"
+
+struct _XfbibState
+{
+ GObject parent;
+ XfbibElements *elements;
+ gchar *filename;
+ GtkWidget *window;
+};
+
+typedef struct _XfbibStateClass
+{
+ GObjectClass parent;
+} XfbibStateClass;
+
+static void xfbib_state_class_init(XfbibStateClass *klass);
+
+static void xfbib_state_init(XfbibState *instance);
+static void xfbib_state_finalize(GObject *obj);
+
+static XfbibState *xfbib_state_singleton = NULL;
+
+G_DEFINE_TYPE(XfbibState, xfbib_state, G_TYPE_OBJECT)
+
+static void
+xfbib_state_class_init(XfbibStateClass *klass)
+{
+ GObjectClass *object_class = (GObjectClass *)klass;
+ object_class->finalize = xfbib_state_finalize;
+}
+
+static void
+xfbib_state_init(XfbibState *instance)
+{
+}
+
+static void
+xfbib_state_finalize(GObject *obj)
+{
+ G_OBJECT_CLASS(xfbib_state_parent_class)->finalize(obj);
+}
+
+XfbibState *
+xfbib_state_new()
+{
+ XfbibState *state;
+
+ if (xfbib_state_singleton == NULL) {
+ state = g_object_new(XFBIB_TYPE_STATE, NULL);
+ xfbib_state_singleton = g_object_ref(G_OBJECT(state));
+ } else {
+ state = g_object_ref(G_OBJECT(xfbib_state_singleton));
+ }
+
+ return state;
+}
+
+void xfbib_state_set_filename(XfbibState *state, gchar *filename)
+{
+ g_return_if_fail(XFBIB_IS_STATE(state));
+ state->filename = g_strdup(filename);
+}
+
+gchar *xfbib_state_get_filename(XfbibState *state)
+{
+ g_return_val_if_fail(XFBIB_IS_STATE(state), NULL);
+ return state->filename;
+}
+
+void xfbib_state_set_bibtex_elements(XfbibState *state, XfbibElements *elements)
+{
+ g_return_if_fail(XFBIB_IS_STATE(state));
+ state->elements = elements;
+}
+
+XfbibElements *xfbib_state_get_bibtex_elements(XfbibState *state)
+{
+ g_return_val_if_fail(XFBIB_IS_STATE(state), NULL);
+ return state->elements;
+}
+
+void xfbib_state_set_window(XfbibState *state, GtkWidget *window)
+{
+ g_return_if_fail(XFBIB_IS_STATE(state));
+ state->window = window;
+}
+
+GtkWidget *xfbib_state_get_window(XfbibState *state)
+{
+ g_return_val_if_fail(XFBIB_IS_STATE(state), NULL);
+ return state->window;
+}
Added: xfbib/branches/gobject/src/xfbib-state.h
===================================================================
--- xfbib/branches/gobject/src/xfbib-state.h (rev 0)
+++ xfbib/branches/gobject/src/xfbib-state.h 2008-09-23 11:54:30 UTC (rev 5437)
@@ -0,0 +1,31 @@
+#ifndef __XFBIB_STATE_H
+#define __XFBIB_STATE_H
+
+#include <glib-object.h>
+#include "xfbib-elements.h"
+
+#define XFBIB_TYPE_STATE (xfbib_state_get_type())
+#define XFBIB_STATE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), XFBIB_TYPE_STATE, XfbibState))
+#define XFBIB_IS_STATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), XFBIB_TYPE_STATE))
+#define XFBIB_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), XFBIB_TYPE_STATE, XfbibStateClass))
+#define XFBIB_IS_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), XFBIB_TYPE_STATE))
+#define XFBIB_STATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), XFBIB_TYPE_STATE, XfbibStateClass))
+
+G_BEGIN_DECLS
+
+typedef struct _XfbibState XfbibState;
+
+GType xfbib_state_get_type() G_GNUC_CONST;
+
+XfbibState *xfbib_state_new();
+void xfbib_state_set_bibtex_elements(XfbibState *, XfbibElements *);
+XfbibElements *xfbib_state_get_bibtex_elements(XfbibState *);
+void xfbib_state_set_filename(XfbibState *, gchar *);
+gchar *xfbib_state_get_filename(XfbibState *);
+void xfbib_state_set_window(XfbibState *, GtkWidget *);
+GtkWidget *xfbib_state_get_window(XfbibState *);
+
+G_END_DECLS
+
+#endif //__XFBIB_STATE_H
+
More information about the Goodies-commits
mailing list