Patch level : 12.0 no-patch

Files correlati     :

Aggiunte funzioni

    // @cmember Aggiunge un intero al campo
    void add(short fld_id, long num, byte hit = 0x0);
    // @cmember Aggiunge un reale al campo
    void add(short fld_id, const real& num, byte hit = 0x0);
    // @cmember Aggiunge un currency al campo
    void add(short fld_id, const TCurrency& num, byte hit = 0x0);
    // @cmember Sottrae un intero al campo
    void sub(short fld_id, const long num, byte hit = 0x0);
    // @cmember Sottrae un reale al campo
    void sub(short fld_id, const real& num, byte hit = 0x0);
    // @cmember Sottrae un currency al campo
    void sub(short fld_id, const TCurrency& num, byte hit = 0x0);
    // @cmember Moltiplica per un intero al campo
    void mul(short fld_id, long num, byte hit = 0x0);
    // @cmember Moltiplica per un reale al campo
    void mul(short fld_id, const real& num, byte hit = 0x0);
    // @cmember Moltiplica per un currency al campo
    void mul(short fld_id, const TCurrency& num, byte hit = 0x0);
    // @cmember Divide per un intero al campo
    void div(short fld_id, const long num, byte hit = 0x0);
    // @cmember Divide per un reale al campo
    void div(short fld_id, const real& num, byte hit = 0x0);
    // @cmember Divide per un currency al campo
    void div(short fld_id, const TCurrency& num, byte hit = 0x0);
    bool active(short fld_id);
This commit is contained in:
Alessandro Bonazzi 2020-04-26 14:52:59 +02:00
parent 44b05030c4
commit b7054a24fd
2 changed files with 44 additions and 4 deletions

View File

@ -647,6 +647,18 @@ long TMask_field::get_long() const
return atol(get());
}
TCurrency& TMask_field::get_currency(TCurrency& c) const
{
if (class_id() == CLASS_CURRENCY_FIELD)
((TCurrency_field&)*this).get_currency(c);
else
{
c.force_value("");
c.set_num(get_real());
}
return c;
}
void TMask_field::set_default(const char*)
{
NFCHECK("Only loadables can have a default");
@ -693,6 +705,17 @@ const TString & TMask_field::evaluate_field(const char* s) const
// @doc EXTERNAL
// @mfunc Verifica se il campo deve essere sottoposto a check iniziale
//
// @rdesc Ritorna il risultato:
//
// @flag true | Se il campo e' da sottoporre a check
// @flag false | Se il campo non e' da sottoporre checkbool initial_check(KEY k) const
bool TMask_field::initial_check(KEY k) const
{
return k == K_TAB && !mask().is_running();
}
// @mfunc Verifica se il campo deve essere sottoposto a check
//
// @rdesc Ritorna il risultato:
@ -703,10 +726,10 @@ bool TMask_field::to_check(
KEY k, // @parm Tasto da passare al campo come simulazione di inizio controllo
bool checkrun) const // @parm Permette di ritornare true se la maschera e' in start_run() mode
{
bool yes = (k == K_TAB && focusdirty()) || (k == K_ENTER && dirty());
bool yes = running_check(k) || final_check(k);
if (!yes && checkrun)
yes = k == K_TAB && !mask().is_running();
yes = k == initial_check(k);
return yes;
}

View File

@ -344,8 +344,14 @@ public:
// @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;
// @cmember Controlla se il check inizialee del campo è da eseguire
bool initial_check(KEY k) const;
// @cmember Controlla se il check del campo è da eseguire durante l'esecuzione
bool running_check(KEY k) const { return k == K_TAB && focusdirty(); }
// @cmember Controlla se il check iniziale del campo è in chiusura
bool final_check(KEY k) const { return k == K_ENTER && dirty(); }
// @cmember Controlla se il check del campo è da eseguire
bool to_check(KEY k, bool checkrun = false) const;
// @cmember Gestisce la chiamata all'handler del campo
virtual bool on_hit();
@ -361,7 +367,18 @@ public:
// @cmember Ritorna il contenuto del campo
virtual const TString& get() const;
// @cmember Ritorna il contenuto del campo sotto forma di long
virtual long get_long() const;
// @cmember Ritorna il contenuto del campo sotto forma di int
virtual int get_int() const { return (int)get_long(); }
// @cmember Ritorna il contenuto del campo sotto forma di bool
virtual bool get_bool() const { return get().full(); }
// @cmember Ritorna il contenuto del campo sotto forma di real
virtual real get_real() const { return real(get()); }
// @cmember Ritorna il contenuto del campo sotto forma di data
virtual TDate get_date() const { return TDate(get()); }
// @cmember Ritorna il contenuto del campo sotto forma di currency
virtual TCurrency & get_currency(TCurrency & c) const;
// @cmember Ritorna il default del campo
virtual const TString& get_default() const;