X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2Finset.C;h=c07a0f384cb3fc9ebdb6d92aa8c88893e660df59;hb=3c8aba3b556871fb1100a2f98cd93d5d4e3f70c9;hp=12a904a78f78d3d1a57ce558c780d8c8aa9c8c74;hpb=9cdcc414983ddd1d9b3c7a4b26e6ae961ac718ac;p=lyx.git diff --git a/src/insets/inset.C b/src/insets/inset.C index 12a904a78f..c07a0f384c 100644 --- a/src/insets/inset.C +++ b/src/insets/inset.C @@ -4,7 +4,7 @@ * LyX, The Document Processor * * Copyright 1995 Matthias Ettrich - * Copyright 1995-1999 The LyX Team. + * Copyright 1995-2000 The LyX Team. * * ====================================================== */ @@ -18,6 +18,9 @@ #include "debug.h" #include "BufferView.h" #include "support/lstrings.h" +#include "Painter.h" + +using std::endl; /* Insets default methods */ @@ -33,11 +36,18 @@ bool Inset::DirectWrite() const } -unsigned char Inset::Editable() const +Inset::EDITABLE Inset::Editable() const { - return 0; + return NOT_EDITABLE; } +bool Inset::IsTextInset() const +{ + return ((LyxCode() == TEXT_CODE) || + (LyxCode() == ERT_CODE) || + (LyxCode() == FOOT_CODE) || + (LyxCode() == MARGIN_CODE)); +} void Inset::Validate(LaTeXFeatures &) const { @@ -61,6 +71,11 @@ LyXFont Inset::ConvertFont(LyXFont font) } +char const * Inset::EditMessage() const +{ + return _("Opened inset"); +} + /* some stuff for inset locking */ void UpdatableInset::InsetButtonPress(BufferView *, int x, int y, int button) @@ -97,9 +112,9 @@ void UpdatableInset::InsetUnlock(BufferView *) // An updatable inset is highly editable by definition -unsigned char UpdatableInset::Editable() const +Inset::EDITABLE UpdatableInset::Editable() const { - return 2; // and what does "2" siginify? (Lgb) + return HIGHLY_EDITABLE; } @@ -107,30 +122,40 @@ void UpdatableInset::ToggleInsetCursor(BufferView *) { } +void UpdatableInset::ShowInsetCursor(BufferView *) +{ +} + +void UpdatableInset::HideInsetCursor(BufferView *) +{ +} + + void UpdatableInset::Edit(BufferView * bv, int, int, unsigned int) { - LyXFont - font; -// bview = bv; + LyXFont font; + scx = 0; - mx_scx=abs((width(bv->getPainter(), font) - bv->paperWidth())/2); + mx_scx = abs((width(bv->painter(), font) - bv->paperWidth()) / 2); } void UpdatableInset::draw(Painter &, LyXFont const &, - int baseline, float & x) const + int /* baseline */, float & x) const { if (scx) x += float(scx); - top_x = int(x); - top_baseline = baseline; +// ATTENTION: this is not good doing here +// top_x = int(x); +// top_baseline = baseline; } -void UpdatableInset::SetFont(LyXFont const &, bool ) +void UpdatableInset::SetFont(BufferView *, LyXFont const &, bool ) { } + /// An updatable inset could handle lyx editing commands #ifdef SCROLL_INSET UpdatableInset::RESULT @@ -153,3 +178,10 @@ UpdatableInset::LocalDispatch(BufferView *, int, string const &) #endif return UNDISPATCHED; } + +int UpdatableInset::getMaxWidth(Painter & pain, UpdatableInset const *inset) const +{ + if (owner()) + return static_cast(owner())->getMaxWidth(pain, inset); + return pain.paperWidth(); +}