src/ui/gui/marshaller-list \
src/ui/gui/pspplogo.svg
+src_ui_gui_psppire_CPPFLAGS=
if HAVE_GUI
bin_PROGRAMS += src/ui/gui/psppire
src/ui/gui/psppire-dialog-action-rank.h \
src/ui/gui/psppire-dialog-action-recode.c \
src/ui/gui/psppire-dialog-action-recode.h \
+ src/ui/gui/psppire-dialog-action-recode-same.c \
+ src/ui/gui/psppire-dialog-action-recode-same.h \
+ src/ui/gui/psppire-dialog-action-recode-different.c \
+ src/ui/gui/psppire-dialog-action-recode-different.h \
src/ui/gui/psppire-dialog-action-regression.c \
src/ui/gui/psppire-dialog-action-regression.h \
src/ui/gui/psppire-dialog-action-reliability.c \
src/ui/gui/psppire-value-entry.h \
src/ui/gui/psppire-var-ptr.c \
src/ui/gui/psppire-var-ptr.h \
- src/ui/gui/psppire-var-sheet.c \
src/ui/gui/psppire-var-sheet.h \
+ src/ui/gui/psppire-var-sheet-header.h \
+ src/ui/gui/psppire-var-sheet-header.c \
src/ui/gui/psppire-vbuttonbox.h \
src/ui/gui/psppire-window.c \
src/ui/gui/psppire-window.h \
BUILT_SOURCES += src/ui/gui/psppire-marshal.c src/ui/gui/psppire-marshal.h
CLEANFILES += src/ui/gui/psppire-marshal.c src/ui/gui/psppire-marshal.h \
$(nodist_src_ui_gui_psppire_DATA)
+include $(top_srcdir)/src/ui/gui/efficient-sheet.mk
endif HAVE_GUI
#ensure the installcheck passes even if there is no X server available
DISPLAY=/invalid/port $(MAKE) $(AM_MAKEFLAGS) installcheck-binPROGRAMS
# <gtk/gtk.h> wrapper
-src_ui_gui_psppire_CPPFLAGS = $(AM_CPPFLAGS) -Isrc/ui/gui/include
+src_ui_gui_psppire_CPPFLAGS += $(AM_CPPFLAGS) -Isrc/ui/gui/include
BUILT_SOURCES += src/ui/gui/include/gtk/gtk.h
src/ui/gui/include/gtk/gtk.h: src/ui/gui/include/gtk/gtk.in.h
@$(MKDIR_P) src/ui/gui/include/gtk
#include "widgets.h"
+#include "gettext.h"
#include "psppire-dialog.h"
#include "psppire-selector.h"
#include "psppire-dialog-action-oneway.h"
#include "psppire-means-layer.h"
#include "psppire-dialog-action-rank.h"
- #include "psppire-dialog-action-recode.h"
+ #include "psppire-dialog-action-recode-same.h"
+ #include "psppire-dialog-action-recode-different.h"
#include "psppire-dialog-action-regression.h"
#include "psppire-dialog-action-reliability.h"
#include "psppire-dialog-action-roc.h"
psppire_dialog_action_indep_samps_get_type,
psppire_dialog_action_var_info_get_type,
psppire_dialog_action_rank_get_type,
- psppire_dialog_action_recode_get_type,
+ psppire_dialog_action_recode_same_get_type,
+ psppire_dialog_action_recode_different_get_type,
psppire_dialog_action_reliability_get_type,
psppire_dialog_action_regression_get_type,
psppire_dialog_action_roc_get_type,
}
+static void
+tx_string_to_double (const GValue *src, GValue *dest)
+{
+ const gchar *str = g_value_get_string (src);
+ gdouble dble = g_strtod (str, NULL);
+ g_value_set_double (dest, dble);
+}
+
+
+static void
+tx_string_to_int (const GValue *src, GValue *dest)
+{
+ const gchar *str = g_value_get_string (src);
+ gint x = atoi (str);
+ g_value_set_int (dest, x);
+}
+
+static void
+enum_to_string (const GValue *src, GValue *dest)
+{
+ gint n = g_value_get_enum (src);
+ GType t = G_VALUE_TYPE (src);
+ GEnumClass *ec = g_type_class_ref (t);
+ GEnumValue *ev = g_enum_get_value (ec, n);
+
+ g_value_set_string (dest, gettext (ev->value_nick));
+}
+
+
+
+GType align_enum_type;
+GType measure_enum_type;
+GType role_enum_type;
+
+
+extern const GEnumValue align[];
+extern const GEnumValue measure[];
+extern const GEnumValue role[];
+
+
+
+static void
+preregister_misc (void)
+{
+ align_enum_type = g_enum_register_static ("PsppAlignment", align);
+ measure_enum_type = g_enum_register_static ("PsppMeasure", measure);
+ role_enum_type = g_enum_register_static ("PsppRole", role);
+
+ g_value_register_transform_func (G_TYPE_STRING, G_TYPE_DOUBLE, tx_string_to_double);
+ g_value_register_transform_func (G_TYPE_STRING, G_TYPE_INT, tx_string_to_int);
+
+ g_value_register_transform_func (measure_enum_type, G_TYPE_STRING, enum_to_string);
+ g_value_register_transform_func (align_enum_type, G_TYPE_STRING, enum_to_string);
+ g_value_register_transform_func (role_enum_type, G_TYPE_STRING, enum_to_string);
+}
+
/* Any custom widgets which are to be used in GtkBuilder ui files
need to be preregistered, otherwise GtkBuilder refuses to
psppire_means_layer_get_type ();
preregister_actions ();
+ preregister_misc ();
/* This seems to be necessary on Cygwin.
It ought not to be necessary. Having it here can't do any harm. */