#include <QAbstractScrollArea>
#include <QMouseEvent>
#include <QPixmap>
-#include <QResizeEvent>
#include <QTabBar>
#include <QTabWidget>
#include <QTimer>
class QDragEnterEvent;
class QDropEvent;
class QKeyEvent;
-class QWheelEvent;
class QPaintEvent;
+class QResizeEvent;
class QToolButton;
+class QWheelEvent;
class QWidget;
#ifdef CursorShape
FuncRequest cmd;
Timeout timeout;
bool restart_timeout;
- int x_old;
- int y_old;
- int min_scrollbar_old;
- int max_scrollbar_old;
};
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; }
///
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_; }
/// 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.
///
BufferView * buffer_view_;
+ /// Read only Buffer status cache.
+ bool read_only_;
///
GuiView * lyx_view_;
/// is the cursor currently displayed
/// 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
void setWidgetResizable(bool) {}
void setWidget(QWidget *) {}
+ QSize sizeHint () const;
///
void disable();
bool removeWorkArea(GuiWorkArea *);
GuiWorkArea * currentWorkArea();
GuiWorkArea * workArea(Buffer & buffer);
+ GuiWorkArea * workArea(int index);
Q_SIGNALS:
///
void showContextMenu(const QPoint & pos);
///
void moveTab(int fromIndex, int toIndex);
+ ///
+ void mouseDoubleClickEvent(QMouseEvent * event);
private:
///