diff --git a/include/controls.cpp b/include/controls.cpp index 4dd0bc0b0..61bc52168 100755 --- a/include/controls.cpp +++ b/include/controls.cpp @@ -198,7 +198,7 @@ bool is_xvt_font(const char * nome_font) return found; } -XVT_FNTID xvt_default_font(bool bold, bool big) +XVT_FNTID xvtil_default_font(bool bold, bool big) { if (DEF_FONT == NULL) { @@ -273,7 +273,7 @@ XVT_FNTID xvt_default_font(bool bold, bool big) return f; } -XVT_FNTID xvt_load_default_font() +XVT_FNTID xvtil_load_default_font() { if (DEF_FONT) { @@ -297,7 +297,7 @@ XVT_FNTID xvt_load_default_font() } X_FU_MULTIPLE = Y_FU_MULTIPLE = 0; - XVT_FNTID font = xvt_default_font(); + XVT_FNTID font = xvtil_default_font(); xi_set_font_id(font); xi_init_sysvals(); // Ricalcola i FU units @@ -373,12 +373,12 @@ void customize_colors() if (_picture) _picture->reload(); - xvt_load_default_font(); // Aggiorna anche il font! + xvtil_load_default_font(); // Aggiorna anche il font! } void init_controls() { - xi_set_font_id(xvt_load_default_font()); + xi_set_font_id(xvtil_load_default_font()); xi_set_pref(XI_PREF_NATIVE_CTRLS, NATIVE_CONTROLS); xi_set_pref(XI_PREF_3D_LOOK, CAMPI_SCAVATI); @@ -558,7 +558,7 @@ WINDOW create_interface(WINDOW parent, short x, short y, short dx, short dy, def->v.itf->automatic_back_color = false; def->v.itf->back_color = MASK_BACK_COLOR; - def->v.itf->font_id = xvt_default_font(); + def->v.itf->font_id = xvtil_default_font(); def->v.itf->tab_on_enter = true; def->v.itf->win = (XinWindow)win; def->v.itf->edit_menu = true; // Update edit menu items @@ -1283,7 +1283,7 @@ TText_control::TText_control(WINDOW win, short cid, CHECKS(def, "Can't create the definition of TText_control:", text); def->v.text->fore_color = color; if (bold || big) - def->v.text->font_id = xvt_default_font(bold, big); + def->v.text->font_id = xvtil_default_font(bold, big); _obj = xi_create(get_interface(win), def); CHECKS(_obj, "Can't create TText_control ", text); @@ -1298,30 +1298,7 @@ void TText_control::set_caption(const char* text) const char* c = parse_caption(text, bold, big, color); xi_set_text(_obj, (char*)c); _obj->v.text->fore_color = color; - -//#ifdef XI_R4 - xi_set_obj_font_id(_obj, xvt_default_font(bold, big)); -/* -#else - FONT_OBJ* &font = _obj->v.text->font; - - if (font == NULL) - font = (FONT_OBJ*)xi_tree_malloc(sizeof(FONT_OBJ), _obj->v.text); - *font = xi_create_copy_font_id(get_interface(), xvt_default_font(bold. big), NULL); - RCT rct; get_rect(rct); - - if (bold) - { - const int estimated_size = strlen(c) * (XI_FU_MULTIPLE+2); - if (estimated_size > (rct.right-rct.left)) - { - rct.right = rct.left + estimated_size; - set_rect(rct); - } - } - xi_invalidate_rect(parent(), &rct); -#endif - */ + xi_set_obj_font_id(_obj, xvtil_default_font(bold, big)); } /////////////////////////////////////////////////////////// @@ -1441,7 +1418,7 @@ void TField_control::create(WINDOW win, short cid, def->app_data = (long)this; XI_FIELD_DEF* f = def->v.field; if (big || bold) - f->font_id = xvt_default_font(bold, big); + f->font_id = xvtil_default_font(bold, big); f->well = CAMPI_SCAVATI; f->active_back_color = FOCUS_BACK_COLOR; @@ -1781,7 +1758,7 @@ void TPushbutton_control::set_caption(const char* c) set_bmp(short(0), short(0)); _obj->v.btn->drawable = false; _obj->v.btn->fore_color = color; - xi_set_obj_font_id(_obj, xvt_default_font(bold, big)); + xi_set_obj_font_id(_obj, xvtil_default_font(bold, big)); } } diff --git a/include/controls.h b/include/controls.h index bade90891..39a7f8499 100755 --- a/include/controls.h +++ b/include/controls.h @@ -20,8 +20,7 @@ struct XI_EVENT; void init_controls(); void free_controls(); -XVT_FNTID xvt_default_font(bool bold = false, bool big = false); -XVT_FNTID xvt_load_default_font(); +XVT_FNTID xvtil_default_font(bool bold = false, bool big = false); WINDOW create_interface(WINDOW parent, short x, short y, short dx, short dy, const char* caption, TWindow* mask /*, bool tags*/); diff --git a/include/mask.cpp b/include/mask.cpp index c904ea00e..f0d1098f7 100755 --- a/include/mask.cpp +++ b/include/mask.cpp @@ -872,7 +872,11 @@ void TMask::handler(WINDOW w, EVENT* ep) break; case WC_ICON: // In realta' trattasi di bottone di toolbar if (ep->v.ctl.ci.win == toolbar()) // Test di sicurezza semi-inutile - field(ep->v.ctl.id).on_key(K_SPACE); // Gestisco l'evento di pressione del bottone + { + TMask_field& tool = field(ep->v.ctl.id); + if (tool.active()) + tool.on_key(K_SPACE); // Gestisco l'evento di pressione del bottone + } break; case WC_HSCROLL: case WC_VSCROLL: diff --git a/include/msksheet.cpp b/include/msksheet.cpp index 7b6dc6778..fff374d3b 100755 --- a/include/msksheet.cpp +++ b/include/msksheet.cpp @@ -508,7 +508,6 @@ TSpreadsheet::TSpreadsheet( XI_LIST_DEF* l = listdef->v.list; l->width = rct.right - rct.left; l->min_heading_height = xi_button_calc_height_font(xi_get_system_font()) * lines_in_header; -// l->min_heading_height = xi_button_calc_height_font_id(xvt_default_font()) * lines_in_header; l->sizable_columns = TRUE; l->movable_columns = TRUE; l->scroll_bar = TRUE; diff --git a/include/relapp.cpp b/include/relapp.cpp index 89a9fd39d..6d8b36339 100755 --- a/include/relapp.cpp +++ b/include/relapp.cpp @@ -129,7 +129,10 @@ void TRelation_application::set_limits( void TRelation_application::set_find_button() { // Ricalcola posizioni bootoni di navigazione con la vecchia toolbar - if (_mask->toolbar() == NULL_WIN) // Non c'e' la nuova relapbar + WINDOW bar = _mask->toolbar(); + if (bar != NULL_WIN) + xvt_toolbar_realize(_mask->toolbar()); + else // Non c'e' la nuova relapbar { int pos = _mask->id2pos(DLG_FINDREC); if (pos >= 0 && _mask->id2pos(DLG_FIRSTREC) >= 0) //se e' un bottone pentapartito... @@ -183,9 +186,6 @@ void TRelation_application::set_find_button() } } } - else - xvt_toolbar_realize(_mask->toolbar()); - } bool TRelation_application::create() @@ -690,7 +690,7 @@ int TRelation_application::delete_mode() tab2 += tab1+2; cur = 0L; - TCursor_sheet sht(&cur, items, "Eliminazione", head, 0x4, y); + TCursor_sheet sht(&cur, items, TR("Eliminazione"), head, 0x4, y); y = -1; // Posizione del campo precedente TString prompt; // Prompt del campo corrente diff --git a/include/reprint.cpp b/include/reprint.cpp index 802e130d1..b1ca4c8b2 100755 --- a/include/reprint.cpp +++ b/include/reprint.cpp @@ -1267,6 +1267,7 @@ bool TBook::print_page(TWindow& win, size_t page) advanced_draw_text_line(win, stringona, rct, _horizontal_alignment, _vertical_alignment); win.set_color(dct.fore_color, dct.back_color); xvt_dwin_set_font(w, oldfont); + xvt_font_destroy(oldfont); xvt_font_destroy(newfont); } } diff --git a/include/sheet.cpp b/include/sheet.cpp index 052fef579..8225cd694 100755 --- a/include/sheet.cpp +++ b/include/sheet.cpp @@ -217,8 +217,7 @@ TSheet_control::TSheet_control( listdef->app_data = (long)this; XI_LIST_DEF* l = listdef->v.list; - l->min_heading_height = xi_button_calc_height_font(xi_get_system_font()) * lines_in_header; -// l->min_heading_height = xi_button_calc_height_font_id(xvt_default_font()) * lines_in_header; + l->min_heading_height = xi_button_calc_height_font(xi_get_system_font()) * lines_in_header; l->max_lines_in_cell = lines_in_cell; l->sizable_columns = TRUE; l->movable_columns = TRUE; diff --git a/include/treectrl.cpp b/include/treectrl.cpp index 112546304..92d42aa59 100755 --- a/include/treectrl.cpp +++ b/include/treectrl.cpp @@ -1332,7 +1332,7 @@ TOutlook_window::TOutlook_window(int x, int y, int dx, int dy, WINDOW parent, TO WIN_DEF wd; memset(&wd, 0, sizeof(wd)); wd.wtype = WC_OUTLOOKBAR; wd.v.ctl.ctrl_id = owner->dlg(); - wd.v.ctl.font_id = xvt_default_font(true); // Fat font + wd.v.ctl.font_id = xvtil_default_font(true); // Fat font wd.rct = resize_rect(x, y, dx, dy, wd.wtype, parent); wd.ctlcolors = xcc; diff --git a/include/xvtility.cpp b/include/xvtility.cpp index 91843903d..d301c928c 100755 --- a/include/xvtility.cpp +++ b/include/xvtility.cpp @@ -450,19 +450,19 @@ void xvtil_set_font( (style == XVT_FS_NONE || style == XVT_FS_BOLD) && dim == 0) { - xvt_dwin_set_font(win, xvt_default_font(style != XVT_FS_NONE)); + xvt_dwin_set_font(win, xvtil_default_font(style == XVT_FS_BOLD)); } else { - XVT_FNTID font = xvt_dwin_get_font(TASK_WIN); - if (family && *family) xvt_font_set_family(font, (char*)family); + XVT_FNTID font = xvt_dwin_get_font(TASK_WIN); + if (family && *family) xvt_font_set_family(font, family); if (dim != 0) xvt_font_set_size(font, dim); if (style != XVT_FS_NONE) xvt_font_set_style(font, style); - if(!xvt_font_is_mapped(font)) + if (!xvt_font_is_mapped(font)) xvt_font_map(font, win); - xvt_dwin_set_font(win, font); + xvt_dwin_set_font(win, font); xvt_font_destroy(font); } } @@ -498,7 +498,7 @@ WINDOW xvtil_create_window( app_data); // Utile per migliorare il calcolo delle dimensioni dei caratteri - xvt_dwin_set_font(win, xvt_default_font()); + xvt_dwin_set_font(win, xvtil_default_font()); CHECK(win, "Can't create a window: XVT error"); return win; @@ -535,7 +535,7 @@ WINDOW xvtil_create_statbar() _statbar = statbar_create(0, 0, 600, 1024, 800, prop_count, prop_list, TASK_WIN, 0, 0, ""); CHECK(_statbar, "Can't create the status bar"); - statbar_set_fontid(_statbar, xvt_default_font()); + statbar_set_fontid(_statbar, xvtil_default_font()); } return _statbar; }