From 2ff6ecb98ebc1035f34437a51505c83d33da4bbf Mon Sep 17 00:00:00 2001 From: guy Date: Mon, 29 Sep 2008 14:34:21 +0000 Subject: [PATCH] Patch level : 10.0 Files correlati : ba0.exe ba0200a.msk Ricompilazione Demo : [ ] Commento : MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 0000914: cambio stile il cambio stile chiude tutte le applicazione eventualmente aperte e riporta al menu principale. Se si effettua da un sottomenu riporta al menu principale. 0000915: stili qualsiasi sia lo stile adottato sulla mappa dell'aspetto viene sempre visualizzato campo. 0000828: info Nella versione outlook non esiste la possibilità di cercare un punto di menu digitando il nome? git-svn-id: svn://10.65.10.50/trunk@17320 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- ba/ba0100.cpp | 404 ++++++++++++++++++++++++++++++++----------------- ba/ba0101.cpp | 3 +- ba/ba0102.cpp | 8 +- ba/ba0102.h | 1 + ba/ba0103.cpp | 18 ++- ba/ba0103.h | 5 +- ba/ba0200a.uml | 74 ++++----- 7 files changed, 332 insertions(+), 181 deletions(-) diff --git a/ba/ba0100.cpp b/ba/ba0100.cpp index 6c87e945a..7ee6c9ac3 100755 --- a/ba/ba0100.cpp +++ b/ba/ba0100.cpp @@ -25,7 +25,6 @@ #include "ba0400a.h" #define MEN_FILE "bamenu.men" -#define OPTIONS_MENU M_FONT #define PREFERRED_MENU M_STYLE #define DLG_TREE 301 @@ -50,6 +49,7 @@ protected: // TApplication virtual bool destroy(); virtual bool menu(MENU_TAG m); virtual long handler(WINDOW win, EVENT* ep); + virtual bool firm_change_enabled() const; virtual void on_firm_change(); virtual bool test_assistance_year() const; @@ -295,6 +295,7 @@ class TColor_mask : public TAutomask public: TPreview_panel(short x, short y, short dx, short dy, TColor_mask* owner); } *_preview; + class TPreview_icons : public TWindow { TColor_mask* _owner; @@ -304,7 +305,9 @@ class TColor_mask : public TAutomask TPreview_icons(short x, short y, short dx, short dy, TColor_mask* owner); } *_icons; + int _cur_theme; TAssoc_array _color; + TString256 _font_desc; protected: // TMask virtual bool stop_run(KEY key) { return TWindow::stop_run(key); } @@ -313,19 +316,19 @@ protected: // TMask protected: COLOR get_color_entry(const char* c) const; void set_color_entry(const char* name, COLOR col); + const TString& get_font_desc() const { return _font_desc; } const char* cid2name(short cid) const; COLOR cid2color(short cid) const; COLOR cid2syscolor(short cid, const XVT_COLOR_COMPONENT* cc) const; + void load_themes(); bool apply_theme(); + void save_colors(TConfig& colors); + public: void save_colors(); - - virtual KEY run(); - TColor_mask(); - virtual ~TColor_mask() { } }; COLOR TColor_mask::TPreview_panel::get_color_entry(const char* name) const @@ -355,6 +358,17 @@ void TColor_mask::TPreview_panel::update() line(x+1, y+h-1, x+w-2, y+h-1); line(x+w-2, y+h-1, x+w-2, y); + const TString& font_desc = _owner->get_font_desc(); + if (font_desc.full()) + { + XVT_FNTID fontid = xvt_font_create(); + xvt_font_deserialize(fontid, font_desc); + xvt_dwin_set_font(win(), fontid); + xvt_font_destroy(fontid); + } + else + xvt_dwin_set_font(win(), xvt_default_font()); + set_opaque_text(false); set_pen(p = get_color_entry("Normal")); set_brush(b = get_color_entry("NormalBack")); @@ -409,23 +423,47 @@ TColor_mask::TPreview_icons::TPreview_icons(short x, short y, short dx, short dy void TColor_mask::load_themes() { TList_field& fl = lfield(211); + TToken_string codes = fl.get_codes(); - int k = codes.items(); - if (k <= 2) + TToken_string values = fl.get_values(); + + const int default_items = 3; // Corrente, Campo, Sistema + // Elimina tutti gli elementi non standard (oltre il terzo) + if (codes.items() > default_items) { - TConfig themes("res/themes.ini"); - TString_array pl; themes.list_paragraphs(pl); - if (!pl.empty()) + for (int i = 0; i < 2; i++) { - TToken_string values = fl.get_values(); - FOR_EACH_ARRAY_ROW(pl, i, row) - { - codes.add(k++); - values.add(*row); - } - fl.replace_items(codes, values); + TToken_string& str = i == 0 ? codes : values; + int pos = 0; + for (int j = 0; j < default_items; j++) + pos = str.find(str.separator(), pos); + str.cut(pos); } } + + int k = codes.items(); + TConfig default_themes("res/themes.ini"); + TString_array pl; + default_themes.list_paragraphs(pl); + FOR_EACH_ARRAY_ROW(pl, i, row) + { + codes.add(k++); + values.add(row->left(15)); + } + + TConfig user_themes(CONFIG_GUI); + user_themes.list_paragraphs(pl); + FOR_EACH_ARRAY_ROW(pl, j, raw) + { + if (raw->starts_with("Theme_")) + { + codes.add(k++); + values.add(raw->mid(6, 15)); + } + } + + if (k > default_items) + fl.replace_items(codes, values); } bool TColor_mask::apply_theme() @@ -433,24 +471,37 @@ bool TColor_mask::apply_theme() bool applied = false; const int theme = get_int(211); - if (theme > 1) + if (theme > 2) // Normal theme { - TList_field& fl = lfield(211); - TToken_string codes = fl.get_codes(); + const TList_field& fl = lfield(211); TToken_string values = fl.get_values(); - const int pos = codes.get_pos(theme); - TConfig themes("res/themes.ini", values.get(pos)); - TAssoc_array& colors = themes.list_variables(); + + TString name = values.get(theme); + TConfig def_themes("res/themes.ini", name); + TAssoc_array& def_colors = def_themes.list_variables(); + + name.insert("Theme_"); + TConfig usr_themes(CONFIG_GUI, name); + TAssoc_array& usr_colors = usr_themes.list_variables(); + + TAssoc_array& colors = usr_colors.empty() ? def_colors : usr_colors; if (!colors.empty()) { TToken_string rgb(15, ','); FOR_EACH_ASSOC_STRING(colors, obj, key, value) { rgb = value; - const byte r = (byte)rgb.get_int(0); - const byte g = (byte)rgb.get_int(); - const byte b = (byte)rgb.get_int(); - set_color_entry(key, XVT_MAKE_COLOR(r,g,b)); + if (rgb.items() == 3) // Trattasi di colore + { + const byte r = (byte)rgb.get_int(0); + const byte g = (byte)rgb.get_int(); + const byte b = (byte)rgb.get_int(); + set_color_entry(key, XVT_MAKE_COLOR(r,g,b)); + } else + if (xvt_str_compare_ignoring_case(key, "FontDesc") == 0) + { + _font_desc = value; + } } applied = true; } @@ -460,7 +511,19 @@ bool TColor_mask::apply_theme() { switch (theme) { - case 1: // System colors + case 1: // Campo default colors + { + for (short bid = 101; bid <= 113; bid++) + { + const char* name = cid2name(bid); + const COLOR color = cid2color(bid); + set_color_entry(name, color); + } + _font_desc.cut(0); + applied = true; + } + break; + case 2: // System colors { XVT_COLOR_COMPONENT* cc = (XVT_COLOR_COMPONENT*)xvt_vobj_get_attr(NULL_WIN, ATTR_APP_CTL_COLORS); for (short bid = 101; bid <= 113; bid++) @@ -470,28 +533,29 @@ bool TColor_mask::apply_theme() set_color_entry(name, color); } xvt_mem_free((DATA_PTR)cc); + + XVT_FNTID fontid = xvt_res_get_font(0); + xvt_font_serialize(fontid, _font_desc.get_buffer(), _font_desc.size()); + xvt_font_destroy(fontid); + set(214, "X"); // System buttons applied = true; } break; - default: // Default colors + default: // User defined settings { - for (short bid = 101; bid <= 113; bid++) - { - const char* name = cid2name(bid); - const COLOR color = cid2color(bid); - set_color_entry(name, color); - } - TConfig font(CONFIG_GUI, "Font"); - font.set("FontDesc", ""); // Azzera font e lo ricarica alla prossima - xvt_load_default_font(); - applied = true; + TConfig color(CONFIG_GUI, "Colors"); + _color = color.list_variables(); + xvt_font_serialize(xvt_default_font(), _font_desc.get_buffer(), _font_desc.size()); } break; } } if (applied) + { _preview->force_update(); + _cur_theme = theme; + } return applied; } @@ -506,45 +570,107 @@ bool TColor_mask::on_field_event(TOperable_field& f, TField_event e, long jolly) case 211: if (e == fe_init) load_themes(); - break; - case 212: - if (e == fe_button) - apply_theme(); + if (e == fe_modify && is_running()) + { + const int new_theme = atoi(f.get()); + if (new_theme != _cur_theme) + apply_theme(); + } break; case 217: if (e == fe_init || e == fe_modify) _icons->force_update(); break; + case DLG_OK: + if (e == fe_button) + { + stop_run(K_CTRL+'R'); + return false; + } + break; + case DLG_SAVEREC: + if (e == fe_button) + { + stop_run(K_ENTER); + return false; + } + break; + case DLG_NEWREC: + if (e == fe_button) + { + TString name = user(); + xvt_dm_post_string_prompt(TR("Nome del tema"), name.get_buffer(), 16); + if (name.full()) + { + name.trim(); + name.upper(); + name.insert("Theme_"); + { + TConfig ini(CONFIG_GUI, name); + save_colors(ini); + } + load_themes(); + } + return false; + } + break; + case DLG_DELREC: + if (e == fe_button) + { + TList_field& themes = lfield(211); + const int pos = atoi(themes.get()); + bool can_delete = pos > 2; + if (can_delete) // Tema non standard + { + TToken_string values = themes.get_values(); + TString name = values.get(pos); + bool done = yesno_box(FR("Confermare la cancellazione del tema %s"), name.get_buffer()); + if (done) + { + name.insert("Theme_"); + TConfig ini(CONFIG_GUI, name); + if (ini.new_paragraph()) + done = can_delete = false; + else + ini.remove_all(); + } + if (done) + load_themes(); + } + if (!can_delete) + error_box(TR("Tema non cancellabile")); + return false; + } + break; case DLG_USER: if (e == fe_button) { - XVT_FNTID fontid = xvt_default_font(); - if (xvt_dm_post_font_sel(TASK_WIN, fontid, NULL, 0)) + XVT_FNTID fontid = xvt_font_create(); + if (_font_desc.full()) + xvt_font_deserialize(fontid, _font_desc); + else + xvt_font_copy(fontid, xvt_default_font(), XVT_FA_ALL); + if (xvt_dm_post_font_sel(win(), fontid, NULL, 0)) { - char font_ser_desc[256]; - TConfig font(CONFIG_GUI, "Font"); - xvt_font_serialize(fontid, font_ser_desc, sizeof(font_ser_desc)); - font.set("FontDesc", font_ser_desc); - font.set_paragraph("Colors"); // Forza la scrittura del paragrafo - xvt_load_default_font(); - - force_update(); + xvt_font_serialize(fontid, _font_desc.get_buffer(), _font_desc.size()); + _preview->force_update(); } + xvt_font_destroy(fontid); + return false; } break; default: - if (id >= 101 && id <= 113 && e == fe_button) + if (e == fe_button && id >= 101 && id <= 113) { - TColor_mask& m = (TColor_mask&)f.mask(); - const char* name = m.cid2name(f.dlg()); - COLOR col = m.get_color_entry(name); - col = choose_color(col, m.win()); - ok = col != COLOR_INVALID; - if (ok) + const char* name = cid2name(f.dlg()); + COLOR col = get_color_entry(name); + col = choose_color(col, win()); + if (col != COLOR_INVALID) { - m.set_color_entry(name, col); - m.stop_run(K_CTRL + 'R'); + set_color_entry(name, col); + _preview->force_update(); } + return false; } break; } @@ -552,7 +678,7 @@ bool TColor_mask::on_field_event(TOperable_field& f, TField_event e, long jolly) } TColor_mask::TColor_mask() - : TAutomask("ba0200a") + : TAutomask("ba0200a"), _cur_theme(0) { TConfig color(CONFIG_GUI, "Colors"); _color = color.list_variables(); @@ -561,7 +687,7 @@ TColor_mask::TColor_mask() set(215, ADVANCED_GRAPHICS ? "X" : ""); set(216, color.get_int("TreeView")); - _preview = new TPreview_panel(1, 8, 33, 8, this); + _preview = new TPreview_panel(1, 7, 33, 8, this); _icons = new TPreview_icons(1, 10, -2, -2, this); const int sz = color.get_int("ToolSize"); @@ -569,19 +695,12 @@ TColor_mask::TColor_mask() set(218, EASY_RIDER ? "X" : ""); set(219, TOOL_TEXT ? "X" : ""); + + xvt_font_serialize(xvt_default_font(), _font_desc.get_buffer(), _font_desc.size()); } -KEY TColor_mask::run() +void TColor_mask::save_colors(TConfig& colors) { - KEY k = K_CTRL + 'R'; - while (k == K_CTRL + 'R') - k = TMask::run(); - return k; -} - -void TColor_mask::save_colors() -{ - TConfig colors(CONFIG_GUI, "Colors"); FOR_EACH_ASSOC_STRING(_color, obj, key, str) colors.set(key, str); @@ -593,6 +712,17 @@ void TColor_mask::save_colors() colors.set("ToolSize", 16+sz*8); colors.set("EasyRider", get_bool(218) ? "X" : ""); colors.set("ToolText", get_bool(219) ? "X" : ""); + + if (colors.get_paragraph() == "Colors") // nel caso di default CONFIG_GUI + colors.set("FontDesc", _font_desc, "Font"); // per tradizione e' nel paragrafo Font + else + colors.set("FontDesc", _font_desc); // il font e' insieme al resto +} + +void TColor_mask::save_colors() +{ + TConfig colors(CONFIG_GUI, "Colors"); + save_colors(colors); } COLOR TColor_mask::get_color_entry(const char* name) const @@ -690,23 +820,19 @@ bool TMenu_application::menu_item_handler(TMask_field&f, KEY k) bool TMenu_application::menu_find_handler(TMask_field&f, KEY k) { - if (k == K_TAB && f.focusdirty()) + if (k == K_TAB && f.focusdirty() && !f.empty()) { const TString& v = f.get(); - if (v.not_empty()) - { - TPicture_mask& m = (TPicture_mask&)f.mask(); - if (app()._menu.find_string(v)) - { - f.set_focusdirty(false); - return m.stop_run(K_F9); - } - else - { - beep(); - return false; - } - } + if (app()._menu.find_string(v)) + { + f.set_focusdirty(false); + return f.mask().stop_run(K_F9); + } + else + { + beep(); + return false; + } } return true; } @@ -835,9 +961,7 @@ bool TMenu_application::ask_user_password(TString& utente) bool ok = false; // Disabilita le voci di personalizzazione - int mi; - for (mi = 2; mi <= 7; mi++) - disable_menu_item(MENU_ITEM(mi)); + enable_options_menu(false); TMask m("ba0100a"); @@ -942,8 +1066,7 @@ bool TMenu_application::ask_user_password(TString& utente) } // Abilita le voci di personalizzazione - for (mi = 2; mi <= 7; mi++) - enable_menu_item(MENU_ITEM(mi)); + enable_options_menu(true); return ok; } @@ -1318,30 +1441,46 @@ void TMenu_application::main_loop() } } +void enable_options_menu(bool on) +{ + const WINDOW tw = TASK_WIN; + xvt_menu_set_item_enabled(tw, M_FILE_NEW, on); // Cambio ditta + xvt_menu_set_item_enabled(tw, M_FILE_PG_SETUP, on); // Imposta Stampante + for (int i = 2; i <= 7; i++) // Menu opzioni + xvt_menu_set_item_enabled(tw, MENU_ITEM(i), on); + xvt_menu_update(tw); +} + bool TMenu_application::choose_colors() { - disable_menu_item(OPTIONS_MENU); - TColor_mask* cm = new TColor_mask(); - const bool ok = cm->run() == K_ENTER; - if (ok) + enable_options_menu(false); + + bool update_needed = false; + KEY key = K_CTRL+'R'; + while (key == K_CTRL+'R') { - _tree_view = cm->get_int(216); // Aggiorna stile menu - cm->save_colors(); // Aggiorna config - customize_colors(); // Aggiorna set di colori - - reload_images(); // Aggiorna bitmaps del menu - - // Ridisegna sfondo - TTemp_window tw(TASK_WIN); - tw.force_update(); - - // Provoca chiusura forzata del menu - if (_mask != NULL) - _mask->stop_run(K_CTRL + 'R'); + TColor_mask cm; + key = cm.run(); + if (key == K_ENTER || key == K_CTRL+'R') // Salva o Applica + { + _tree_view = cm.get_int(216); // Aggiorna stile menu + cm.save_colors(); // Aggiorna config + customize_colors(); // Aggiorna set di colori + reload_images(); // Aggiorna bitmaps del menu + + // Ridisegna sfondo + TTemp_window tw(TASK_WIN); + tw.force_update(); + update_needed = true; + } } - delete cm; - enable_menu_item(OPTIONS_MENU); - return ok; + + // Provoca chiusura forzata del menu + if (update_needed && _mask != NULL) + _mask->stop_run(K_CTRL + 'R'); + + enable_options_menu(true); + return key == K_ENTER; } HIDDEN bool browse_file_handler(TMask_field& f, KEY k) @@ -1350,23 +1489,15 @@ HIDDEN bool browse_file_handler(TMask_field& f, KEY k) if (k == K_F9) { - FILE_SPEC fs; memset(&fs, 0, sizeof(FILE_SPEC)); - xvt_fsys_convert_str_to_dir(".", &fs.dir); -#ifdef WIN32 - strcpy(fs.type, "EXE"); -#endif - strcpy(fs.name, f.get()); - strcpy(fs.creator, "MENU"); - - DIRECTORY dir; - xvt_fsys_get_dir(&dir); + TFilename n = f.get(); n.ext("exe"); + FILE_SPEC fs; xvt_fsys_convert_str_to_fspec(n, &fs); + + //DIRECTORY dir; xvt_fsys_get_dir(&dir); const int err = xvt_dm_post_file_open(&fs, TR("Selezione programma")); - xvt_fsys_set_dir(&dir); + //xvt_fsys_set_dir(&dir); if (err == FL_OK) { - TFilename n; - xvt_fsys_convert_dir_to_str(&fs.dir, n.get_buffer(), n.size()); - n.add(fs.name); + xvt_fsys_convert_fspec_to_str(&fs, n.get_buffer(), n.size()); f.set(n); } } @@ -1402,7 +1533,7 @@ HIDDEN bool link_notify(TSheet_field& s, int r, KEY k) bool TMenu_application::choose_editors() { - disable_menu_item(OPTIONS_MENU); + enable_options_menu(false); TConfig link(CONFIG_GUI, "Link"); @@ -1443,7 +1574,7 @@ bool TMenu_application::choose_editors() } delete msk; - enable_menu_item(OPTIONS_MENU); + enable_options_menu(true); return true; } @@ -1505,9 +1636,7 @@ HIDDEN bool study_handler(TMask_field& f, KEY k) bool TMenu_application::choose_study() { // Disbilita le voci di personalizzazione - int mi; - for (mi = 2; mi <= 7; mi++) - disable_menu_item(MENU_ITEM(mi)); + enable_options_menu(false); TMask m(TR("Scelta studio"), 1, 62, 4); m.add_button(DLG_OK, 0, "", -12, -1, 10, 2); @@ -1533,8 +1662,7 @@ bool TMenu_application::choose_study() } // Abilita le voci di personalizzazione - for (mi = 2; mi <= 7; mi++) - enable_menu_item(MENU_ITEM(mi)); + enable_options_menu(true); return ok; } @@ -1918,13 +2046,17 @@ int TMenu_application::do_outlook() return key == K_QUIT ? -2 : 0; } +bool TMenu_application::firm_change_enabled() const +{ + return _mask != NULL; // Impedisci il cambio ditta durante il login +} + void TMenu_application::on_firm_change() { TConfig cfgs(CONFIG_STUDIO, "Main"); // Forza creazione STUDIO.INI copiandolo eventulamente da PRASSIS.INI TConfig cfgd(CONFIG_DITTA, "ba"); // Forza creazione DITTA.INI copiandolo eventulamente da PRASSID.INI } - bool TMenu_application::menu(MENU_TAG mt) { bool ok = true; diff --git a/ba/ba0101.cpp b/ba/ba0101.cpp index 6c6c02f7b..919deaf9d 100755 --- a/ba/ba0101.cpp +++ b/ba/ba0101.cpp @@ -1,5 +1,6 @@ #include #include +#include #include #include #include @@ -632,7 +633,7 @@ TSubmenu* TMenu::find_string(const TString& str) TSubmenu* TMenu::find_parent(const TSubmenu& sub) { restart(); - TSubmenu* sm; + TSubmenu* sm = NULL; for (sm = (TSubmenu*)get(); sm; sm = (TSubmenu*)get()) { for (int i = sm->items()-1; i >= 0; i--) diff --git a/ba/ba0102.cpp b/ba/ba0102.cpp index cd0615b3b..7af4bd3b4 100755 --- a/ba/ba0102.cpp +++ b/ba/ba0102.cpp @@ -49,18 +49,18 @@ HIDDEN bool find_string_callback(TTree& tree, void* jolly, word flags) const TSubmenu& sm = mt.curr_submenu(); if (sm.disabled()) - return FALSE; + return false; TFind_string_data& data = *(TFind_string_data*)jolly; if (data._ignore_list->is_key(sm.name())) - return FALSE; + return false; TString desc; mt.get_description(desc); desc.upper(); if (desc.find(data._str) >= 0 || desc.match(data._str)) - return TRUE; + return true; } - return FALSE; + return false; } HIDDEN bool find_node_callback(TTree& tree, void* jolly, word flags) diff --git a/ba/ba0102.h b/ba/ba0102.h index 8b5d94864..901c42e98 100755 --- a/ba/ba0102.h +++ b/ba/ba0102.h @@ -124,5 +124,6 @@ public: void synchronize_tree_field(TTree_field& tf); bool can_be_transparent(const TImage& i); void draw_spider(WINDOW win, int mode, const PNT& mouse); +void enable_options_menu(bool on); #endif diff --git a/ba/ba0103.cpp b/ba/ba0103.cpp index a5d93fc64..69bb6da6c 100755 --- a/ba/ba0103.cpp +++ b/ba/ba0103.cpp @@ -2,6 +2,8 @@ #include #include +#include +#include #include #include @@ -189,7 +191,8 @@ short TBook_window::add_page(const TString& caption) xvt_vobj_get_client_rect(win(), &wd.rct); _ctrl = xvt_ctl_create_def(&wd, win(), 0L); // Blocca le dimensioni del pannello (Non va micca!) - xvt_pane_set_size_range(win(), wd.rct.right, wd.rct.right, wd.rct.right); + xvt_pane_set_size_range(win(), wd.rct.right, wd.rct.right, wd.rct.right); + enable_options_menu(false); // Disabilita le opzioni } TString256 cap; @@ -259,6 +262,7 @@ void TBook_window::erode_antipa() xvt_notebk_rem_page(_ctrl, p); xvt_vobj_destroy(_ctrl); _ctrl = NULL_WIN; + enable_options_menu(true); // Riabilita le opzioni } } @@ -410,6 +414,18 @@ void TOutlook_mask::handler(WINDOW w, EVENT* ep) load_perspective(0); // Ricarica default break; case 8003: + xvt_dm_post_string_prompt(TR("Testo da cercare"), + _last_search.get_buffer(), _last_search.size()); + // continue to 8004 + case 8004: + if (_last_search.full() && _tree.find_string(_last_search)) + { + TTree_field& tf = tfield(DLG_TREE); + synchronize_tree_field(tf); + tf.select_current(); + } + break; + case 8005: dispatch_e_menu(TASK_WIN, M_FILE_ABOUT); break; case 8883: diff --git a/ba/ba0103.h b/ba/ba0103.h index 2323ae83e..705124c71 100755 --- a/ba/ba0103.h +++ b/ba/ba0103.h @@ -5,10 +5,6 @@ #include "ba0102.h" #endif -#ifndef __EXECP_H -#include -#endif - /////////////////////////////////////////////////////////// // TOutlook_mask /////////////////////////////////////////////////////////// @@ -20,6 +16,7 @@ class TOutlook_mask : public TSpidey_mask TString _per_def, _per_tmp; bool _locked; + TString _last_search; protected: virtual void handler(WINDOW w, EVENT* ep); diff --git a/ba/ba0200a.uml b/ba/ba0200a.uml index 0283bd172..c7ad28084 100755 --- a/ba/ba0200a.uml +++ b/ba/ba0200a.uml @@ -90,36 +90,12 @@ BEGIN PROMPT 38 11 "Sfondo" END -GROUPBOX DLG_NULL 32 3 +LISTBOX 211 1 15 BEGIN - PROMPT 1 5 "@bTemi predefiniti" -END - -LISTBOX 211 1 12 -BEGIN - PROMPT 2 6 "Tema " - ITEM "0|Campo" - ITEM "1|Sistema" -END - -BUTTON 212 8 1 -BEGIN - PROMPT 22 6 "Applica" -END - -BUTTON DLG_USER 12 2 -BEGIN - PROMPT -33 13 "Font" -END - -BUTTON DLG_OK 12 2 -BEGIN - PROMPT -13 -1 "" -END - -BUTTON DLG_CANCEL 12 2 -BEGIN - PROMPT -33 -1 "" + PROMPT 1 5 "Temi predefiniti " + ITEM "0|" + ITEM "1|Campo" + ITEM "2|Sistema" END ENDPAGE @@ -148,12 +124,12 @@ END BOOLEAN 219 BEGIN - PROMPT 1 5 "Visualizza il testo negli strumenti della barra" + PROMPT 1 5 "Mostra il testo degli strumenti" END RADIOBUTTON 216 1 16 BEGIN - PROMPT 32 0 "Tipo di Menu" + PROMPT 36 0 "Tipo di Menu" ITEM "0|Normale" ITEM "1|Albero" ITEM "2|Explorer" @@ -171,14 +147,42 @@ BEGIN RANGE 0 14 END -BUTTON DLG_OK 12 2 +ENDPAGE + +TOOLBAR "topbar" 0 0 0 2 + +BUTTON DLG_SAVEREC 10 2 BEGIN - PROMPT -13 -1 "" + PROMPT -16 -1 "Salva" + PICTURE BMP_SAVEREC END -BUTTON DLG_CANCEL 12 2 +BUTTON DLG_OK 10 2 BEGIN - PROMPT -33 -1 "" + PROMPT -26 -1 "Applica" +END + +BUTTON DLG_NEWREC 10 2 +BEGIN + PROMPT -36 -1 "Nuovo tema" + PICTURE BMP_NEWREC +END + +BUTTON DLG_DELREC 10 2 +BEGIN + PROMPT -46 -1 "Elimina tema" + PICTURE BMP_DELREC +END + +BUTTON DLG_USER 10 2 +BEGIN + PROMPT -56 -1 "Font" + PICTURE BMP_FONT +END + +BUTTON DLG_CANCEL 10 2 +BEGIN + PROMPT -66 -1 "" END ENDPAGE