From fdd5507908fc2284c3017918bea7b98d5fc8c608 Mon Sep 17 00:00:00 2001 From: angelo Date: Tue, 23 Jan 1996 12:04:36 +0000 Subject: [PATCH] Implementato il cambio del formato globale dei numeri solo per il body ed il footer. Cambiata l'inizializzazione dei contenuti delle maschere di selezione profilo e copia. git-svn-id: svn://10.65.10.50/trunk@2489 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- sc/sc3100.cpp | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/sc/sc3100.cpp b/sc/sc3100.cpp index ad1fec7d7..6fbdaca83 100755 --- a/sc/sc3100.cpp +++ b/sc/sc3100.cpp @@ -32,6 +32,7 @@ protected: virtual bool post_edit_checks(TMask& m, TPrint_section* sec); public: virtual const char* section_mask() { return "sc3100s" ;} + virtual void change_number_format(int w, int dec, const char* p); TForm_EC (): TForm() {}; TForm_EC (const char* form, const char * code = "", int editlevel = 0, const char* desc = "") : TForm(form,code,editlevel,desc) {}; @@ -75,6 +76,18 @@ bool TForm_EC::post_edit_checks(TMask& m, TPrint_section* sec) return TRUE; } +void TForm_EC::change_number_format(int w, int dec, const char* p) +{ + char secs[] = { "FB" }; + char ptyp[] = { "LOEF" }; + TPrint_section* ps; + + for (int sc = 0; sc < 4; sc++) + for (int pt = 0; pt < 4; pt++) + if ((ps = exist(secs[sc], char2page(ptyp[pt]), FALSE)) != NULL) + ps_change_number_format(*ps, w, dec, p); +} + class TForm_EC_editor : public TForm_editor { s_data _prm; @@ -128,8 +141,6 @@ BOOLEAN XVT_CALLCONV1 wprms (long data) bool TForm_EC_editor::ccodes_handler(TMask_field& f, KEY k) { TMask& m = f.mask(); - if (f.dirty() && m.get(F_CBASE).empty()) - m.set(F_CBASE,BASE_EC_PROFILE); if (k==K_TAB) { TString base(m.get(F_CBASE)); @@ -149,9 +160,9 @@ bool TForm_EC_editor::ccodes_handler(TMask_field& f, KEY k) bool TForm_EC_editor::clngs_handler(TMask_field& f, KEY key) { + TMask& m = f.mask(); if (key==K_TAB) { - TMask& m = f.mask(); TString base(m.get(F_CBASE)); TString code(m.get(F_CCODES)); code << f.get(); @@ -175,6 +186,7 @@ bool TForm_EC_editor::cpy_handler(TMask_field& f, KEY k) TMask mm("sc3100b"); mm.set_handler(F_CCODES,ccodes_handler); mm.set_handler(F_CCODELS,clngs_handler); + mm.set(F_CBASE,BASE_EC_PROFILE); while (mm.run() == K_ENTER) // Prende in input il nome del profilo sorgente { long scode = mm.get_long(F_CCODES); @@ -238,9 +250,7 @@ bool TForm_EC_editor::cpy_handler(TMask_field& f, KEY k) bool TForm_EC_editor::code_handler(TMask_field& f, KEY key) { TMask& m = f.mask(); - if (f.dirty() && m.get(F_BASE).empty()) - m.set(F_BASE,BASE_EC_PROFILE); - if (key==K_TAB) + if (key==K_TAB && f.get().not_empty()) { TString base(m.get(F_BASE)); TString code(f.get()); @@ -259,9 +269,9 @@ bool TForm_EC_editor::code_handler(TMask_field& f, KEY key) bool TForm_EC_editor::lng_handler(TMask_field& f, KEY key) { - if (key==K_TAB) + TMask& m = f.mask(); + if (key==K_TAB && m.get(F_CODE).not_empty()) { - TMask& m = f.mask(); TString base(m.get(F_BASE)); TString code(m.get(F_CODE)); code << f.get(); @@ -787,6 +797,8 @@ bool TForm_EC_editor::ask_profile() mask().set_handler(DLG_COPY,cpy_handler); mask().set_handler(F_CODE,code_handler); mask().set_handler(F_CODEL,lng_handler); + mask().set(F_BASE,BASE_EC_PROFILE); + disable_menu_item(M_FILE_PRINT); while ((k = mask().run()) != K_QUIT) {