diff --git a/include/printapp.h b/include/printapp.h
index b35fdbc40..b2ab9011b 100755
--- a/include/printapp.h
+++ b/include/printapp.h
@@ -212,11 +212,11 @@ class TPrint_application : public TApplication
// @cmember Cerca per il nodo
dove agganciarsi per rispettare la relazione
link_item* _look_print_node(link_item* head, int logicnum);
- // @cmember Annulla l'aleber a partire dal nodo
+ // @cmember Annulla l'alebero a partire dal nodo
void _reset_tree(link_item* head);
- // @cmember ???!!!???
+ // @cmember Crea la finestra (vedi )
virtual bool create();
- // @cmember ???!!!???
+ // @cmember Distrugge la finestra
virtual bool destroy();
// @access Protected Member
diff --git a/include/sheet.cpp b/include/sheet.cpp
index 6b3b16bce..e1a63d944 100755
--- a/include/sheet.cpp
+++ b/include/sheet.cpp
@@ -11,6 +11,8 @@
// TSheet
///////////////////////////////////////////////////////////
+// @doc EXTERNAL
+
TSheet::TSheet(short x, short y, short dx, short dy,
const char* title, const char* head, byte buttons,
long first, WINDOW parent)
@@ -89,7 +91,11 @@ TSheet::TSheet(short x, short y, short dx, short dy,
}
}
-void TSheet::add_button(short id, const char* caption, KEY key)
+// @mfunc Aggiunge un bottone nella finestra
+void TSheet::add_button(
+ short id, // @parm Identificatore del bottone da aggiungere
+ const char* caption, // @parm Testo del bottone da aggiungere
+ KEY key) // @parm Combinazione di tasti corrispondente
{
#if XVT_OS == XVT_OS_WIN
const int BUT_HEIGHT = 2;
@@ -163,7 +169,11 @@ void TSheet::set_row(const TToken_string& r, byte i)
}
-void TSheet::build_page(long from)
+// @mfunc Crea la pagina
+void TSheet::build_page(
+ long from) // @parm Numero della prima riga da visualizzare
+
+ // @comm Carica le righe visibili
{
const long f = (from < 0) ? first() : from;
@@ -272,6 +282,7 @@ void TSheet::handler(WINDOW win, EVENT* ep)
}
+// @func ???!!!???
PNT TSheet::log2dev(long x, long y) const
{
if (autoscrolling()) x -= origin().x;
@@ -353,7 +364,15 @@ bool TSheet::on_key(KEY key)
}
-void TSheet::enable(long n, bool on)
+// @mfunc Abilita/disabilita una riga
+void TSheet::enable(
+ long n, // @parm Numero della riga da abilitare/diabilitare (default -1)
+ bool on) // @parm Operazione da svolgere sulla riga
+ //
+ // @flag TRUE | Abilita la riga -esima (default)
+ // @flag FALSE | Disabilita la riga
-esima
+
+ // @comm Se
e' minore di 0 allora vengono abilitate/disabilitate tutte le righe
{
if (n >= 0)
_disabled.set(n, !on);
@@ -369,8 +388,13 @@ void TSheet::enable(long n, bool on)
}
}
+// @mfunc Seleziona una riga facendola diventare corrente
+void TSheet::select(
+ long n) // @parm Riga da selezionare (default -1)
-void TSheet::select(long n)
+ // @comm Se
assume un valore minore di 1 viene selezionata la prima riga.
+ // Nela caso si cerci di selezionare una riga maggiore di quelle presenti viene selezionata
+ // l'ultima.
{
if (n < 0) n = 0; else
if (n >= items()) n = items()-1;
@@ -389,7 +413,13 @@ void TSheet::select(long n)
}
-void TSheet::check(long n, bool on)
+// @mfunc Permette di attivare/disattivare una riga
+void TSheet::check(
+ long n, // @parm Numero della riga da attivare/disattivare
+ bool on) // @parm Operazione da effettuare sulla riga:
+ //
+ // @flag TRUE | Attiva la riga .esima (default)
+ // @flag FALSE | Disttiva la riga
.esima
{
long s = selected();
@@ -468,8 +498,11 @@ void TSheet::invert_row(long n)
}
}
-
-bool TSheet::update_row(long n)
+// @mfunc Forza il ridisegno di una riga.
+//
+// @rdesc Ritorna se e' riuscito a fare il ridisegno (cioe' se la riga era visibile)
+bool TSheet::update_row(
+ long n) // @parm Numero della riga da ridisegnare
{
const int i = row_to_page(n);
if (i >= _page.items()) return FALSE;
@@ -538,8 +571,14 @@ bool TSheet::update_row(long n)
return TRUE;
}
+// @mfunc Ritorna il contenuto di una riga
+//
+// @rdesc Ritorna la con tutti gli elemnti della riga
+TToken_string& TSheet::row(
+ long n) // @parm Riga di cui ritorna il contenuto (default -1)
-TToken_string& TSheet::row(long n)
+ // @comm Se viene passato un numero di riga minore di 1 viene ritornato il contenuto della riga
+ // selezionata.
{
if (n < 0) n = selected();
if (!is_visible(n))
@@ -650,16 +689,25 @@ bool TArray_sheet::destroy(int i)
enable(-1);
return _data.destroy(i, TRUE);
}
-
-// Copia le righe nella pagina da visualizzare
// Certified 100%
-void TArray_sheet::page_build(long first, byte num)
+// @mfunc Copia le righe nella pagina da visualizzare
+void TArray_sheet::page_build(
+ long first, // @parm Prima riga da visualizzare
+ byte num) // @parm Numero di righe da vsiualizzare
{
for (byte i = 0; i < num; i++)
set_row(data(first+i), i);
}
-long TArray_sheet::add(const TToken_string& s)
+// @mfunc Aggiunge un elemento allo sheet
+//
+// @rdesc Ritorna il numero di elemnti presenti nello sheet
+long TArray_sheet::add(
+ const TToken_string& s) // @parm Oggetto da aggiungere
+ // @parm const TToken_string | *s | Oggetto da aggiungere passato per indirizzo
+
+ // @syntax add(const TToken_string& s)
+ // @syntax add(const TToken_string* s)
{
const long n = _data.add(s, -1);
set_scroll_max(-1, n);
diff --git a/include/sheet.h b/include/sheet.h
index 4672ae69b..6e0abc780 100755
--- a/include/sheet.h
+++ b/include/sheet.h
@@ -69,157 +69,243 @@ class TSheet : public TScroll_window
// @access Protected Member
protected:
- // @cmember Ritorna se il numero di colonne e' maggioer di 1!!!
+ // @cmember Ritorna se il numero di colonne e' maggiore di 1
bool head_on() const
{ return _columns > 1; }
// @cmember Indica se esitono i bottoni in fondo
bool buttons_on() const
{ return *_button != NULL_WIN; }
- // @cmember Ritorna il numero di righe!!! visibili
+ // @cmember Ritorna il numero di righe visibili
short visible_rows() const
{ return _visible_rows; }
// @cmember Ritorna il numero di righe riservate ai bottoni
virtual short reserved_rows() const;
- //ANDREA//
+ // @cmember Crea la pagina
void build_page(long first = -1);
- PNT log2dev(long x, long y) const;
+ // @cmember Converte le coordinate da logiche (caratteri) in coordinate fisiche (pixel)
+ // (vedi )
+ virtual PNT log2dev(long x, long y) const;
+ // @cmember Gestisce l'handler della finestra (vedi )
virtual void handler(WINDOW win, EVENT* ep);
+ // @cmember Gestisce la pressione del tasto (vedi )
virtual bool on_key(KEY);
+ // @cmember Fa' l'update della finestra (vedi )
virtual void update();
+ // @cmember Mostra la finestra (vedi )
virtual void open();
+ // @cmember Setta il numero della prima riga dello sheet
void set_first(long n);
- // @cmember Ritorna se la riga!!! -esima e' visibile
+ // @cmember Ritorna se la riga
-esima e' visibile
bool is_visible(long n) const
{ return n >= first() && n < first()+visible_rows(); }
+ // @cmember Calcola la larghezza totale dello sheet virtuale
int width() const;
+ // @cmember Converte il numero di riga
assoluto nell'indice dell'array
int row_to_page(long n) const;
+ // @cmember Converte il numero di riga
assoluto nella coordinata y sulla finestra
int row_to_win(long n) const;
- // @cmember ???
+ // @cmember Ritorna il numero della prima riga
long first() const
{ return origin().y; }
+ // @cmember Forza il ridisegno di una riga
bool update_row(long n);
+ // @cmember Permette di scriveiere in inverso la riga
-esima
void invert_row(long n);
+ // @cmember Aggiunge una riga all'array di quelle visibile
void set_row(const TToken_string& row, byte n);
+ // @cmember Permette di riposizionare i bottoni all'interno della pagina
virtual void repos_buttons() const;
+ // @cmember Copia le righe nella pagina da visualizzare
virtual void page_build(long first, byte num) pure;
+ // @cmember Stampa lo sheet
void print();
// @access Public Member
public:
// @cmember Costruttore
TSheet(short x,short y,short dx,short dy,const char* title,const char* head,byte buttons = 0,long first = 0L,WINDOW parent = NULL_WIN);
+ // @cmember Aggiunge un bottone nella finestra
void add_button(short id, const char* caption, KEY key = K_ESC);
+ // @cmember Ritorna il numero di elementi di
virtual long items() const pure;
+ // @cmember Ritorna il contenuto di una riga
virtual TToken_string& row(long s = -1);
- // @cmember Ritorna il numero di cella corrente
+ // @cmember Ritorna il numero della riga corrente
long selected() const
{ return _curr; }
+ // @cmember Seleziona una riga facendola diventare corrente
void select(long n);
// @cmember Ritorna il tipo della colonna
-esima
byte column_flag(int c) const
{ return _type[c]; }
- // @cmember Ritorna l'indirizzo??? del tipo della colonna
-esima
+ // @cmember Ritorna il tipo della colonna
-esima (permette di modificarlo)
byte& column_flag(int c)
{ return _type[c]; }
- // @cmember Ritorna se la cella
-esima possiede un check
+ // @cmember Ritorna se la riga
-esima e' attivata
bool checked(long n) const
{ return _checked[n]; }
+ // @cmember Permette di attivare/disattivare una riga
void check(long n, bool on = TRUE);
+ // @cmember Permette di disattivare una riga (chiama )
void uncheck(long n)
{ check(n, FALSE); }
- // @cmember Permette di abilitare ( = TRUE) o disbilitare (
= FALSE)
- // i check sullo sheet
+ // @cmember Permette di abilitare (
= TRUE) o disabilitare (
= FALSE)
+ // la gestione dei check sullo sheet
void enable_check(bool yn = TRUE)
{ _check_enabled = yn; }
// @cmember Permette di disbilitare (
= FALSE) i check sullo sheet
void disable_check()
{ enable_check(FALSE); }
+ // @cmember Abilita/disabilita una riga
void enable(long n = -1, bool on = TRUE);
+ // @cmember Disabilita una riga (chiama )
void disable(long n = -1)
{ enable(n, FALSE); }
+ // @cmember Ritorna se e' abilitata la riiga -esima
bool enabled(long n) const
{ return !_disabled[n]; }
+ // @cmember Ritorna se e' disabilitata la riiga
-esima
bool disabled(long n) const
{ return _disabled[n]; }
+ // @cmember Ritrna se esiston elementi attivati nello sheet (TRUE se esitono)
bool one_checked() const
{ return _checked.first_one() != -1; }
+ // @cmember Ritorna il numero di elementi attivati (vedi )
long checked() const
{ return _checked.ones(); }
};
+// @class TArray_sheet | Classe per la gestione degli sheet i cui dati sono
+// forniti da un array di stringhe
+//
+// @base public | TSheet
class TArray_sheet : public TSheet
+// @author(:INTERNAL) Guido
+
+// @access Private Member
{
+ // @cmember Contenuto dell'array di cui costruire lo sheet
TString_array _data;
+ // @access Protected Member
protected:
-
+ // @cmember Costruisce la pgaina (vedi )
virtual void page_build(long first, byte num);
+ // @cmember Ritorna il contenuto dell'elemento -esimo
TToken_string& data(long n)
{ return _data.row((int)n); }
+ // @access Public Member
public:
- TArray_sheet(short x, short y, short dx, short dy, const char* caption,
- const char* head, byte buttons = 0, WINDOW parent = NULL_WIN);
- virtual long items() const { return _data.items(); }
- TString_array& rows_array() { return _data; }
+ // @cmember Costruttore
+ TArray_sheet(short x, short y, short dx, short dy, const char* caption, const char* head, byte buttons = 0, WINDOW parent = NULL_WIN);
+ // @cmember Ritorna il numero degli elemnti dello sheet
+ virtual long items() const
+ { return _data.items(); }
+ // @cmember Ritorna il contenuto dello sheet
+ TString_array& rows_array()
+ { return _data; }
+ // @cmember Aggiunge un elemento allo sheet
long add(const TToken_string& s);
+ // @cmember Aggiunge un elemento (passato per indirizzo) allo sheet
long add(TToken_string* s);
+ // @cmember Inserisce un elemento nella posizione
long insert(const TToken_string& s, long n);
- virtual TToken_string& row(long s = -1) { return (s < 0) ? data(selected()) : data(s); }
+ // @cmember Ritorna la riga
-esima dell'array
+ virtual TToken_string& row(long s = -1)
+ { return (s < 0) ? data(selected()) : data(s); }
+ // @cmember Azzera l'array dello sheet
bool destroy(int i = -1);
};
+// @class TCursor_sheet | Classe per la gestione di uno sheet i cui dati
+// sono prelevati da un
+//
+// @base public | TSheet
class TCursor_sheet : public TSheet
+// @author(:INTERNAL) Guido
+
+// @access Private Member
{
- TArray _fields; // Array of TRecfield
+ // @cmember Array di
+ TArray _fields;
+ // @cmember Numero del records collegato al cursore
long _records;
+ // @access Protected Member
protected:
+ // @cmember Cursore da cui prelevare i dati
TCursor* _cursor;
+ // @cmember Costruisce la pgaina (vedi )
virtual void page_build(long first, byte rows);
+ // @access Public Member
public:
- TCursor_sheet(TCursor* cursor, const char* fields,
- const char* title, const char* head, byte buttons = 0);
- virtual ~TCursor_sheet() {}
- virtual long items() const { return _records; }
+ // @cmember Costruttore
+ TCursor_sheet(TCursor* cursor, const char* fields, const char* title, const char* head, byte buttons = 0);
+ // @cmember Distruttore
+ virtual ~TCursor_sheet()
+ {}
+ // @cmember Ritorna il numero del records collegato al cursore
+ virtual long items() const
+ { return _records; }
+ // @cmember Lancia la finestra con lo sheet
virtual KEY run();
};
+// @class TBrowse_sheet | Classe per la gestione degli sheet legati ad un
+// cursore del campo della maschera
+//
+// @base public | TCursor_sheet
class TBrowse_sheet : public TCursor_sheet
+// @author(:INTERNAL) Guido
+
+// @access Private Member
{
- TEdit_field* const _field; // Linked edit field
- int _sel; // Current listbox selection
+ // @cmember Campi collegati ai campi editabili (vedi )
+ TEdit_field* const _field;
+ // @cmember Riga selezionata
+ int _sel;
+ // @access Protected Member
protected:
+ // @cmember Gestisce l'handler della finestra (vedi )
virtual void handler(WINDOW win, EVENT* ep);
+ // @cmember Ritorna il numero di righe riservate
virtual short reserved_rows() const;
+ // @cmember Permette di riposizionare i bottoni nella finestra
virtual void repos_buttons() const;
+ // @cmember Gestisce la pressione del tasto (vedi )
virtual bool on_key(KEY k);
- TEdit_field& field() { return *_field; }
+ // @cmember Ritorna il campo a cui si riferisce lo sheet
+ TEdit_field& field()
+ { return *_field; }
+ // @access Public Member
public:
- TBrowse_sheet(TCursor* cursor, const char* fields,
- const char* title, const char* head, byte buttons,
- TEdit_field* f, TToken_string* siblings = NULL);
- virtual ~TBrowse_sheet() {}
+ // @cmember Costruttore
+ TBrowse_sheet(TCursor* cursor, const char* fields, const char* title, const char* head, byte buttons, TEdit_field* f, TToken_string* siblings = NULL);
+ // @cmember Distruttore
+ virtual ~TBrowse_sheet()
+ {}
+ // @cmember ???
virtual KEY run();
};