]> git.lyx.org Git - features.git/blobdiff - src/bufferview_funcs.C
Dekel language/encoding patch + a few fixes
[features.git] / src / bufferview_funcs.C
index 8d68fc7456fe4aa18b9b89c606707880f52fb7b7..2888c2a573970c4a55503476774273fa5ddabc25 100644 (file)
@@ -27,7 +27,6 @@
 #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
@@ -83,13 +82,19 @@ void Margin(BufferView * bv)
 }
 #endif
 
+void Number(BufferView * bv)
+{
+       LyXFont font(LyXFont::ALL_IGNORE);
+       font.setNumber(LyXFont::TOGGLE);
+       ToggleAndShow(bv, font);
+}
 
 void Lang(BufferView * bv, string const & l)
 {
        LyXFont font(LyXFont::ALL_IGNORE);
-       Languages::iterator lit = languages.find(l);
-       if (lit != languages.end()) {
-               font.setLanguage(&(*lit).second);
+       Language const * lang = languages.getLanguage(l);
+       if (lang) {
+               font.setLanguage(lang);
                ToggleAndShow(bv, font);
        } else
                WriteAlert(_("Error! unknown language"),l);
@@ -168,10 +173,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,
@@ -187,9 +189,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);
@@ -247,7 +247,7 @@ void FontSize(BufferView * bv, string const & size)
 
 
 // Returns the current font and depth as a message. 
-string CurrentState(BufferView * bv)
+string const CurrentState(BufferView * bv)
 {
        string state;
        if (bv->available()) { 
@@ -255,8 +255,8 @@ string CurrentState(BufferView * bv)
                // font. (Asger)
                LyXText *text = 0;
 
-               if (bv->the_locking_inset)
-                   text = bv->the_locking_inset->getLyXText(bv);
+               if (bv->theLockingInset())
+                   text = bv->theLockingInset()->getLyXText(bv);
                if (!text)
                    text = bv->text;
 
@@ -311,14 +311,15 @@ void ToggleAndShow(BufferView * bv, LyXFont const & font)
        if (bv->available()) { 
                bv->hideCursor();
                bv->update(BufferView::SELECT|BufferView::FITCUR);
-               if (bv->the_locking_inset)
-                       bv->the_locking_inset->SetFont(bv, font, toggleall);
+               if (bv->theLockingInset())
+                       bv->theLockingInset()->SetFont(bv, font, toggleall);
                else
                        bv->text->ToggleFree(bv, font, toggleall);
                bv->update(BufferView::SELECT|BufferView::FITCUR|BufferView::CHANGE);
 
                if (font.language() != ignore_language ||
-                   font.latex() != LyXFont::IGNORE) {
+                   font.latex() != LyXFont::IGNORE ||
+                   font.number() != LyXFont::IGNORE) {
                        LyXText * text = bv->text;
                        LyXCursor & cursor = text->cursor;
                        text->ComputeBidiTables(bv->buffer(), cursor.row());