diff options
| author | Matthias Melcher <github@matthiasm.com> | 2022-11-26 01:35:50 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-11-26 01:35:50 +0100 |
| commit | 6e5c472cf9641426c5425ea2f404e8908d76d63e (patch) | |
| tree | 0f7ec46f88f01257702f1f9a7c8323a7fdc768c3 /fluid/fluid.h | |
| parent | c1a7c4af042a593b4b3a1df3e750b0cc80362486 (diff) | |
Handle Fluid project settings better (#556)
Fix allocation bug in Fl_String
Diffstat (limited to 'fluid/fluid.h')
| -rw-r--r-- | fluid/fluid.h | 55 |
1 files changed, 41 insertions, 14 deletions
diff --git a/fluid/fluid.h b/fluid/fluid.h index 7625f0a2c..ea435abe9 100644 --- a/fluid/fluid.h +++ b/fluid/fluid.h @@ -20,6 +20,7 @@ #include <FL/filename.H> #include <FL/Fl_Preferences.H> #include <FL/Fl_Menu_Item.H> +#include <FL/Fl_String.H> #define BROWSERWIDTH 300 #define BROWSERHEIGHT 500 @@ -75,22 +76,48 @@ extern int compile_file; // fluid -c extern int compile_strings; // fluic -cs extern int batch_mode; -extern int header_file_set; -extern int code_file_set; -extern const char* header_file_name; -extern const char* code_file_name; - -extern int i18n_type; -extern const char* i18n_include; -extern const char* i18n_conditional; -extern const char* i18n_function; -extern const char* i18n_static_function; -extern const char* i18n_file; -extern const char* i18n_set;; -extern char i18n_program[FL_PATH_MAX]; - extern int pasteoffset; +// ---- string handling + +class Fd_String : public Fl_String +{ +public: + Fd_String() : Fl_String("") { } + Fd_String(const char* s) : Fl_String(s) { } + int empty() { return size()==0; } + void operator=(const char* s) { value(s); } + operator const char* () const { return value(); } +}; + +// ---- project settings + +class Project { +public: + Project(); + ~Project(); + void reset(); + + int i18n_type; + Fd_String i18n_include; + Fd_String i18n_conditional; + Fd_String i18n_function; + Fd_String i18n_static_function; + Fd_String i18n_file; + Fd_String i18n_set; + char i18n_program[FL_PATH_MAX+1]; + int include_H_from_C; + int use_FL_COMMAND; + int utf8_in_src; + int avoid_early_includes; + int header_file_set = 0; + int code_file_set = 0; + Fd_String header_file_name; + Fd_String code_file_name; +}; + +extern Project P; + // ---- public functions extern void set_filename(const char *c); |
