]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/LyXView.h
hopefully fix tex2lyx linking.
[lyx.git] / src / frontends / LyXView.h
index ba5e9f7e6735969c12bbec294470a2764ba730c6..6f36161c09b2a6b7f2e43915673216a766a7a62c 100644 (file)
@@ -23,6 +23,8 @@
 #include <boost/signals/trackable.hpp>
 #include <boost/utility.hpp>
 
+#include <vector>
+
 namespace lyx {
 
 class Buffer;
@@ -58,12 +60,21 @@ 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;
+
+       std::vector<int> const & workAreaIds() const { return work_area_ids_; }
+
        void setWorkArea(frontend::WorkArea * work_area);
 
+       /// This signal is emitted with the LyXView id when it is closed.
+       boost::signal<void(int)> closed;
+
        /**
         * This is called after the concrete view has been created.
         * We have to have the toolbar and the other stuff created
@@ -71,14 +82,18 @@ public:
         */
        virtual void init() = 0;
 
+       ///
        virtual void setGeometry(
                unsigned int width,
                unsigned int height,
                int posx, int posy,
                bool maximize) = 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;
 
@@ -121,6 +136,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 +157,9 @@ public:
        /// updates the title of the window
        void updateWindowTitle();
 
+       /// updates the tab view
+       virtual void updateTab() = 0;
+
        /// reset autosave timer
        void resetAutosaveTimer();
 
@@ -152,13 +174,6 @@ public:
        /// returns true if this view has the focus.
        virtual bool hasFocus() const = 0;
 
-       /// Temporary method used by the kernel to redraw the work area.
-       virtual void redrawWorkArea();
-
-       /// Temporary method to access the current workArea.
-       /// This is needed for the gtk frontend.
-       frontend::WorkArea * workArea();
-
        /// show the error list to the user
        void showErrorList(std::string const &);
 
@@ -197,6 +212,8 @@ private:
        /// dialogs for this view
        boost::scoped_ptr<Dialogs> dialogs_;
 
+       /// buffer changed signal connection
+       boost::signals::connection bufferChangedConnection_;
        /// buffer errors signal connection
        boost::signals::connection errorsConnection_;
        /// buffer messages signal connection
@@ -248,6 +265,10 @@ protected:
        CommandBufferPtr;
 
        CommandBufferPtr const controlcommand_;
+
+private:
+       int id_;
+       std::vector<int> work_area_ids_;
 };
 
 } // namespace lyx