X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fqt4%2FGuiWorkArea.h;h=173d3e298749823787cae5a800b3642ed735c482;hb=39d569661a3f4411d4501f9a8db9c7360ef5d568;hp=06f9e2d313af165780bd4a6a7f5ba8b181427b61;hpb=b718b83074405298a77f0e2aa6adf201255de7c2;p=lyx.git diff --git a/src/frontends/qt4/GuiWorkArea.h b/src/frontends/qt4/GuiWorkArea.h index 06f9e2d313..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,8 +32,10 @@ class QContextMenuEvent; class QDragEnterEvent; class QDropEvent; class QKeyEvent; -class QWheelEvent; class QPaintEvent; +class QResizeEvent; +class QToolButton; +class QWheelEvent; class QWidget; #ifdef CursorShape @@ -84,9 +85,6 @@ public: FuncRequest cmd; Timeout timeout; bool restart_timeout; - int x_old; - int y_old; - double scrollbar_value_old; }; @@ -115,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; } @@ -124,7 +122,7 @@ public: /// BufferView const & bufferView() const; /// - void redraw(); + void redraw(bool update_metrics); /// void stopBlinkingCursor(); /// @@ -141,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_; } @@ -182,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. @@ -229,6 +232,8 @@ private: /// BufferView * buffer_view_; + /// Read only Buffer status cache. + bool read_only_; /// GuiView * lyx_view_; /// is the cursor currently displayed @@ -258,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 @@ -273,6 +283,7 @@ public: void setWidgetResizable(bool) {} void setWidget(QWidget *) {} + QSize sizeHint () const; /// void disable(); @@ -304,6 +315,7 @@ public: bool removeWorkArea(GuiWorkArea *); GuiWorkArea * currentWorkArea(); GuiWorkArea * workArea(Buffer & buffer); + GuiWorkArea * workArea(int index); Q_SIGNALS: /// @@ -314,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(); @@ -326,9 +340,14 @@ private Q_SLOTS: void showContextMenu(const QPoint & pos); /// void moveTab(int fromIndex, int toIndex); + /// + void mouseDoubleClickEvent(QMouseEvent * event); private: + /// int clicked_tab_; + /// + QToolButton * closeBufferButton; }; // TabWorkArea