]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/LyXView.h
* src/frontends/qt4/GuiSelection.C
[lyx.git] / src / frontends / LyXView.h
index 522a8f51ada287078e2926aaa868eddfe69f62c4..b51aa65447b6c39a31f80c82cc6d7f72a230ed3b 100644 (file)
 #include <boost/signals/trackable.hpp>
 #include <boost/utility.hpp>
 
+#include <vector>
+
 namespace lyx {
 
+namespace support { class FileName; }
+
 class Buffer;
 class InsetBase;
 class Menubar;
@@ -58,10 +62,18 @@ class ControlCommandBuffer;
 class LyXView : public boost::signals::trackable, boost::noncopyable {
 public:
 
-       LyXView();
+       LyXView(int id);
 
        virtual ~LyXView();
 
+       int const id() const { return id_; }
+
+       virtual void close() = 0;
+
+       virtual void setFocus() = 0;
+
+       std::vector<int> const & workAreaIds() const { return work_area_ids_; }
+
        void setWorkArea(frontend::WorkArea * work_area);
 
        /**
@@ -71,14 +83,20 @@ public:
         */
        virtual void init() = 0;
 
+       ///
        virtual void setGeometry(
                unsigned int width,
                unsigned int height,
                int posx, int posy,
-               bool maximize) = 0;
+               bool maximize,
+               unsigned int iconSizeXY,
+               const std::string & geometryArg) = 0;
+
+       /// save the geometry state in the session manager.
+       virtual void saveGeometry() = 0;
 
        /// show busy cursor
-       virtual void busy(bool) const = 0;
+       virtual void busy(bool) = 0;
 
        virtual Toolbars::ToolbarPtr makeToolbar(ToolbarBackend::Toolbar const & tbb) = 0;
 
@@ -111,7 +129,7 @@ public:
        //@}
 
        /// load a buffer into the current workarea
-       bool loadLyXFile(std::string const &  name, bool tolastfiles = true);
+       bool loadLyXFile(support::FileName const &  name, bool tolastfiles = true);
 
        /// set a buffer to the current workarea
        void setBuffer(Buffer * b);
@@ -121,6 +139,10 @@ public:
 
        /// update the toolbar
        void updateToolbars();
+       /// get toolbar state
+       ToolbarBackend::Flags getToolbarState(std::string const & name);
+       /// toggle toolbar state
+       void toggleToolbarState(std::string const & name);
        /// update the menubar
        void updateMenubar();
        /// update the status bar
@@ -138,6 +160,9 @@ public:
        /// updates the title of the window
        void updateWindowTitle();
 
+       /// updates the tab view
+       virtual void updateTab() = 0;
+
        /// reset autosave timer
        void resetAutosaveTimer();
 
@@ -243,6 +268,10 @@ protected:
        CommandBufferPtr;
 
        CommandBufferPtr const controlcommand_;
+
+private:
+       int id_;
+       std::vector<int> work_area_ids_;
 };
 
 } // namespace lyx