mask.h Tolto membro int _sheets che teneva il conto degli
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
This commit is contained in:
parent
af43d798cd
commit
c09ac8f7a7
@ -63,7 +63,7 @@ void TMask::init_mask()
|
|||||||
{
|
{
|
||||||
_msg_field = 0;
|
_msg_field = 0;
|
||||||
_msg_key = 0;
|
_msg_key = 0;
|
||||||
_sheets = _pages = 0; // Azzera numero pagine e sheets
|
_pages = 0; // Azzera numero pagine
|
||||||
_sheet = NULL; // Non appartiene a nessuno sheet
|
_sheet = NULL; // Non appartiene a nessuno sheet
|
||||||
|
|
||||||
_enabled.set(MAX_PAGES);
|
_enabled.set(MAX_PAGES);
|
||||||
@ -547,6 +547,17 @@ TEdit_field& TMask::efield(short id) const
|
|||||||
return (TEdit_field&)f;
|
return (TEdit_field&)f;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int TMask::sheets() const
|
||||||
|
{
|
||||||
|
int count = 0;
|
||||||
|
for (int f = fields()-1; f >= 0; f--)
|
||||||
|
{
|
||||||
|
if (fld(f).is_sheet())
|
||||||
|
count++;
|
||||||
|
}
|
||||||
|
return count;
|
||||||
|
}
|
||||||
|
|
||||||
TSheet_field& TMask::sfield(short id) const
|
TSheet_field& TMask::sfield(short id) const
|
||||||
{
|
{
|
||||||
TMask_field& f = field(id);
|
TMask_field& f = field(id);
|
||||||
@ -671,12 +682,6 @@ void TMask::handler(WINDOW win, EVENT* ep)
|
|||||||
{
|
{
|
||||||
switch (ep->v.cmd.tag)
|
switch (ep->v.cmd.tag)
|
||||||
{
|
{
|
||||||
case M_EDIT_CUT:
|
|
||||||
case M_EDIT_COPY:
|
|
||||||
case M_EDIT_PASTE:
|
|
||||||
case M_EDIT_CLEAR:
|
|
||||||
focus_field().on_clipboard(ep->v.cmd.tag);
|
|
||||||
break;
|
|
||||||
case M_EDIT_UNDO:
|
case M_EDIT_UNDO:
|
||||||
if (_last_sheet)
|
if (_last_sheet)
|
||||||
_last_sheet->reset_columns_order();
|
_last_sheet->reset_columns_order();
|
||||||
@ -841,11 +846,7 @@ TMask_field* TMask::parse_field(TScanner& scanner)
|
|||||||
if (k == "ZO") return new TZoom_field(this);
|
if (k == "ZO") return new TZoom_field(this);
|
||||||
if (k == "GO") return new TGolem_field(this);
|
if (k == "GO") return new TGolem_field(this);
|
||||||
if (k == "BR") return new TBrowsefile_field(this);
|
if (k == "BR") return new TBrowsefile_field(this);
|
||||||
if (k == "SP")
|
if (k == "SP") return new TSheet_field(this);
|
||||||
{
|
|
||||||
_sheets++;
|
|
||||||
return new TSheet_field(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@ -875,7 +876,7 @@ WINDOW TMask::read_page(
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
scanner.rectangle(r);
|
scanner.rectangle(r.left, r.top, r.right, r.bottom);
|
||||||
if (toolbar)
|
if (toolbar)
|
||||||
{
|
{
|
||||||
tooly = r.top;
|
tooly = r.top;
|
||||||
|
@ -39,7 +39,6 @@ class TMask : public TWindow
|
|||||||
|
|
||||||
// @access Protected Member
|
// @access Protected Member
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
// @ccost:(INTERNAL) MAX_PAGES | 16 | Massimo numero di pagine nella maschera
|
// @ccost:(INTERNAL) MAX_PAGES | 16 | Massimo numero di pagine nella maschera
|
||||||
enum { MAX_PAGES = 16 };
|
enum { MAX_PAGES = 16 };
|
||||||
|
|
||||||
@ -118,9 +117,6 @@ protected:
|
|||||||
// Aggiunge un campo all'array _field
|
// Aggiunge un campo all'array _field
|
||||||
void add_field(TMask_field* f);
|
void add_field(TMask_field* f);
|
||||||
|
|
||||||
// @cmember:(INTERNAL) Numero di sheet contenuti nella maschera
|
|
||||||
int _sheets;
|
|
||||||
|
|
||||||
// @cmember Legge i controlli relativi ad un campo
|
// @cmember Legge i controlli relativi ad un campo
|
||||||
void load_checks() const;
|
void load_checks() const;
|
||||||
// @cmember Inizializza la maschera (Chiamata quando la maschera parte)
|
// @cmember Inizializza la maschera (Chiamata quando la maschera parte)
|
||||||
@ -212,8 +208,7 @@ public:
|
|||||||
int fields() const
|
int fields() const
|
||||||
{ return _field.items(); }
|
{ return _field.items(); }
|
||||||
// @cmember Ritorna il numero di sheet della maschera
|
// @cmember Ritorna il numero di sheet della maschera
|
||||||
int sheets() const
|
int sheets() const;
|
||||||
{ return _sheets; }
|
|
||||||
|
|
||||||
// @cmember Setta la modalita' di utilizzo della maschera
|
// @cmember Setta la modalita' di utilizzo della maschera
|
||||||
void set_mode(int m)
|
void set_mode(int m)
|
||||||
|
@ -508,11 +508,6 @@ bool TMask_field::on_key(KEY key)
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TMask_field::on_clipboard(MENU_TAG mt)
|
|
||||||
{
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
#define build_msg() char* _msg = (char*)(const char*)_ctl_data._park;va_list argptr;va_start(argptr,fmt);vsprintf(_msg,fmt,argptr);va_end(argptr)
|
#define build_msg() char* _msg = (char*)(const char*)_ctl_data._park;va_list argptr;va_start(argptr,fmt);vsprintf(_msg,fmt,argptr);va_end(argptr)
|
||||||
|
|
||||||
// @doc EXTERNAL
|
// @doc EXTERNAL
|
||||||
@ -1448,52 +1443,6 @@ bool TEditable_field::autoload(const TRelation& r)
|
|||||||
return _field != NULL;
|
return _field != NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TEditable_field::on_clipboard(MENU_TAG mt)
|
|
||||||
{
|
|
||||||
bool ok = FALSE;
|
|
||||||
switch (mt)
|
|
||||||
{
|
|
||||||
case M_EDIT_COPY:
|
|
||||||
case M_EDIT_CUT:
|
|
||||||
if (xvt_cb_open(TRUE))
|
|
||||||
{
|
|
||||||
const TString& str = get_window_data();
|
|
||||||
const long size = str.len()+1;
|
|
||||||
char* p = xvt_cb_alloc_data(size);
|
|
||||||
if (p != NULL)
|
|
||||||
{
|
|
||||||
strcpy(p, str);
|
|
||||||
ok = xvt_cb_put_data(CB_TEXT, NULL, size, (PICTURE)0) != FALSE;
|
|
||||||
xvt_cb_free_data();
|
|
||||||
if (ok && mt == M_EDIT_CUT)
|
|
||||||
reset();
|
|
||||||
}
|
|
||||||
xvt_cb_close();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case M_EDIT_PASTE:
|
|
||||||
if (xvt_cb_open(FALSE))
|
|
||||||
{
|
|
||||||
long size;
|
|
||||||
const char* const p = xvt_cb_get_data(CB_TEXT, NULL, &size);
|
|
||||||
if (p && size > 0)
|
|
||||||
{
|
|
||||||
set(p);
|
|
||||||
ok = TRUE;
|
|
||||||
}
|
|
||||||
xvt_cb_close();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case M_EDIT_CLEAR:
|
|
||||||
reset();
|
|
||||||
ok = TRUE;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return ok;
|
|
||||||
}
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
// Boolean_field
|
// Boolean_field
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
|
@ -306,9 +306,6 @@ public:
|
|||||||
// @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);
|
virtual bool on_key(KEY key);
|
||||||
|
|
||||||
// @cmember Gestisce un'operazione della clipboard (M_EDIT_CUT, M_EDITCOPY, M_EDITPASTE)
|
|
||||||
virtual bool on_clipboard(MENU_TAG mt);
|
|
||||||
|
|
||||||
// @cmember Setta il contenuto del campo inserendo la stringa <p s>
|
// @cmember Setta il contenuto del campo inserendo la stringa <p s>
|
||||||
virtual void set(const char* s);
|
virtual void set(const char* s);
|
||||||
|
|
||||||
@ -657,8 +654,6 @@ public:
|
|||||||
// @cmember Ritorna TRUE se il campo e' di tipo editable
|
// @cmember Ritorna TRUE se il campo e' di tipo editable
|
||||||
virtual bool is_editable() const { return TRUE; }
|
virtual bool is_editable() const { return TRUE; }
|
||||||
|
|
||||||
virtual bool on_clipboard(MENU_TAG mt);
|
|
||||||
|
|
||||||
TEditable_field(TMask* m);
|
TEditable_field(TMask* m);
|
||||||
virtual ~TEditable_field();
|
virtual ~TEditable_field();
|
||||||
};
|
};
|
||||||
|
@ -2255,7 +2255,7 @@ void TSheet_field::create(WINDOW parent)
|
|||||||
const TMask& m = mask();
|
const TMask& m = mask();
|
||||||
const TString head(_ctl_data._park);
|
const TString head(_ctl_data._park);
|
||||||
_ctl = new TSpreadsheet(parent, dlg(), _ctl_data._x, _ctl_data._y, _ctl_data._width, _ctl_data._height,
|
_ctl = new TSpreadsheet(parent, dlg(), _ctl_data._x, _ctl_data._y, _ctl_data._width, _ctl_data._height,
|
||||||
m.source_file(), m.sheets(), head, this);
|
m.source_file(), m.sheets()+1, head, this);
|
||||||
|
|
||||||
_ctl->show(shown());
|
_ctl->show(shown());
|
||||||
if (!_flags.enable_default)
|
if (!_flags.enable_default)
|
||||||
|
@ -1,17 +1,11 @@
|
|||||||
#include <varmask.h>
|
#include <varmask.h>
|
||||||
#include <utility.h>
|
|
||||||
|
|
||||||
HIDDEN TString __varmask_str;
|
|
||||||
|
|
||||||
const TString& TVariable_mask::get(short fld_id) const
|
const TString& TVariable_mask::get(short fld_id) const
|
||||||
{
|
{
|
||||||
if (present( fld_id ))
|
if (present( fld_id ))
|
||||||
return TMask::get( fld_id );
|
return TMask::get( fld_id );
|
||||||
else
|
else
|
||||||
{
|
return EMPTY_STRING;
|
||||||
__varmask_str.cut(0);
|
|
||||||
return __varmask_str;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void TVariable_mask::set_handler(short fld_id, CONTROL_HANDLER handler)
|
void TVariable_mask::set_handler(short fld_id, CONTROL_HANDLER handler)
|
||||||
@ -47,17 +41,13 @@ void TVariable_mask::check_field( short fld_id )
|
|||||||
TMask_field* TVariable_mask::parse_field(TScanner& scanner)
|
TMask_field* TVariable_mask::parse_field(TScanner& scanner)
|
||||||
{
|
{
|
||||||
if (scanner.key() == "SP")
|
if (scanner.key() == "SP")
|
||||||
{
|
|
||||||
_sheets++;
|
|
||||||
return new TVariable_sheet_field(this);
|
return new TVariable_sheet_field(this);
|
||||||
}
|
|
||||||
|
|
||||||
return TMask::parse_field(scanner);
|
return TMask::parse_field(scanner);
|
||||||
}
|
}
|
||||||
|
|
||||||
TVariable_mask::TVariable_mask(const char* name, int num, int max) : TMask()
|
TVariable_mask::TVariable_mask(const char* name, int num, int max) : TMask()
|
||||||
{
|
{
|
||||||
|
|
||||||
if (name && *name)
|
if (name && *name)
|
||||||
read_mask(name, num, max);
|
read_mask(name, num, max);
|
||||||
}
|
}
|
||||||
|
@ -18,11 +18,11 @@ class TVariable_mask : public TMask
|
|||||||
{
|
{
|
||||||
// @author:(INTERNAL) Matteo
|
// @author:(INTERNAL) Matteo
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
bool present( short fld_id ) const { return ( id2pos( fld_id ) >= 0 ); };
|
// @cmember Controlla se il campo <p fld_id> esiste
|
||||||
|
bool present(short fld_id) const { return id2pos(fld_id) >= 0; }
|
||||||
public:
|
|
||||||
|
|
||||||
|
public:
|
||||||
// @cmember Esegue il check e i messaggi sul campo <p fld_id> della maschera
|
// @cmember Esegue il check e i messaggi sul campo <p fld_id> della maschera
|
||||||
virtual void check_field( short fld_id );
|
virtual void check_field( short fld_id );
|
||||||
// @cmember Costruttore (crea la maschera leggendo la descrizione dal file .msk)
|
// @cmember Costruttore (crea la maschera leggendo la descrizione dal file .msk)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user