]> git.lyx.org Git - lyx.git/blobdiff - src/insets/insetbase.C
* In the process of fixing the math background color bug, this commit transfer backgr...
[lyx.git] / src / insets / insetbase.C
index 249d6ddf3e38abaacc410c0ef70e3027cb35a6da..64bdb67c2c18bbb96f40a34a203167e4449f7a19 100644 (file)
@@ -63,6 +63,7 @@ static TranslatorMap const build_translator()
                InsetName("accent", InsetBase::ACCENT_CODE),
                InsetName("math", InsetBase::MATH_CODE),
                InsetName("index", InsetBase::INDEX_CODE),
+               InsetName("nomenclature", InsetBase::NOMENCL_CODE),
                InsetName("include", InsetBase::INCLUDE_CODE),
                InsetName("graphics", InsetBase::GRAPHICS_CODE),
                InsetName("bibitem", InsetBase::BIBITEM_CODE),
@@ -81,6 +82,7 @@ static TranslatorMap const build_translator()
                InsetName("cite", InsetBase::CITE_CODE),
                InsetName("float_list", InsetBase::FLOAT_LIST_CODE),
                InsetName("index_print", InsetBase::INDEX_PRINT_CODE),
+               InsetName("nomencl_print", InsetBase::NOMENCL_PRINT_CODE),
                InsetName("optarg", InsetBase::OPTARG_CODE),
                InsetName("environment", InsetBase::ENVIRONMENT_CODE),
                InsetName("hfill", InsetBase::HFILL_CODE),
@@ -106,6 +108,16 @@ static TranslatorMap const build_translator()
 }
 
 
+/// pretty arbitrary dimensions
+InsetBase::InsetBase(): dim_(10, 10, 10), background_color_(LColor::background)
+{}
+
+
+InsetBase::InsetBase(InsetBase const & i)
+: dim_(i.dim_), background_color_(i.background_color_)
+{}
+
+
 std::auto_ptr<InsetBase> InsetBase::clone() const
 {
        std::auto_ptr<InsetBase> b = doClone();
@@ -172,14 +184,14 @@ bool InsetBase::getStatus(LCursor &, FuncRequest const & cmd,
 
 void InsetBase::edit(LCursor &, bool)
 {
-       lyxerr[Debug::INSETS] << BOOST_CURRENT_FUNCTION
+       LYXERR(Debug::INSETS) << BOOST_CURRENT_FUNCTION
                              << ": edit left/right" << std::endl;
 }
 
 
 InsetBase * InsetBase::editXY(LCursor &, int x, int y)
 {
-       lyxerr[Debug::INSETS] << BOOST_CURRENT_FUNCTION
+       LYXERR(Debug::INSETS) << BOOST_CURRENT_FUNCTION
                              << ": x=" << x << " y= " << y
                              << std::endl;
        return this;
@@ -210,13 +222,6 @@ bool InsetBase::idxUpDown(LCursor &, bool) const
 }
 
 
-int InsetBase::plaintext(Buffer const &,
-       odocstream &, OutputParams const &) const
-{
-       return 0;
-}
-
-
 int InsetBase::docbook(Buffer const &,
        odocstream &, OutputParams const &) const
 {
@@ -281,29 +286,31 @@ void InsetBase::metricsMarkers2(Dimension & dim, int framesize) const
 
 void InsetBase::drawMarkers(PainterInfo & pi, int x, int y) const
 {
-       if (!editing(pi.base.bv))
-               return;
+       LColor::color pen_color = editing(pi.base.bv)?
+               LColor::mathframe : LColor::background;
+
        int const t = x + width() - 1;
        int const d = y + descent();
-       pi.pain.line(x, d - 3, x, d, LColor::mathframe);
-       pi.pain.line(t, d - 3, t, d, LColor::mathframe);
-       pi.pain.line(x, d, x + 3, d, LColor::mathframe);
-       pi.pain.line(t - 3, d, t, d, LColor::mathframe);
+       pi.pain.line(x, d - 3, x, d, pen_color);
+       pi.pain.line(t, d - 3, t, d, pen_color);
+       pi.pain.line(x, d, x + 3, d, pen_color);
+       pi.pain.line(t - 3, d, t, d, pen_color);
        setPosCache(pi, x, y);
 }
 
 
 void InsetBase::drawMarkers2(PainterInfo & pi, int x, int y) const
 {
-       if (!editing(pi.base.bv))
-               return;
+       LColor::color pen_color = editing(pi.base.bv)?
+               LColor::mathframe : LColor::background;
+
        drawMarkers(pi, x, y);
        int const t = x + width() - 1;
        int const a = y - ascent();
-       pi.pain.line(x, a + 3, x, a, LColor::mathframe);
-       pi.pain.line(t, a + 3, t, a, LColor::mathframe);
-       pi.pain.line(x, a, x + 3, a, LColor::mathframe);
-       pi.pain.line(t - 3, a, t, a, LColor::mathframe);
+       pi.pain.line(x, a + 3, x, a, pen_color);
+       pi.pain.line(t, a + 3, t, a, pen_color);
+       pi.pain.line(x, a, x + 3, a, pen_color);
+       pi.pain.line(t - 3, a, t, a, pen_color);
        setPosCache(pi, x, y);
 }
 
@@ -314,19 +321,19 @@ bool InsetBase::editing(BufferView * bv) const
 }
 
 
-int InsetBase::xo(BufferView & bv) const
+int InsetBase::xo(BufferView const & bv) const
 {
        return bv.coordCache().getInsets().x(this);
 }
 
 
-int InsetBase::yo(BufferView & bv) const
+int InsetBase::yo(BufferView const & bv) const
 {
        return bv.coordCache().getInsets().y(this);
 }
 
 
-bool InsetBase::covers(BufferView & bv, int x, int y) const
+bool InsetBase::covers(BufferView const & bv, int x, int y) const
 {
        //lyxerr << "InsetBase::covers, x: " << x << " y: " << y
        //      << " xo: " << xo(bv) << " yo: " << yo()
@@ -348,6 +355,18 @@ void InsetBase::dump() const
 }
 
 
+void InsetBase::setBackgroundColor(LColor_color color)
+{
+       background_color_ = color;
+}
+
+
+LColor_color InsetBase::backgroundColor() const
+{
+       return LColor::color(background_color_);
+}
+
+
 /////////////////////////////////////////
 
 bool isEditableInset(InsetBase const * inset)