]> git.lyx.org Git - lyx.git/blobdiff - src/bufferview_funcs.C
layout as string
[lyx.git] / src / bufferview_funcs.C
index 117f28bad506da2c0841d9ecaf79f23d573b0697..308c4dc796e7bf18b840c71cc4ae1d0aec7014b7 100644 (file)
 #include "BufferView.h"
 #include "paragraph.h"
 #include "lyxfont.h"
-#include "lyx_gui_misc.h"
 #include "lyxtext.h"
 #include "buffer.h"
-#include "support/lstrings.h"
 #include "lyx_cb.h"
 #include "language.h"
 #include "gettext.h"
 #include "ParagraphParameters.h"
+#include "lyxtextclasslist.h"
+
+#include "frontends/Alert.h"
+
+#include "support/lstrings.h"
 
-void Emph(BufferView * bv)
+void emph(BufferView * bv)
 {
        LyXFont font(LyXFont::ALL_IGNORE);
        font.setEmph(LyXFont::TOGGLE);
-       ToggleAndShow(bv, font);
+       toggleAndShow(bv, font);
 }
 
 
-void Bold(BufferView * bv)
+void bold(BufferView * bv)
 {
        LyXFont font(LyXFont::ALL_IGNORE);
        font.setSeries(LyXFont::BOLD_SERIES);
-       ToggleAndShow(bv, font);
+       toggleAndShow(bv, font);
 }
 
 
-void Noun(BufferView * bv)
+void noun(BufferView * bv)
 {
        LyXFont font(LyXFont::ALL_IGNORE);
        font.setNoun(LyXFont::TOGGLE);
-       ToggleAndShow(bv, font);
+       toggleAndShow(bv, font);
 }
 
 
-void Number(BufferView * bv)
+void number(BufferView * bv)
 {
        LyXFont font(LyXFont::ALL_IGNORE);
        font.setNumber(LyXFont::TOGGLE);
-       ToggleAndShow(bv, font);
+       toggleAndShow(bv, font);
 }
 
-void Lang(BufferView * bv, string const & l)
+void lang(BufferView * bv, string const & l)
 {
        LyXFont font(LyXFont::ALL_IGNORE);
        Language const * lang = languages.getLanguage(l);
        if (lang) {
                font.setLanguage(lang);
-               ToggleAndShow(bv, font);
+               toggleAndShow(bv, font);
        } else
-               WriteAlert(_("Error! unknown language"),l);
-}
-
-
-void Tex(BufferView * bv)
-{
-       LyXFont font(LyXFont::ALL_IGNORE);
-       font.setLatex (LyXFont::TOGGLE);
-       ToggleAndShow(bv, font);
+               Alert::alert(_("Error! unknown language"),l);
 }
 
 
@@ -101,95 +96,59 @@ void changeDepth(BufferView * bv, LyXText * text, int decInc)
 }
 
 
-// How should this actually work? Should it prohibit input in all BufferViews,
-// or just in the current one? If "just the current one", then it should be
-// placed in BufferView. If "all BufferViews" then LyXGUI (I think) should
-// run "ProhibitInput" on all LyXViews which will run prohibitInput on all
-// BufferViews. Or is it perhaps just the (input in) BufferViews in the
-// current LyxView that should be prohibited (Lgb) (This applies to
-// "AllowInput" as well.)
-void ProhibitInput(BufferView * bv)
-{
-       bv->hideCursor();
-
-       static Cursor cursor;
-       static bool cursor_undefined = true;
-   
-       if (cursor_undefined){
-               cursor = XCreateFontCursor(fl_get_display(), XC_watch);
-               XFlush(fl_get_display());
-               cursor_undefined = false;
-       }
-   
-       /* set the cursor to the watch for all forms and the canvas */ 
-       XDefineCursor(fl_get_display(), bv->owner()->getForm()->window, 
-                     cursor);
-
-       XFlush(fl_get_display());
-       fl_deactivate_all_forms();
-}
-
-
-void AllowInput(BufferView * bv)
-{
-       /* reset the cursor from the watch for all forms and the canvas */
-   
-       XUndefineCursor(fl_get_display(), bv->owner()->getForm()->window);
-
-       XFlush(fl_get_display());
-       fl_activate_all_forms();
-}
-
-
-void Code(BufferView * bv)
+void code(BufferView * bv)
 {
        LyXFont font(LyXFont::ALL_IGNORE);
        font.setFamily(LyXFont::TYPEWRITER_FAMILY); // no good
-       ToggleAndShow(bv, font);
+       toggleAndShow(bv, font);
 }
 
 
-void Sans(BufferView * bv)
+void sans(BufferView * bv)
 {
        LyXFont font(LyXFont::ALL_IGNORE);
        font.setFamily(LyXFont::SANS_FAMILY);
-       ToggleAndShow(bv, font);
+       toggleAndShow(bv, font);
 }
 
 
-void Roman(BufferView * bv)
+void roman(BufferView * bv)
 {
        LyXFont font(LyXFont::ALL_IGNORE);
        font.setFamily(LyXFont::ROMAN_FAMILY);
-       ToggleAndShow(bv, font);
+       toggleAndShow(bv, font);
 }
 
 
-void StyleReset(BufferView * bv)
+void styleReset(BufferView * bv)
 {
+#ifndef INHERIT_LANG
        LyXFont font(LyXFont::ALL_INHERIT, ignore_language);
-       ToggleAndShow(bv, font);
+#else 
+       LyXFont font(LyXFont::ALL_INHERIT);
+#endif
+       toggleAndShow(bv, font);
 }
 
 
-void Underline(BufferView * bv)
+void underline(BufferView * bv)
 {
        LyXFont font(LyXFont::ALL_IGNORE);
        font.setUnderbar(LyXFont::TOGGLE);
-       ToggleAndShow(bv, font);
+       toggleAndShow(bv, font);
 }
 
 
-void FontSize(BufferView * bv, string const & size)
+void fontSize(BufferView * bv, string const & size)
 {
        LyXFont font(LyXFont::ALL_IGNORE);
        font.setLyXSize(size);
-       ToggleAndShow(bv, font);
+       toggleAndShow(bv, font);
 }
 
 
 // Returns the current font and depth as a message. 
-string const CurrentState(BufferView * bv)
+string const currentState(BufferView * bv)
 {
        ostringstream state;
 
@@ -200,9 +159,7 @@ string const CurrentState(BufferView * bv)
                Buffer * buffer = bv->buffer();
                LyXFont font = text->real_current_font;
                LyXFont const & defaultfont =
-                       textclasslist
-                       .TextClass(buffer->params.textclass)
-                       .defaultfont();
+                       textclasslist[buffer->params.textclass].defaultfont();
                font.reduce(defaultfont);
 
                state << _("Font:") << ' '
@@ -241,6 +198,9 @@ string const CurrentState(BufferView * bv)
                                break;
                        }
                }
+#if 1
+               state << _(", Paragraph: ") << text->cursor.par()->id();
+#endif
        }
        return state.str().c_str();
 }
@@ -249,11 +209,11 @@ string const CurrentState(BufferView * bv)
 /* -------> Does the actual toggle job of the XxxCB() calls above.
  * Also shows the current font state.
  */
-void ToggleAndShow(BufferView * bv, LyXFont const & font, bool toggleall)
+void toggleAndShow(BufferView * bv, LyXFont const & font, bool toggleall)
 {
        if (bv->available()) { 
                if (bv->theLockingInset()) {
-                       bv->theLockingInset()->SetFont(bv, font, toggleall);
+                       bv->theLockingInset()->setFont(bv, font, toggleall);
                        return;
                }
                LyXText * text = bv->getLyXText();
@@ -266,14 +226,12 @@ void ToggleAndShow(BufferView * bv, LyXFont const & font, bool toggleall)
                bv->update(text, BufferView::SELECT|BufferView::FITCUR|BufferView::CHANGE);
 
                if (font.language() != ignore_language ||
-                   font.latex() != LyXFont::IGNORE ||
-                   font.number() != LyXFont::IGNORE)
-               {
+                   font.number() != LyXFont::IGNORE) {
                        LyXCursor & cursor = text->cursor;
                        text->computeBidiTables(bv->buffer(), cursor.row());
                        if (cursor.boundary() != 
                            text->isBoundary(bv->buffer(), cursor.par(), cursor.pos(),
-                                            text->real_current_font) )
+                                            text->real_current_font))
                                text->setCursor(bv, cursor.par(), cursor.pos(),
                                                false, !cursor.boundary());
                }