X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyx_gui.C;h=24dead7b1be23db213f800cdcaf1117ec2e1b9bc;hb=8d3a4fd463f6865eecf7fb9e2bd63c43f9438cfe;hp=e0d5ce68d338d02bd6bdf3423bb55c885ab654c4;hpb=f111129035d30e4146737ec9f48157147133be18;p=lyx.git diff --git a/src/lyx_gui.C b/src/lyx_gui.C index e0d5ce68d3..24dead7b1b 100644 --- a/src/lyx_gui.C +++ b/src/lyx_gui.C @@ -4,7 +4,7 @@ * LyX, The Document Processor * * Copyright 1995 Matthias Ettrich - * Copyright 1995-1999 The LyX Team. + * Copyright 1995-2000 The LyX Team. * * ====================================================== */ @@ -31,13 +31,12 @@ #include "LyXView.h" #include "buffer.h" #include "lyxserver.h" -#include "lyxdraw.h" #include "lyxrc.h" #include "gettext.h" #include "lyx_gui_misc.h" -#include "lyx_cb.h" #include "lyxlookup.h" #include "bufferlist.h" +#include "language.h" #ifdef TWO_COLOR_ICONS #include "banner_bw.xbm" @@ -48,7 +47,6 @@ FD_form_title * fd_form_title; FD_form_paragraph * fd_form_paragraph; FD_form_paragraph_extra * fd_form_paragraph_extra; -FD_form_search * fd_form_search; FD_form_character * fd_form_character; FD_form_document * fd_form_document; FD_form_paper * fd_form_paper; @@ -77,9 +75,6 @@ FL_CMD_OPT cmdopt[] = {"-height", "*.height", XrmoptionSepArg, "510"}, {"-xpos", "*.xpos", XrmoptionSepArg, "-1"}, {"-ypos", "*.ypos", XrmoptionSepArg, "-1"}, - {"-Reverse", "*.Reverse", XrmoptionNoArg, "1"}, - {"-Mono", "*.Mono", XrmoptionNoArg, "1"}, - {"-FastSelection", "*.FastSelection", XrmoptionNoArg, "1"}, {"-MathColor", "*.MathColor", XrmoptionSepArg, "blue"}, {"-MathFrameColor", "*.MathFrameColor", XrmoptionSepArg, "magenta"}, {"-FootColor", "*.FootColor", XrmoptionSepArg, "red"}, @@ -99,9 +94,6 @@ static int width; static int height; static int xpos; static int ypos; -int reverse_video; -int mono_video; -int fast_selection; bool cursor_follows_scrollbar; char math_color[32]; char math_frame_color[32]; @@ -125,9 +117,6 @@ FL_resource res[] = {"height", "heightClass", FL_INT, &height, "510", 0}, {"xpos", "xposClass", FL_INT, &xpos, "-1", 0}, {"ypos", "yposClass", FL_INT, &ypos, "-1", 0}, - {"Reverse", "reverseClass", FL_INT, &reverse_video, "0", 0}, - {"Mono", "monoClass", FL_INT, &mono_video, "0", 0}, - {"FastSelection", "selectionClass", FL_INT, &fast_selection, "0", 0}, {"MathColor", "colorClass", FL_STRING, math_color, "blue", 31}, {"MathFrameColor", "colorClass", FL_STRING, math_frame_color, "magenta", 31}, {"FootColor", "colorClass", FL_STRING, foot_color, "red", 31}, @@ -202,10 +191,8 @@ LyXGUI::~LyXGUI() { // Lyxserver was created in this class so should be destroyed // here. asierra-970604 - if (lyxserver) { - delete lyxserver; - lyxserver = 0; - } + delete lyxserver; + lyxserver = 0; CloseLyXLookup(); } @@ -240,39 +227,23 @@ void LyXGUI::init() return; create_forms(); - + + if (lyxrc.font_norm_menu.empty()) + lyxrc.font_norm_menu = lyxrc.font_norm; // Set the font name for popups and menus - string menufontname = lyxrc->menu_font_name + string menufontname = lyxrc.menu_font_name + "-*-*-*-?-*-*-*-*-" - + lyxrc->font_norm; + + lyxrc.font_norm_menu; // "?" means "scale that font" - string popupfontname = lyxrc->popup_font_name + string popupfontname = lyxrc.popup_font_name + "-*-*-*-?-*-*-*-*-" - + lyxrc->font_norm; -#if FL_REVISION > 85 + + lyxrc.font_norm_menu; + if (fl_set_font_name(FL_BOLD_STYLE, menufontname.c_str()) < 0) -#else - int nfonts; - char ** list = XListFonts(fl_display, menufontname.c_str(), - 1, &nfonts); - XFreeFontNames(list); - if (nfonts > 0) - fl_set_font_name(FL_BOLD_STYLE, menufontname.c_str()); - else -#endif lyxerr << "Could not set menu font to " << menufontname << endl; -#if FL_REVISION > 85 if (fl_set_font_name(FL_NORMAL_STYLE, popupfontname.c_str()) < 0) -#else - list = XListFonts(fl_display, popupfontname.c_str(), - 1, &nfonts); - XFreeFontNames(list); - if (nfonts > 0) - fl_set_font_name(FL_NORMAL_STYLE, popupfontname.c_str()); - else -#endif lyxerr << "Could not set popup font to " << popupfontname << endl; @@ -290,21 +261,21 @@ void LyXGUI::init() // the print form fl_set_input(fd_form_print->input_printer, - lyxrc->printer.c_str()); + lyxrc.printer.c_str()); // the sendto form - if (!lyxrc->custom_export_command.empty()) + if (!lyxrc.custom_export_command.empty()) fl_set_input(fd_form_sendto->input_cmd, - lyxrc->custom_export_command.c_str()); - if (lyxrc->custom_export_format == "lyx") + lyxrc.custom_export_command.c_str()); + if (lyxrc.custom_export_format == "lyx") fl_set_button(fd_form_sendto->radio_ftype_lyx, 1); - else if (lyxrc->custom_export_format == "tex") + else if (lyxrc.custom_export_format == "tex") fl_set_button(fd_form_sendto->radio_ftype_latex, 1); - else if (lyxrc->custom_export_format == "dvi") + else if (lyxrc.custom_export_format == "dvi") fl_set_button(fd_form_sendto->radio_ftype_dvi, 1); - else if (lyxrc->custom_export_format == "ps") + else if (lyxrc.custom_export_format == "ps") fl_set_button(fd_form_sendto->radio_ftype_ps, 1); - else if (lyxrc->custom_export_format == "ascii") + else if (lyxrc.custom_export_format == "ascii") fl_set_button(fd_form_sendto->radio_ftype_ascii, 1); // Update parameters. @@ -315,12 +286,7 @@ void LyXGUI::init() // in 0.12 the initialisation of the LyXServer must be done here // 0.13 it should be moved again... - lyxserver = new LyXServer(lyxViews->getLyXFunc(), lyxrc->lyxpipes); - - // This is to make sure we get the selection color - getGC(gc_selection); - // This is to make sure we set the background_pixels - getGC(gc_clear); + lyxserver = new LyXServer(lyxViews->getLyXFunc(), lyxrc.lyxpipes); } @@ -337,43 +303,44 @@ void LyXGUI::create_forms() // // the title form - fd_form_title = create_form_form_title(); - fl_set_form_dblbuffer(fd_form_title->form_title, 1); // use dbl buffer - fl_set_form_atclose(fd_form_title->form_title, CancelCloseBoxCB, 0); - fl_addto_form(fd_form_title->form_title); + if (lyxrc.show_banner) { + fd_form_title = create_form_form_title(); + fl_set_form_dblbuffer(fd_form_title->form_title, 1); // use dbl buffer + fl_set_form_atclose(fd_form_title->form_title, CancelCloseBoxCB, 0); + fl_addto_form(fd_form_title->form_title); #ifdef TWO_COLOR_ICONS - FL_OBJECT *obj = fl_add_bitmapbutton(FL_NORMAL_BUTTON, 0, 0, 425, 290, ""); - fl_set_bitmapbutton_data(obj, banner_bw_width, - banner_bw_height, banner_bw_bits); - fl_set_object_color(obj, FL_WHITE, FL_BLACK); + FL_OBJECT *obj = fl_add_bitmapbutton(FL_NORMAL_BUTTON, 0, 0, 425, 290, ""); + fl_set_bitmapbutton_data(obj, banner_bw_width, + banner_bw_height, banner_bw_bits); + fl_set_object_color(obj, FL_WHITE, FL_BLACK); #else - FL_OBJECT *obj = fl_add_pixmapbutton(FL_NORMAL_BUTTON, 0, 0, 425, 290, ""); - fl_set_pixmapbutton_data(obj, const_cast(banner)); -#if FL_REVISION > 85 - fl_set_pixmapbutton_focus_outline(obj, 3); + FL_OBJECT *obj = fl_add_pixmapbutton(FL_NORMAL_BUTTON, 0, 0, 425, 290, ""); + fl_set_pixmapbutton_data(obj, const_cast(banner)); + + fl_set_pixmapbutton_focus_outline(obj, 3); #endif -#endif - fl_set_button_shortcut(obj, "^M ^[", 1); - fl_set_object_boxtype(obj, FL_NO_BOX); - fl_set_object_callback(obj, TimerCB, 0); - - obj = fl_add_text(FL_NORMAL_TEXT, 248, 265, 170, 16, LYX_VERSION); - fl_set_object_lsize(obj, FL_NORMAL_SIZE); + fl_set_button_shortcut(obj, "^M ^[", 1); + fl_set_object_boxtype(obj, FL_NO_BOX); + fl_set_object_callback(obj, TimerCB, 0); + + obj = fl_add_text(FL_NORMAL_TEXT, 248, 265, 170, 16, LYX_VERSION); + fl_set_object_lsize(obj, FL_NORMAL_SIZE); #ifdef TWO_COLOR_ICONS - fl_set_object_color(obj, FL_WHITE, FL_WHITE); - fl_set_object_lcol(obj, FL_BLACK); + fl_set_object_color(obj, FL_WHITE, FL_WHITE); + fl_set_object_lcol(obj, FL_BLACK); #else // fl_set_object_color(obj, FL_WHITE, FL_WHITE); // fl_set_object_lcol(obj, FL_BLACK); - fl_mapcolor(FL_FREE_COL2, 0x05, 0x2e, 0x4c); - fl_mapcolor(FL_FREE_COL3, 0xe1, 0xd2, 0x9b); - fl_set_object_color(obj, FL_FREE_COL2, FL_FREE_COL2); - fl_set_object_lcol(obj, FL_FREE_COL3); + fl_mapcolor(FL_FREE_COL2, 0x05, 0x2e, 0x4c); + fl_mapcolor(FL_FREE_COL3, 0xe1, 0xd2, 0x9b); + fl_set_object_color(obj, FL_FREE_COL2, FL_FREE_COL2); + fl_set_object_lcol(obj, FL_FREE_COL3); #endif - fl_set_object_lalign(obj, FL_ALIGN_CENTER|FL_ALIGN_INSIDE); - fl_set_object_lstyle(obj, FL_BOLD_STYLE); - fl_end_form(); - + fl_set_object_lalign(obj, FL_ALIGN_CENTER|FL_ALIGN_INSIDE); + fl_set_object_lstyle(obj, FL_BOLD_STYLE); + fl_end_form(); + } + // the paragraph form fd_form_paragraph = create_form_form_paragraph(); fl_set_form_atclose(fd_form_paragraph->form_paragraph, @@ -398,11 +365,6 @@ void LyXGUI::create_forms() fl_set_input_return(fd_form_paragraph_extra->input_pextra_widthp, FL_RETURN_ALWAYS); - // the search form - fd_form_search = create_form_form_search(); - fl_set_form_atclose(fd_form_search->form_search, - CancelCloseBoxCB, 0); - // the character form fd_form_character = create_form_form_character(); fl_set_form_atclose(fd_form_character->form_character, @@ -443,25 +405,34 @@ void LyXGUI::create_forms() fl_addto_form(fd_form_document->form_document); combo_language = new Combox(FL_COMBOX_DROPLIST); FL_OBJECT * ob = fd_form_document->choice_language; - combo_language->add(ob->x, ob->y, ob->w, ob->h, 200); + combo_language->add(ob->x, ob->y, ob->w, ob->h, 250); combo_language->shortcut("#G", 1); fl_end_form(); +#if 0 int n; // declared here because DEC cxx does not like multiple // declarations of variables in for() loops (JMarc) for (n = 0; tex_babel[n][0]; ++n) { combo_language->addto(tex_babel[n]); } +#else + // "default" is not part of the languages array any more. + combo_language->addto("default"); + for(Languages::const_iterator cit = languages.begin(); + cit != languages.end(); ++cit) { + combo_language->addto((*cit).second.lang.c_str()); + } +#endif // not really necessary, but we can do it anyway. fl_addto_choice(fd_form_document->choice_fontsize, "default|10|11|12"); - + int n; for (n = 0; tex_fonts[n][0]; ++n) { fl_addto_choice(fd_form_document->choice_fonts, tex_fonts[n]); } fl_addto_choice(fd_form_document->choice_inputenc, "default|latin1|latin2|latin5" - "|koi8-r|koi8-u|cp866|cp1251"); + "|koi8-r|koi8-u|cp866|cp1251|iso88595"); for (n = 0; tex_graphics[n][0]; ++n) { fl_addto_choice(fd_form_document->choice_postscript_driver, @@ -601,23 +572,28 @@ void LyXGUI::create_forms() // Did we get a valid position? if (xpos>= 0 && ypos>= 0) { lyxViews->setPosition(xpos, ypos); - // show the title form in the middle of the main form - fl_set_form_position(fd_form_title->form_title, - abs(xpos + (width/2) - (370 / 2)), - abs(ypos + (height/2) - (290 / 2))); - // The use of abs() above is a trick to ensure valid positions - main_placement = FL_PLACE_POSITION; - title_placement = FL_PLACE_GEOMETRY; + if (lyxrc.show_banner) { + // show the title form in the middle of the main form + fl_set_form_position(fd_form_title->form_title, + abs(xpos + (width/2) - (370 / 2)), + abs(ypos + (height/2) - (290 / 2))); + title_placement = FL_PLACE_GEOMETRY; + // The use of abs() above is a trick to ensure + // valid positions + } + main_placement = FL_PLACE_POSITION; } lyxViews->show(main_placement, FL_FULLBORDER, "LyX"); - fl_show_form(fd_form_title->form_title, - title_placement, FL_NOBORDER, - _("LyX Banner")); - fl_redraw_form(fd_form_title->form_title); - fl_raise_form(fd_form_title->form_title); - - // Show the title form at most 7 secs (lowered from 10 secs) - fl_set_timer(fd_form_title->timer_title, 7); + if (lyxrc.show_banner) { + fl_show_form(fd_form_title->form_title, + title_placement, FL_NOBORDER, + _("LyX Banner")); + fl_redraw_form(fd_form_title->form_title); + fl_raise_form(fd_form_title->form_title); + + // Show the title form at most 7 secs (lowered from 10 secs) + fl_set_timer(fd_form_title->timer_title, 7); + } }