]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/GuiWorkArea.h
Some cosmetic changes so that GuiWorkArea can be embeddable in a Qt designer dialog.
[lyx.git] / src / frontends / qt4 / GuiWorkArea.h
index 86da009bfbcd20f9e187b62d70d133bf4ddcd2cc..9694977117bb22db3ed8c9036b1c6460a20e7f03 100644 (file)
@@ -14,7 +14,6 @@
 #define WORKAREA_H
 
 #include "frontends/WorkArea.h"
-#include "frontends/qt4/GuiCompleter.h"
 
 #include "DocIterator.h"
 #include "FuncRequest.h"
@@ -48,6 +47,7 @@ class Buffer;
 
 namespace frontend {
 
+class GuiCompleter;
 class GuiView;
 class GuiWorkArea;
 
@@ -101,10 +101,19 @@ class GuiWorkArea : public QAbstractScrollArea, public WorkArea
 
 public:
        ///
-       GuiWorkArea(Buffer & buffer, GuiView & lv);
+       GuiWorkArea(QWidget *);
+       ///
+       GuiWorkArea(Buffer & buffer, GuiView & gv);
        ///
        ~GuiWorkArea();
 
+       ///
+       void setBuffer(Buffer &);
+       ///
+       void setGuiView(GuiView &);
+       /// Dummy methods for Designer.
+       void setWidgetResizable(bool) {}
+       void setWidget(QWidget *) {}
        ///
        void setFullScreen(bool full_screen);
        /// is LyXView in fullscreen mode?
@@ -127,9 +136,20 @@ public:
        ///
        void resizeBufferView();
 
+       bool isInDialog() {
+               return dialogMode_;
+       }
+
        ///
-       GuiCompleter & completer() { return completer_; }
-       
+       GuiCompleter & completer() { return *completer_; }
+
+       /// Return true if dialogMode is set
+       bool& dialogMode() { return dialogMode_; }
+
+       /// Return the GuiView this workArea belongs to
+       GuiView const & view() const { return *lyx_view_; }
+       GuiView & view() { return *lyx_view_; }
+
 Q_SIGNALS:
        ///
        void titleChanged(GuiWorkArea *);
@@ -153,6 +173,8 @@ private Q_SLOTS:
 
 private:
        friend class GuiCompleter;
+       ///
+       void init();
 
        /// update the passed area.
        void update(int x, int y, int w, int h);
@@ -237,7 +259,11 @@ private:
        int preedit_lines_;
 
        ///
-       GuiCompleter completer_;
+       GuiCompleter * completer_;
+
+       /// Special mode in which Esc and Enter (with or without Shift)
+       /// are ignored
+       bool dialogMode_;
 }; // GuiWorkArea
 
 
@@ -270,7 +296,7 @@ public Q_SLOTS:
        /// close current tab, or the one given by \c clicked_tab_
        void closeCurrentTab();
        ///
-       void updateTabText(GuiWorkArea *);
+       void updateTabTexts();
        
 private Q_SLOTS:
        ///