Patch level : 2.2 nopatch

Files correlati     :
Ricompilazione Demo : [ ]
Commento            :

Aggiunto lfield


git-svn-id: svn://10.65.10.50/trunk@12967 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 2005-04-20 22:57:05 +00:00
parent de3cf1b76f
commit f189b22dba
5 changed files with 107 additions and 92 deletions

View File

@ -162,11 +162,13 @@
#define LF_RRIP 150
#define LF_SALDANA 151
#define LF_RILPROD 152
#define LF_RRILPROD 153
#define LF_RILPROD 152
#define LF_RRILPROD 153
#define LF_LETINT 154
#define LF_PANAPDC 155
#define LF_EXTERNAL 1000 // Files with id >= are considered to be externals
@ -180,4 +182,3 @@

View File

@ -614,6 +614,13 @@ TEdit_field& TMask::efield(short id) const
return (TEdit_field&)f;
}
TList_field& TMask::lfield(short id) const
{
TMask_field& f = field(id);
CHECKD(f.is_list(), "Impossibile trattare come listbox il campo ", id);
return (TList_field&)f;
}
TSheet_field& TMask::sfield(short id) const
{
TMask_field& f = field(id);

View File

@ -121,7 +121,7 @@ protected:
// @cmember Inizializza la maschera
void init_mask();
// @cmember Legge la pagina da file
WINDOW read_page(TScanner& scanner, bool toolbar = FALSE);
WINDOW read_page(TScanner& scanner, bool toolbar = false);
// @cmember Aggiunge i tags ad una pagina
void add_tag_button(byte pag, TToken_string& tags, byte sel);
@ -264,6 +264,8 @@ public:
TMask_field* find_by_fieldname(const char* fieldname) const;
// @cmember Ritorna il campo di edit contraddistinto dall'identificatore passato
TEdit_field& efield(short id) const;
// @cmember Ritorna il campo listbox contraddistinto dall'identificatore passato
TList_field& lfield(short id) const;
// @cmember Ritorna il campo sheet contraddistinto dall'identificatore passato
TSheet_field& sfield(short id) const;
// @cmember Ritorna il campo tree contraddistinto dall'identificatore passato
@ -309,7 +311,7 @@ public:
// @cmember Disabilita la lettura dei check della maschera
void disable_starting_check()
{ _should_check = FALSE;}
{ _should_check = false;}
// @cmember Evita che venga chiamata la TWindow
virtual void on_button(short);
@ -326,7 +328,7 @@ public:
virtual void enable(short fld_id, bool on = TRUE);
// @cmember Disabilita un campo (chiama <mf TMask::enable>)
void disable(short fld_id)
{ enable(fld_id, FALSE); }
{ enable(fld_id, false); }
// @cmember Riporta il cmpo allo stato di abilitazione iniziale
void enable_default(short fld_id = 0);
@ -336,7 +338,7 @@ public:
void enable_page(byte p, bool on = TRUE);
// @cmember Disabilita una pagina e tutte le successive (chiama <mf TMask::enable_page>)
void disable_page(byte p)
{ enable_page(p, FALSE); }
{ enable_page(p, false); }
// @cmember Controlla se una pagina e' disabilitata (TRUE se disabilitata)
bool page_enabled(byte p) const;
@ -346,7 +348,7 @@ public:
void enable_key(word key, bool on = TRUE);
// @cmember Disabilita i campi di una chiave sulla maschera (chiama <mf TMask::enable_key>)
void disable_key(word key)
{ enable_key(key, FALSE); }
{ enable_key(key, false); }
// @cmember Ritorna il l'identificatore di un campo della chiave <p key>
TEditable_field* get_key_field(word key, bool first) const;
// @cmember Controlla se la chiave <p key> ha un valore significativo
@ -357,7 +359,7 @@ public:
virtual void show(short fld_id = -1, bool on = TRUE);
// @cmember Permette di nascondere un campo (chiama <mf TMask::show>)
void hide(short fld_id = 0)
{ show(fld_id, FALSE); }
{ show(fld_id, false); }
// @cmember Rimette lo stato di default del campo
void show_default(short fld_id = 0);
@ -381,9 +383,9 @@ public:
void set_workfile(const char* workfile)
{ _workfile = workfile; _lastpos = 0L;}
// @cmember Salva i valori dei campi della maschera sul file di salvataggio
bool save(bool append = FALSE) const;
bool save(bool append = false) const;
// @cmember Legge i valori dei campi della maschera da file di salvataggio
bool load(bool reset = FALSE);
bool load(bool reset = false);
// @cmember Copia i valori dei campi dalla maschera <p m>
void copy_values(const TMask &m);

View File

@ -125,7 +125,7 @@ protected:
bool user : 1;
TField_Flags();
char update(const char* f, bool reset = FALSE);
char update(const char* f, bool reset = false);
} _flags;
// @cmember Costruisce il campo con i suoi parametri
@ -167,17 +167,17 @@ public:
// @cmember Controlla se si tratta di un controllo corretto
virtual bool ok() const;
// @cmember Ritorna TRUE se il campo e' stato modificato
// @cmember Ritorna true se il campo e' stato modificato
byte dirty() const
{ return _flags.dirty; }
// @cmember Ritorna TRUE se il campo e' stato modificato dall'ultima volta che ha ricevuto il focus
// @cmember Ritorna true se il campo e' stato modificato dall'ultima volta che ha ricevuto il focus
bool focusdirty() const
{ return _flags.focusdirty; }
// @cmember Setta lo stato di focusdirty del campo
void set_focusdirty(bool d = TRUE)
void set_focusdirty(bool d = true)
{ _flags.focusdirty = d; }
// @cmember Setta lo stato di dirty del campo
void set_dirty(byte d = TRUE);
void set_dirty(byte d = true);
// @cmember Abilita il trim degli spazi
void set_trim(bool t)
@ -190,11 +190,11 @@ public:
bool right_justified() const
{ return _flags.rightjust; }
// @cmember Ritorna TRUE se il campo e' in maiuscolo
// @cmember Ritorna true se il campo e' in maiuscolo
bool uppercase() const
{ return _flags.uppercase; }
// @cmember Ritorna TRUE se il campo e' zerofilled
// @cmember Ritorna true se il campo e' zerofilled
bool zerofilled() const
{ return _flags.zerofilled; }
@ -203,7 +203,7 @@ public:
{ return _flags.pipeallowed; }
// @cmember Consente l'inserimento del carattere pipe
void allow_pipe(bool r = TRUE)
void allow_pipe(bool r = true)
{ _flags.pipeallowed = r; }
// @stabilisce se un campo contiene il codice ditta
@ -215,28 +215,28 @@ public:
// @cmember Ritorna l'identificatore della classe
virtual word class_id() const;
// @cmember Ritorna TRUE se il campo e' un numero romano
// @cmember Ritorna true se il campo e' un numero romano
bool roman() const
{ return _flags.roman; }
// @cmember Ritorna TRUE se il campo e' automagic
// @cmember Ritorna true se il campo e' automagic
bool automagic() const
{ return _flags.automagic; }
// @cmember Ritorna TRUE se ha un bottone di campo
// @cmember Ritorna true se ha un bottone di campo
bool has_button() const
{ return _flags.button; }
// @cmember Ritorna TRUE se si tratta di campo fantasma
// @cmember Ritorna true se si tratta di campo fantasma
bool ghost() const
{ return _flags.ghost; }
// @cmember Controlla se il campo appartiene ad una chiave di ricerca
virtual bool in_key(word) const
{ return FALSE; }
{ return false; }
// @cmember Controlla se il campo ha un check
virtual bool has_check() const
{ return FALSE;}
{ return false;}
// @cmember Controlla se il campo ha una richiesta
virtual bool has_query_button() const
{ return FALSE;}
{ return false;}
// @cmember Ritorna il campo corrispondente su record
virtual const TFieldref* field() const
{ return NULL; }
@ -246,23 +246,23 @@ public:
// @cmember Ritorna lo stato di checktype del campo
virtual CheckType check_type() const
{ return CHECK_NONE; }
// @cmember Ritorna TRUE se il checktype del campo e' <p CHECK_REQUIRED>
// @cmember Ritorna true se il checktype del campo e' <p CHECK_REQUIRED>
bool required() const
{ return check_type() == CHECK_REQUIRED; }
// @cmember Controlla la validita' del campo
virtual bool check(CheckTime = RUNNING_CHECK)
{ return TRUE;}
{ return true;}
// @cmember Azzera il contenuto del campo
virtual void reset();
// @cmember Abilita/disabilita il campo (lo rende scrivibile)
virtual void enable(bool on = TRUE);
virtual void enable(bool on = true);
// @cmember Abilita/disabilita il campo (chiama <mf TMask_field::enable>)
void disable()
{ enable(FALSE); }
{ enable(false); }
// @cmember Controlla se un campo e' abilitato
virtual bool enabled() const
{ return _flags.enabled; }
@ -273,14 +273,14 @@ public:
{ return _flags.enable_default; }
// @cmember Permette di rendere visibile/invisibile un campo
virtual void show(bool on = TRUE);
virtual void show(bool on = true);
// @cmember Permette di rendere invisibile un campo (chiama <mf TMask_field::enable>)
void hide()
{ show(FALSE); }
// @cmember Ritorna TRUE se il campo e' visibile
{ show(false); }
// @cmember Ritorna true se il campo e' visibile
bool shown() const
{ return _flags.shown; }
// @cmember Ritorna TRUE se il campo e' nascosto
// @cmember Ritorna true se il campo e' nascosto
bool hidden() const
{ return !shown(); }
@ -288,30 +288,32 @@ public:
// settato sul file
void show_default();
// @cmember Ritorna TRUE se il campo e' sia visibile che abilitato
// @cmember Ritorna v se il campo e' sia visibile che abilitato
bool active() const;
// @cmember Setta l'handler del controllo
virtual void set_handler(CONTROL_HANDLER);
// @cmember Ritorna TRUE se il campo e' di tipo operable
virtual bool is_operable() const { return FALSE; }
// @cmember Ritorna TRUE se il campo e' caricabile da file
virtual bool is_loadable() const { return FALSE; }
// @cmember Ritorna TRUE se il campo e' di tipo editable
virtual bool is_editable() const { return FALSE; }
// @cmember Ritorna TRUE se il campo e' di tipo edit
virtual bool is_edit() const { return FALSE; }
// @cmember Ritorna TRUE se il campo e' di tipo sheet
virtual bool is_sheet() const { return FALSE; }
// @cmember Ritorna true se il campo e' di tipo operable
virtual bool is_operable() const { return false; }
// @cmember Ritorna true se il campo e' caricabile da file
virtual bool is_loadable() const { return false; }
// @cmember Ritorna true se il campo e' di tipo editable
virtual bool is_editable() const { return false; }
// @cmember Ritorna true se il campo e' di tipo edit
virtual bool is_edit() const { return false; }
// @cmember Ritorna true se il campo e' di tipo listbox
virtual bool is_list() const { return false; }
// @cmember Ritorna true se il campo e' di tipo sheet
virtual bool is_sheet() const { return false; }
// @cmember Permette di spedire il check
bool to_check(KEY k, bool checkrun = FALSE) const;
bool to_check(KEY k, bool checkrun = false) const;
// @cmember Gestisce la chiamata all'handler del campo
virtual bool on_hit();
// @cmember Gestisce la pressione del tasto (TRUE se la gestione ha avuto successo)
// @cmember Gestisce la pressione del tasto (true se la gestione ha avuto successo)
virtual bool on_key(KEY key);
// @cmember Setta il contenuto del campo inserendo la stringa <p s>
@ -329,7 +331,7 @@ public:
// @cmember Setta il default del campo
virtual void set_default(const char*);
virtual bool empty() const { return FALSE; }
virtual bool empty() const { return false; }
// @cmember Ritorna la dimensione del buffer associato al campo
virtual word size() const
@ -345,9 +347,9 @@ public:
// @cmember Setta il prompt del campo
virtual void set_prompt(const char* p);
// @cmember Controlla se il campo appartiene al gruppo <p group> (TRUE se appartiene)
// @cmember Controlla se il campo appartiene al gruppo <p group> (true se appartiene)
bool in_group(byte group) const
{ return _groups ? (*_groups)[group] : FALSE; }
{ return _groups ? (*_groups)[group] : false; }
// @cmember Ritorna il numero di pagina
int page() const;
@ -368,7 +370,7 @@ public:
// @cmember Crea una yesnocancel-box relativamente al campo (chiama <f yesnocancel_box>)
KEY yesnocancel_box(const char* fmt, ...) const;
void update_flags(const char * f, bool reset = FALSE);
void update_flags(const char * f, bool reset = false);
// @cmember Ritorna per riferimento la maschera di appartenenza del campo
TMask& mask() const
{ return *_mask; }
@ -453,7 +455,7 @@ protected: // TMask_field
bool handler(KEY k);
virtual bool parse_item(TScanner& scanner);
virtual bool is_operable() const { return TRUE; }
virtual bool is_operable() const { return true; }
virtual bool on_hit();
// @cmember Setta il focus sul campo
@ -467,7 +469,7 @@ public:
{}
// @cmember Ritorna il messaggio <p n>-esimo del campo
TToken_string* message(int m, bool crea = FALSE);
TToken_string* message(int m, bool crea = false);
// @cmember Esegue il messaggio <p n>-esimo sul campo
bool do_message(int n);
@ -486,7 +488,7 @@ public:
virtual bool on_key(KEY k);
// @cmember Abilita/disabilita il campo (lo rende scrivibile) (vedi <mf TMask_field::enable>)
virtual void enable(bool on = TRUE);
virtual void enable(bool on = true);
TOperable_field(TMask* m);
virtual ~TOperable_field();
@ -513,7 +515,7 @@ protected:
// @cmember Ritorna l'identificatore della classe
virtual word class_id() const;
// @cmember Ritorna TRUE se il controllo deriva dalla classe cid
// @cmember Ritorna true se il controllo deriva dalla classe cid
virtual bool is_kind_of(word cid) const;
// @cmember Crea il controllo
@ -524,7 +526,7 @@ protected:
// @cmember Legge un item del controllo dal file <p scanner>
virtual bool parse_item(TScanner& scanner);
// @cmember Gestisce la pressione del tasto (TRUE se la gestione ha avuto successo)
// @cmember Gestisce la pressione del tasto (true se la gestione ha avuto successo)
virtual bool on_key(KEY key);
public:
@ -563,8 +565,8 @@ public:
// @cmember Scrive sulla relazione il valore del campo
virtual bool autosave(TRelation& r) pure;
// @cmember Ritorna TRUE se il campo e' caricabile da file
virtual bool is_loadable() const { return TRUE; }
// @cmember Ritorna true se il campo e' caricabile da file
virtual bool is_loadable() const { return true; }
// @cmember Ritorna il valore di default del campo
virtual const TString& get_default() const;
@ -625,10 +627,10 @@ public: // TMask_field
virtual const char* prompt() const;
public:
bool test_key_complete(bool normal = TRUE) const;
// @cmember Controlla se il campo appartiene alla chiave <p key> (TRUE se appartiene)
bool test_key_complete(bool normal = true) const;
// @cmember Controlla se il campo appartiene alla chiave <p key> (true se appartiene)
bool in_key(word key) const
{ return _keys ? (*_keys)[key] : FALSE; }
{ return _keys ? (*_keys)[key] : false; }
// @cmember Setta il campo alla chiave <p key>
void set_key(byte key);
// @cmember Rimuove il campo dalla chiave <p key>
@ -661,7 +663,7 @@ public:
void set_warning(const char* w);
const char* get_warning() const;
virtual void show(bool on = TRUE);
virtual void show(bool on = true);
virtual void set_prompt(const char* p);
@ -677,8 +679,8 @@ public:
// @cmember Trasforma una stringa a video in un valore su file
virtual const char* win2raw(const char* w) const;
// @cmember Ritorna TRUE se il campo e' di tipo editable
virtual bool is_editable() const { return TRUE; }
// @cmember Ritorna true se il campo e' di tipo editable
virtual bool is_editable() const { return true; }
// @cmember Ritorna un eventuale campo driver
TOperable_field* driver(int n) const
@ -717,7 +719,7 @@ protected: // TMask_field
protected: // TOperable
// @cmember Gestisce la chiamata all'handler del campo
virtual bool on_hit();
// @cmember Gestisce la pressione del tasto (TRUE se la gestione ha avuto successo)
// @cmember Gestisce la pressione del tasto (true se la gestione ha avuto successo)
virtual bool on_key(KEY key);
protected: // TEditable
@ -768,10 +770,10 @@ public:
// @cmember Controlla la validita' del campo
virtual bool check(CheckTime = RUNNING_CHECK) pure;
virtual bool is_browse() const { return FALSE; }
virtual bool is_sheet() const { return FALSE; }
virtual bool is_filesel() const { return FALSE; }
virtual bool is_profile() const { return FALSE; }
virtual bool is_browse() const { return false; }
virtual bool is_sheet() const { return false; }
virtual bool is_filesel() const { return false; }
virtual bool is_profile() const { return false; }
TBrowse_button(TEdit_field* f);
virtual ~TBrowse_button();
@ -829,7 +831,7 @@ public:
// @cmember Esegue la ricerca. Torna il tasto che ha terminato la ricerca
virtual KEY run();
virtual bool is_sheet() const { return TRUE; }
virtual bool is_sheet() const { return true; }
TString_array& rows_array() { return _data; }
@ -901,7 +903,7 @@ public:
const char* get_output_fields() const;
// @cmember Ritorna il numero di campi non vuoti e non filtrati
int do_input(bool filter = FALSE);
int do_input(bool filter = false);
// @cmember Scrive l'output della ricerca sulla maschera
void do_output(CheckTime = RUNNING_CHECK);
@ -983,7 +985,7 @@ public:
// @cmember Controlla la validita' del campo
virtual bool check(CheckTime = RUNNING_CHECK);
virtual bool is_filesel() const { return TRUE; }
virtual bool is_filesel() const { return true; }
TFile_select(TEdit_field* ef, const char* filter);
virtual ~TFile_select() { }
@ -1005,7 +1007,7 @@ public:
// @cmember Controlla la validita' del campo
virtual bool check(CheckTime = RUNNING_CHECK);
virtual bool is_filesel() const { return TRUE; }
virtual bool is_filesel() const { return true; }
TReport_select(TEdit_field* ef, const char* library);
virtual ~TReport_select() { }
@ -1028,7 +1030,7 @@ public:
virtual bool check(CheckTime = RUNNING_CHECK);
// @cmember E' un campo profilo
virtual bool is_profile() const { return TRUE; }
virtual bool is_profile() const { return true; }
// @cmember Estrae dal .ini tutti i profili
int get_descriptions(TString_array& a) const;
@ -1090,7 +1092,7 @@ public:
virtual bool on_hit();
// @cmember Scrive sulla relazione il valore del campo
virtual bool autosave(TRelation& r);
// @cmember Gestisce la pressione del tasto (TRUE se la gestione ha avuto successo)
// @cmember Gestisce la pressione del tasto (true se la gestione ha avuto successo)
virtual bool on_key(KEY key);
// @cmember Controlla se il campo ha un check
virtual bool has_check() const;
@ -1100,8 +1102,8 @@ public:
// @cmember Imposta la ricerca del campo
virtual void set_query_button(TBrowse_button* );
// @cmember Ritorna TRUE se il campo e' di tipo edit
virtual bool is_edit() const { return TRUE; }
// @cmember Ritorna true se il campo e' di tipo edit
virtual bool is_edit() const { return true; }
// @cmember Legge il valore del campo direttamente dalla finestra del controllo
virtual TString& get_window_data();
@ -1112,7 +1114,7 @@ public:
// @cmember Converte da video a campo
virtual const char* win2raw(const char* w) const;
// @cmember Ritorna TRUE se il campo e' vuoto
// @cmember Ritorna true se il campo e' vuoto
virtual bool empty() const { return _str.empty(); }
// @cmember Ritorna la dimensione del buffer associato al campo
@ -1145,15 +1147,15 @@ public:
{ return (_browse && _browse->is_filesel()) ? (TFile_select*)_browse : NULL;}
// @cmember Permette di abilitare/disabilitare il campo
virtual void enable(bool on = TRUE);
virtual void enable(bool on = true);
// @cmember Permette di abilitare/disabilitare il check del campo
void enable_check(bool on = TRUE) ;
void enable_check(bool on = true) ;
// @cmember Attiva o no la selezione automatica del testo
void autoselect(bool on);
// @cmember Controlla se un campo ha abilitato o disabilitato il check (TRUE se abilitato)
// @cmember Controlla se un campo ha abilitato o disabilitato il check (true se abilitato)
bool check_enabled() const
{ return _check_enabled;}
@ -1207,7 +1209,7 @@ protected: // TEditable_field
virtual const char* raw2win(const char* data) const;
// @cmember Gestisce la pressione del tasto (TRUE se la gestione ha avuto successo)
// @cmember Gestisce la pressione del tasto (true se la gestione ha avuto successo)
virtual bool on_key(KEY key);
// @access Public Member
@ -1280,7 +1282,7 @@ protected: // TMask_field
virtual void create(WINDOW parent);
protected: // TOperable_field
// @cmember Gestisce la pressione del tasto (TRUE se la gestione ha avuto successo)
// @cmember Gestisce la pressione del tasto (true se la gestione ha avuto successo)
virtual bool on_key(KEY key);
protected: // TEditable_field
@ -1354,7 +1356,7 @@ protected:
int str2curr(const char* data);
// @cmember Gestisce la chiamata all'handler del campo
virtual bool on_hit();
// @cmember Gestisce la pressione del tasto (TRUE se la gestione ha avuto successo)
// @cmember Gestisce la pressione del tasto (true se la gestione ha avuto successo)
virtual bool on_key(KEY key);
// @cmember Legge dal file gli item dello sheet
@ -1369,12 +1371,15 @@ protected:
// @access Public Member
public:
// @cmember Ritorna true se il campo e' di tipo listbox
virtual bool is_list() const { return true; }
// @cmember Ritorna la dimensione del buffer associato al campo
virtual word size() const { return _size; }
// @cmember Esegue la ricerca. Torna il tasto che ha terminato la ricerca
virtual bool has_query_button() const
{ return TRUE; }
{ return true; }
// @cmember Conversione da formato visuale a valore
virtual const char* win2raw(const char* data) const;
@ -1550,7 +1555,7 @@ protected: // TEditable_field
virtual TString& get_window_data();
virtual void set_window_data(const char* data);
// @cmember Ritorna FALSE in quanto il campo non e' realmente editable
// @cmember Ritorna false in quanto il campo non e' realmente editable
virtual bool is_editable() const;
virtual void parse_head(TScanner& scanner);
@ -1609,8 +1614,8 @@ protected:
public: // TMask_field
virtual short dlg() const;
virtual WINDOW parent() const { return win().parent(); }
virtual void enable(bool on = TRUE);
virtual void show(bool on = TRUE);
virtual void enable(bool on = true);
virtual void show(bool on = true);
virtual RCT& get_rect(RCT& r) const;
virtual void set_rect(const RCT& r);
@ -1638,8 +1643,8 @@ public:
TTree* tree() const;
void set_tree(TTree* t);
void hide_leaves(bool yes = TRUE);
void show_leaves(bool yes = TRUE) { hide_leaves(!yes); }
void hide_leaves(bool yes = true);
void show_leaves(bool yes = true) { hide_leaves(!yes); }
bool select_current();
bool goto_selected();

View File

@ -2337,7 +2337,7 @@ size_t TReport::get_usr_words(TString_array& words) const
{
"***", "DISABLE", "ENABLE", "GET_POS",
"GET_SIZE", "HIDE", "ISAM_READ", "RUN_FORM", "SET_BACK_COLOR", "SET_FORE_COLOR",
"SET_POS", "SET_SIZE", "SHOW", "TABLE_READ", "FIRM", NULL
"SET_POS", "SET_SIZE", "SHOW", "TABLE_READ", "GET_FIRM_DATA", NULL
};
size_t i;
for (i = 0; name[i] != NULL; i++)
@ -2872,7 +2872,7 @@ bool TReport::execute_usr_word(unsigned int opcode, TVariant_stack& stack)
case 14: // TABLE_READ
msg_table_read(stack);
break;
case 15: // FIRM
case 15: // GET_FIRM_DATA
msg_firm(stack);
break;
default: