]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/GuiWorkArea.h
Fix the tab ordering of PanelStack and PrefsUi.
[lyx.git] / src / frontends / qt4 / GuiWorkArea.h
index 9d6bfe78f1574a7f73356d24e5f866b8e8df47c1..173d3e298749823787cae5a800b3642ed735c482 100644 (file)
@@ -24,7 +24,6 @@
 #include <QAbstractScrollArea>
 #include <QMouseEvent>
 #include <QPixmap>
-#include <QResizeEvent>
 #include <QTabBar>
 #include <QTabWidget>
 #include <QTimer>
@@ -33,9 +32,10 @@ class QContextMenuEvent;
 class QDragEnterEvent;
 class QDropEvent;
 class QKeyEvent;
-class QWheelEvent;
 class QPaintEvent;
+class QResizeEvent;
 class QToolButton;
+class QWheelEvent;
 class QWidget;
 
 #ifdef CursorShape
@@ -85,10 +85,6 @@ public:
        FuncRequest cmd;
        Timeout timeout;
        bool restart_timeout;
-       int x_old;
-       int y_old;
-       int min_scrollbar_old;
-       int max_scrollbar_old;
 };
 
 
@@ -117,7 +113,7 @@ public:
        void setGuiView(GuiView &);
        ///
        void setFullScreen(bool full_screen);
-       /// is LyXView in fullscreen mode?
+       /// is GuiView in fullscreen mode?
        bool isFullScreen();
        ///
        void scheduleRedraw() { schedule_redraw_ = true; }
@@ -126,7 +122,7 @@ public:
        ///
        BufferView const & bufferView() const;
        ///
-       void redraw();
+       void redraw(bool update_metrics);
        ///
        void stopBlinkingCursor();
        ///
@@ -143,6 +139,11 @@ public:
        ///
        GuiCompleter & completer() { return *completer_; }
 
+       Qt::CursorShape cursorShape() const;
+       void setCursorShape(Qt::CursorShape shape);
+
+       /// Change the cursor when the mouse hovers over a clickable inset
+       void updateCursorShape();
 
        /// Return the GuiView this workArea belongs to
        GuiView const & view() const { return *lyx_view_; }
@@ -184,7 +185,7 @@ private:
        /// hide the cursor
        virtual void removeCursor();
 
-       /// This function is called when the buffer readonly status change.
+       /// This function should be called to update the buffer readonly status.
        void setReadOnly(bool);
 
        /// Update window titles of all users.
@@ -231,6 +232,8 @@ private:
 
        ///
        BufferView * buffer_view_;
+       /// Read only Buffer status cache.
+       bool read_only_;
        ///
        GuiView * lyx_view_;
        /// is the cursor currently displayed
@@ -260,10 +263,11 @@ private:
        /// Special mode in which Esc and Enter (with or without Shift)
        /// are ignored
        bool dialog_mode_;
-       /// store the position of the rightclick when the mouse is
+       /// store the name of the context menu when the mouse is
        /// pressed. This is used to get the correct context menu 
-       /// when the menu is actually shown (after releasing on Windwos).
-       QPoint context_target_pos_;
+       /// when the menu is actually shown (after releasing on Windows)
+       /// and after the DEPM has done its job.
+       docstring context_menu_name_;
 }; // GuiWorkArea
 
 
@@ -279,6 +283,7 @@ public:
        void setWidgetResizable(bool) {}
        void setWidget(QWidget *) {}
 
+       QSize sizeHint () const;
        ///
        void disable();
 
@@ -310,6 +315,7 @@ public:
        bool removeWorkArea(GuiWorkArea *);
        GuiWorkArea * currentWorkArea();
        GuiWorkArea * workArea(Buffer & buffer);
+       GuiWorkArea * workArea(int index);
 
 Q_SIGNALS:
        ///
@@ -320,8 +326,10 @@ Q_SIGNALS:
 public Q_SLOTS:
        /// close current buffer, or the one given by \c clicked_tab_
        void closeCurrentBuffer();
-       /// close current tab, or the one given by \c clicked_tab_
-       void closeCurrentTab();
+       /// hide current tab, or the one given by \c clicked_tab_
+       void hideCurrentTab();
+       /// close the tab given by \c index
+       void closeTab(int index);
        ///
        void updateTabTexts();
        
@@ -332,14 +340,14 @@ private Q_SLOTS:
        void showContextMenu(const QPoint & pos);
        ///
        void moveTab(int fromIndex, int toIndex);
+       ///
+       void mouseDoubleClickEvent(QMouseEvent * event);
 
 private:
        ///
        int clicked_tab_;
-#if QT_VERSION < 0x040500
        ///
        QToolButton * closeBufferButton;
-#endif
 }; // TabWorkArea
 
 
@@ -374,10 +382,6 @@ private:
 Q_SIGNALS:
        ///
        void tabMoveRequested(int fromIndex, int toIndex);
-
-private Q_SLOTS:
-       ///
-       void on_tabCloseRequested(int index);
 };
 
 } // namespace frontend