X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fqt4%2FGuiView.h;h=4cf5d027e92e6371d9235c78252d0ef5f095f5af;hb=1520629d7cefe09cbc9612806c8abbbd6b36048e;hp=777c783b39a3a635d8ce6129eb3cf63251122c61;hpb=d1e3d75da226311cb290fc4be3686d6deef7b967;p=lyx.git diff --git a/src/frontends/qt4/GuiView.h b/src/frontends/qt4/GuiView.h index 777c783b39..4cf5d027e9 100644 --- a/src/frontends/qt4/GuiView.h +++ b/src/frontends/qt4/GuiView.h @@ -36,7 +36,7 @@ class Cursor; namespace frontend { class Dialog; -class GuiLayoutBox; +class LayoutBox; class GuiToolbar; class GuiWorkArea; class TabWorkArea; @@ -82,7 +82,7 @@ public: bool dispatch(FuncRequest const & cmd); /// - void setLayoutDialog(GuiLayoutBox *); + LayoutBox * getLayoutDialog() const; /// \return the buffer currently shown in this window Buffer * buffer(); @@ -91,6 +91,8 @@ public: void setBuffer(Buffer * b); ///< \c Buffer to set. /// bool closeBuffer(); + /// hides the workarea and makes sure it is clean + bool hideWorkArea(GuiWorkArea * wa); /// load a document into the current workarea. Buffer * loadDocument(support::FileName const & name, ///< File to load. bool tolastfiles = true); ///< append to the "Open recent" menu? @@ -104,7 +106,7 @@ public: /// GuiBufferDelegate. ///@{ void resetAutosaveTimers(); - void errors(std::string const &); + void errors(std::string const &, bool from_master = false); void structureChanged(); void updateTocItem(std::string const &, DocIterator const &); ///@} @@ -294,8 +296,19 @@ private: /// bool saveBuffer(Buffer & b); /// - bool closeBuffer(Buffer & buf, bool tolastopened = false, - bool mark_active = false); + bool closeWorkArea(GuiWorkArea * wa, bool close_buffer, + bool tolastopened = false, bool mark_active = false); + /// gives the user the possibility to save his work + /// or to discard the changes. If hiding is true, the + /// document will be reloaded. + bool saveBufferIfNeeded(Buffer & buf, bool hiding); + /// + bool closeBufferAll(bool tolastopened = false); + /// is the buffer in this workarea also shown in another tab ? + /// This tab can either be in the same view or in another one. + bool inMultiTabs(GuiWorkArea * wa); + /// is the buffer in this workarea also shown in another view ? + bool inMultiViews(GuiWorkArea * wa); /// enum NextOrPrevious { NEXTBUFFER,