X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2FApplication.h;h=26fad07e8465c362eb25f4bd1522cb716fef921c;hb=28be7d552f62cc02fa86d7f79201d089bfb2d7b5;hp=d5f48ae609597f7ab0ea088fb302c92321c49470;hpb=70d5b8fe06322d67101418f82c851f685bd27b84;p=lyx.git diff --git a/src/frontends/Application.h b/src/frontends/Application.h index d5f48ae609..26fad07e84 100644 --- a/src/frontends/Application.h +++ b/src/frontends/Application.h @@ -18,7 +18,7 @@ #include "support/strfwd.h" -#include +#include #include @@ -177,7 +177,7 @@ public: /// Every user command is processed here, either invocated from /// keyboard or from the GUI. All GUI objects, including buttons and /// menus should use this class and never call kernel functions directly. - virtual void dispatch(FuncRequest const &) = 0; + virtual DispatchResult const & dispatch(FuncRequest const &) = 0; /// LyX dispatcher: executes lyx actions and returns result. virtual void dispatch(FuncRequest const &, DispatchResult & dr) = 0; @@ -209,17 +209,19 @@ public: * It returns false on failure and sets r, g, b to 0. */ virtual bool getRgbColor(ColorCode col, RGBColor & rgbcol) = 0; + /// Like getRgbColor(), but static and slower + static bool getRgbColorUncached(ColorCode col, RGBColor & rgbcol); /** Eg, passing Color_black returns "000000", * passing Color_white returns "ffffff". */ virtual std::string const hexName(ColorCode col) = 0; - + /** * add a callback for socket read notification * @param fd socket descriptor (file/socket/etc) */ - typedef boost::function SocketCallback; + typedef std::function SocketCallback; virtual void registerSocketCallback(int fd, SocketCallback func) = 0; /** @@ -232,11 +234,25 @@ public: docstring_list & names) const = 0; /// \return the icon file name for the given action. - virtual docstring iconName(FuncRequest const & f, bool unknown) = 0; + static docstring iconName(FuncRequest const & f, bool unknown); + /// \return the math icon name for the given command. + static docstring mathIcon(docstring const & c); /// Handle a accented char key sequence /// FIXME: this is only needed for LFUN_ACCENT_* in Text::dispatch() virtual void handleKeyFunc(FuncCode action) = 0; + + /// Start a long operation with some cancel possibility (button or ESC) + virtual void startLongOperation() = 0; + /// This needs to be periodically called to avoid freezing the GUI + virtual bool longOperationCancelled() = 0; + /// Stop the long operation mode (i.e., release the GUI) + virtual void stopLongOperation() = 0; + /// A started long operation is still in progress ? + virtual bool longOperationStarted() = 0; + + // Add a buffer to the current view, do not switch to it. + virtual bool unhide(Buffer * buf) = 0; }; /// Return the list of loadable formats. @@ -247,6 +263,8 @@ std::vector loadableImageFormats(); frontend::Application * theApp(); frontend::Application * createApplication(int & argc, char * argv[]); void hideDialogs(std::string const & name, Inset * inset); +/// Set locale correctly using LyXRC::gui_language +void setLocale(); } // namespace lyx