]> git.lyx.org Git - lyx.git/blobdiff - src/insets/inset.C
fix the smallcaps drawing, move xfont metrics functions out from LyXFont, move non...
[lyx.git] / src / insets / inset.C
index 5fe53f1e54882a2d8bd67011d808abccac82a7e4..f2515bbbc0e88a6d350ac78b534f713307942e27 100644 (file)
@@ -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,14 +122,14 @@ void UpdatableInset::ToggleInsetCursor(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->getPainter(), font) - bv->paperWidth()) / 2);
 }
 
 
@@ -131,6 +146,7 @@ void UpdatableInset::SetFont(BufferView *, LyXFont const &, bool )
 {
 }
 
+
 ///  An updatable inset could handle lyx editing commands
 #ifdef SCROLL_INSET
 UpdatableInset::RESULT
@@ -153,3 +169,11 @@ UpdatableInset::LocalDispatch(BufferView *, int, string const &)
 #endif
     return UNDISPATCHED; 
 }
+
+int UpdatableInset::getMaxWidth(Painter & pain) const
+{
+    if (owner_)
+        return owner_->getMaxWidth(pain);
+    return pain.paperWidth();
+}
+