This makes it possible to use a struct fmt_spec as the value of a property on a GObject, which I plan to use in an upcoming widget PsppireValueEntry. --- src/ui/gui/automake.mk | 2 + src/ui/gui/psppire-format.c | 46 +++++++++++++++++++++++++++++++++++++++++++ src/ui/gui/psppire-format.h | 28 ++++++++++++++++++++++++++ 3 files changed, 76 insertions(+), 0 deletions(-) create mode 100644 src/ui/gui/psppire-format.c create mode 100644 src/ui/gui/psppire-format.h
diff --git a/src/ui/gui/automake.mk b/src/ui/gui/automake.mk index 4b26278..ac61a29 100644 --- a/src/ui/gui/automake.mk +++ b/src/ui/gui/automake.mk @@ -236,6 +236,8 @@ src_ui_gui_psppire_SOURCES = \ src/ui/gui/psppire-empty-list-store.h \ src/ui/gui/psppire-encoding-selector.c \ src/ui/gui/psppire-encoding-selector.h \ + src/ui/gui/psppire-format.c \ + src/ui/gui/psppire-format.h \ src/ui/gui/psppire-hbuttonbox.h \ src/ui/gui/psppire-keypad.h \ src/ui/gui/psppire-lex-reader.c \ diff --git a/src/ui/gui/psppire-format.c b/src/ui/gui/psppire-format.c new file mode 100644 index 0000000..c446840 --- /dev/null +++ b/src/ui/gui/psppire-format.c @@ -0,0 +1,46 @@ +/* PSPPIRE - a graphical user interface for PSPP. + Copyright (C) 2012 Free Software Foundation + + 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 3 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, see <http://www.gnu.org/licenses/>. */ + +#include <config.h> +#include "ui/gui/psppire-format.h" + +static gpointer +psppire_format_copy (gpointer boxed) +{ + struct fmt_spec *format = boxed; + return g_memdup (format, sizeof *format); +} + +static void +psppire_format_free (gpointer boxed) +{ + struct fmt_spec *format = boxed; + g_free (format); +} + +GType +psppire_format_get_type (void) +{ + static GType type = 0; + + if (type == 0) + type = g_boxed_type_register_static ("PsppireFormat", + psppire_format_copy, + psppire_format_free); + + return type; +} + diff --git a/src/ui/gui/psppire-format.h b/src/ui/gui/psppire-format.h new file mode 100644 index 0000000..caaafb3 --- /dev/null +++ b/src/ui/gui/psppire-format.h @@ -0,0 +1,28 @@ +/* PSPPIRE - a graphical user interface for PSPP. + Copyright (C) 2012 Free Software Foundation + + 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 3 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, see <http://www.gnu.org/licenses/>. */ + + +#ifndef PSPPIRE_FORMAT_H +#define PSPPIRE_FORMAT_H 1 + +#include <glib-object.h> +#include "data/format.h" + +#define PSPPIRE_TYPE_FORMAT (psppire_format_get_type ()) + +GType psppire_format_get_type (void) G_GNUC_CONST; + +#endif /* src/ui/gui/psppire-format.h */ -- 1.7.2.5 _______________________________________________ pspp-dev mailing list pspp-dev@gnu.org https://lists.gnu.org/mailman/listinfo/pspp-dev