25 #include "pips_config.h"
31 #include <sys/resource.h>
41 #include "constants.h"
42 #include "resources.h"
157 while (iarg < argc) {
171 if (argv[iarg][0] ==
'-') {
172 fprintf(stderr,
"Usage: %s ", argv[0]);
173 fprintf(stderr,
"[ X-Window options ]");
174 fprintf(stderr,
"[ -workspace name [ -module name ] ");
175 fprintf(stderr,
"[ -files file1.f file2.f ... ] ]\n");
231 gtk_main_iteration_do(FALSE);
281 debug(1,
"gpips_main_loop",
"gpips_main_loop_command = %d\n",
295 "gpips_main_loop does not understand the gpips_main_loop_command",
333 gtk_init(&argc, &argv);
void close_log_file(void)
void(* pips_log_handler)(const char *fmt, va_list *args)
USER_LOG is a function that should be called to log the current PIPS request, as soon as it is releva...
string(* pips_request_handler)(const char *, va_list *)
default assignment of pips_request_handler is default_user_request.
void(* pips_error_handler)(const char *, const char *, va_list *)
PROMPT_USER schould be implemented.
void set_pips_meta_informations(const char *revs, const char *date, const char *comp)
void(* pips_warning_handler)(const char *, const char *, va_list *)
default assignment of pips_warning_handler is default_user_warning.
void set_exception_callbacks(exception_callback_t, exception_callback_t)
gen_array_t gen_array_make(size_t size)
declarations...
void gen_array_append(gen_array_t a, void *what)
void gen_array_free(gen_array_t a)
void set_pipsmake_callback(pipsmake_callback_handler_type p)
callback.c
void reset_pipsmake_callback()
bool create_workspace(gen_array_t files)
FI: should be called "initialize_workspace()"; a previous call to db_create_workspace() is useful to ...
void(* pips_update_props_handler)()=default_update_props
default assignment of pips_update_props_handler is default_update_props.
bool open_workspace(const char *name)
should be: success (cf wpips.h)
void push_pips_context(char const *file, char const *function, int line)
exception.c
void pop_pips_context(char const *file, char const *function, int line)
#define MAX_NUMBER_OF_GPIPS_WINDOWS
How many display wondows can be opened :
gpips_main_loop_command_type
The type to describe the command to execute outside the notifyer:
@ GPIPS_EXECUTE_AND_DISPLAY
void gpips_user_warning(const char *calling_function_name, const char *format, va_list *args)
void gpips_user_error(const char *calling_function_name, const char *format, va_list *args)
GtkWidget * edit_window[MAX_NUMBER_OF_GPIPS_WINDOWS]
GtkWidget * options_window
GtkWidget * main_window_vbox
GtkWidget * schoose_window
static void gpips_parse_arguments(int argc, char *argv[])
Try to parse the gpips arguments.
static gen_array_t files_given_to_gpips
static bool deal_with_gpips_events_during_pipsmake()
Since XView is not called while pipsmake is running, explicitly run a hook from pipsmake to run the n...
static void create_main_window_menu_bar()
GtkWidget * main_frame
If we are in the Emacs mode, the log_frame is no longer really used:
void create_main_window()
@ GPIPS_NUMBER_OF_EVENT_TO_DEAL_DURING_PIPSMAKE_INTERPHASE
int gpips_main(int argc, char *argv[])
GtkWidget * mchoose_frame
void execute_main_loop_command(gpips_main_loop_command_type command)
To ask pipsmake to stop as soon as possible:
static string module_name_given_to_gpips
static void execute_workspace_creation_and_so_on_given_with_options(void)
Execute some actions asked as option after XView initialization:
GtkWidget * main_window_menu_bar
GtkWidget * mchoose_window
static void create_menus()
static void gpips_main_loop()
The main loop that deals with command outside the XView notifier:
static string workspace_name_given_to_gpips
To deal with argument parsing:
static gpips_main_loop_command_type gpips_main_loop_command
The variables to pass information between inside and outside the XView notifyer:
void disable_compile_selection()
void create_compile_menu()
void create_edit_window()
void disable_view_selection()
void execute_gpips_execute_and_display_something_outside_the_notifier()
To execute something and display some Pips output with gpips, called outside the notifyer:
void create_help_window()
void gpips_user_log(const char *fmt, va_list *args)
void create_log_window()
This works but it is cleaner to use textsw_reset() instead...
void create_mchoose_window()
void create_options_menu_and_window()
void disable_option_selection()
void create_query_window()
string gpips_user_request(const char *a_printf_format, va_list *args)
void create_quit_button()
void create_schoose_window()
void disable_module_selection()
void enable_module_selection()
void enable_workspace_create_or_open()
void disable_change_directory()
void enable_workspace_close()
void end_select_module_callback(const char *name)
void enable_change_directory()
void disable_workspace_close()
void gpips_interrupt_button_restore()
void display_memory_usage()
void gpips_interrupt_button_blink()
void create_status_subwindow()
void pips_checks(void)
add checkings here (FI: why in help.c?) SG : PIPS_ROOT should not be required :)
#define pips_assert(what, predicate)
common macros, two flavors depending on NDEBUG
void debug(const int the_expected_debug_level, const char *calling_function_name, const char *a_message_format,...)
ARARGS0.
void initialize_newgen()
cproto-generated files
#define same_string_p(s1, s2)
bool db_create_workspace(const char *)
const char * entity_local_name(entity e)
entity_local_name modified so that it does not core when used in vect_fprint, since someone thought t...
void initialize_sc(char *(*var_to_string)(Variable))
int fprintf()
test sc_min : ce test s'appelle par : programme fichier1.data fichier2.data ...
void * Variable
arithmetique is a requirement for vecteur, but I do not want to inforce it in all pips files....