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:
guy 1998-01-28 08:45:59 +00:00
parent af43d798cd
commit c09ac8f7a7
7 changed files with 23 additions and 93 deletions

View File

@ -63,7 +63,7 @@ void TMask::init_mask()
{
_msg_field = 0;
_msg_key = 0;
_sheets = _pages = 0; // Azzera numero pagine e sheets
_pages = 0; // Azzera numero pagine
_sheet = NULL; // Non appartiene a nessuno sheet
_enabled.set(MAX_PAGES);
@ -547,6 +547,17 @@ TEdit_field& TMask::efield(short id) const
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
{
TMask_field& f = field(id);
@ -671,12 +682,6 @@ void TMask::handler(WINDOW win, EVENT* ep)
{
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:
if (_last_sheet)
_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 == "GO") return new TGolem_field(this);
if (k == "BR") return new TBrowsefile_field(this);
if (k == "SP")
{
_sheets++;
return new TSheet_field(this);
}
if (k == "SP") return new TSheet_field(this);
return NULL;
}
@ -875,7 +876,7 @@ WINDOW TMask::read_page(
}
else
{
scanner.rectangle(r);
scanner.rectangle(r.left, r.top, r.right, r.bottom);
if (toolbar)
{
tooly = r.top;
@ -923,7 +924,7 @@ WINDOW TMask::read_page(
}
while (scanner.popkey() != "EN")
{
{
TMask_field* f = parse_field(scanner);
#ifdef DBG
if (f == NULL)

View File

@ -39,10 +39,9 @@ class TMask : public TWindow
// @access Protected Member
protected:
// @ccost:(INTERNAL) MAX_PAGES | 16 | Massimo numero di pagine nella maschera
enum { MAX_PAGES = 16 };
// @cmember Gestisce gli eventi della finestra
virtual void handler(WINDOW win, EVENT* ep);
@ -118,9 +117,6 @@ protected:
// Aggiunge un campo all'array _field
void add_field(TMask_field* f);
// @cmember:(INTERNAL) Numero di sheet contenuti nella maschera
int _sheets;
// @cmember Legge i controlli relativi ad un campo
void load_checks() const;
// @cmember Inizializza la maschera (Chiamata quando la maschera parte)
@ -212,8 +208,7 @@ public:
int fields() const
{ return _field.items(); }
// @cmember Ritorna il numero di sheet della maschera
int sheets() const
{ return _sheets; }
int sheets() const;
// @cmember Setta la modalita' di utilizzo della maschera
void set_mode(int m)

View File

@ -508,11 +508,6 @@ bool TMask_field::on_key(KEY key)
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)
// @doc EXTERNAL
@ -1448,52 +1443,6 @@ bool TEditable_field::autoload(const TRelation& r)
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
///////////////////////////////////////////////////////////

View File

@ -306,9 +306,6 @@ public:
// @cmember Gestisce la pressione del tasto (TRUE se la gestione ha avuto successo)
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>
virtual void set(const char* s);
@ -657,8 +654,6 @@ public:
// @cmember Ritorna TRUE se il campo e' di tipo editable
virtual bool is_editable() const { return TRUE; }
virtual bool on_clipboard(MENU_TAG mt);
TEditable_field(TMask* m);
virtual ~TEditable_field();
};

View File

@ -2255,7 +2255,7 @@ void TSheet_field::create(WINDOW parent)
const TMask& m = mask();
const TString head(_ctl_data._park);
_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());
if (!_flags.enable_default)

View File

@ -1,17 +1,11 @@
#include <varmask.h>
#include <utility.h>
HIDDEN TString __varmask_str;
const TString& TVariable_mask::get(short fld_id) const
{
if (present( fld_id ))
return TMask::get( fld_id );
else
{
__varmask_str.cut(0);
return __varmask_str;
}
return EMPTY_STRING;
}
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)
{
if (scanner.key() == "SP")
{
_sheets++;
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);
}

View File

@ -18,11 +18,11 @@ class TVariable_mask : public TMask
{
// @author:(INTERNAL) Matteo
protected:
bool present( short fld_id ) const { return ( id2pos( fld_id ) >= 0 ); };
protected:
// @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
virtual void check_field( short fld_id );
// @cmember Costruttore (crea la maschera leggendo la descrizione dal file .msk)