-// This is both GUI and LyXFont dependent. Don't know where to put it. (Asger)
-// Well, it's mostly GUI dependent, so I guess it will stay here. (Asger)
-LyXFont const UserFreeFont(BufferParams const & params)
-{
- LyXFont font(LyXFont::ALL_IGNORE);
-
- int pos = fl_get_choice(fd_form_character->choice_family);
- switch (pos) {
- case 1: font.setFamily(LyXFont::IGNORE_FAMILY); break;
- case 2: font.setFamily(LyXFont::ROMAN_FAMILY); break;
- case 3: font.setFamily(LyXFont::SANS_FAMILY); break;
- case 4: font.setFamily(LyXFont::TYPEWRITER_FAMILY); break;
- case 5: font.setFamily(LyXFont::INHERIT_FAMILY); break;
- }
-
- pos = fl_get_choice(fd_form_character->choice_series);
- switch (pos) {
- case 1: font.setSeries(LyXFont::IGNORE_SERIES); break;
- case 2: font.setSeries(LyXFont::MEDIUM_SERIES); break;
- case 3: font.setSeries(LyXFont::BOLD_SERIES); break;
- case 4: font.setSeries(LyXFont::INHERIT_SERIES); break;
- }
-
- pos = fl_get_choice(fd_form_character->choice_shape);
- switch (pos) {
- case 1: font.setShape(LyXFont::IGNORE_SHAPE); break;
- case 2: font.setShape(LyXFont::UP_SHAPE); break;
- case 3: font.setShape(LyXFont::ITALIC_SHAPE); break;
- case 4: font.setShape(LyXFont::SLANTED_SHAPE); break;
- case 5: font.setShape(LyXFont::SMALLCAPS_SHAPE); break;
- case 6: font.setShape(LyXFont::INHERIT_SHAPE); break;
- }
-
- pos = fl_get_choice(fd_form_character->choice_size);
- switch (pos) {
- case 1: font.setSize(LyXFont::IGNORE_SIZE); break;
- case 2: font.setSize(LyXFont::SIZE_TINY); break;
- case 3: font.setSize(LyXFont::SIZE_SCRIPT); break;
- case 4: font.setSize(LyXFont::SIZE_FOOTNOTE); break;
- case 5: font.setSize(LyXFont::SIZE_SMALL); break;
- case 6: font.setSize(LyXFont::SIZE_NORMAL); break;
- case 7: font.setSize(LyXFont::SIZE_LARGE); break;
- case 8: font.setSize(LyXFont::SIZE_LARGER); break;
- case 9: font.setSize(LyXFont::SIZE_LARGEST); break;
- case 10: font.setSize(LyXFont::SIZE_HUGE); break;
- case 11: font.setSize(LyXFont::SIZE_HUGER); break;
- case 12: font.setSize(LyXFont::INCREASE_SIZE); break;
- case 13: font.setSize(LyXFont::DECREASE_SIZE); break;
- case 14: font.setSize(LyXFont::INHERIT_SIZE); break;
- }
-
- pos = fl_get_choice(fd_form_character->choice_bar);
- switch (pos) {
- case 1: font.setEmph(LyXFont::IGNORE);
- font.setUnderbar(LyXFont::IGNORE);
- font.setNoun(LyXFont::IGNORE);
- font.setLatex(LyXFont::IGNORE);
- break;
- case 2: font.setEmph(LyXFont::TOGGLE); break;
- case 3: font.setUnderbar(LyXFont::TOGGLE); break;
- case 4: font.setNoun(LyXFont::TOGGLE); break;
- case 5: font.setLatex(LyXFont::TOGGLE); break;
- case 6: font.setEmph(LyXFont::INHERIT);
- font.setUnderbar(LyXFont::INHERIT);
- font.setNoun(LyXFont::INHERIT);
- font.setLatex(LyXFont::INHERIT);
- break;
- }
-
- pos = fl_get_choice(fd_form_character->choice_color);
- switch (pos) {
- case 1: font.setColor(LColor::ignore); break;
- case 2: font.setColor(LColor::none); break;
- case 3: font.setColor(LColor::black); break;
- case 4: font.setColor(LColor::white); break;
- case 5: font.setColor(LColor::red); break;
- case 6: font.setColor(LColor::green); break;
- case 7: font.setColor(LColor::blue); break;
- case 8: font.setColor(LColor::cyan); break;
- case 9: font.setColor(LColor::magenta); break;
- case 10: font.setColor(LColor::yellow); break;
- case 11: font.setColor(LColor::inherit); break;
- }
-
- int const choice = combo_language2->get();
- if (choice == 1)
- font.setLanguage(ignore_language);
- else if (choice == 2)
- font.setLanguage(params.language);
- else
- font.setLanguage(languages.getLanguage(combo_language2->getline()));
-
- return font;
-}
-
-
-/* callbacks for form form_title */
-extern "C"
-void TimerCB(FL_OBJECT *, long)
-{
- // only if the form still exists
- if (lyxrc.show_banner
- && fd_form_title
- && fd_form_title->form_title) {
- if (fd_form_title->form_title->visible) {
- fl_hide_form(fd_form_title->form_title);
- }
- fl_free_form(fd_form_title->form_title);
- fd_form_title->form_title = 0;
- }
-}
-
-
-/* callbacks for form form_character */
-
-extern "C"
-void CharacterApplyCB(FL_OBJECT *, long)
-{
- // we set toggleall locally here, since it should be true for
- // all other uses of ToggleAndShow() (JMarc)
- toggleall = fl_get_button(fd_form_character->check_toggle_all);
- ToggleAndShow(current_view, UserFreeFont(current_view->buffer()->params));
- current_view->setState();
- toggleall = true;
-}
-
-
-extern "C"
-void CharacterCloseCB(FL_OBJECT *, long)
-{
- fl_hide_form(fd_form_character->form_character);
-}
-
-
-extern "C"
-void CharacterOKCB(FL_OBJECT * ob, long data)
-{
- CharacterApplyCB(ob, data);
- CharacterCloseCB(ob, data);
-}
-
-
-/* callbacks for form form_preamble */
-
-extern "C"
-void PreambleCancelCB(FL_OBJECT *, long)
-{
- fl_hide_form(fd_form_preamble->form_preamble);
-}
-
-
-extern "C"
-void PreambleApplyCB(FL_OBJECT *, long)
-{
- if (!current_view->available())
- return;
-
- current_view->buffer()->params.preamble =
- fl_get_input(fd_form_preamble->input_preamble);
- current_view->buffer()->markDirty();
- current_view->owner()->getMiniBuffer()->Set(_("LaTeX preamble set"));
-}
-
-
-extern "C"
-void PreambleOKCB(FL_OBJECT * ob, long data)
-{
- PreambleApplyCB(ob, data);
- PreambleCancelCB(ob, data);
-}
-
-
-void Figure()
-{
- if (fd_form_figure->form_figure->visible) {
- fl_raise_form(fd_form_figure->form_figure);
- } else {
- fl_show_form(fd_form_figure->form_figure,
- FL_PLACE_MOUSE | FL_FREE_SIZE, FL_TRANSIENT,
- _("Insert Figure"));
- }
-}
-
-
-/* callbacks for form form_figure */
-extern "C"
-void FigureApplyCB(FL_OBJECT *, long)
-{
- if (!current_view->available())
- return;
-
- Buffer * buffer = current_view->buffer();
- if (buffer->isReadonly()) // paranoia
- return;
-
- current_view->owner()->getMiniBuffer()->Set(_("Inserting figure..."));
- if (fl_get_button(fd_form_figure->radio_inline)) {
- InsetFig * new_inset = new InsetFig(100, 20, *buffer);
- current_view->insertInset(new_inset);
- current_view->owner()->getMiniBuffer()->Set(_("Figure inserted"));
- new_inset->Edit(current_view, 0, 0, 0);
- return;
- }
-
- current_view->hideCursor();
- current_view->update(BufferView::SELECT|BufferView::FITCUR);
- current_view->beforeChange();
-
- current_view->text->SetCursorParUndo(current_view->buffer());
- current_view->text->FreezeUndo();
-
- current_view->text->BreakParagraph(current_view);
- current_view->update(BufferView::SELECT|BufferView::FITCUR|BufferView::CHANGE);
-
- if (current_view->text->cursor.par()->Last()) {
- current_view->text->CursorLeft(current_view);
-
- current_view->text->BreakParagraph(current_view);
- current_view->update(BufferView::SELECT|BufferView::FITCUR|BufferView::CHANGE);
- }
-
- // The standard layout should always be numer 0;
- current_view->text->SetLayout(current_view, 0);
-
-#ifndef NEW_INSETS
- if (current_view->text->cursor.par()->footnoteflag ==
- LyXParagraph::NO_FOOTNOTE) {
-#endif
- current_view->text->
- SetParagraph(current_view, 0, 0,
- 0, 0,
- VSpace (0.3 * buffer->params.spacing.getValue(),
- LyXLength::CM),
- VSpace (0.3 *
- buffer->params.spacing.getValue(),
- LyXLength::CM),
- LYX_ALIGN_CENTER, string(), 0);
-#ifndef NEW_INSETS
- } else {
- current_view->text->SetParagraph(current_view, 0, 0,
- 0, 0,
- VSpace(VSpace::NONE),
- VSpace(VSpace::NONE),
- LYX_ALIGN_CENTER,
- string(),
- 0);
- }
-#endif
-
- current_view->update(BufferView::SELECT|BufferView::FITCUR|BufferView::CHANGE);
-
- Inset * new_inset = new InsetFig(100, 100, *buffer);
- current_view->insertInset(new_inset);
- new_inset->Edit(current_view, 0, 0, 0);
- current_view->update(BufferView::SELECT|BufferView::FITCUR);
- current_view->owner()->getMiniBuffer()->Set(_("Figure inserted"));
- current_view->text->UnFreezeUndo();
- current_view->setState();
-}
-
-
-extern "C" void FigureCancelCB(FL_OBJECT *, long)
-{
- fl_hide_form(fd_form_figure->form_figure);
-}
-
-
-extern "C" void FigureOKCB(FL_OBJECT * ob, long data)
-{
- FigureApplyCB(ob, data);
- FigureCancelCB(ob, data);
-}
-
-