X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fqt4%2FGuiWorkArea.h;h=173d3e298749823787cae5a800b3642ed735c482;hb=39d569661a3f4411d4501f9a8db9c7360ef5d568;hp=3eb757ab0662aab21f2e7e0a3d133d5617631b76;hpb=3a502dfbece0f47f5609dd82f3e1da5dbf893177;p=lyx.git diff --git a/src/frontends/qt4/GuiWorkArea.h b/src/frontends/qt4/GuiWorkArea.h index 3eb757ab06..173d3e2987 100644 --- a/src/frontends/qt4/GuiWorkArea.h +++ b/src/frontends/qt4/GuiWorkArea.h @@ -24,7 +24,6 @@ #include #include #include -#include #include #include #include @@ -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,6 +263,11 @@ private: /// Special mode in which Esc and Enter (with or without Shift) /// are ignored bool dialog_mode_; + /// 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 Windows) + /// and after the DEPM has done its job. + docstring context_menu_name_; }; // GuiWorkArea @@ -275,6 +283,7 @@ public: void setWidgetResizable(bool) {} void setWidget(QWidget *) {} + QSize sizeHint () const; /// void disable(); @@ -306,6 +315,7 @@ public: bool removeWorkArea(GuiWorkArea *); GuiWorkArea * currentWorkArea(); GuiWorkArea * workArea(Buffer & buffer); + GuiWorkArea * workArea(int index); Q_SIGNALS: /// @@ -316,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(); @@ -328,6 +340,8 @@ private Q_SLOTS: void showContextMenu(const QPoint & pos); /// void moveTab(int fromIndex, int toIndex); + /// + void mouseDoubleClickEvent(QMouseEvent * event); private: ///