From 797062113f25b83eac1addb709b99d38a10e2862 Mon Sep 17 00:00:00 2001 From: alex Date: Mon, 2 Jun 1997 10:12:05 +0000 Subject: [PATCH] Corretta check (utilizzato il modo corrente della maschera) git-svn-id: svn://10.65.10.50/trunk@4488 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- include/msksheet.cpp | 162 +++++++++++++++++++++---------------------- 1 file changed, 81 insertions(+), 81 deletions(-) diff --git a/include/msksheet.cpp b/include/msksheet.cpp index 1c90b32a2..0627c5039 100755 --- a/include/msksheet.cpp +++ b/include/msksheet.cpp @@ -1280,8 +1280,8 @@ bool TSpreadsheet::event_handler(XI_OBJ* itf, XI_EVENT *xiev) if (rec < items()) str2mask(rec); notify(rec, K_CTRL+K_DEL); // Notifica l'avvenuta cancellazione - set_dirty(); - if (rec >= items()) + set_dirty(); + if (rec >= items()) rec = items() - 1; if (rec >= 0) select(rec, FALSE); @@ -2047,9 +2047,9 @@ KEY TSpreadsheet::edit(int n) // Certified 100% TSheet_field::TSheet_field(TMask* m) - : TLoadable_field(m), _append(TRUE), - _enable_autoload(FALSE),_sheetfile(NULL),_linee_rec(NULL),_external_record(FALSE), - _userput(NULL),_userget(NULL) + : TLoadable_field(m), _append(TRUE), + _enable_autoload(FALSE),_sheetfile(NULL),_linee_rec(NULL),_external_record(FALSE), + _userput(NULL),_userget(NULL) { } @@ -2065,10 +2065,10 @@ bool TSheet_field::is_kind_of(word cid) const // Certified 100% TSheet_field::~TSheet_field() { - if (_sheetfile!=NULL) - delete _sheetfile; - if (_linee_rec!=NULL && !_external_record) - delete _linee_rec; + if (_sheetfile!=NULL) + delete _sheetfile; + if (_linee_rec!=NULL && !_external_record) + delete _linee_rec; } @@ -2109,13 +2109,13 @@ void TSheet_field::parse_head(TScanner& scanner) // Certified: ...under debug... bool TSheet_field::parse_item(TScanner& scanner) { - if (scanner.key() == "IT") // ITEM + if (scanner.key() == "IT") // ITEM { _ctl_data._park.add(scanner.string()); return TRUE; } - if (scanner.key() == "FL") // FLAGS + if (scanner.key() == "FL") // FLAGS { _enable_autoload=scanner.string()=="A"; return TRUE; @@ -2132,21 +2132,21 @@ bool TSheet_field::parse_item(TScanner& scanner) if (fexist(d.filename())) // Controlla l'esistenza del file { _sheetfile = new TLocalisamfile(logicnum); - TString s = scanner.pop(); + TString s = scanner.pop(); - // cerca l'indicazione del campo di numerazione - if (s == "KE") - { - s = scanner.pop(); - _linee_rec= new TRecord_array(logicnum, s);// alloca i record - } - else - { - NFCHECK("Manca la definizione del campo di autonumerazione nel campo %d", + // cerca l'indicazione del campo di numerazione + if (s == "KE") + { + s = scanner.pop(); + _linee_rec= new TRecord_array(logicnum, s);// alloca i record + } + else + { + NFCHECK("Manca la definizione del campo di autonumerazione nel campo %d", (int)dlg()); - } + } - } + } } return TRUE; } @@ -2636,7 +2636,7 @@ void TSheet_field::check_row(int n) const int max = m.fields(); TMaskmode mask_mode = (TMaskmode) m.mode(); - m.set_mode(MODE_INS); + m.set_mode(mask().mode()); for (int i = max - 1; i >= 0; i--) { TMask_field & f = m.fld(i); @@ -2654,49 +2654,49 @@ void TSheet_field::check_row(int n) // Certified: ...under debug.. void TSheet_field::set_lines_record(TRecord_array & r_a) { - if (_linee_rec && !_external_record) - delete _linee_rec; - _linee_rec= & r_a; - _external_record=TRUE; // il record attuale è esterno... + if (_linee_rec && !_external_record) + delete _linee_rec; + _linee_rec= & r_a; + _external_record=TRUE; // il record attuale è esterno... } // Certified: ...under debug.. TRectype * TSheet_field::putkey(const TRelation& r) { if (_sheetfile) { - // ******* - // costruisce la chiave per il record array - _sheetfile->zero(); - _file_k_names.restart(); - _file_k_ids.restart(); - TString dbfieldname; - while ((dbfieldname=_file_k_names.get())!="") { - TMask_field & f= mask().field(atoi(_file_k_ids.get())); - ((TLoadable_field&)f).autoload(r); - _sheetfile->put(dbfieldname, f.get()); - } - return &_sheetfile->curr(); - } - return NULL; + // ******* + // costruisce la chiave per il record array + _sheetfile->zero(); + _file_k_names.restart(); + _file_k_ids.restart(); + TString dbfieldname; + while ((dbfieldname=_file_k_names.get())!="") { + TMask_field & f= mask().field(atoi(_file_k_ids.get())); + ((TLoadable_field&)f).autoload(r); + _sheetfile->put(dbfieldname, f.get()); + } + return &_sheetfile->curr(); + } + return NULL; } // Certified: ...under debug.. bool TSheet_field::autoload_line(int i,TRectype & rec) { - TToken_string &row= this->row(i-1); + TToken_string &row= this->row(i-1); row = ""; // riempie le colonne dello sheet i cui campi hanno attributo "FIELD" for (int f=FIRST_FIELD; f<=_last_column_id; f++) { - TFieldref const *dbfield=sheet_mask().field(f).field(); - if (dbfield) { - row.add(dbfield->read(rec),cid2index(f)); - } - // completa l'operazione con le funzioni definite dall'utente + TFieldref const *dbfield=sheet_mask().field(f).field(); + if (dbfield) { + row.add(dbfield->read(rec),cid2index(f)); + } + // completa l'operazione con le funzioni definite dall'utente } - if (_userget) - _userget(*this,i); - check_row(i-1); + if (_userget) + _userget(*this,i); + check_row(i-1); return TRUE; } @@ -2704,14 +2704,14 @@ bool TSheet_field::autoload_line(int i,TRectype & rec) bool TSheet_field::autosave_line(int i,TRectype & rec) { for (int f=FIRST_FIELD; f<=_last_column_id; f++) { - TFieldref const *dbfield=sheet_mask().field(f).field(); - if (dbfield) - dbfield->write(cell(i-1,cid2index(f)),rec); + TFieldref const *dbfield=sheet_mask().field(f).field(); + if (dbfield) + dbfield->write(cell(i-1,cid2index(f)),rec); } - // completa l'operazione con le funzioni definite dall'utente - if (_userput) - _userput(*this,i); - return FALSE; + // completa l'operazione con le funzioni definite dall'utente + if (_userput) + _userput(*this,i); + return FALSE; } // Certified: ...under debug.. @@ -2719,18 +2719,18 @@ bool TSheet_field::autoload(const TRelation& rel) { if (_enable_autoload) { - CHECK(_linee_rec !=NULL, "Iu ev forgotten tu declare de Record array for de scit"); + CHECK(_linee_rec !=NULL, "Iu ev forgotten tu declare de Record array for de scit"); // ******* // trasferisce le linee dal record array allo sheet destroy(); // cancella lo sheet const int last_line = _linee_rec->last_row(); for (int i= 1; i <= last_line; i++) { - autoload_line(i,_linee_rec->row(i, TRUE)); + autoload_line(i,_linee_rec->row(i, TRUE)); } return(0); - } + } return _enable_autoload; } @@ -2739,30 +2739,30 @@ bool TSheet_field::autosave(TRelation& rel) { if (_enable_autoload) { - CHECK(_linee_rec !=NULL, "Iu ev forgotten tu declare de Record array for de scit"); - _linee_rec->destroy_rows(); - if (_sheetfile) - { - // trasferisce dal file locale - if (mask().insert_mode()) { - // rinumera la chiave - _file_k_names.restart(); - _file_k_ids.restart(); - TString dbfieldname; - while ((dbfieldname=_file_k_names.get())!="") { - TMask_field & f= mask().field(atoi(_file_k_ids.get())); - _linee_rec->renum_key(dbfieldname, f.get()); - } - } - } + CHECK(_linee_rec !=NULL, "Iu ev forgotten tu declare de Record array for de scit"); + _linee_rec->destroy_rows(); + if (_sheetfile) + { + // trasferisce dal file locale + if (mask().insert_mode()) { + // rinumera la chiave + _file_k_names.restart(); + _file_k_ids.restart(); + TString dbfieldname; + while ((dbfieldname=_file_k_names.get())!="") { + TMask_field & f= mask().field(atoi(_file_k_ids.get())); + _linee_rec->renum_key(dbfieldname, f.get()); + } + } + } // ******* // trasferisce le linee dallo sheet al record array for (int i= 1; i <= items(); i++) - { + { autosave_line(i,_linee_rec->row(i, TRUE)); - } - } - return _enable_autoload; + } + } + return _enable_autoload; }