]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/Application.h
#9130 Text in main work area isn't rendered with high resolution
[lyx.git] / src / frontends / Application.h
index 763bbeac679eb4a8563dc07b87f424be5f879172..ca5ea4493ad774dce66e94d4bb6a2b20c46649c9 100644 (file)
@@ -39,8 +39,6 @@ namespace frontend {
 
 class Clipboard;
 class FontLoader;
-class Gui;
-class LyXView;
 class Selection;
 
 /// The main application class
@@ -59,7 +57,7 @@ initialisation should be done before the instanciation of this class.
 
  Application (this is the frontend really, should probably be renamed).
    |
-   LyXView-1 (one or more in case of split-view mode).
+   GuiView-1 (one or more in case of split-view mode).
    |  |
    |  <tab-widget-1-1> 
    |  |  |
@@ -77,7 +75,7 @@ initialisation should be done before the instanciation of this class.
    |  |
    |  <tab-widget-1-2> 
    |
-   LyXView-2 (one or more in case of split-view mode).
+   GuiView-2 (one or more in case of split-view mode).
    |  |
    |  <tab-widget-2-1>
    |  |  |
@@ -136,14 +134,14 @@ initialisation should be done before the instanciation of this class.
  - etc.
 
 
- 4) The Window: \c LyXView (and its qt4 specialisation \c GuiView)
+ 4) The Window: \c GuiView
 
  This is a full window containing a menubar, toolbars and a central
- widget. A LyXView is in charge of creating and closing a View for a
+ widget. A GuiView is in charge of creating and closing a View for a
  given Buffer.
  In the qt4 specialisation, \c GuiView, the central widget is a tab
  widget. Each tab is reverved to the visualisation of one Buffer and
- contains one WorkArea. In the qt4 frontend, one LyXView thus contains
+ contains one WorkArea. In the qt4 frontend, one GuiView thus contains
  multiple WorkAreas but this number can limited to one for another
  frontend. The idea is that the kernel should not know how a Buffer
  is displayed on screen; it's the frontend business.
@@ -171,8 +169,6 @@ public:
        Application() {}
        ///
        virtual ~Application() {}
-       ///
-       virtual LyXView * currentWindow() = 0;
 
        /// LyX dispatcher: executes lyx actions and does necessary
        /// screen updates depending on results.
@@ -189,14 +185,9 @@ public:
        ///
        virtual FuncStatus getStatus(FuncRequest const & cmd) const = 0;
 
-       ///
-       virtual void resetGui() = 0;
-
        /// Load files and restore GUI Session.
        virtual void restoreGuiSession() = 0;
 
-       ///
-       virtual void hideDialogs(std::string const & name, Inset * inset) const = 0;
        ///
        virtual Buffer const * updateInset(Inset const * inset) const = 0;
 
@@ -218,6 +209,8 @@ 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".
@@ -241,11 +234,23 @@ 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;
+
 };
 
 /// Return the list of loadable formats.
@@ -256,6 +261,8 @@ std::vector<std::string> 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