// -*- C++ -*-
/* This file is part of
* ======================================================
- *
+ *
* LyX, The Document Processor
*
* Copyright 1998 The LyX Team.
#include "paragraph.h"
#include "lyxcursor.h"
-#include <boost/smart_ptr.hpp>
+#include <boost/shared_ptr.hpp>
class Painter;
class BufferView;
/**
A text inset is like a TeX box to write full text
- (including styles and other insets) in a given space.
+ (including styles and other insets) in a given space.
@author: Jürgen Vigna
*/
class InsetText : public UpdatableInset {
///
string const editMessage() const;
///
- void edit(BufferView *, int, int, unsigned int);
+ void edit(BufferView *, int, int, mouse_button::state);
///
void edit(BufferView *, bool front = true);
///
///
bool updateInsetInInset(BufferView *, Inset *);
///
- bool insetButtonRelease(BufferView *, int, int, int);
- ///
- void insetButtonPress(BufferView *, int, int, int);
+ bool insetButtonRelease(BufferView *, int, int, mouse_button::state);
///
- void insetMotionNotify(BufferView *, int, int, int);
+ void insetButtonPress(BufferView *, int, int, mouse_button::state);
///
- void insetKeyPress(XKeyEvent *);
+ void insetMotionNotify(BufferView *, int, int, mouse_button::state);
///
UpdatableInset::RESULT localDispatch(BufferView *,
kb_action, string const &);
///
void getCursorPos(BufferView *, int & x, int & y) const;
///
- unsigned int insetInInsetY();
+ int insetInInsetY() const;
///
void toggleInsetCursor(BufferView *);
///
///
void setFont(BufferView *, LyXFont const &,
bool toggleall = false,
- bool selectall = false);
+ bool selectall = false);
///
int getMaxWidth(BufferView *, UpdatableInset const *) const;
///
///
void setParagraphData(Paragraph *, bool same_id = false);
///
- void setText(string const &);
+ void setText(string const &, LyXFont const &);
///
void setAutoBreakRows(bool);
///
void toggleSelection(BufferView *, bool kill_selection);
///
bool searchForward(BufferView *, string const &,
- bool = true, bool = false);
+ bool = true, bool = false);
///
bool searchBackward(BufferView *, string const &,
- bool = true, bool = false);
+ bool = true, bool = false);
///
bool checkInsertChar(LyXFont &);
///
protected:
///
void updateLocal(BufferView *, int what, bool mark_dirty) const;
- ///
+ /// set parameters for an initial lock of this inset
+ void lockInset(BufferView *);
+ /// lock an inset inside this one
void lockInset(BufferView *, UpdatableInset *);
///
mutable int drawTextXOffset;
bool activate_inset = true,
bool selecting = false);
///
- UpdatableInset::RESULT moveRightIntern(BufferView *, bool behind,
+ UpdatableInset::RESULT moveRightIntern(BufferView *, bool front,
bool activate_inset = true,
bool selecting = false);
///
- UpdatableInset::RESULT moveLeftIntern(BufferView *, bool behind,
+ UpdatableInset::RESULT moveLeftIntern(BufferView *, bool front,
bool activate_inset = true,
bool selecting = false);
///
void setCharFont(Buffer const *, int pos, LyXFont const & font);
///
- bool checkAndActivateInset(BufferView * bv, bool behind);
+ bool checkAndActivateInset(BufferView * bv, bool front);
///
bool checkAndActivateInset(BufferView * bv, int x = 0, int y = 0,
- int button = 0);
+ mouse_button::state button = mouse_button::none);
///
void removeNewlines();
///
int cx(BufferView *) const;
///
+ int cix(BufferView *) const;
+ ///
int cy(BufferView *) const;
///
+ int ciy(BufferView *) const;
+ ///
lyx::pos_type cpos(BufferView *) const;
///
Paragraph * cpar(BufferView *) const;
///
void reinitLyXText() const;
///
- void collapseParagraphs(BufferParams const & bparams) const;
-
+ void collapseParagraphs(BufferView *) const;
+
/* Private structures and variables */
///
Paragraph * par;
};
///
mutable save_state sstate;
-
+
///
// this is needed globally so we know that we're using it actually and
// so the LyXText-Cache is not erased until used!