* LyX, The Document Processor
*
* Copyright 1995 Matthias Ettrich
- * Copyright 1995-1999 The LyX Team.
+ * Copyright 1995-2000 The LyX Team.
*
* ====================================================== */
#include "debug.h"
#include "BufferView.h"
#include "support/lstrings.h"
+#include "Painter.h"
+
+using std::endl;
/* Insets default methods */
}
-unsigned char Inset::Editable() const
+Inset::EDITABLE Inset::Editable() const
{
- return 0;
+ return NOT_EDITABLE;
}
}
-LyXFont Inset::ConvertFont(LyXFont font)
+LyXFont Inset::ConvertFont(LyXFont const & font) const
+{
+ return LyXFont(font);
+}
+
+
+char const * Inset::EditMessage() const
+{
+ return _("Opened inset");
+}
+
+
+LyXText * Inset::getLyXText(BufferView * bv) const
{
- return font;
+ if (owner())
+ return owner()->getLyXText(bv);
+ else
+ return bv->text;
}
// 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;
}
}
+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, font) - bv->workWidth()) / 2);
}
-void UpdatableInset::draw(Painter &, LyXFont const &,
- int baseline, float & x) const
+void UpdatableInset::draw(BufferView *, LyXFont const &,
+ int /* baseline */, float & x, bool/*cleared*/) const
{
if (scx) x += float(scx);
- top_x = int(x);
- top_baseline = baseline;
+// ATTENTION: don't do the following here!!!
+// top_x = int(x);
+// top_baseline = baseline;
}
{
}
+
/// An updatable inset could handle lyx editing commands
#ifdef SCROLL_INSET
UpdatableInset::RESULT
#endif
return UNDISPATCHED;
}
+
+
+int UpdatableInset::getMaxWidth(Painter & pain, UpdatableInset const *) const
+{
+ if (owner())
+ return static_cast<UpdatableInset*>(owner())->getMaxWidth(pain, this);
+ return pain.paperWidth();
+}