// Original generated by Fast Light User Interface Designer (fluid) version 1.0104
// Hand-maintained ever since :-P

/* Last modified: 2024-04-10 */

#ifndef tuxpaint_config2_h
#define tuxpaint_config2_h

#include <FL/Fl.H>
#include "defaults.h"
#include <FL/Fl_Box.H>
#include <FL/Fl_Button.H>
#include <FL/Fl_Button.H>
#include <FL/Fl_Check_Button.H>
#include <FL/Fl_Choice.H>
#include <FL/Fl_Double_Window.H>
#include <FL/Fl_File_Input.H>
#include <FL/Fl_File_Input.H>
#include <FL/Fl_Group.H>
#include <FL/Fl_Hold_Browser.H>
#include <FL/Fl_Input.H>
#include <FL/Fl_Round_Button.H>
#include <FL/Fl_Slider.H>
#include <FL/Fl_Spinner.H>
#include <FL/Fl_Tabs.H>
#include <FL/Fl_Text_Display.H>
#include <FL/Fl_Value_Input.H>

/* # The Window */
extern Fl_Double_Window *WINDOW_tpc;

/* ## The tab controls at the top */
extern Fl_Tabs *TAB_alltabs;

/* ------------------------------------------------ */
/* ### "About" tab */
extern Fl_Group *TABE_about;
extern Fl_Group *GROUP_abouttpc;
extern Fl_Text_Display *TEXTOUTPUT_abouttext;

/* ------------------------------------------------ */
/* ### "Video/Sound" tab */
extern Fl_Group *TABE_videoandsound;
/* #### "Video" group */
extern Fl_Group *GROUP_video;
extern Fl_Check_Button *CHECKBUTTON_fullscreen;
extern Fl_Check_Button *CHECKBUTTON_native;
extern Fl_Group *GROUP_resolution;
extern Fl_Choice *CHOICE_windowwidth;
extern Fl_Choice *CHOICE_windowheight;
extern Fl_Check_Button *CHECKBUTTON_rotate;
extern Fl_Check_Button *CHECKBUTTON_screensaver;
extern Fl_Box *BOX_canvas_size;
/* #### "Sound" group */
extern Fl_Group *GROUP_sound;
extern Fl_Check_Button *CHECKBUTTON_soundeffects;
extern Fl_Check_Button *CHECKBUTTON_stereo;
/* #### FIXME "Interface Size" group? */
extern Fl_Slider *SLIDER_buttonsize;
extern Fl_Check_Button *CHECKBUTTON_buttonsizeauto;
extern Fl_Slider *SLIDER_colorsrows;

/* ------------------------------------------------ */
/* ### "Mouse/Keyboard" tab */
extern Fl_Group *TABE_mouseandkeyboard;
/* #### FIXME "Cursor" group??? */
extern Fl_Check_Button *CHECKBUTTON_fancycursorshapes;
extern Fl_Check_Button *CHECKBUTTON_hidecursor;
/* #### "Mouse" group */
extern Fl_Group *GROUP_mouse;
extern Fl_Check_Button *CHECKBUTTON_grabmousepointer;
extern Fl_Check_Button *CHECKBUTTON_mousewheelsupport;
extern Fl_Check_Button *CHECKBUTTON_nobuttondistinction;
/* #### "Keyboard" group */
extern Fl_Group *GROUP_keyboard;
extern Fl_Check_Button *CHECKBUTTON_enablekbd;

/* ------------------------------------------------ */
/* ### "Simplification" tab */
extern Fl_Group *TABE_simplification;
/* #### "Interface Simplification" group */
extern Fl_Group *GROUP_interfacesimpl;
extern Fl_Check_Button *CHECKBUTTON_disableshaperotation;
extern Fl_Check_Button *CHECKBUTTON_simpleshapeoutlines;
extern Fl_Check_Button *CHECKBUTTON_showuppercasetextonly;
/* #### FIXME "Initial Stamp Size" group? */
extern Fl_Slider *SLIDER_stampsize;
/* #### "Control Simplification" group */
extern Fl_Group *GROUP_controlsimpl;
extern Fl_Check_Button *CHECKBUTTON_disablequitbutton;
extern Fl_Check_Button *CHECKBUTTON_disablestampstool;
extern Fl_Check_Button *CHECKBUTTON_disablestampcontrols;
extern Fl_Check_Button *CHECKBUTTON_disablestamprotation;
extern Fl_Check_Button *CHECKBUTTON_disablemagiccontrols;
extern Fl_Check_Button *CHECKBUTTON_disablemagicsizes;
extern Fl_Check_Button *CHECKBUTTON_ungroupmagictools;
extern Fl_Check_Button *CHECKBUTTON_disableshapecontrols;
extern Fl_Check_Button *CHECKBUTTON_disablelabeltool;
extern Fl_Check_Button *CHECKBUTTON_disablebrushspacing;
extern Fl_Check_Button *CHECKBUTTON_disabletemplateexport;
extern Fl_Check_Button *CHECKBUTTON_disableerase;
extern Fl_Choice *CHOICE_complexity;

/* ------------------------------------------------ */
/* ### "Languages" tab */
extern Fl_Group *TABE_locale;
/* #### "Language" group */
extern Fl_Group *GROUP_locale;
extern Fl_Choice *CHOICE_language;
extern Fl_Check_Button *CHECKBUTTON_mirrorstamps;
/* #### "Fonts" group */
extern Fl_Check_Button *CHECKBUTTON_loadsystemfonts;
extern Fl_Check_Button *CHECKBUTTON_alllocalefonts;
extern Fl_Hold_Browser *BROWSER_uifont;
extern Fl_Input *TEXTINPUT_uifont2;

/* ------------------------------------------------ */
/* ### "Printing" tab */
extern Fl_Group *TABE_printing;
/* #### "Print Permissions" group */
extern Fl_Group *GROUP_printperms;
extern Fl_Check_Button *CHECKBUTTON_allowprinting;
extern Fl_Value_Input *VALUEINPUT_printdelay;
extern Fl_Box *LABEL_seconds;
/* #### "Show Printer Dialog" group: */
extern Fl_Check_Button *CHECKBUTTON_printcfg;
extern Fl_Round_Button *ROUNDBUTTON_printdialogmod;
extern Fl_Round_Button *ROUNDBUTTON_printdialogalways;
extern Fl_Round_Button *ROUNDBUTTON_printdialognever;
extern Fl_Group *GROUP_printdia;
extern Fl_Check_Button *CHECKBUTTON_usealtprintdia;
/* #### "Print Commands" group */
extern Fl_Group *GROUP_printcmd;
extern Fl_Check_Button *CHECKBUTTON_usealtprintcmd;
extern Fl_Input *TEXTINPUT_printcmd;
extern Fl_Input *TEXTINPUT_printdia;
extern Fl_Choice *CHOICE_papersize;

/* ------------------------------------------------ */
/* ### "Saving" tab */
extern Fl_Group *TABE_saving;
/* #### "Save Over Earlier Work" group */
extern Fl_Group *GROUP_saveover;
extern Fl_Round_Button *ROUNDBUTTON_askbeforeoverwriting;
extern Fl_Round_Button *ROUNDBUTTON_alwaysoverwriteolderversion;
extern Fl_Round_Button *ROUNDBUTTON_alwayssavenewpicture;
/* #### FIXME "Starting Out" group ??? */
extern Fl_Check_Button *CHECKBUTTON_startblank;
extern Fl_Check_Button *CHECKBUTTON_newcolorslast;
/* #### "Save and Export Directories" group */
extern Fl_Group *GROUP_savedir;
extern Fl_Check_Button *CHECKBUTTON_usealternatesavedir;
extern Fl_File_Input *FILEINPUT_alternatesavedir;
extern Fl_Button *BUTTON_browsealternatesavedir;
extern Fl_Check_Button *CHECKBUTTON_usealternateexportdir;
extern Fl_File_Input *FILEINPUT_alternateexportdir;
extern Fl_Button *BUTTON_browsealternateexportdir;
/* #### "More Saving Options" group */
extern Fl_Check_Button *CHECKBUTTON_disablesavebutton;
extern Fl_Check_Button *CHECKBUTTON_autosave;
extern Fl_Check_Button *CHECKBUTTON_reversesort;

/* ------------------------------------------------ */
/* ### "Data" tab */
extern Fl_Group *TABE_data;
/* #### FIXME: "Lockfile" group? */
extern Fl_Check_Button *CHECKBUTTON_nolockfile;
/* #### "Data Directory" group */
extern Fl_Group *GROUP_datadir;
extern Fl_Check_Button *CHECKBUTTON_usealternatedatadir;
extern Fl_File_Input *FILEINPUT_alternatedatadir;
extern Fl_Button *BUTTON_browsealternatedatadir;
/* #### "Color Palette File" group */
extern Fl_Group *GROUP_colorfile;
extern Fl_Check_Button *CHECKBUTTON_usecolorfile;
extern Fl_File_Input *FILEINPUT_colorfile;
extern Fl_Button *BUTTON_browsecolorfile;

/* ------------------------------------------------ */
/* ### "Accessibility" tab */
extern Fl_Group *TABE_accessibility;
/* #### FIXME: "Mouse" group? */
extern Fl_Check_Button *CHECKBUTTON_mouse_accessibility;
/* #### FIXME: "Keyboard" group? */
extern Fl_Check_Button *CHECKBUTTON_keyboard_mouse;
/* #### FIXME: "Onscreen keyboard" group? */
extern Fl_Check_Button *CHECKBUTTON_onscreen_keyboard;
extern Fl_Choice *CHOICE_onscreen_keyboard_layout;
extern Fl_Check_Button *CHECKBUTTON_onscreen_keyboard_disable_change;

/* ------------------------------------------------ */
/* ### "Joystick" tab */
extern Fl_Group *TABE_joystick;
/* #### FIXME: "Main device" group? */ 
extern Fl_Spinner *SPINNER_joystick_dev;
extern Fl_Spinner *SPINNER_joystick_slowness;
extern Fl_Spinner *SPINNER_joystick_threshold;
extern Fl_Spinner *SPINNER_joystick_maxsteps;

/* #### FIXME: "Hat" group? */
extern Fl_Spinner *SPINNER_joystick_hat_slowness;
extern Fl_Spinner *SPINNER_joystick_hat_timeout;

/* #### FIXME: "Buttons to disable" group? */
extern Fl_Input *TEXTINPUT_joystick_buttons_ignore;
extern Fl_Check_Button *CHECKBUTTON_joystick_buttons_ignore;

/* #### FIXME: "Button shortcuts" group? */
extern Fl_Spinner *SPINNER_joystick_btn_brush;
extern Fl_Spinner *SPINNER_joystick_btn_label;
extern Fl_Spinner *SPINNER_joystick_btn_new;
extern Fl_Spinner *SPINNER_joystick_btn_print;
extern Fl_Spinner *SPINNER_joystick_btn_shapes;
extern Fl_Spinner *SPINNER_joystick_btn_undo;
extern Fl_Spinner *SPINNER_joystick_btn_eraser;
extern Fl_Spinner *SPINNER_joystick_btn_lines;
extern Fl_Spinner *SPINNER_joystick_btn_open;
extern Fl_Spinner *SPINNER_joystick_btn_redo;
extern Fl_Spinner *SPINNER_joystick_btn_stamp;
extern Fl_Spinner *SPINNER_joystick_btn_escape;
extern Fl_Spinner *SPINNER_joystick_btn_fill;
extern Fl_Spinner *SPINNER_joystick_btn_magic;
extern Fl_Spinner *SPINNER_joystick_btn_pgsetup;
extern Fl_Spinner *SPINNER_joystick_btn_save;
extern Fl_Spinner *SPINNER_joystick_btn_text;

/* ## Overall control buttons */
extern Fl_Button *BUTTON_apply;
extern Fl_Button *BUTTON_reset;
extern Fl_Button *BUTTON_defaults;

/* ## "Settings For" & "Effects of 'All Users' Settings" */
extern Fl_Choice *CHOICE_settings;
extern Fl_Choice *use_merge_discard_allusersetting;

/* # The window! */
Fl_Double_Window *Show_TPC_Window();

#if !(defined(__WIN32__) || defined(__APPLE__) || defined(__BEOS__))
#define USE_PAPERSIZES
#endif

#ifdef USE_PAPERSIZES
extern int num_papersizes;
extern char **papersizes;
#endif

#define CURRENT_USER 0
#define ALL_USERS 1
#define SYS_SETTING_STRATEGY_MERGE 0
#define SYS_SETTING_STRATEGY_DISCARD 1
#define SYS_SETTING_STRATEGY_USEONLY 2

extern char *tpc_locale;

#endif /* tuxpaint_config2_h */

