X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdata%2Fsettings.h;h=9f6b94a888c63c41d9d9a16cacf9b81eba7500a6;hb=refs%2Fheads%2Fctables7;hp=ac4c1e202b89d4455a2ebc4f8bda075c8699b557;hpb=43b1296aafe7582e7dbe6c2b6a8b478d7d9b0fcf;p=pspp diff --git a/src/data/settings.h b/src/data/settings.h index ac4c1e202b..9f6b94a888 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 @@ -20,82 +20,180 @@ #include #include +#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 (void); void settings_done (void); -void force_long_view (void); -int get_viewlength (void); -void set_viewlength (int); +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); + +/* 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); + + +/* Returns the current output integer format. */ +enum integer_format settings_get_output_integer_format (void); + +/* Sets the output integer format to INTEGER_FORMAT. */ +void settings_set_output_integer_format (enum integer_format integer_format); + +/* Returns the current output float format. */ +enum float_format settings_get_output_float_format (void); + +/* Sets the output float format to FLOAT_FORMAT. */ +void settings_set_output_float_format (enum float_format float_format); + + + +int settings_get_viewlength (void); +void settings_set_viewlength (int); + +int settings_get_viewwidth (void); +void settings_set_viewwidth (int); + +bool settings_get_safer_mode (void); +void settings_set_safer_mode (void); + +bool settings_get_include (void); +void settings_set_include (bool); -int get_viewwidth (void); -void set_viewwidth (int); +int settings_get_epoch (void); +void settings_set_epoch (int); -bool get_safer_mode (void); -void set_safer_mode (void); +bool settings_get_scompression (void); +void settings_set_scompression (bool); -bool get_echo (void); -void set_echo (bool); -bool get_include (void); -void set_include (bool); +bool settings_get_undefined (void); +void settings_set_undefined (bool); +double settings_get_blanks (void); +void settings_set_blanks (double); -int get_epoch (void); -void set_epoch (int); +int settings_get_max_messages (enum msg_severity); +void settings_set_max_messages (enum msg_severity, int max); -bool get_errorbreak (void); -void set_errorbreak (bool); +/* Macro settings. */ +bool settings_get_mexpand (void); +void settings_set_mexpand (bool); -bool get_error_routing_to_terminal (void); -void set_error_routing_to_terminal (bool); -bool get_error_routing_to_listing (void); -void set_error_routing_to_listing (bool); +bool settings_get_mprint (void); +void settings_set_mprint (bool); -bool get_scompression (void); -void set_scompression (bool); +int settings_get_miterate (void); +void settings_set_miterate (int); -bool get_undefined (void); -void set_undefined (bool); -double get_blanks (void); -void set_blanks (double); +int settings_get_mnest (void); +void settings_set_mnest (int); -int get_mxwarns (void); -void set_mxwarns (int); -int get_mxerrs (void); -void set_mxerrs (int); +int settings_get_mxloops (void); +void settings_set_mxloops (int); -bool get_printback (void); -void set_printback (bool); -bool get_mprint (void); -void set_mprint (bool); +size_t settings_get_workspace (void); +size_t settings_get_workspace_cases (const struct caseproto *); +void settings_set_workspace (size_t); -int get_mxloops (void); -void set_mxloops (int); +const struct fmt_spec *settings_get_format (void); +void settings_set_format (const struct fmt_spec *); -bool get_nulline (void); -void set_nulline (bool); +bool settings_get_testing_mode (void); +void settings_set_testing_mode (bool); -char get_endcmd (void); -void set_endcmd (char); +int settings_get_fuzzbits (void); +void settings_set_fuzzbits (int); -size_t get_workspace (void); -size_t get_workspace_cases (size_t value_cnt); -void set_workspace (size_t); +/* 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, -const struct fmt_spec *get_format (void); -void set_format (const struct fmt_spec *); + 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); -bool get_testing_mode (void); -void set_testing_mode (bool); enum behavior_mode { ENHANCED, /* Use improved PSPP behavior. */ COMPATIBLE /* Be as compatible as possible. */ }; -enum behavior_mode get_algorithm (void); -void set_algorithm (enum behavior_mode); -enum behavior_mode get_syntax (void); -void set_syntax(enum behavior_mode); -void set_cmd_algorithm (enum behavior_mode); +enum behavior_mode settings_get_algorithm (void); +void settings_set_algorithm (enum behavior_mode); +enum behavior_mode settings_get_syntax (void); +void settings_set_syntax (enum behavior_mode); + +void settings_set_cmd_algorithm (enum behavior_mode); void unset_cmd_algorithm (void); +enum fmt_type; +bool settings_set_cc (const char *cc_string, enum fmt_type type); + +void settings_set_decimal_char (char decimal); + +const struct fmt_settings *settings_get_fmt_settings (void); + +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 */