spreadsheets contenuti in una maschera che richiedeva di
essere aggiornato da tutte le maschere derivate
mask.cpp Modificato metodo sheets() che conta gli sheet presenti
semplificando la vita alle maschere derivate
Gestione menu di modifica
msksheet.cpp Adeguato uso del metodo TMask::sheets()
varmask.h Modificata indentazione
varmask.cpp Adeguato uso del metodo TMask::sheets()
Tolta stringa statica var_mask_str
maskfld.* Tolti metodi obsoleti on_clipboard
git-svn-id: svn://10.65.10.50/trunk@6042 c028cbd2-c16b-5b4b-a496-9718f37d4682
111 lines
2.4 KiB
C++
Executable File
111 lines
2.4 KiB
C++
Executable File
#include <varmask.h>
|
|
|
|
const TString& TVariable_mask::get(short fld_id) const
|
|
{
|
|
if (present( fld_id ))
|
|
return TMask::get( fld_id );
|
|
else
|
|
return EMPTY_STRING;
|
|
}
|
|
|
|
void TVariable_mask::set_handler(short fld_id, CONTROL_HANDLER handler)
|
|
{
|
|
if(present( fld_id ))
|
|
TMask::set_handler( fld_id, handler );
|
|
}
|
|
|
|
void TVariable_mask::set(short fld_id, const char* str, bool hit )
|
|
{
|
|
if(present( fld_id ))
|
|
TMask::set( fld_id, str, hit );
|
|
}
|
|
|
|
void TVariable_mask::show(short fld_id, bool on )
|
|
{
|
|
if(present( fld_id ) )
|
|
TMask::show( fld_id, on );
|
|
}
|
|
|
|
void TVariable_mask::enable(short fld_id, bool on )
|
|
{
|
|
if(present( fld_id ))
|
|
TMask::enable( fld_id, on );
|
|
}
|
|
|
|
void TVariable_mask::check_field( short fld_id )
|
|
{
|
|
if (present( fld_id ))
|
|
TMask::check_field(fld_id);
|
|
}
|
|
|
|
TMask_field* TVariable_mask::parse_field(TScanner& scanner)
|
|
{
|
|
if (scanner.key() == "SP")
|
|
return new TVariable_sheet_field(this);
|
|
|
|
return TMask::parse_field(scanner);
|
|
}
|
|
|
|
TVariable_mask::TVariable_mask(const char* name, int num, int max) : TMask()
|
|
{
|
|
if (name && *name)
|
|
read_mask(name, num, max);
|
|
}
|
|
|
|
|
|
TMask& TVariable_sheet_field::sheet_mask() const
|
|
{
|
|
TMask & m = TSheet_field::sheet_mask();
|
|
const int current = selected();
|
|
|
|
if (_getmask != NULL && current >= 0 && current < items())
|
|
{
|
|
TMask & vm = *_getmask(current, m);
|
|
|
|
vm.set_sheet((TSheet_field *) this);
|
|
return vm;
|
|
}
|
|
return m;
|
|
}
|
|
|
|
void TVariable_sheet_field::post_insert(int r)
|
|
{
|
|
if (!active() || _getmask == NULL || r < 0 || r >= items())
|
|
return;
|
|
const TMask& m = *_getmask(r, TSheet_field::sheet_mask());
|
|
|
|
for (short id = FIRST_FIELD; id <= _last_column_id ; id++)
|
|
{
|
|
const int col = cid2index(id);
|
|
if (column_enabled(col))
|
|
{
|
|
int pos = m.id2pos(id);
|
|
const int firstpos = pos;
|
|
|
|
if (pos >= 0)
|
|
{
|
|
for(int dlg = id; pos >= 0; pos = m.id2pos(dlg += 100))
|
|
{
|
|
const TMask_field& f = m.fld(pos);
|
|
if (f.shown() || f.ghost())
|
|
{
|
|
const bool on = f.enabled();
|
|
enable_cell(r, col, on);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
else
|
|
disable_cell(r, col);
|
|
}
|
|
}
|
|
}
|
|
|
|
TVariable_sheet_field::~TVariable_sheet_field()
|
|
{
|
|
TMask & m = TSheet_field::sheet_mask();
|
|
}
|
|
|
|
|
|
|