X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdata%2Fsettings.h;h=6e412c4675925e7389f2958c879a70e506575a1b;hb=899ca177810116bc0ff1c4bcce9368d79cd71d42;hp=2f2bbe99b46edd2ad28e5bebb75015581b3267f9;hpb=c3ac5a8af9c449072c7e872ca70a78c1755ae309;p=pspp diff --git a/src/data/settings.h b/src/data/settings.h index 2f2bbe99b4..6e412c4675 100644 --- a/src/data/settings.h +++ b/src/data/settings.h @@ -1,5 +1,5 @@ /* PSPP - a program for statistical analysis. - Copyright (C) 1997-9, 2000, 2006 Free Software Foundation, Inc. + Copyright (C) 1997-9, 2000, 2006, 2009, 2010, 2015 Free Software Foundation, Inc. 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 @@ -19,25 +19,32 @@ #include #include -#include -#include -#include -struct settings; +#include "data/format.h" +#include "libpspp/compiler.h" +#include "libpspp/float-format.h" +#include "libpspp/integer-format.h" +#include "libpspp/message.h" +struct caseproto; +struct settings; -void settings_init (int *, int *); +void settings_init (void); void settings_done (void); +struct settings *settings_get (void); +void settings_set (const struct settings *); +void settings_destroy (struct settings *); + enum float_format settings_get_input_float_format (void); -void settings_set_input_float_format ( enum float_format); +void settings_set_input_float_format (enum float_format); /* Returns the integer format used for IB and PIB input. */ enum integer_format settings_get_input_integer_format (void); /* Sets the integer format used for IB and PIB input to FORMAT. */ -void settings_set_input_integer_format ( enum integer_format); +void settings_set_input_integer_format (enum integer_format); /* Returns the current output integer format. */ @@ -55,29 +62,19 @@ void settings_set_output_float_format (enum float_format float_format); int settings_get_viewlength (void); -void settings_set_viewlength ( int); +void settings_set_viewlength (int); int settings_get_viewwidth (void); -void settings_set_viewwidth ( int); +void settings_set_viewwidth (int); bool settings_get_safer_mode (void); void settings_set_safer_mode (void); -bool settings_get_echo (void); -void settings_set_echo ( bool); bool settings_get_include (void); -void settings_set_include ( bool); +void settings_set_include (bool); int settings_get_epoch (void); -void settings_set_epoch ( int); - -bool settings_get_errorbreak (void); -void settings_set_errorbreak ( bool); - -bool settings_get_error_routing_to_terminal (void); -void settings_set_error_routing_to_terminal (bool); -bool settings_get_error_routing_to_listing (void); -void settings_set_error_routing_to_listing (bool); +void settings_set_epoch (int); bool settings_get_scompression (void); void settings_set_scompression (bool); @@ -87,35 +84,63 @@ void settings_set_undefined (bool); double settings_get_blanks (void); void settings_set_blanks (double); -int settings_get_mxwarns (void); -void settings_set_mxwarns ( int); -int settings_get_mxerrs (void); -void settings_set_mxerrs ( int); +int settings_get_max_messages (enum msg_severity); +void settings_set_max_messages (enum msg_severity, int max); + +/* Macro settings. */ +bool settings_get_mexpand (void); +void settings_set_mexpand (bool); -bool settings_get_printback (void); -void settings_set_printback (bool); bool settings_get_mprint (void); void settings_set_mprint (bool); -int settings_get_mxloops (void); -void settings_set_mxloops ( int); +int settings_get_miterate (void); +void settings_set_miterate (int); -bool settings_get_nulline (void); -void settings_set_nulline (bool); +int settings_get_mnest (void); +void settings_set_mnest (int); -char settings_get_endcmd (void); -void settings_set_endcmd (char); +int settings_get_mxloops (void); +void settings_set_mxloops (int); size_t settings_get_workspace (void); -size_t settings_get_workspace_cases (size_t value_cnt); +size_t settings_get_workspace_cases (const struct caseproto *); void settings_set_workspace (size_t); const struct fmt_spec *settings_get_format (void); -void settings_set_format ( const struct fmt_spec *); +void settings_set_format (const struct fmt_spec *); bool settings_get_testing_mode (void); void settings_set_testing_mode (bool); +int settings_get_fuzzbits (void); +void settings_set_fuzzbits (int); + +int settings_get_scalemin (void); +void settings_set_scalemin (int); + +/* Whether to show variable or value labels or the underlying value or variable + name. */ +enum ATTRIBUTE ((packed)) settings_value_show + { + /* Use higher-level default. + In a pivot_value, the default is taken from the pivot_table. + In a pivot_table, the default is a global default. + As a global default, this is invalid. */ + SETTINGS_VALUE_SHOW_DEFAULT = 0, + + SETTINGS_VALUE_SHOW_VALUE = 1, /* Show value or variable name only. */ + SETTINGS_VALUE_SHOW_LABEL = 2, /* Show label only. */ + SETTINGS_VALUE_SHOW_BOTH = 3, /* Show both value/name and label. */ + }; + +enum settings_value_show settings_get_show_values (void); +enum settings_value_show settings_get_show_variables (void); + +void settings_set_show_values (enum settings_value_show); +void settings_set_show_variables (enum settings_value_show); + + enum behavior_mode { ENHANCED, /* Use improved PSPP behavior. */ COMPATIBLE /* Be as compatible as possible. */ @@ -132,12 +157,47 @@ void unset_cmd_algorithm (void); enum fmt_type; bool settings_set_cc (const char *cc_string, enum fmt_type type); -int settings_get_decimal_char (enum fmt_type type); void settings_set_decimal_char (char decimal); +void settings_set_include_leading_zero (bool include_leading_zero); +const struct fmt_settings *settings_get_fmt_settings (void); -const struct fmt_number_style * settings_get_style (enum fmt_type type); +double settings_get_small (void); +void settings_set_small (double); char * settings_dollar_template (const struct fmt_spec *fmt); +/* Routing of different kinds of output. */ +enum settings_output_devices + { + SETTINGS_DEVICE_LISTING = 1 << 0, /* File or device. */ + SETTINGS_DEVICE_TERMINAL = 1 << 1, /* Screen. */ + SETTINGS_DEVICE_UNFILTERED = 1 << 2 /* Gets all output, no filtering. */ + }; + +enum settings_output_type + { + SETTINGS_OUTPUT_ERROR, /* Errors and warnings. */ + SETTINGS_OUTPUT_NOTE, /* Notes. */ + SETTINGS_OUTPUT_SYNTAX, /* Syntax. */ + SETTINGS_OUTPUT_RESULT, /* Everything else. */ + SETTINGS_N_OUTPUT_TYPES + }; + + + +void settings_set_output_routing (enum settings_output_type, + enum settings_output_devices); +enum settings_output_devices settings_get_output_routing ( + enum settings_output_type); + +enum settings_mdisplay + { + SETTINGS_MDISPLAY_TEXT, + SETTINGS_MDISPLAY_TABLES + }; + +enum settings_mdisplay settings_get_mdisplay (void); +void settings_set_mdisplay (enum settings_mdisplay); + #endif /* !settings_h */