]> git.lyx.org Git - lyx.git/blobdiff - src/bufferview_funcs.C
two patches from john
[lyx.git] / src / bufferview_funcs.C
index 065e488036c43571f215c5d114b5f171c6b2a116..7ab2815f37e98e8d186a80d11f2de3586fd7fd98 100644 (file)
 #include "bufferview_funcs.h"
 #include "LyXView.h"
 #include "BufferView.h"
-#include "lyxparagraph.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);
 }
 
 
@@ -90,9 +85,9 @@ void changeDepth(BufferView * bv, LyXText * text, int decInc)
        bv->hideCursor();
        bv->update(bv->text, BufferView::SELECT|BufferView::FITCUR);
        if (decInc >= 0)
-               text->IncDepth(bv);
+               text->incDepth(bv);
        else
-               text->DecDepth(bv);
+               text->decDepth(bv);
        if (text->inset_owner)
            bv->updateInset((Inset *)text->inset_owner, true);
        bv->update(bv->text, BufferView::SELECT|BufferView::FITCUR|BufferView::CHANGE);
@@ -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;
 
@@ -209,15 +168,15 @@ string const CurrentState(BufferView * bv)
                      << font.stateText(&buffer->params);
                
                // The paragraph depth
-               int depth = text->GetDepth();
+               int depth = text->getDepth();
                if (depth > 0)
                        state << _(", Depth: ") << depth;
                
                // The paragraph spacing, but only if different from
                // buffer spacing.
-               if (!text->cursor.par()->params.spacing().isDefault()) {
+               if (!text->cursor.par()->params().spacing().isDefault()) {
                        Spacing::Space cur_space =
-                               text->cursor.par()->params.spacing().getSpace();
+                               text->cursor.par()->params().spacing().getSpace();
                        state << _(", Spacing: ");
 
                        switch (cur_space) {
@@ -233,7 +192,7 @@ string const CurrentState(BufferView * bv)
                                break;
                        case Spacing::Other:
                                state << _("Other (")
-                                     << text->cursor.par()->params.spacing().getValue()
+                                     << text->cursor.par()->params().spacing().getValue()
                                      << ")";
                                break;
                        case Spacing::Default:
@@ -241,6 +200,9 @@ string const CurrentState(BufferView * bv)
                                break;
                        }
                }
+#if 1
+               state << _(", Paragraph: ") << text->cursor.par()->id();
+#endif
        }
        return state.str().c_str();
 }
@@ -249,11 +211,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();
@@ -262,19 +224,17 @@ void ToggleAndShow(BufferView * bv, LyXFont const & font, bool toggleall)
 
                bv->hideCursor();
                bv->update(text, BufferView::SELECT|BufferView::FITCUR);
-               text->ToggleFree(bv, font, toggleall);
+               text->toggleFree(bv, font, 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());
+                       text->computeBidiTables(bv->buffer(), cursor.row());
                        if (cursor.boundary() != 
-                           text->IsBoundary(bv->buffer(), cursor.par(), cursor.pos(),
+                           text->isBoundary(bv->buffer(), cursor.par(), cursor.pos(),
                                             text->real_current_font) )
-                               text->SetCursor(bv, cursor.par(), cursor.pos(),
+                               text->setCursor(bv, cursor.par(), cursor.pos(),
                                                false, !cursor.boundary());
                }
        }