3 * \file updatableinset.h
4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
7 * \author Alejandro Aguilar Sierra
9 * \author Lars Gullik Bjønnes
10 * \author Matthias Ettrich
12 * Full author contact details are available in file CREDITS.
15 #ifndef UPDATABLEINSET_H
16 #define UPDATABLEINSET_H
18 // Updatable Insets. These insets can receive directly user interaction.
19 // Note that all pure methods from Inset class are pure here too.
24 class UpdatableInset : public InsetOld {
27 virtual EDITABLE editable() const;
28 /// identification as text inset in a cursor slice
29 UpdatableInset * asUpdatableInset() { return this; }
31 /// return the cursor dim
32 virtual void getCursorDim(int &, int &) const;
33 // We need this method to not clobber the real method in Inset
34 int scroll(bool recursive = true) const
35 { return InsetOld::scroll(recursive); }
37 virtual bool showInsetDialog(BufferView *) const { return false; }
40 /// An updatable inset could handle lyx editing commands
41 virtual void doDispatch(LCursor & cur, FuncRequest & cmd);
42 /// scrolls to absolute position in bufferview-workwidth * sx units
43 void scroll(BufferView &, double sx) const;
44 /// scrolls offset pixels
45 void scroll(BufferView &, int offset) const;