diff options
| author | Matthias Melcher <github@matthiasm.com> | 2025-03-07 16:34:35 +0100 |
|---|---|---|
| committer | Matthias Melcher <github@matthiasm.com> | 2025-03-07 16:34:48 +0100 |
| commit | 1985aefc0e502048f92b91beef87c0dfbe669fed (patch) | |
| tree | af62874def4590e437a47784b4428d975ceb262f /fluid/shell_command.h | |
| parent | 42a04c064d4b31c3a85210311f3ada163c406a25 (diff) | |
Restructuring Fluid source files.
Diffstat (limited to 'fluid/shell_command.h')
| -rw-r--r-- | fluid/shell_command.h | 148 |
1 files changed, 0 insertions, 148 deletions
diff --git a/fluid/shell_command.h b/fluid/shell_command.h deleted file mode 100644 index e5f8e3e87..000000000 --- a/fluid/shell_command.h +++ /dev/null @@ -1,148 +0,0 @@ -// -// FLUID main entry for the Fast Light Tool Kit (FLTK). -// -// Copyright 1998-2023 by Bill Spitzak and others. -// -// This library is free software. Distribution and use rights are outlined in -// the file "COPYING" which should have been included with this file. If this -// file is missing or damaged, see the license at: -// -// https://www.fltk.org/COPYING.php -// -// Please see the following page on how to report bugs and issues: -// -// https://www.fltk.org/bugs.php -// - -#ifndef _FLUID_SHELL_COMMAND_H -#define _FLUID_SHELL_COMMAND_H - -#include "fluid.h" - -#include <FL/Enumerations.H> - -#include <stdio.h> -#include <stdlib.h> -#include <string> -#if defined(_WIN32) && !defined(__CYGWIN__) -# include <direct.h> -# include <windows.h> -# include <io.h> -# include <fcntl.h> -# include <commdlg.h> -# include <FL/platform.H> -#else -# include <unistd.h> -#endif - -struct Fl_Menu_Item; -class Fl_Widget; -class Fl_Preferences; - -char preferences_get(Fl_Preferences &prefs, const char *key, std::string &value, const std::string &defaultValue); -char preferences_set(Fl_Preferences &prefs, const char *key, const std::string &value); - -void show_terminal_window(); -void run_shell_command(const std::string &cmd, int flags); -bool shell_command_running(void); - -class Fl_Process { -public: - Fl_Process(); - ~Fl_Process(); - - FILE *popen(const char *cmd, const char *mode="r"); - int close(); - - FILE * desc() const; - char * get_line(char * line, size_t s) const; - - int get_fileno() const; - -#if defined(_WIN32) && !defined(__CYGWIN__) -protected: - HANDLE pin[2], pout[2], perr[2]; - char ptmode; - PROCESS_INFORMATION pi; - STARTUPINFO si; - - static bool createPipe(HANDLE * h, BOOL bInheritHnd=TRUE); - -private: - FILE * freeHandles(); - static void clean_close(HANDLE& h); -#endif - -protected: - FILE * _fpt; -}; - -class Fd_Shell_Command { -public: - enum { ALWAYS, NEVER, MAC_ONLY, UX_ONLY, WIN_ONLY, MAC_AND_UX_ONLY, USER_ONLY, HOST_ONLY, ENV_ONLY }; // conditions - enum { SAVE_PROJECT = 1, SAVE_SOURCECODE = 2, SAVE_STRINGS = 4, SAVE_ALL = 7, - DONT_SHOW_TERMINAL = 8, CLEAR_TERMINAL = 16, CLEAR_HISTORY = 32 }; // flags - Fd_Shell_Command(); - Fd_Shell_Command(const Fd_Shell_Command *rhs); - Fd_Shell_Command(const std::string &in_name); - Fd_Shell_Command(const std::string &in_name, - const std::string &in_label, - Fl_Shortcut in_shortcut, - Fd_Tool_Store in_storage, - int in_condition, - const std::string &in_condition_data, - const std::string &in_command, - int in_flags); - std::string name; - std::string label; - Fl_Shortcut shortcut; - Fd_Tool_Store storage; - int condition; // always, hide, windows only, linux only, mac only, user, machine - std::string condition_data; // user name, machine name - std::string command; - int flags; // save_project, save_code, save_string, ... - Fl_Menu_Item *shell_menu_item_; - void run(); - void read(Fl_Preferences &prefs); - void write(Fl_Preferences &prefs, bool save_location = false); - void read(class Fd_Project_Reader*); - void write(class Fd_Project_Writer*); - void update_shell_menu(); - bool is_active(); -}; - -class Fd_Shell_Command_List { -public: - Fd_Shell_Command **list; - int list_size; - int list_capacity; - Fl_Menu_Item *shell_menu_; -public: - Fd_Shell_Command_List(); - ~Fd_Shell_Command_List(); - Fd_Shell_Command *at(int index) const; - void add(Fd_Shell_Command *cmd); - void insert(int index, Fd_Shell_Command *cmd); - void remove(int index); - void clear(); - void clear(Fd_Tool_Store store); -// void move_up(); -// void move_down(); -// int load(const std::string &filename); -// int save(const std::string &filename); - void read(Fl_Preferences &prefs, Fd_Tool_Store storage); - void write(Fl_Preferences &prefs, Fd_Tool_Store storage); - void read(class Fd_Project_Reader*); - void write(class Fd_Project_Writer*); - void rebuild_shell_menu(); - void update_settings_dialog(); - - static Fl_Menu_Item default_menu[]; - static void menu_marker(Fl_Widget*, void*); - static void export_selected(); - static void import_from_file(); -}; - -extern Fd_Shell_Command_List *g_shell_config; - -#endif // _FLUID_SHELL_COMMAND_H |
