X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fshbtnprefs.h;h=6ad7834364f66cdf2ee506ff6f5df4636e9d9551;hb=0aa1cf868b3686002891a830f5f8e407344b1d9e;hp=3005d78c5e62144761ae651f0bbae6adf5a04810;hpb=7fd85fb66168f6b518c5f2d73e04036e87faa0e1;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/shbtnprefs.h b/cinelerra-5.1/cinelerra/shbtnprefs.h index 3005d78c..6ad78343 100644 --- a/cinelerra-5.1/cinelerra/shbtnprefs.h +++ b/cinelerra-5.1/cinelerra/shbtnprefs.h @@ -1,6 +1,27 @@ +/* + * CINELERRA + * Copyright (C) 2016-2020 William Morrow + * + * 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 the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + * USA + */ + #ifndef __SHBTNPREFS_H__ #define __SHBTNPREFS_H__ +#include "arraylist.h" #include "bcwindowbase.h" #include "bcbutton.h" #include "bcdialog.h" @@ -18,8 +39,11 @@ public: int warn; char name[BCSTRLEN]; char commands[BCTEXTLEN]; + ArrayList argv; + void add_arg(const char *v); - ShBtnRun(const char *name, const char *cmds, int warn=0); + ShBtnRun(const char *name, const char *cmds, int warn); + ~ShBtnRun(); void run(); }; @@ -28,10 +52,11 @@ class ShBtnPref public: char name[BCSTRLEN]; char commands[BCTEXTLEN]; - int warn; + int warn, run_script; void execute(); + void execute(ArrayList &args); - ShBtnPref(const char *nm, const char *cmds, int warn); + ShBtnPref(const char *nm, const char *cmds, int warn=0, int run_script=0); ~ShBtnPref(); }; @@ -102,12 +127,35 @@ public: ~ShBtnTextOK(); }; -class ShBtnErrWarn : public BC_CheckBox +class ShBtnErrWarnItem : public BC_MenuItem +{ +public: + ShBtnErrWarnItem(ShBtnErrWarn *popup, const char *text, int warn); + ShBtnErrWarnItem(); + int handle_event(); + + ShBtnErrWarn *popup; + int warn; +}; + +class ShBtnErrWarn : public BC_PopupMenu { public: ShBtnErrWarn(ShBtnTextWindow *st_window, int x, int y); ~ShBtnErrWarn(); + void create_objects(); + int handle_event(); + + ShBtnTextWindow *st_window; +}; + +class ShBtnRunScript : public BC_CheckBox +{ +public: + ShBtnRunScript(ShBtnTextWindow *st_window, int x, int y); + ~ShBtnRunScript(); + ShBtnTextWindow *st_window; }; @@ -118,7 +166,9 @@ public: BC_ScrollTextBox *cmd_text; ShBtnEditWindow *sb_window; ShBtnErrWarn *st_err_warn; + ShBtnRunScript *st_run_script; int warn; + int run_script; void create_objects();