|
Packit |
0986c0 |
/*
|
|
Packit |
0986c0 |
* $Id: command.h,v 1.70 2015/08/08 18:32:17 sfeam Exp $
|
|
Packit |
0986c0 |
*/
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
/* GNUPLOT - command.h */
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
/*[
|
|
Packit |
0986c0 |
* Copyright 1999, 2004 Thomas Williams, Colin Kelley
|
|
Packit |
0986c0 |
*
|
|
Packit |
0986c0 |
* Permission to use, copy, and distribute this software and its
|
|
Packit |
0986c0 |
* documentation for any purpose with or without fee is hereby granted,
|
|
Packit |
0986c0 |
* provided that the above copyright notice appear in all copies and
|
|
Packit |
0986c0 |
* that both that copyright notice and this permission notice appear
|
|
Packit |
0986c0 |
* in supporting documentation.
|
|
Packit |
0986c0 |
*
|
|
Packit |
0986c0 |
* Permission to modify the software is granted, but not the right to
|
|
Packit |
0986c0 |
* distribute the complete modified source code. Modifications are to
|
|
Packit |
0986c0 |
* be distributed as patches to the released version. Permission to
|
|
Packit |
0986c0 |
* distribute binaries produced by compiling modified sources is granted,
|
|
Packit |
0986c0 |
* provided you
|
|
Packit |
0986c0 |
* 1. distribute the corresponding source modifications from the
|
|
Packit |
0986c0 |
* released version in the form of a patch file along with the binaries,
|
|
Packit |
0986c0 |
* 2. add special version identification to distinguish your version
|
|
Packit |
0986c0 |
* in addition to the base release version number,
|
|
Packit |
0986c0 |
* 3. provide your name and address as the primary contact for the
|
|
Packit |
0986c0 |
* support of your modified version, and
|
|
Packit |
0986c0 |
* 4. retain our contact information in regard to use of the base
|
|
Packit |
0986c0 |
* software.
|
|
Packit |
0986c0 |
* Permission to distribute the released version of the source code along
|
|
Packit |
0986c0 |
* with corresponding source modifications in the form of a patch file is
|
|
Packit |
0986c0 |
* granted with same provisions 2 through 4 for binary distributions.
|
|
Packit |
0986c0 |
*
|
|
Packit |
0986c0 |
* This software is provided "as is" without express or implied warranty
|
|
Packit |
0986c0 |
* to the extent permitted by applicable law.
|
|
Packit |
0986c0 |
]*/
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
#ifndef GNUPLOT_COMMAND_H
|
|
Packit |
0986c0 |
# define GNUPLOT_COMMAND_H
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
#include "gp_types.h"
|
|
Packit |
0986c0 |
#include "stdfn.h"
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
extern char *gp_input_line;
|
|
Packit |
0986c0 |
extern size_t gp_input_line_len;
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
extern int inline_num;
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
extern int if_depth; /* old if/else syntax only */
|
|
Packit |
0986c0 |
extern TBOOLEAN if_open_for_else; /* new if/else syntax only */
|
|
Packit |
0986c0 |
extern TBOOLEAN if_condition; /* used by both old and new syntax */
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
typedef struct lexical_unit { /* produced by scanner */
|
|
Packit |
0986c0 |
TBOOLEAN is_token; /* true if token, false if a value */
|
|
Packit |
0986c0 |
struct value l_val;
|
|
Packit |
0986c0 |
int start_index; /* index of first char in token */
|
|
Packit |
0986c0 |
int length; /* length of token in chars */
|
|
Packit |
0986c0 |
} lexical_unit;
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
extern struct lexical_unit *token;
|
|
Packit |
0986c0 |
extern int token_table_size;
|
|
Packit |
0986c0 |
extern int plot_token;
|
|
Packit |
0986c0 |
#define END_OF_COMMAND (c_token >= num_tokens || equals(c_token,";"))
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
extern char *replot_line;
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
/* flag to disable `replot` when some data are sent through stdin;
|
|
Packit |
0986c0 |
* used by mouse/hotkey capable terminals */
|
|
Packit |
0986c0 |
extern TBOOLEAN replot_disabled;
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
#ifdef USE_MOUSE
|
|
Packit |
0986c0 |
extern int paused_for_mouse; /* Flag the end condition we are paused until */
|
|
Packit |
0986c0 |
#define PAUSE_BUTTON1 001 /* Mouse button 1 */
|
|
Packit |
0986c0 |
#define PAUSE_BUTTON2 002 /* Mouse button 2 */
|
|
Packit |
0986c0 |
#define PAUSE_BUTTON3 004 /* Mouse button 3 */
|
|
Packit |
0986c0 |
#define PAUSE_CLICK 007 /* Any button click */
|
|
Packit |
0986c0 |
#define PAUSE_KEYSTROKE 010 /* Any keystroke */
|
|
Packit |
0986c0 |
#define PAUSE_WINCLOSE 020 /* Window close event */
|
|
Packit |
0986c0 |
#define PAUSE_ANY 077 /* Terminate on any of the above */
|
|
Packit |
0986c0 |
#endif
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
/* output file for the print command */
|
|
Packit |
0986c0 |
extern FILE *print_out;
|
|
Packit |
0986c0 |
extern struct udvt_entry * print_out_var;
|
|
Packit |
0986c0 |
extern char *print_out_name;
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
extern struct udft_entry *dummy_func;
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
#ifndef STDOUT
|
|
Packit |
0986c0 |
# define STDOUT 1
|
|
Packit |
0986c0 |
#endif
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
#if defined(MSDOS) && defined(DJGPP)
|
|
Packit |
0986c0 |
extern char HelpFile[]; /* patch for do_help - AP */
|
|
Packit |
0986c0 |
#endif /* MSDOS */
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
#ifdef _Windows
|
|
Packit |
0986c0 |
# define SET_CURSOR_WAIT SetCursor(LoadCursor((HINSTANCE) NULL, IDC_WAIT))
|
|
Packit |
0986c0 |
# define SET_CURSOR_ARROW SetCursor(LoadCursor((HINSTANCE) NULL, IDC_ARROW))
|
|
Packit |
0986c0 |
#else
|
|
Packit |
0986c0 |
# define SET_CURSOR_WAIT /* nought, zilch */
|
|
Packit |
0986c0 |
# define SET_CURSOR_ARROW /* nought, zilch */
|
|
Packit |
0986c0 |
#endif
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
/* Include code to support deprecated "call" syntax. */
|
|
Packit |
0986c0 |
#ifdef BACKWARDS_COMPATIBLE
|
|
Packit |
0986c0 |
#define OLD_STYLE_CALL_ARGS
|
|
Packit |
0986c0 |
#endif
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
/* input data, parsing variables */
|
|
Packit |
0986c0 |
extern int num_tokens, c_token;
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
void raise_lower_command __PROTO((int));
|
|
Packit |
0986c0 |
void raise_command __PROTO((void));
|
|
Packit |
0986c0 |
void lower_command __PROTO((void));
|
|
Packit |
0986c0 |
#ifdef OS2
|
|
Packit |
0986c0 |
extern void pm_raise_terminal_window __PROTO((void));
|
|
Packit |
0986c0 |
extern void pm_lower_terminal_window __PROTO((void));
|
|
Packit |
0986c0 |
#endif
|
|
Packit |
0986c0 |
#ifdef X11
|
|
Packit |
0986c0 |
extern void x11_raise_terminal_window __PROTO((int));
|
|
Packit |
0986c0 |
extern void x11_raise_terminal_group __PROTO((void));
|
|
Packit |
0986c0 |
extern void x11_lower_terminal_window __PROTO((int));
|
|
Packit |
0986c0 |
extern void x11_lower_terminal_group __PROTO((void));
|
|
Packit |
0986c0 |
#endif
|
|
Packit |
0986c0 |
#ifdef _Windows
|
|
Packit |
0986c0 |
extern void win_raise_terminal_window __PROTO((int));
|
|
Packit |
0986c0 |
extern void win_raise_terminal_group __PROTO((void));
|
|
Packit |
0986c0 |
extern void win_lower_terminal_window __PROTO((int));
|
|
Packit |
0986c0 |
extern void win_lower_terminal_group __PROTO((void));
|
|
Packit |
0986c0 |
#endif
|
|
Packit |
0986c0 |
#ifdef WXWIDGETS
|
|
Packit |
0986c0 |
extern void wxt_raise_terminal_window __PROTO((int));
|
|
Packit |
0986c0 |
extern void wxt_raise_terminal_group __PROTO((void));
|
|
Packit |
0986c0 |
extern void wxt_lower_terminal_window __PROTO((int));
|
|
Packit |
0986c0 |
extern void wxt_lower_terminal_group __PROTO((void));
|
|
Packit |
0986c0 |
#endif
|
|
Packit |
0986c0 |
extern void string_expand_macros __PROTO((void));
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
#ifdef USE_MOUSE
|
|
Packit |
0986c0 |
void bind_command __PROTO((void));
|
|
Packit |
0986c0 |
void restore_prompt __PROTO((void));
|
|
Packit |
0986c0 |
#else
|
|
Packit |
0986c0 |
#define bind_command()
|
|
Packit |
0986c0 |
#endif
|
|
Packit |
0986c0 |
void array_command __PROTO((void));
|
|
Packit |
0986c0 |
void break_command __PROTO((void));
|
|
Packit |
0986c0 |
void call_command __PROTO((void));
|
|
Packit |
0986c0 |
void changedir_command __PROTO((void));
|
|
Packit |
0986c0 |
void clear_command __PROTO((void));
|
|
Packit |
0986c0 |
void continue_command __PROTO((void));
|
|
Packit |
0986c0 |
void eval_command __PROTO((void));
|
|
Packit |
0986c0 |
void exit_command __PROTO((void));
|
|
Packit |
0986c0 |
void help_command __PROTO((void));
|
|
Packit |
0986c0 |
void history_command __PROTO((void));
|
|
Packit |
0986c0 |
void do_command __PROTO((void));
|
|
Packit |
0986c0 |
void if_command __PROTO((void));
|
|
Packit |
0986c0 |
void else_command __PROTO((void));
|
|
Packit |
0986c0 |
void import_command __PROTO((void));
|
|
Packit |
0986c0 |
void invalid_command __PROTO((void));
|
|
Packit |
0986c0 |
void link_command __PROTO((void));
|
|
Packit |
0986c0 |
void load_command __PROTO((void));
|
|
Packit |
0986c0 |
void begin_clause __PROTO((void));
|
|
Packit |
0986c0 |
void clause_reset_after_error __PROTO((void));
|
|
Packit |
0986c0 |
void end_clause __PROTO((void));
|
|
Packit |
0986c0 |
void null_command __PROTO((void));
|
|
Packit |
0986c0 |
void pause_command __PROTO((void));
|
|
Packit |
0986c0 |
void plot_command __PROTO((void));
|
|
Packit |
0986c0 |
void print_command __PROTO((void));
|
|
Packit |
0986c0 |
void printerr_command __PROTO((void));
|
|
Packit |
0986c0 |
void pwd_command __PROTO((void));
|
|
Packit |
0986c0 |
void refresh_request __PROTO((void));
|
|
Packit |
0986c0 |
void refresh_command __PROTO((void));
|
|
Packit |
0986c0 |
void replot_command __PROTO((void));
|
|
Packit |
0986c0 |
void reread_command __PROTO((void));
|
|
Packit |
0986c0 |
void save_command __PROTO((void));
|
|
Packit |
0986c0 |
void screendump_command __PROTO((void));
|
|
Packit |
0986c0 |
void splot_command __PROTO((void));
|
|
Packit |
0986c0 |
void stats_command __PROTO((void));
|
|
Packit |
0986c0 |
void system_command __PROTO((void));
|
|
Packit |
0986c0 |
void test_command __PROTO((void));
|
|
Packit |
0986c0 |
void toggle_command __PROTO((void));
|
|
Packit |
0986c0 |
void update_command __PROTO((void));
|
|
Packit |
0986c0 |
void do_shell __PROTO((void));
|
|
Packit |
0986c0 |
void undefine_command __PROTO((void));
|
|
Packit |
0986c0 |
void while_command __PROTO((void));
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
/* Prototypes for functions exported by command.c */
|
|
Packit |
0986c0 |
void extend_input_line __PROTO((void));
|
|
Packit |
0986c0 |
void extend_token_table __PROTO((void));
|
|
Packit |
0986c0 |
int com_line __PROTO((void));
|
|
Packit |
0986c0 |
int do_line __PROTO((void));
|
|
Packit |
0986c0 |
void do_string __PROTO((const char* s));
|
|
Packit |
0986c0 |
void do_string_and_free __PROTO((char* s));
|
|
Packit |
0986c0 |
TBOOLEAN iteration_early_exit __PROTO((void));
|
|
Packit |
0986c0 |
#ifdef USE_MOUSE
|
|
Packit |
0986c0 |
void toggle_display_of_ipc_commands __PROTO((void));
|
|
Packit |
0986c0 |
int display_ipc_commands __PROTO((void));
|
|
Packit |
0986c0 |
void do_string_replot __PROTO((const char* s));
|
|
Packit |
0986c0 |
#endif
|
|
Packit |
0986c0 |
#ifdef VMS /* HBB 990829: used only on VMS */
|
|
Packit |
0986c0 |
void done __PROTO((int status));
|
|
Packit |
0986c0 |
#endif
|
|
Packit |
0986c0 |
void define __PROTO((void));
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
void replotrequest __PROTO((void)); /* used in command.c & mouse.c */
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
void print_set_output __PROTO((char *, TBOOLEAN, TBOOLEAN)); /* set print output file */
|
|
Packit |
0986c0 |
char *print_show_output __PROTO((void)); /* show print output file */
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
/* Activate/deactive effects of 'set view map' before 'splot'/'plot',
|
|
Packit |
0986c0 |
* respectively. Required for proper mousing during 'set view map';
|
|
Packit |
0986c0 |
* actually it won't be necessary if gnuplot keeps a copy of all variables for
|
|
Packit |
0986c0 |
* the current plot and don't share them with 'set' commands.
|
|
Packit |
0986c0 |
* These routines need to be executed before each plotrequest() and
|
|
Packit |
0986c0 |
* plot3drequest().
|
|
Packit |
0986c0 |
*/
|
|
Packit |
0986c0 |
void splot_map_activate __PROTO((void));
|
|
Packit |
0986c0 |
void splot_map_deactivate __PROTO((void));
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
int do_system_func __PROTO((const char *cmd, char **output));
|
|
Packit |
0986c0 |
|
|
Packit |
0986c0 |
#endif /* GNUPLOT_COMMAND_H */
|