]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/GuiWorkArea.h
remove X11's namespace pollution
[lyx.git] / src / frontends / qt4 / GuiWorkArea.h
index 67283d16d60bdcb78500a3f162a57ed94d0aeec7..b574127b7b0ab93463de28e2062f9d2246b20b05 100644 (file)
 #include "frontends/WorkArea.h"
 
 #include "FuncRequest.h"
-#include "frontends/Timeout.h"
+#include "support/Timeout.h"
 
 #include <QAbstractScrollArea>
+#include <QKeyEvent>
 #include <QMouseEvent>
+#include <QPixmap>
 #include <QResizeEvent>
-#include <QKeyEvent>
+#include <QTabWidget>
 #include <QTimer>
-#include <QPixmap>
 
 #include <queue>
 
@@ -33,12 +34,13 @@ class QDropEvent;
 class QWheelEvent;
 class QPaintEvent;
 
+#ifdef CursorShape
+#undef CursorShape
+#endif
+
 namespace lyx {
 namespace frontend {
 
-class GuiView;
-class QLPainter;
-
 /// for emulating triple click
 class double_click {
 public:
@@ -88,10 +90,11 @@ class GuiWorkArea : public QAbstractScrollArea, public WorkArea
 
 public:
        ///
-       GuiWorkArea(int width, int height, int id, LyXView & lyx_view);
+       GuiWorkArea(Buffer & buffer, LyXView & lv);
 
        ///
        bool hasFocus() const { return QAbstractScrollArea::hasFocus(); }
+       bool isVisible() const { return QAbstractScrollArea::isVisible(); }
 
        /// return the width of the content pane
        virtual int width() const { return viewport()->width(); }
@@ -115,11 +118,6 @@ public:
        virtual void removeCursor();
 
 private:
-       void doGreyOut(QLPainter & pain);
-       ///
-       void dragEnterEvent(QDragEnterEvent * ev);
-       ///
-       void dropEvent(QDropEvent * ev);
        ///
        void focusInEvent(QFocusEvent *);
        ///
@@ -165,7 +163,7 @@ private:
        ///
        double_click dc_event_;
 
-       ///     
+       ///
        CursorWidget * cursor_;
        ///
        void updateScreen();
@@ -177,7 +175,29 @@ private:
        bool schedule_redraw_;
        ///
        int preedit_lines_;
-};
+}; //GuiWorkArea
+
+/// A tabbed set of GuiWorkAreas.
+class TabWorkArea : public QTabWidget
+{
+       Q_OBJECT
+public:
+       TabWorkArea(QWidget * parent = 0);
+       void showBar(bool show);
+       void closeAll();
+       bool setCurrentWorkArea(GuiWorkArea *);
+       bool removeWorkArea(GuiWorkArea *);
+
+Q_SIGNALS:
+       ///
+       void currentWorkAreaChanged(GuiWorkArea *);
+
+public Q_SLOTS:
+       ///
+       void on_currentTabChanged(int index);
+       ///
+       void closeCurrentTab();
+}; // TabWorkArea
 
 } // namespace frontend
 } // namespace lyx