X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fbufferview_funcs.C;h=26073afe8d1bfd8cac3f41ca3410a6dfd045429b;hb=4148a9244547e7184c1dcc8234e9e62d3143a42c;hp=67782547a678b3ea0ee7f8504da5e655ea0d9375;hpb=6bba977f42b0cde753ac2ffd26f3f9c6b32ba0b6;p=lyx.git diff --git a/src/bufferview_funcs.C b/src/bufferview_funcs.C index 67782547a6..26073afe8d 100644 --- a/src/bufferview_funcs.C +++ b/src/bufferview_funcs.C @@ -1,5 +1,19 @@ +/* This file is part of + * ====================================================== + * + * LyX, The Document Processor + * + * Copyright 1995 Matthias Ettrich + * Copyright 1995-2000 The LyX Team. + * + * ====================================================== */ + #include +#ifdef __GNUG__ +#pragma implementation +#endif + #include "bufferview_funcs.h" #include "LyXView.h" #include "BufferView.h" @@ -13,10 +27,9 @@ #include "lyx_cb.h" #include "layout_forms.h" -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 +42,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 +69,7 @@ void Noun(BufferView * bv) } +#ifndef NEW_INSETS void Margin(BufferView * bv) { if (bv->available()) { @@ -65,6 +80,7 @@ void Margin(BufferView * bv) bv->update(BufferView::SELECT|BufferView::FITCUR|BufferView::CHANGE); } } +#endif void Lang(BufferView * bv, string const & l) @@ -79,6 +95,7 @@ void Lang(BufferView * bv, string const & l) } +#ifndef NEW_INSETS void Melt(BufferView * bv) { if (!bv->available()) return; @@ -90,6 +107,7 @@ void Melt(BufferView * bv) bv->text->MeltFootnoteEnvironment(bv); bv->update(BufferView::SELECT|BufferView::FITCUR|BufferView::CHANGE); } +#endif void Tex(BufferView * bv) @@ -122,7 +140,7 @@ void changeDepth(BufferView * bv, int decInc) void Free(BufferView * bv) { - ToggleAndShow(bv, UserFreeFont()); + ToggleAndShow(bv, UserFreeFont(bv->buffer()->params)); } @@ -149,10 +167,7 @@ void ProhibitInput(BufferView * bv) /* set the cursor to the watch for all forms and the canvas */ XDefineCursor(fl_display, bv->owner()->getForm()->window, cursor); - if (fd_form_paragraph->form_paragraph->visible) - XDefineCursor(fl_display, - fd_form_paragraph->form_paragraph->window, - cursor); + if (fd_form_character->form_character->visible) XDefineCursor(fl_display, fd_form_character->form_character->window, @@ -168,9 +183,7 @@ void AllowInput(BufferView * bv) /* reset the cursor from the watch for all forms and the canvas */ XUndefineCursor(fl_display, bv->owner()->getForm()->window); - if (fd_form_paragraph->form_paragraph->visible) - XUndefineCursor(fl_display, - fd_form_paragraph->form_paragraph->window); + if (fd_form_character->form_character->visible) XUndefineCursor(fl_display, fd_form_character->form_character->window); @@ -227,18 +240,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. - */ -string CurrentState(BufferView * bv) +// Returns the current font and depth as a message. +string const 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 +263,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 +284,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: