X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fxforms%2FFormPreferences.h;h=2dcb6c4190d4c5d4f282470c30c2bc7ef6c0dc1f;hb=2c3af1475e2a408f725b5eea93583ee13e3d09cc;hp=ae44e160eda9c06c328999d860614d768f6b67b6;hpb=037d17588d4661d0b4302180f0cb2915c935f947;p=lyx.git diff --git a/src/frontends/xforms/FormPreferences.h b/src/frontends/xforms/FormPreferences.h index ae44e160ed..2dcb6c4190 100644 --- a/src/frontends/xforms/FormPreferences.h +++ b/src/frontends/xforms/FormPreferences.h @@ -5,9 +5,9 @@ * LyX, The Document Processor * * Copyright 1995 Matthias Ettrich - * Copyright 1995-2000 The LyX Team. + * Copyright 1995-2001 The LyX Team. * - * This file copyright 1999-2000 + * This file copyright 1999-2001 * Allan Rae *======================================================*/ /* FormPreferences.h @@ -17,14 +17,16 @@ #ifndef FORMPREFERENCES_H #define FORMPREFERENCES_H +#include // pair +#include + #ifdef __GNUG_ #pragma interface #endif -#include // pair -#include "FormBase.h" +#include "FormBaseDeprecated.h" #include "Color.h" // NamedColor -#include "xform_helpers.h" // XformColor +#include "xforms_helpers.h" // XformColor class Combox; class Dialogs; @@ -37,13 +39,13 @@ struct FD_form_inputs_misc; struct FD_form_interface; struct FD_form_language; struct FD_form_lnf_misc; -struct FD_form_outer_tab; +struct FD_form_inner_tab; struct FD_form_outputs_misc; struct FD_form_paths; struct FD_form_preferences; struct FD_form_printer; struct FD_form_screen_fonts; -struct FD_form_spellchecker; +struct FD_form_spelloptions; /** This class provides an XForms implementation of the FormPreferences Dialog. @@ -54,21 +56,19 @@ public: /// #FormPreferences x(LyXFunc ..., Dialogs ...);# FormPreferences(LyXView *, Dialogs *); /// - ~FormPreferences(); - /// static int FeedbackCB(FL_OBJECT *, int, FL_Coord, FL_Coord, int, void *); private: - /// Connect signals etc. Set form's max size. - virtual void connect(); - /// Disconnect signals. Also perform any necessary housekeeping. - virtual void disconnect(); + /// Pointer to the actual instantiation of the ButtonController. + virtual xformsBC & bc(); /** Redraw the form (on receipt of a Signal indicating, for example, - that the xform colours have been re-mapped). */ + that the xforms colours have been re-mapped). */ virtual void redraw(); /// Update the dialog. virtual void update(); + /// show the spellchecker tab + void showSpellPref(); /// Hide the dialog. virtual void hide(); /// OK (Save) from dialog @@ -79,7 +79,7 @@ private: virtual bool input(FL_OBJECT *, long); /// Build the dialog virtual void build(); - /// Pointer to the actual instantiation of xform's form. + /// Pointer to the actual instantiation of the xforms form. virtual FL_FORM * form() const; /// control which feedback message is output void feedback(FL_OBJECT *); @@ -89,19 +89,19 @@ private: /// The preemptive handler for feedback messages. void Feedback(FL_OBJECT *, int); /// Print a warning message and set warning flag. - void printWarning( string const & ); + void printWarning(string const &); /** Launch a file dialog and modify input if it returns a new file. - For an explanation of the various parameters, see xform_helpers.h. + For an explanation of the various parameters, see xforms_helpers.h. */ - void browse( FL_OBJECT * input, + void browse(FL_OBJECT * input, string const & title, string const & pattern, - std::pair const & dir1, - std::pair const & dir2 ); + std::pair const & dir1= std::make_pair(string(),string()), + std::pair const & dir2 = std::make_pair(string(),string())); - /// Type definitions from the fdesign produced header file. + /// Fdesign generated methods FD_form_preferences * build_preferences(); /// - FD_form_outer_tab * build_outer_tab(); + FD_form_inner_tab * build_inner_tab(); /// FD_form_colors * build_colors(); /// @@ -125,20 +125,20 @@ private: /// FD_form_screen_fonts * build_screen_fonts(); /// - FD_form_spellchecker * build_spellchecker(); + FD_form_spelloptions * build_spelloptions(); /// Real GUI implementation. - FD_form_preferences * dialog_; + boost::scoped_ptr dialog_; /// Converters tabfolder - FD_form_outer_tab * converters_tab_; + boost::scoped_ptr converters_tab_; /// reLyX and other import/input stuff - FD_form_outer_tab * inputs_tab_; + boost::scoped_ptr inputs_tab_; /// HCI configuration - FD_form_outer_tab * look_n_feel_tab_; + boost::scoped_ptr look_n_feel_tab_; /// Outputs tabfolder - FD_form_outer_tab * outputs_tab_; + boost::scoped_ptr outputs_tab_; /// Spellchecker, language stuff, etc - FD_form_outer_tab * lang_opts_tab_; + boost::scoped_ptr lang_opts_tab_; /** Flag whether a warning has been posted to the text window. If so, don't redraw the window when the mouse leaves an object. */ @@ -156,13 +156,11 @@ private: GUI_COLOR_CURSOR = FL_FREE_COL3 }; /// - Colors( FormPreferences & p ) : parent_(p), dialog_(0) {} + Colors(FormPreferences & p); /// - ~Colors(); + FD_form_colors const * dialog(); /// - FD_form_colors const * dialog() { return dialog_; } - /// - void apply(); // not const as modifies modifiedXformPrefs. + void apply(); // not const as modifies modifiedXformsPrefs. /// void build(); /// @@ -173,46 +171,35 @@ private: void update() { LoadBrowserLyX(); } /// Flag whether Xforms colors have changed since last file save - bool modifiedXformPrefs; + bool modifiedXformsPrefs; private: /// - void AdjustVal( int, int, double ) const; + void AdjustVal(int, int, double) const; /// void InputBrowserLyX() const; /// - void InputBrowserX11() const; - /// void InputHSV(); /// - void LoadBrowserLyX(); - /// - bool LoadBrowserX11(string const &); + void InputRGB(); /// - bool LoadDatabase(); + void LoadBrowserLyX(); /// void Modify(); /// - int SearchEntry(RGBColor const &) const; + void SwitchColorSpace() const; /// - void Sort(); - /// - void SortType(); + string const X11hexname(RGBColor const &) const; /// FormPreferences & parent_; /// - FD_form_colors * dialog_; - /// The usual location of the X11 name database. - static string const colorFile; - /** A vector of RGB colors and associated name. - Each RGB color is unique. */ - static std::vector colorDB; + boost::scoped_ptr dialog_; /// A vector of LyX LColor GUI name and associated RGB color. std::vector lyxColorDB; - /// A vector of xform color ID, RGB colors and associated name. - std::vector xformColorDB; + /// A vector of xforms color ID, RGB colors and associated name. + std::vector xformsColorDB; }; /// friend class Colors; @@ -221,11 +208,9 @@ private: class Converters { public: /// - Converters( FormPreferences & p ) : parent_(p), dialog_(0) {} - /// - ~Converters(); + Converters(FormPreferences & p); /// - FD_form_converters const * dialog() { return dialog_; } + FD_form_converters const * dialog(); /// void apply() const; /// @@ -233,7 +218,7 @@ private: /// string const feedback(FL_OBJECT const * const) const; /// - bool input( FL_OBJECT const * const ); + bool input(FL_OBJECT const * const); /// void update(); /// @@ -247,7 +232,7 @@ private: /// bool Browser(); /// - bool Delete(); + bool erase(); /// bool Input(); /// @@ -258,7 +243,7 @@ private: /// FormPreferences & parent_; /// - FD_form_converters * dialog_; + boost::scoped_ptr dialog_; }; /// friend class Converters; @@ -267,11 +252,9 @@ private: class Formats { public: /// - Formats( FormPreferences & p ) : parent_(p), dialog_(0) {} - /// - ~Formats(); + Formats(FormPreferences & p); /// - FD_form_formats const * dialog() { return dialog_; } + FD_form_formats const * dialog(); /// void apply() const; /// @@ -279,7 +262,7 @@ private: /// string const feedback(FL_OBJECT const * const) const; /// - bool input( FL_OBJECT const * const ); + bool input(FL_OBJECT const * const); /// void update(); @@ -291,14 +274,14 @@ private: /// void UpdateBrowser(); /// - bool Delete(); + bool erase(); /// bool Input(); /// FormPreferences & parent_; /// - FD_form_formats * dialog_; + boost::scoped_ptr dialog_; }; /// friend class Formats; @@ -307,11 +290,9 @@ private: class InputsMisc { public: /// - InputsMisc( FormPreferences & p ) : parent_(p), dialog_(0) {} + InputsMisc(FormPreferences & p); /// - ~InputsMisc(); - /// - FD_form_inputs_misc const * dialog() { return dialog_; } + FD_form_inputs_misc const * dialog(); /// void apply() const; /// @@ -325,7 +306,7 @@ private: /// FormPreferences & parent_; /// - FD_form_inputs_misc * dialog_; + boost::scoped_ptr dialog_; }; /// friend class InputsMisc; @@ -334,11 +315,9 @@ private: class Interface { public: /// - Interface( FormPreferences & p ) : parent_(p), dialog_(0) {} - /// - ~Interface(); + Interface(FormPreferences & p); /// - FD_form_interface const * dialog() { return dialog_; } + FD_form_interface const * dialog(); /// void apply() const; /// @@ -346,7 +325,7 @@ private: /// string const feedback(FL_OBJECT const * const) const; /// - bool input( FL_OBJECT const * const ); + bool input(FL_OBJECT const * const); /// void update(); @@ -354,7 +333,7 @@ private: /// FormPreferences & parent_; /// - FD_form_interface * dialog_; + boost::scoped_ptr dialog_; }; /// friend class Interface; @@ -363,12 +342,9 @@ private: class Language { public: /// - Language( FormPreferences & p ) - : parent_(p), dialog_(0), combo_default_lang(0) {} - /// - ~Language(); + Language(FormPreferences & p); /// - FD_form_language const * dialog() { return dialog_; } + FD_form_language const * dialog(); /// void apply(); // not const because calls update() /// @@ -376,7 +352,7 @@ private: /// string const feedback(FL_OBJECT const * const) const; /// - bool input( FL_OBJECT const * const ); + bool input(FL_OBJECT const * const); /// void update(); /// @@ -386,9 +362,9 @@ private: /// FormPreferences & parent_; /// - FD_form_language * dialog_; + boost::scoped_ptr dialog_; /// - Combox * combo_default_lang; + boost::scoped_ptr combo_default_lang; }; /// friend class Language; @@ -397,11 +373,9 @@ private: class LnFmisc { public: /// - LnFmisc( FormPreferences & p ) : parent_(p), dialog_(0) {} - /// - ~LnFmisc(); + LnFmisc(FormPreferences & p); /// - FD_form_lnf_misc const * dialog() { return dialog_; } + FD_form_lnf_misc const * dialog(); /// void apply() const; /// @@ -415,7 +389,7 @@ private: /// FormPreferences & parent_; /// - FD_form_lnf_misc * dialog_; + boost::scoped_ptr dialog_; }; /// friend class LnFmisc; @@ -424,11 +398,9 @@ private: class OutputsMisc { public: /// - OutputsMisc( FormPreferences & p ) : parent_(p), dialog_(0) {} - /// - ~OutputsMisc(); + OutputsMisc(FormPreferences & p); /// - FD_form_outputs_misc const * dialog() { return dialog_; } + FD_form_outputs_misc const * dialog(); /// void apply() const; /// @@ -442,7 +414,7 @@ private: /// FormPreferences & parent_; /// - FD_form_outputs_misc * dialog_; + boost::scoped_ptr dialog_; }; /// friend class OutputsMisc; @@ -451,11 +423,9 @@ private: class Paths { public: /// - Paths( FormPreferences & p ) : parent_(p), dialog_(0) {} + Paths(FormPreferences & p); /// - ~Paths(); - /// - FD_form_paths const * dialog() { return dialog_; } + FD_form_paths const * dialog(); /// void apply(); /// @@ -471,7 +441,7 @@ private: /// FormPreferences & parent_; /// - FD_form_paths * dialog_; + boost::scoped_ptr dialog_; }; /// friend class Paths; @@ -480,11 +450,9 @@ private: class Printer { public: /// - Printer( FormPreferences & p ) : parent_(p), dialog_(0) {} - /// - ~Printer(); + Printer(FormPreferences & p); /// - FD_form_printer const * dialog() { return dialog_; } + FD_form_printer const * dialog(); /// void apply() const; /// @@ -498,7 +466,7 @@ private: /// FormPreferences & parent_; /// - FD_form_printer * dialog_; + boost::scoped_ptr dialog_; }; /// friend class Printer; @@ -507,11 +475,9 @@ private: class ScreenFonts { public: /// - ScreenFonts( FormPreferences & p ) : parent_(p), dialog_(0) {} + ScreenFonts(FormPreferences & p); /// - ~ScreenFonts(); - /// - FD_form_screen_fonts const * dialog() { return dialog_; } + FD_form_screen_fonts const * dialog(); /// void apply() const; /// @@ -527,20 +493,18 @@ private: /// FormPreferences & parent_; /// - FD_form_screen_fonts * dialog_; + boost::scoped_ptr dialog_; }; /// friend class ScreenFonts; /// - class SpellChecker { + class SpellOptions { public: /// - SpellChecker( FormPreferences & p ) : parent_(p), dialog_(0) {} - /// - ~SpellChecker(); + SpellOptions(FormPreferences & p); /// - FD_form_spellchecker const * dialog() { return dialog_; } + FD_form_spelloptions const * dialog(); /// void apply(); // not const because calls update()! /// @@ -556,10 +520,10 @@ private: /// FormPreferences & parent_; /// - FD_form_spellchecker * dialog_; + boost::scoped_ptr dialog_; }; /// - friend class SpellChecker; + friend class SpellOptions; /** The tab folders. */ @@ -587,7 +551,7 @@ private: /// ScreenFonts screen_fonts_; /// - SpellChecker spellchecker_; + SpellOptions spelloptions_; /** A couple of helper structs to enable colors to be sorted by name and by color */ @@ -606,7 +570,15 @@ private: /// RGBColor col; }; - + /// The ButtonController + ButtonController bc_; }; + +inline +xformsBC & FormPreferences::bc() +{ + return bc_; +} + #endif