Aggiunta documentazione in linea
git-svn-id: svn://10.65.10.50/trunk@2000 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
d223eaa5a0
commit
30ac64c4a4
@ -212,11 +212,11 @@ class TPrint_application : public TApplication
|
||||
|
||||
// @cmember Cerca per il nodo <p head> dove agganciarsi per rispettare la relazione
|
||||
link_item* _look_print_node(link_item* head, int logicnum);
|
||||
// @cmember Annulla l'aleber a partire dal nodo <p head>
|
||||
// @cmember Annulla l'alebero a partire dal nodo <p head>
|
||||
void _reset_tree(link_item* head);
|
||||
// @cmember ???!!!???
|
||||
// @cmember Crea la finestra (vedi <mf TWindow::create>)
|
||||
virtual bool create();
|
||||
// @cmember ???!!!???
|
||||
// @cmember Distrugge la finestra
|
||||
virtual bool destroy();
|
||||
|
||||
// @access Protected Member
|
||||
|
@ -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 <p n>-esima (default)
|
||||
// @flag FALSE | Disabilita la riga <p n>-esima
|
||||
|
||||
// @comm Se <p n> 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 <p n> assume un valore minore di 1 viene selezionata la prima riga.
|
||||
// <nl>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 <p n>.esima (default)
|
||||
// @flag FALSE | Disttiva la riga <p n>.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 <c TToken_string> 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);
|
||||
|
144
include/sheet.h
144
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 <mf TWindow::log2dev>)
|
||||
virtual PNT log2dev(long x, long y) const;
|
||||
// @cmember Gestisce l'handler della finestra (vedi <mf TWindow::handler>)
|
||||
virtual void handler(WINDOW win, EVENT* ep);
|
||||
// @cmember Gestisce la pressione del tasto (vedi <mf TWindow::on_key>)
|
||||
virtual bool on_key(KEY);
|
||||
// @cmember Fa' l'update della finestra (vedi <mf TWindow::update>)
|
||||
virtual void update();
|
||||
// @cmember Mostra la finestra (vedi <mf TWindow::open>)
|
||||
virtual void open();
|
||||
|
||||
// @cmember Setta il numero della prima riga dello sheet
|
||||
void set_first(long n);
|
||||
// @cmember Ritorna se la riga!!! <p n>-esima e' visibile
|
||||
// @cmember Ritorna se la riga <p n>-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 <p n> assoluto nell'indice dell'array <p _page>
|
||||
int row_to_page(long n) const;
|
||||
// @cmember Converte il numero di riga <p n> 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 <p n>-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 <p _page>
|
||||
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 <p c>-esima
|
||||
byte column_flag(int c) const
|
||||
{ return _type[c]; }
|
||||
// @cmember Ritorna l'indirizzo??? del tipo della colonna <p c>-esima
|
||||
// @cmember Ritorna il tipo della colonna <p c>-esima (permette di modificarlo)
|
||||
byte& column_flag(int c)
|
||||
{ return _type[c]; }
|
||||
|
||||
// @cmember Ritorna se la cella <p n>-esima possiede un check
|
||||
// @cmember Ritorna se la riga <p n>-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 <mf TSheet::check>)
|
||||
void uncheck(long n)
|
||||
{ check(n, FALSE); }
|
||||
// @cmember Permette di abilitare (<p yn> = TRUE) o disbilitare (<p yn> = FALSE)
|
||||
// i check sullo sheet
|
||||
// @cmember Permette di abilitare (<p yn> = TRUE) o disabilitare (<p yn> = FALSE)
|
||||
// la gestione dei check sullo sheet
|
||||
void enable_check(bool yn = TRUE)
|
||||
{ _check_enabled = yn; }
|
||||
// @cmember Permette di disbilitare (<p yn> = 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 <mf TSheet::enable>)
|
||||
void disable(long n = -1)
|
||||
{ enable(n, FALSE); }
|
||||
// @cmember Ritorna se e' abilitata la riiga <p n>-esima
|
||||
bool enabled(long n) const
|
||||
{ return !_disabled[n]; }
|
||||
// @cmember Ritorna se e' disabilitata la riiga <p n>-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 <mf TBit_array::ones>)
|
||||
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 <mf TSheet::page_build>)
|
||||
virtual void page_build(long first, byte num);
|
||||
// @cmember Ritorna il contenuto dell'elemento <p n>-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 <p s>-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 <c TCursor>
|
||||
//
|
||||
// @base public | TSheet
|
||||
class TCursor_sheet : public TSheet
|
||||
// @author(:INTERNAL) Guido
|
||||
|
||||
// @access Private Member
|
||||
{
|
||||
TArray _fields; // Array of TRecfield
|
||||
// @cmember Array di <c TRecfield>
|
||||
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 <mf TSheet::page_build>)
|
||||
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 <c TEdit_field>)
|
||||
TEdit_field* const _field;
|
||||
// @cmember Riga selezionata
|
||||
int _sel;
|
||||
|
||||
// @access Protected Member
|
||||
protected:
|
||||
// @cmember Gestisce l'handler della finestra (vedi <mf TWindow::handler>)
|
||||
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 <mf TWindow::on_key>)
|
||||
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();
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user