]> git.lyx.org Git - lyx.git/blobdiff - src/ParagraphExtra.C
citation patch from Angus
[lyx.git] / src / ParagraphExtra.C
index 68556bd83ceecc5f3e49aa97ffd3e04dda43ee77..b2d2a97d6acb506d270f13360c041ab41120c64a 100644 (file)
 #include "lyxparagraph.h"
 #include "gettext.h"
 #include "lyxtext.h"
+#include "LyXView.h"
 
 extern FD_form_paragraph_extra * fd_form_paragraph_extra;
-extern MiniBuffer * minibuffer;
 extern BufferView * current_view;
-extern void BeforeChange();
 static bool CheckInputWidth();
 
-inline void DeactivateParagraphExtraButtons ()
+inline
+void DeactivateParagraphExtraButtons ()
 {
        fl_deactivate_object(fd_form_paragraph_extra->button_ok);
        fl_deactivate_object(fd_form_paragraph_extra->button_apply);
@@ -27,7 +27,8 @@ inline void DeactivateParagraphExtraButtons ()
        fl_set_object_lcol(fd_form_paragraph_extra->button_apply, FL_INACTIVE);
 }
 
-inline void ActivateParagraphExtraButtons ()
+inline
+void ActivateParagraphExtraButtons ()
 {
        fl_activate_object(fd_form_paragraph_extra->button_ok);
        fl_activate_object(fd_form_paragraph_extra->button_apply);
@@ -35,7 +36,8 @@ inline void ActivateParagraphExtraButtons ()
        fl_set_object_lcol(fd_form_paragraph_extra->button_apply, FL_BLACK);
 }
 
-inline void DisableParagraphExtra ()
+inline
+void DisableParagraphExtra ()
 {
         DeactivateParagraphExtraButtons();
        fl_deactivate_object(fd_form_paragraph_extra->input_pextra_width);
@@ -53,7 +55,8 @@ inline void DisableParagraphExtra ()
        fl_deactivate_object(fd_form_paragraph_extra->radio_pextra_startmp);
 }      
 
-inline void EnableParagraphExtra ()
+inline
+void EnableParagraphExtra ()
 {
         ActivateParagraphExtraButtons();
        fl_activate_object(fd_form_paragraph_extra->input_pextra_width);
@@ -71,256 +74,247 @@ inline void EnableParagraphExtra ()
        fl_activate_object(fd_form_paragraph_extra->radio_pextra_startmp);
 }      
 
+
 bool UpdateParagraphExtra()
 {
-    bool update = false;
-    if (current_view->getScreen() && current_view->available()) {
-        update = true;
-#ifdef MOVE_TEXT
-        LyXParagraph * par = current_view->text->cursor.par;
-#else
-        LyXParagraph * par = current_view->buffer()->text->cursor.par;
-#endif
+       bool update = false;
+       if (current_view->available()) {
+               update = true;
+               LyXParagraph * par = current_view->text->cursor.par();
 
-       EnableParagraphExtra();
+               EnableParagraphExtra();
 
-        fl_activate_object(fd_form_paragraph_extra->input_pextra_width);
-        fl_activate_object(fd_form_paragraph_extra->input_pextra_widthp);
-        fl_set_input(fd_form_paragraph_extra->input_pextra_width,
-                     par->pextra_width.c_str());
-        fl_set_input(fd_form_paragraph_extra->input_pextra_widthp,
-                     par->pextra_widthp.c_str());
-        switch(par->pextra_alignment) {
-          case LyXParagraph::MINIPAGE_ALIGN_TOP:
-            fl_set_button(fd_form_paragraph_extra->radio_pextra_top, 1);
-            break;
-          case LyXParagraph::MINIPAGE_ALIGN_MIDDLE:
-            fl_set_button(fd_form_paragraph_extra->radio_pextra_middle, 1);
-            break;
-          case LyXParagraph::MINIPAGE_ALIGN_BOTTOM:
-            fl_set_button(fd_form_paragraph_extra->radio_pextra_bottom, 1);
-            break;
-        }
-        fl_set_button(fd_form_paragraph_extra->radio_pextra_hfill,
-                      par->pextra_hfill);
-        fl_set_button(fd_form_paragraph_extra->radio_pextra_startmp,
-                      par->pextra_start_minipage);
-        CheckInputWidth();
-        if (par->pextra_type == LyXParagraph::PEXTRA_INDENT) {
-            fl_set_button(fd_form_paragraph_extra->radio_pextra_indent, 1);
-            fl_set_button(fd_form_paragraph_extra->radio_pextra_minipage, 0);
-            fl_set_button(fd_form_paragraph_extra->radio_pextra_floatflt, 0);
-            fl_deactivate_object(fd_form_paragraph_extra->radio_pextra_top);
-            fl_deactivate_object(fd_form_paragraph_extra->radio_pextra_middle);
-            fl_deactivate_object(fd_form_paragraph_extra->radio_pextra_bottom);
-        } else if (par->pextra_type == LyXParagraph::PEXTRA_MINIPAGE) {
-            fl_set_button(fd_form_paragraph_extra->radio_pextra_indent, 0);
-            fl_set_button(fd_form_paragraph_extra->radio_pextra_minipage, 1);
-            fl_set_button(fd_form_paragraph_extra->radio_pextra_floatflt, 0);
-            fl_activate_object(fd_form_paragraph_extra->radio_pextra_top);
-            fl_activate_object(fd_form_paragraph_extra->radio_pextra_middle);
-            fl_activate_object(fd_form_paragraph_extra->radio_pextra_bottom);
-        } else if (par->pextra_type == LyXParagraph::PEXTRA_FLOATFLT) {
-            fl_set_button(fd_form_paragraph_extra->radio_pextra_indent, 0);
-            fl_set_button(fd_form_paragraph_extra->radio_pextra_minipage, 0);
-            fl_set_button(fd_form_paragraph_extra->radio_pextra_floatflt, 1);
-            fl_deactivate_object(fd_form_paragraph_extra->radio_pextra_top);
-            fl_deactivate_object(fd_form_paragraph_extra->radio_pextra_middle);
-            fl_deactivate_object(fd_form_paragraph_extra->radio_pextra_bottom);
-        } else {
-            fl_set_button(fd_form_paragraph_extra->radio_pextra_indent, 0);
-            fl_set_button(fd_form_paragraph_extra->radio_pextra_minipage, 0);
-            fl_deactivate_object(fd_form_paragraph_extra->input_pextra_width);
-            fl_deactivate_object(fd_form_paragraph_extra->input_pextra_widthp);
-            fl_deactivate_object(fd_form_paragraph_extra->radio_pextra_top);
-            fl_deactivate_object(fd_form_paragraph_extra->radio_pextra_middle);
-            fl_deactivate_object(fd_form_paragraph_extra->radio_pextra_bottom);
-        }
-        if (par->pextra_type == LyXParagraph::PEXTRA_NONE)
-            ActivateParagraphExtraButtons();
-    }
-    fl_hide_object(fd_form_paragraph_extra->text_warning);
+               fl_activate_object(fd_form_paragraph_extra->input_pextra_width);
+               fl_activate_object(fd_form_paragraph_extra->input_pextra_widthp);
+               fl_set_input(fd_form_paragraph_extra->input_pextra_width,
+                            par->pextra_width.c_str());
+               fl_set_input(fd_form_paragraph_extra->input_pextra_widthp,
+                            par->pextra_widthp.c_str());
+               switch(par->pextra_alignment) {
+               case LyXParagraph::MINIPAGE_ALIGN_TOP:
+                       fl_set_button(fd_form_paragraph_extra->radio_pextra_top, 1);
+                       break;
+               case LyXParagraph::MINIPAGE_ALIGN_MIDDLE:
+                       fl_set_button(fd_form_paragraph_extra->radio_pextra_middle, 1);
+                       break;
+               case LyXParagraph::MINIPAGE_ALIGN_BOTTOM:
+                       fl_set_button(fd_form_paragraph_extra->radio_pextra_bottom, 1);
+                       break;
+               }
+               fl_set_button(fd_form_paragraph_extra->radio_pextra_hfill,
+                             par->pextra_hfill);
+               fl_set_button(fd_form_paragraph_extra->radio_pextra_startmp,
+                             par->pextra_start_minipage);
+               CheckInputWidth();
+               if (par->pextra_type == LyXParagraph::PEXTRA_INDENT) {
+                       fl_set_button(fd_form_paragraph_extra->radio_pextra_indent, 1);
+                       fl_set_button(fd_form_paragraph_extra->radio_pextra_minipage, 0);
+                       fl_set_button(fd_form_paragraph_extra->radio_pextra_floatflt, 0);
+                       fl_deactivate_object(fd_form_paragraph_extra->radio_pextra_top);
+                       fl_deactivate_object(fd_form_paragraph_extra->radio_pextra_middle);
+                       fl_deactivate_object(fd_form_paragraph_extra->radio_pextra_bottom);
+               } else if (par->pextra_type == LyXParagraph::PEXTRA_MINIPAGE) {
+                       fl_set_button(fd_form_paragraph_extra->radio_pextra_indent, 0);
+                       fl_set_button(fd_form_paragraph_extra->radio_pextra_minipage, 1);
+                       fl_set_button(fd_form_paragraph_extra->radio_pextra_floatflt, 0);
+                       fl_activate_object(fd_form_paragraph_extra->radio_pextra_top);
+                       fl_activate_object(fd_form_paragraph_extra->radio_pextra_middle);
+                       fl_activate_object(fd_form_paragraph_extra->radio_pextra_bottom);
+               } else if (par->pextra_type == LyXParagraph::PEXTRA_FLOATFLT) {
+                       fl_set_button(fd_form_paragraph_extra->radio_pextra_indent, 0);
+                       fl_set_button(fd_form_paragraph_extra->radio_pextra_minipage, 0);
+                       fl_set_button(fd_form_paragraph_extra->radio_pextra_floatflt, 1);
+                       fl_deactivate_object(fd_form_paragraph_extra->radio_pextra_top);
+                       fl_deactivate_object(fd_form_paragraph_extra->radio_pextra_middle);
+                       fl_deactivate_object(fd_form_paragraph_extra->radio_pextra_bottom);
+               } else {
+                       fl_set_button(fd_form_paragraph_extra->radio_pextra_indent, 0);
+                       fl_set_button(fd_form_paragraph_extra->radio_pextra_minipage, 0);
+                       fl_deactivate_object(fd_form_paragraph_extra->input_pextra_width);
+                       fl_deactivate_object(fd_form_paragraph_extra->input_pextra_widthp);
+                       fl_deactivate_object(fd_form_paragraph_extra->radio_pextra_top);
+                       fl_deactivate_object(fd_form_paragraph_extra->radio_pextra_middle);
+                       fl_deactivate_object(fd_form_paragraph_extra->radio_pextra_bottom);
+               }
+               if (par->pextra_type == LyXParagraph::PEXTRA_NONE)
+                       ActivateParagraphExtraButtons();
+       }
+       fl_hide_object(fd_form_paragraph_extra->text_warning);
 
-    if (current_view->buffer()->isReadonly()) {
-      DisableParagraphExtra();
-      fl_set_object_label(fd_form_paragraph_extra->text_warning,
-                         _("Document is read-only. "
-                           "No changes to layout permitted."));
-      fl_show_object(fd_form_paragraph_extra->text_warning);
-    }
-    if (!update && fd_form_paragraph_extra->form_paragraph_extra->visible) {
-      fl_hide_form(fd_form_paragraph_extra->form_paragraph_extra);
-    }
-    return update;
+       if (current_view->buffer()->isReadonly()) {
+               DisableParagraphExtra();
+               fl_set_object_label(fd_form_paragraph_extra->text_warning,
+                                   _("Document is read-only. "
+                                     "No changes to layout permitted."));
+               fl_show_object(fd_form_paragraph_extra->text_warning);
+       }
+       if (!update && fd_form_paragraph_extra->form_paragraph_extra->visible) {
+               fl_hide_form(fd_form_paragraph_extra->form_paragraph_extra);
+       }
+       return update;
 }
 
 
 void ParagraphExtraOpen(FL_OBJECT *, long)
 {
-    if (UpdateParagraphExtra()) {
-        if (fd_form_paragraph_extra->form_paragraph_extra->visible) {
-            fl_raise_form(fd_form_paragraph_extra->form_paragraph_extra);
-        } else {
-            fl_show_form(fd_form_paragraph_extra->form_paragraph_extra,
-                         FL_PLACE_MOUSE, FL_FULLBORDER,
-                         _("ParagraphExtra Layout"));
-        }
-    }
+       if (UpdateParagraphExtra()) {
+               if (fd_form_paragraph_extra->form_paragraph_extra->visible) {
+                       fl_raise_form(fd_form_paragraph_extra->form_paragraph_extra);
+               } else {
+                       fl_show_form(fd_form_paragraph_extra->form_paragraph_extra,
+                                    FL_PLACE_MOUSE, FL_FULLBORDER,
+                                    _("ParagraphExtra Layout"));
+               }
+       }
 }
 
 
 void ParagraphExtraApplyCB(FL_OBJECT *, long)
 {
-    if (current_view->getScreen() && current_view->available()) {
-        FD_form_paragraph_extra const * fd = fd_form_paragraph_extra;
-        char const * width = fl_get_input(fd->input_pextra_width);
-        char const * widthp = fl_get_input(fd->input_pextra_widthp);
-#ifdef MOVE_TEXT
-        LyXText * text = current_view->text;
-#else
-        LyXText * text = current_view->buffer()->text;
-#endif
-        int type = LyXParagraph::PEXTRA_NONE;
-       LyXParagraph::MINIPAGE_ALIGNMENT alignment =
-               LyXParagraph::MINIPAGE_ALIGN_TOP;
-        bool
-            hfill = false,
-            start_minipage = false;
+       if (current_view->available()) {
+               FD_form_paragraph_extra const * fd = fd_form_paragraph_extra;
+               char const * width = fl_get_input(fd->input_pextra_width);
+               char const * widthp = fl_get_input(fd->input_pextra_widthp);
+               LyXText * text = current_view->text;
+               int type = LyXParagraph::PEXTRA_NONE;
+               LyXParagraph::MINIPAGE_ALIGNMENT alignment =
+                       LyXParagraph::MINIPAGE_ALIGN_TOP;
+               bool
+                       hfill = false,
+                       start_minipage = false;
 
-        if (fl_get_button(fd_form_paragraph_extra->radio_pextra_indent)) {
-            type = LyXParagraph::PEXTRA_INDENT;
-        } else if (fl_get_button(fd_form_paragraph_extra->radio_pextra_minipage)) {
-            type = LyXParagraph::PEXTRA_MINIPAGE;
-            hfill = fl_get_button(fd_form_paragraph_extra->radio_pextra_hfill);
-            start_minipage = 
-                fl_get_button(fd_form_paragraph_extra->radio_pextra_startmp);
-            if (fl_get_button(fd_form_paragraph_extra->radio_pextra_top))
-                alignment = LyXParagraph::MINIPAGE_ALIGN_TOP;
-            else if (fl_get_button(fd_form_paragraph_extra->radio_pextra_middle))
-                alignment = LyXParagraph::MINIPAGE_ALIGN_MIDDLE;
-            else if (fl_get_button(fd_form_paragraph_extra->radio_pextra_bottom))
-                alignment = LyXParagraph::MINIPAGE_ALIGN_BOTTOM;
-        } else if (fl_get_button(fd_form_paragraph_extra->radio_pextra_floatflt)) {
-            type = LyXParagraph::PEXTRA_FLOATFLT;
-        }
-        text->SetParagraphExtraOpt(type, width, widthp, alignment, hfill,
-                                   start_minipage);
-#ifdef MOVE_TEXT
-       current_view->update(1);
-#else
-       current_view->buffer()->update(1);
-#endif
-       minibuffer->Set(_("ParagraphExtra layout set"));
-    }
-    return;
+               if (fl_get_button(fd_form_paragraph_extra->radio_pextra_indent)) {
+                       type = LyXParagraph::PEXTRA_INDENT;
+               } else if (fl_get_button(fd_form_paragraph_extra->radio_pextra_minipage)) {
+                       type = LyXParagraph::PEXTRA_MINIPAGE;
+                       hfill = fl_get_button(fd_form_paragraph_extra->radio_pextra_hfill);
+                       start_minipage = 
+                               fl_get_button(fd_form_paragraph_extra->radio_pextra_startmp);
+                       if (fl_get_button(fd_form_paragraph_extra->radio_pextra_top))
+                               alignment = LyXParagraph::MINIPAGE_ALIGN_TOP;
+                       else if (fl_get_button(fd_form_paragraph_extra->radio_pextra_middle))
+                               alignment = LyXParagraph::MINIPAGE_ALIGN_MIDDLE;
+                       else if (fl_get_button(fd_form_paragraph_extra->radio_pextra_bottom))
+                               alignment = LyXParagraph::MINIPAGE_ALIGN_BOTTOM;
+               } else if (fl_get_button(fd_form_paragraph_extra->radio_pextra_floatflt)) {
+                       type = LyXParagraph::PEXTRA_FLOATFLT;
+               }
+               text->SetParagraphExtraOpt(current_view, type, width, widthp, alignment, hfill,
+                                          start_minipage);
+               current_view->update(BufferView::SELECT|BufferView::FITCUR|BufferView::CHANGE);
+               current_view->owner()->getMiniBuffer()->
+                       Set(_("ParagraphExtra layout set"));
+       }
+       return;
 }
 
 
 void ParagraphExtraCancelCB(FL_OBJECT *, long)
 {
-    fl_hide_form(fd_form_paragraph_extra->form_paragraph_extra);
+       fl_hide_form(fd_form_paragraph_extra->form_paragraph_extra);
 }
 
 
 void ParagraphExtraOKCB(FL_OBJECT * ob, long data)
 {
-    ParagraphExtraCancelCB(ob, data);
-    ParagraphExtraApplyCB(ob, data);
+       ParagraphExtraCancelCB(ob, data);
+       ParagraphExtraApplyCB(ob, data);
 }
 
 
 void CheckPExtraOptCB(FL_OBJECT * ob, long)
 {
-    ActivateParagraphExtraButtons();
-    CheckInputWidth();
-    if (ob == fd_form_paragraph_extra->radio_pextra_indent) {
-        int n = fl_get_button(fd_form_paragraph_extra->radio_pextra_indent);
-        if (n) {
-            fl_set_button(fd_form_paragraph_extra->radio_pextra_minipage, 0);
-            fl_set_button(fd_form_paragraph_extra->radio_pextra_floatflt, 0);
-            fl_activate_object(fd_form_paragraph_extra->input_pextra_width);
-            fl_activate_object(fd_form_paragraph_extra->input_pextra_widthp);
-            fl_deactivate_object(fd_form_paragraph_extra->radio_pextra_top);
-            fl_deactivate_object(fd_form_paragraph_extra->radio_pextra_middle);
-            fl_deactivate_object(fd_form_paragraph_extra->radio_pextra_bottom);
-        } else {
-            fl_deactivate_object(fd_form_paragraph_extra->input_pextra_width);
-            fl_deactivate_object(fd_form_paragraph_extra->input_pextra_widthp);
-            ActivateParagraphExtraButtons();
-        }
-    } else if (ob == fd_form_paragraph_extra->radio_pextra_minipage) {
-        int n = fl_get_button(fd_form_paragraph_extra->radio_pextra_minipage);
-        if (n) {
-            fl_set_button(fd_form_paragraph_extra->radio_pextra_indent, 0);
-            fl_set_button(fd_form_paragraph_extra->radio_pextra_floatflt, 0);
-            fl_activate_object(fd_form_paragraph_extra->input_pextra_width);
-            fl_activate_object(fd_form_paragraph_extra->input_pextra_widthp);
-            fl_activate_object(fd_form_paragraph_extra->radio_pextra_top);
-            fl_activate_object(fd_form_paragraph_extra->radio_pextra_middle);
-            fl_activate_object(fd_form_paragraph_extra->radio_pextra_bottom);
-        } else {
-            fl_deactivate_object(fd_form_paragraph_extra->input_pextra_width);
-            fl_deactivate_object(fd_form_paragraph_extra->input_pextra_widthp);
-            fl_deactivate_object(fd_form_paragraph_extra->radio_pextra_top);
-            fl_deactivate_object(fd_form_paragraph_extra->radio_pextra_middle);
-            fl_deactivate_object(fd_form_paragraph_extra->radio_pextra_bottom);
-            ActivateParagraphExtraButtons();
-        }
-    } else if (ob == fd_form_paragraph_extra->radio_pextra_floatflt) {
-        int n = fl_get_button(fd_form_paragraph_extra->radio_pextra_floatflt);
-        if (n) {
-            fl_set_button(fd_form_paragraph_extra->radio_pextra_indent, 0);
-            fl_set_button(fd_form_paragraph_extra->radio_pextra_minipage, 0);
-            fl_activate_object(fd_form_paragraph_extra->input_pextra_width);
-            fl_activate_object(fd_form_paragraph_extra->input_pextra_widthp);
-            fl_activate_object(fd_form_paragraph_extra->radio_pextra_top);
-            fl_activate_object(fd_form_paragraph_extra->radio_pextra_middle);
-            fl_activate_object(fd_form_paragraph_extra->radio_pextra_bottom);
-        } else {
-            fl_deactivate_object(fd_form_paragraph_extra->input_pextra_width);
-            fl_deactivate_object(fd_form_paragraph_extra->input_pextra_widthp);
-            fl_deactivate_object(fd_form_paragraph_extra->radio_pextra_top);
-            fl_deactivate_object(fd_form_paragraph_extra->radio_pextra_middle);
-            fl_deactivate_object(fd_form_paragraph_extra->radio_pextra_bottom);
-            ActivateParagraphExtraButtons();
-        }
-    }
-    return;
+       ActivateParagraphExtraButtons();
+       CheckInputWidth();
+       if (ob == fd_form_paragraph_extra->radio_pextra_indent) {
+               int n = fl_get_button(fd_form_paragraph_extra->radio_pextra_indent);
+               if (n) {
+                       fl_set_button(fd_form_paragraph_extra->radio_pextra_minipage, 0);
+                       fl_set_button(fd_form_paragraph_extra->radio_pextra_floatflt, 0);
+                       fl_activate_object(fd_form_paragraph_extra->input_pextra_width);
+                       fl_activate_object(fd_form_paragraph_extra->input_pextra_widthp);
+                       fl_deactivate_object(fd_form_paragraph_extra->radio_pextra_top);
+                       fl_deactivate_object(fd_form_paragraph_extra->radio_pextra_middle);
+                       fl_deactivate_object(fd_form_paragraph_extra->radio_pextra_bottom);
+               } else {
+                       fl_deactivate_object(fd_form_paragraph_extra->input_pextra_width);
+                       fl_deactivate_object(fd_form_paragraph_extra->input_pextra_widthp);
+                       ActivateParagraphExtraButtons();
+               }
+       } else if (ob == fd_form_paragraph_extra->radio_pextra_minipage) {
+               int n = fl_get_button(fd_form_paragraph_extra->radio_pextra_minipage);
+               if (n) {
+                       fl_set_button(fd_form_paragraph_extra->radio_pextra_indent, 0);
+                       fl_set_button(fd_form_paragraph_extra->radio_pextra_floatflt, 0);
+                       fl_activate_object(fd_form_paragraph_extra->input_pextra_width);
+                       fl_activate_object(fd_form_paragraph_extra->input_pextra_widthp);
+                       fl_activate_object(fd_form_paragraph_extra->radio_pextra_top);
+                       fl_activate_object(fd_form_paragraph_extra->radio_pextra_middle);
+                       fl_activate_object(fd_form_paragraph_extra->radio_pextra_bottom);
+               } else {
+                       fl_deactivate_object(fd_form_paragraph_extra->input_pextra_width);
+                       fl_deactivate_object(fd_form_paragraph_extra->input_pextra_widthp);
+                       fl_deactivate_object(fd_form_paragraph_extra->radio_pextra_top);
+                       fl_deactivate_object(fd_form_paragraph_extra->radio_pextra_middle);
+                       fl_deactivate_object(fd_form_paragraph_extra->radio_pextra_bottom);
+                       ActivateParagraphExtraButtons();
+               }
+       } else if (ob == fd_form_paragraph_extra->radio_pextra_floatflt) {
+               int n = fl_get_button(fd_form_paragraph_extra->radio_pextra_floatflt);
+               if (n) {
+                       fl_set_button(fd_form_paragraph_extra->radio_pextra_indent, 0);
+                       fl_set_button(fd_form_paragraph_extra->radio_pextra_minipage, 0);
+                       fl_activate_object(fd_form_paragraph_extra->input_pextra_width);
+                       fl_activate_object(fd_form_paragraph_extra->input_pextra_widthp);
+                       fl_activate_object(fd_form_paragraph_extra->radio_pextra_top);
+                       fl_activate_object(fd_form_paragraph_extra->radio_pextra_middle);
+                       fl_activate_object(fd_form_paragraph_extra->radio_pextra_bottom);
+               } else {
+                       fl_deactivate_object(fd_form_paragraph_extra->input_pextra_width);
+                       fl_deactivate_object(fd_form_paragraph_extra->input_pextra_widthp);
+                       fl_deactivate_object(fd_form_paragraph_extra->radio_pextra_top);
+                       fl_deactivate_object(fd_form_paragraph_extra->radio_pextra_middle);
+                       fl_deactivate_object(fd_form_paragraph_extra->radio_pextra_bottom);
+                       ActivateParagraphExtraButtons();
+               }
+       }
+       return;
 }
 
 
-static bool CheckInputWidth()
+static
+bool CheckInputWidth()
 {
-    string s1 = fl_get_input(fd_form_paragraph_extra->input_pextra_width);
-    string s2 = fl_get_input(fd_form_paragraph_extra->input_pextra_widthp);
-    if (s1.empty() && s2.empty()) {
-        fl_activate_object(fd_form_paragraph_extra->input_pextra_width);
-        fl_activate_object(fd_form_paragraph_extra->input_pextra_widthp);
-        fl_hide_object(fd_form_paragraph_extra->text_warning);
-        DeactivateParagraphExtraButtons();
-        return false;
-    }
-    if (!s1.empty()) { // LyXLength parameter
-        fl_activate_object(fd_form_paragraph_extra->input_pextra_width);
-        fl_deactivate_object(fd_form_paragraph_extra->input_pextra_widthp);
-        if (!isValidLength(s1)) {
-            DeactivateParagraphExtraButtons();
-            fl_set_object_label(fd_form_paragraph_extra->text_warning,
-                                _("Warning: Invalid Length (valid example: 10mm)"));
-            fl_show_object(fd_form_paragraph_extra->text_warning);
-            return false;
-        }
-    } else { // !s2.empty() % parameter
-        fl_deactivate_object(fd_form_paragraph_extra->input_pextra_width);
-        fl_activate_object(fd_form_paragraph_extra->input_pextra_widthp);
-        if ((atoi(s2.c_str()) < 0 ) || (atoi(s2.c_str()) > 100)) {
-            DeactivateParagraphExtraButtons();
-            fl_set_object_label(fd_form_paragraph_extra->text_warning,
-                                _("Warning: Invalid percent value (0-100)"));
-            fl_show_object(fd_form_paragraph_extra->text_warning);
-            return false;
-        }
-    }
-    fl_hide_object(fd_form_paragraph_extra->text_warning);
-    return true;
+       string s1 = fl_get_input(fd_form_paragraph_extra->input_pextra_width);
+       string s2 = fl_get_input(fd_form_paragraph_extra->input_pextra_widthp);
+       if (s1.empty() && s2.empty()) {
+               fl_activate_object(fd_form_paragraph_extra->input_pextra_width);
+               fl_activate_object(fd_form_paragraph_extra->input_pextra_widthp);
+               fl_hide_object(fd_form_paragraph_extra->text_warning);
+               DeactivateParagraphExtraButtons();
+               return false;
+       }
+       if (!s1.empty()) { // LyXLength parameter
+               fl_activate_object(fd_form_paragraph_extra->input_pextra_width);
+               fl_deactivate_object(fd_form_paragraph_extra->input_pextra_widthp);
+               if (!isValidLength(s1)) {
+                       DeactivateParagraphExtraButtons();
+                       fl_set_object_label(fd_form_paragraph_extra->text_warning,
+                                           _("Warning: Invalid Length (valid example: 10mm)"));
+                       fl_show_object(fd_form_paragraph_extra->text_warning);
+                       return false;
+               }
+       } else { // !s2.empty() % parameter
+               fl_deactivate_object(fd_form_paragraph_extra->input_pextra_width);
+               fl_activate_object(fd_form_paragraph_extra->input_pextra_widthp);
+               if ((atoi(s2.c_str()) < 0 ) || (atoi(s2.c_str()) > 100)) {
+                       DeactivateParagraphExtraButtons();
+                       fl_set_object_label(fd_form_paragraph_extra->text_warning,
+                                           _("Warning: Invalid percent value (0-100)"));
+                       fl_show_object(fd_form_paragraph_extra->text_warning);
+                       return false;
+               }
+       }
+       fl_hide_object(fd_form_paragraph_extra->text_warning);
+       return true;
 }