]> git.lyx.org Git - lyx.git/blobdiff - src/bufferview_funcs.C
citation patch from Angus
[lyx.git] / src / bufferview_funcs.C
index 74fb3de3878875ead3a59d46d8b28ca4ccdc04c0..8d68fc7456fe4aa18b9b89c606707880f52fb7b7 100644 (file)
@@ -1,5 +1,19 @@
+/* This file is part of
+ * ====================================================== 
+ * 
+ *           LyX, The Document Processor
+ *        
+ *           Copyright 1995 Matthias Ettrich
+ *           Copyright 1995-2000 The LyX Team.
+ *
+ * ====================================================== */
+
 #include <config.h>
 
+#ifdef __GNUG__
+#pragma implementation
+#endif
+
 #include "bufferview_funcs.h"
 #include "LyXView.h"
 #include "BufferView.h"
@@ -16,7 +30,7 @@
 extern FD_form_paragraph * fd_form_paragraph;
 extern FD_form_character * fd_form_character;
 
-
+#ifndef NEW_INSETS
 void Foot(BufferView * bv)
 {
        if (!bv->available()) 
@@ -29,6 +43,7 @@ void Foot(BufferView * bv)
        bv->text->InsertFootnoteEnvironment(bv, LyXParagraph::FOOTNOTE);
        bv->update(BufferView::SELECT|BufferView::FITCUR|BufferView::CHANGE);
 }
+#endif
 
 
 void Emph(BufferView * bv)
@@ -55,6 +70,7 @@ void Noun(BufferView * bv)
 }
 
 
+#ifndef NEW_INSETS
 void Margin(BufferView * bv)
 {
        if (bv->available()) {
@@ -65,6 +81,7 @@ void Margin(BufferView * bv)
                bv->update(BufferView::SELECT|BufferView::FITCUR|BufferView::CHANGE);
        }
 }
+#endif
 
 
 void Lang(BufferView * bv, string const & l)
@@ -79,6 +96,7 @@ void Lang(BufferView * bv, string const & l)
 }
 
 
+#ifndef NEW_INSETS
 void Melt(BufferView * bv)
 {
        if (!bv->available()) return;
@@ -90,6 +108,7 @@ void Melt(BufferView * bv)
        bv->text->MeltFootnoteEnvironment(bv);
        bv->update(BufferView::SELECT|BufferView::FITCUR|BufferView::CHANGE);
 }
+#endif
 
 
 void Tex(BufferView * bv)
@@ -227,18 +246,22 @@ void FontSize(BufferView * bv, string const & size)
 }
 
 
-/* -------> Returns the current font and depth by printing a message. In the
- * future perhaps we could try to implement a callback to the button-bar.
- * That is, `light' the bold button when the font is currently bold, etc.
- */
+// Returns the current font and depth as a message. 
 string CurrentState(BufferView * bv)
 {
        string state;
        if (bv->available()) { 
                // I think we should only show changes from the default
                // font. (Asger)
+               LyXText *text = 0;
+
+               if (bv->the_locking_inset)
+                   text = bv->the_locking_inset->getLyXText(bv);
+               if (!text)
+                   text = bv->text;
+
                Buffer * buffer = bv->buffer();
-               LyXFont font = bv->text->real_current_font;
+               LyXFont font = text->real_current_font;
                LyXFont const & defaultfont =
                        textclasslist
                        .TextClass(buffer->params.textclass)
@@ -246,14 +269,14 @@ string CurrentState(BufferView * bv)
                font.reduce(defaultfont);
                state = _("Font: ") + font.stateText(&buffer->params);
                // The paragraph depth
-               int depth = bv->text->GetDepth();
+               int depth = text->GetDepth();
                if (depth > 0) 
                        state += string(_(", Depth: ")) + tostr(depth);
                // The paragraph spacing, but only if different from
                // buffer spacing.
-               if (!bv->text->cursor.par()->spacing.isDefault()) {
+               if (!text->cursor.par()->spacing.isDefault()) {
                        Spacing::Space cur_space =
-                               bv->text->cursor.par()->spacing.getSpace();
+                               text->cursor.par()->spacing.getSpace();
                        state += _(", Spacing: ");
                        switch (cur_space) {
                        case Spacing::Single:
@@ -267,7 +290,7 @@ string CurrentState(BufferView * bv)
                                break;
                        case Spacing::Other:
                                state += _("Other (");
-                               state += tostr(bv->text->cursor.par()->spacing.getValue());
+                               state += tostr(text->cursor.par()->spacing.getValue());
                                state += ")";
                                break;
                        case Spacing::Default: