Aggiunta documentazione in linea
git-svn-id: svn://10.65.10.50/trunk@1633 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
9411b75057
commit
1fada2786c
@ -12,7 +12,7 @@
|
||||
// @base public | TObject
|
||||
class THash_object : public TObject
|
||||
{
|
||||
// @friend class TAssoc_array
|
||||
// @cfriend TAssoc_array
|
||||
friend class TAssoc_array;
|
||||
|
||||
// @access Private Member
|
||||
@ -49,7 +49,7 @@ class TAssoc_array : public TObject
|
||||
|
||||
//@access Private Member
|
||||
|
||||
// @cmember Dimensione della tabella hash
|
||||
// @ccost HASH_SIZE | 113 | Dimensione della tabella hash
|
||||
enum { HASH_SIZE = 113 };
|
||||
// @cmember Numero di oggetti contenuti nella tabella
|
||||
word _cnt;
|
||||
@ -94,8 +94,7 @@ public:
|
||||
// @cmember Controlla l'esistenza di una chiave
|
||||
bool is_key(const char* key);
|
||||
|
||||
// @cmember Ritorna l'indice del oggetto con chiave key (pi— intuitivo di
|
||||
// <mf TAssoc_array::find>
|
||||
// @cmember Ritorna l'indice del oggetto con chiave key (piu' intuitivo di <mf TAssoc_array::find>)
|
||||
TObject& operator[] (const char* key)
|
||||
{ return find(key); }
|
||||
|
||||
|
@ -31,6 +31,7 @@
|
||||
int fatal_box(
|
||||
const char* fmt, ...) // @parm Messaggio da stampare nella finestra
|
||||
// (il formato e' come nella printf del C)
|
||||
|
||||
|
||||
|
||||
// @comm Se si opera in ambiente Windows crea la finestra con il bottone OK
|
||||
@ -64,8 +65,9 @@ int fatal_box(
|
||||
|
||||
// @msg error_box | Crea una finestra di ERRORE con il relativo messaggio
|
||||
int error_box(
|
||||
const char* fmt, ...) // @parm Messaggio da stampare nella finestra
|
||||
// (il formato e' come nella printf del C)
|
||||
const char* fmt, // @parm Messaggio da stampare nella finestra
|
||||
...) // @parmvar Uno o piu' parametri corrispondenti ai codici in <p fmt>
|
||||
|
||||
|
||||
// @comm Se si opera in ambiente Windows crea la finestra con il bottone OK
|
||||
// e l'icona punto esclamativo.
|
||||
@ -91,8 +93,8 @@ int error_box(
|
||||
|
||||
// @msg warning_box | Crea una finestra di ATTENZIONE con il relativo messaggio
|
||||
int warning_box(
|
||||
const char* fmt, ...) // @parm Messaggio da stampare nella finestra
|
||||
// (il formato e' come nella printf del C)
|
||||
const char* fmt, // @parm Messaggio da stampare nella finestra
|
||||
...) // @parmvar Uno o piu' parametri corrispondenti ai codici in <p fmt>
|
||||
|
||||
// @comm Se si opera in ambiente Windows crea la finestra con il bottone OK
|
||||
// e l'icona punto di domanda.
|
||||
@ -113,9 +115,9 @@ int warning_box(
|
||||
|
||||
// @msg message_box | Crea una finestra di INFORMAZIONE con relativo il messaggio
|
||||
int message_box(
|
||||
const char* fmt, ...) // @parm Messaggio da stampare nella finestra
|
||||
// (il formato e' come nella printf del C)
|
||||
|
||||
const char* fmt, // @parm Messaggio da stampare nella finestra
|
||||
...) // @parmvar Uno o piu' parametri corrispondenti ai codici in <p fmt>
|
||||
|
||||
// @comm Se si opera in ambiente Windows crea la finestra con il bottone OK
|
||||
// e l'icona informazioni.
|
||||
{
|
||||
@ -133,8 +135,8 @@ int message_box(
|
||||
|
||||
// @msg sorry_box | Crea una finestra di SCUSE con il relativo messaggio
|
||||
int sorry_box(
|
||||
const char* fmt, ...) // @parm Messaggio da stampare nella finestra
|
||||
// (il formato e' come nella printf del C)
|
||||
const char* fmt, // @parm Messaggio da stampare nella finestra
|
||||
...) // @parmvar Uno o piu' parametri corrispondenti ai codici in <p fmt>
|
||||
|
||||
// @comm Se si opera in ambiente Windows crea la finestra con il bottone OK
|
||||
// e l'icona informazioni.
|
||||
@ -153,8 +155,8 @@ int sorry_box(
|
||||
|
||||
// @msg yesno_box | Crea una finestra di RICHIESTA con il relativo messaggio
|
||||
int yesno_box(
|
||||
const char* fmt, ...) // @parm Messaggio da stampare nella finestra
|
||||
// (il formato e' come nella printf del C)
|
||||
const char* fmt, // @parm Messaggio da stampare nella finestra
|
||||
...) // @parmvar Uno o piu' parametri corrispondenti ai codici in <p fmt>
|
||||
|
||||
|
||||
// @comm Se si opera in ambiente Windows crea la finestra con i bottni SI e NO
|
||||
@ -182,8 +184,8 @@ int yesno_box(
|
||||
// @msg yesnofatal_box | Crea una finestra di RICHIESTA con il relativo
|
||||
// messaggio, ma permette di terminare il programma
|
||||
int yesnofatal_box(
|
||||
const char* fmt, ...) // @parm Messaggio da stampare nella finestra
|
||||
// (il formato e' come nella printf del C)
|
||||
const char* fmt, // @parm Messaggio da stampare nella finestra
|
||||
...) // @parmvar Uno o piu' parametri corrispondenti ai codici in <p fmt>
|
||||
|
||||
// @comm Se si opera in ambiente Windows crea la finestra con i bottoni SI e NO
|
||||
// e l'icona col punto di domanda.
|
||||
@ -213,8 +215,8 @@ int yesnofatal_box(
|
||||
|
||||
// @msg yesnocancel_box | Crea una finestra di RICHIESTA con il relativo messaggio
|
||||
int yesnocancel_box(
|
||||
const char* fmt, ...) // @parm Messaggio da stampare nella finestra
|
||||
// (il formato e' come nella printf del C)
|
||||
const char* fmt, // @parm Messaggio da stampare nella finestra
|
||||
...) // @parmvar Uno o piu' parametri corrispondenti ai codici in <p fmt>
|
||||
|
||||
// @comm Se si opera in ambiente Windows crea la finestra con i bottoni SI e NO
|
||||
// e l'icona col punto di domanda.
|
||||
@ -250,8 +252,8 @@ int yesnocancel_box(
|
||||
|
||||
// @msg __trace | Permette di mandare dei messaggi nel file trace.log
|
||||
int __trace(
|
||||
const char* fmt, ...) // @parm Messaggio da stampare
|
||||
// (il formato e' come nella printf del C)
|
||||
const char* fmt, // @parm Messaggio da stampare
|
||||
...) // @parmvar Uno o piu' parametri corrispondenti ai codici in <p fmt>
|
||||
|
||||
// @comm Usato in fase di debug, permette di vedere se il programma ha
|
||||
// fatto certe operazioni (deve essere definito il simbolo TRC in
|
||||
|
@ -35,9 +35,12 @@ enum TDate_mgafmt {
|
||||
// @base public | TObject
|
||||
class TDate : public TObject
|
||||
{
|
||||
// @access Private Member
|
||||
|
||||
// @cmember Valore data in formato packed
|
||||
long _val;
|
||||
|
||||
// @access Protected Member
|
||||
protected:
|
||||
|
||||
// @cmember Controlla se una data e' minore di un'altra
|
||||
@ -52,13 +55,17 @@ protected:
|
||||
friend bool operator ==(const TDate& a, const TDate& b);
|
||||
// @cmember Controlla se una 2 date sono diverse
|
||||
friend bool operator !=(const TDate& a, const TDate& b);
|
||||
long makedata(int day, int month, int year) const { return (10000L * year) + ( 100L * month) + day; }
|
||||
// @cmember Costruisce la data in formato packed
|
||||
long makedata(int day, int month, int year) const
|
||||
{ return (10000L * year) + ( 100L * month) + day; }
|
||||
|
||||
// @access Public Member
|
||||
public:
|
||||
// @cmember Ritorna la data in formato di stringa (anche in formato ANSI)
|
||||
char* string(TDate_mgafmt year = full, char sep = '-', TDate_mgafmt day = full, TDate_mgafmt month = full, TDate_order ord = gma_date) const ;
|
||||
// @cmember Trasforma la data da odierna ??? a ???
|
||||
long date2julian() const;
|
||||
// @cmember Trasforma la data da ??? a ???
|
||||
long julian2date(long julian) const;
|
||||
|
||||
// @cmember Ritorna il giorno
|
||||
@ -141,21 +148,38 @@ public:
|
||||
TDate(int day, int month, int year);
|
||||
};
|
||||
|
||||
// @class TFormatted_date | Classe per la definizione di date con un formato
|
||||
//
|
||||
// @base public | TDate
|
||||
class TFormatted_date : public TDate
|
||||
{
|
||||
// @access Private Member
|
||||
|
||||
// @cmember Formato per tutti i pezzettini
|
||||
char _format[5];
|
||||
|
||||
// @access Public Member
|
||||
public:
|
||||
// @cmember Permette di stabilire il criterio di formattazione delle date
|
||||
void set_format(const char* f);
|
||||
// @cmember Ritorna la data in formato di stringa (vedi <mf TDate::string>)
|
||||
const char* string() const;
|
||||
|
||||
TFormatted_date& operator =(const char* s) { TDate::operator =(s); return *this; }
|
||||
TFormatted_date& operator =(const TDate& d) { TDate::operator =(d); return *this; }
|
||||
TFormatted_date& operator =(const TFormatted_date& d) { TDate::operator =(d); set_format(d._format); return *this; }
|
||||
// @cmember Controlla se due stringhe contenenti date coincidono (TRUE se uguali)
|
||||
TFormatted_date& operator =(const char* s)
|
||||
{ TDate::operator =(s); return *this; }
|
||||
// @cmember Controlla se due oggetti TDate coincidono (TRUE se uguali)
|
||||
TFormatted_date& operator =(const TDate& d)
|
||||
{ TDate::operator =(d); return *this; }
|
||||
// @cmember Controlla se due oggetti TFormatted_date coincidono (TRUE se uguali)
|
||||
TFormatted_date& operator =(const TFormatted_date& d)
|
||||
{ TDate::operator =(d); set_format(d._format); return *this; }
|
||||
|
||||
// @cmember Costruttore (accetta la definizione di giorno, mese e anno)
|
||||
TFormatted_date(int day = 0, int month = 0, int year = 0, const char* f = "1444-");
|
||||
// @cmember Costruttore (accetta una TDate)
|
||||
TFormatted_date(const TDate& d, const char* f = "1444-");
|
||||
// @cmember Costruttore
|
||||
TFormatted_date(const TFormatted_date& d);
|
||||
};
|
||||
|
||||
|
@ -16,11 +16,11 @@
|
||||
// @base public | TObject
|
||||
class TMessage : public TObject
|
||||
{
|
||||
// @access Private Member
|
||||
|
||||
// @friend class TMailbox
|
||||
// @cfriend TMailbox
|
||||
friend class TMailbox;
|
||||
|
||||
// @access Private Member
|
||||
|
||||
// @cmember Applicazione che lancia il messaggio
|
||||
TString16 _from;
|
||||
// @cmember Applicazione che deve ricevere il messaggio
|
||||
|
684
include/mask.cpp
684
include/mask.cpp
File diff suppressed because it is too large
Load Diff
348
include/mask.h
348
include/mask.h
@ -13,193 +13,341 @@
|
||||
#include <real.h>
|
||||
#endif
|
||||
|
||||
// @doc EXTERNAL
|
||||
|
||||
// @T
|
||||
// @type MASK_HANDLER | Funzione per gestire i tasti speciali all'interno di una maschera.
|
||||
typedef bool (*MASK_HANDLER)(TMask& mask, KEY key);
|
||||
enum TMaskmode { NO_MODE, MODE_INS , MODE_MOD ,
|
||||
MODE_VIS , MODE_QUERY, MODE_QUERYINS };
|
||||
// @END
|
||||
|
||||
// @C
|
||||
// Classe TMask : public TWindow
|
||||
// @END
|
||||
// @enum Modalita' di utilizzo della maschera corrente
|
||||
enum TMaskmode {
|
||||
NO_MODE, // @emem Nessun modo
|
||||
MODE_INS , // @emem Modalita' di inserimento dati
|
||||
MODE_MOD , // @emem Modalita' di modifca dati
|
||||
MODE_VIS , // @emem Modalita' di visualizzaione dati
|
||||
MODE_QUERY, // @emem Modalita' di richiesta chiave
|
||||
MODE_QUERYINS }; // @emem Modalita' di richiesta chiave e inserimento dati
|
||||
|
||||
// @class TMask | Classe per la gestione delle maschere video
|
||||
//
|
||||
// @base public | TWindow
|
||||
class TMask : public TWindow
|
||||
{
|
||||
// @DPRIV
|
||||
enum { MAX_PAGES = 12 }; // Massimo numero di pagine nella maschera
|
||||
WINDOW _pagewin[MAX_PAGES+1]; // Windows of the pages
|
||||
WINDOW _pagepag[MAX_PAGES]; // Windows of pgup/pgdn
|
||||
WINDOW _pagetag[MAX_PAGES]; // Windows of pagetags
|
||||
|
||||
int _pages; // Number of pages of the mask
|
||||
int _page; // Current page
|
||||
// @author:(INTERNAL) Guido
|
||||
|
||||
TBit_array _enabled; // Are pages enabled
|
||||
int _mode; // Mode of the mask
|
||||
TArray _field; // Fields in the mask
|
||||
|
||||
int _first_focus; // First control to have focus
|
||||
int _focus; // Control with focus
|
||||
int _next_fld; // Control who is gaining the focus
|
||||
int _sheets; // Number of sheets
|
||||
// @access Private Member
|
||||
|
||||
MASK_HANDLER _handler; // User defined key handler
|
||||
// @ccost MAX_PAGES | 12 | Massimo numero di pagine nella maschera
|
||||
enum { MAX_PAGES = 12 };
|
||||
// @cmember Windows delle pagine
|
||||
WINDOW _pagewin[MAX_PAGES+1];
|
||||
// @cmember Windows per pgup/pgdn
|
||||
WINDOW _pagepag[MAX_PAGES];
|
||||
// @cmember Windows di numeri pagina
|
||||
WINDOW _pagetag[MAX_PAGES];
|
||||
|
||||
TFilename _source_file; // Source file of the mask
|
||||
TFilename _workfile; // Name of savefile
|
||||
// @cmember Numero di pagine della maschera
|
||||
int _pages;
|
||||
// @cmember Pagina corrente
|
||||
int _page;
|
||||
|
||||
long _lastpos; // last read offset on savefile
|
||||
// @cmember Controlla le pagine abilitate
|
||||
TBit_array _enabled;
|
||||
// @cmember Modalita' di utilizzo della maschera
|
||||
int _mode;
|
||||
// @cmember Numero di campi della maschera
|
||||
TArray _field;
|
||||
|
||||
real _exchange; // Current value exhange
|
||||
bool _sheetmask; // Mask owned by a sheet
|
||||
bool _should_check; // Mask should load checks when starting
|
||||
|
||||
long _total_time, _build_time, _init_time;
|
||||
// @cmember Primo controllo che deve ricevere il focus
|
||||
int _first_focus;
|
||||
// @cmember Controllo che possiede il focus
|
||||
int _focus;
|
||||
// @cmember Controllo che deve ricevere il focus
|
||||
int _next_fld;
|
||||
// @cmember Numero di sheet
|
||||
int _sheets;
|
||||
|
||||
// @cmember Handler per gestire i tasti speciali nelle maschere
|
||||
MASK_HANDLER _handler;
|
||||
|
||||
// @cmember Nome del file sorgente contenente la maschera
|
||||
TFilename _source_file;
|
||||
// @cmember Nome del file di salvataggio in cui sono scaricati i valori della maschera
|
||||
TFilename _workfile;
|
||||
|
||||
// @cmember Ultimo offset letto nel file di salvataggio
|
||||
long _lastpos;
|
||||
|
||||
// @cmember Cambio attuale per i cambi in valuta
|
||||
real _exchange;
|
||||
// @cmember Controlla se e' una maschera contenuto in un sheet
|
||||
bool _sheetmask;
|
||||
// @cmember Controlla se la maschera deve fare i controlli iniziali di validita' dei campi
|
||||
bool _should_check;
|
||||
|
||||
// @cmember Tempo totale di caricamento della maschera
|
||||
long _total_time;
|
||||
// @cmember Tempo di compilazione della maschera
|
||||
long _build_time;
|
||||
// @cmember Tempo di inizializzazione della maschera
|
||||
long _init_time;
|
||||
|
||||
// @access Protected Member
|
||||
protected:
|
||||
// Ritorna la finestra della pagina corrente (Usare con attenzione)
|
||||
WINDOW win() const { return _page < 0 ? _pagewin[0] : _pagewin[_page]; }
|
||||
WINDOW toolwin() const { return _pagewin[MAX_PAGES]; }
|
||||
// @cmember Ritorna la finestra della pagina corrente (Usare con attenzione)
|
||||
WINDOW win() const
|
||||
{ return _page < 0 ? _pagewin[0] : _pagewin[_page]; }
|
||||
// @cmember Ritorna la finestra della toolbar
|
||||
WINDOW toolwin() const
|
||||
{ return _pagewin[MAX_PAGES]; }
|
||||
|
||||
int find_field_win(WINDOW win) const; // number of field with window win
|
||||
// @cmember Ritorna il numero di campi nella finestra
|
||||
int find_field_win(WINDOW win) const;
|
||||
|
||||
void set_mask_fields() const; // update screen
|
||||
// @cmember Aggiorna i controlli a video con i valori iniziali della maschera
|
||||
void set_mask_fields() const;
|
||||
|
||||
void load_checks() const; // load checks related fields
|
||||
virtual void start_run(); // called when the mask starts to run
|
||||
// @cmember Legge i controlli relativi ad un campo
|
||||
void load_checks() const;
|
||||
// @cmember Inizializza la maschera (Chiamata quando la maschera parte)
|
||||
virtual void start_run();
|
||||
// @cmember Legge il campo da file
|
||||
virtual TMask_field* parse_field(TScanner& scanner);
|
||||
|
||||
// @cmember Inizializza la maschera
|
||||
void init_mask();
|
||||
// @cmember Legge la pagina da file
|
||||
WINDOW read_page(TScanner& scanner, bool toolbar = FALSE);
|
||||
// @cmember Legge la maschera da file
|
||||
void read_mask(const char* name, int num, int max);
|
||||
// @cmember Permette di aggiungere sulla maschera tutti i bottoni per la
|
||||
// navigazione tra le pagine
|
||||
void add_buttons();
|
||||
|
||||
int find_parent_page(const TMask_field&) const;
|
||||
// @cmember Ritorna il numero della finestra padre del campo <p f>
|
||||
int find_parent_page(const TMask_field& f) const;
|
||||
// @cmember Ritorna la posizione del primo campo attivo nella direzione specificata
|
||||
int find_first_field(WINDOW w, int dir) const;
|
||||
int find_active_field(int first, int dir) const;
|
||||
bool check_current_page(); // Check all the fields on the current page
|
||||
void next_page(int p); // Show next/previous page
|
||||
int curr_page() const { return _page; } // Current page number
|
||||
// @cmember Ritorna il prossimo campo attivabile
|
||||
int find_active_field(int first, int dir) const;
|
||||
// @cmember Controlla tutti i campi della pagina corrente
|
||||
bool check_current_page();
|
||||
// @cmember Mostra la prossima/precedente pagina
|
||||
void next_page(int p);
|
||||
// @cmember Ritorna il numero della pagina corrente
|
||||
int curr_page() const
|
||||
{ return _page; }
|
||||
|
||||
bool test_focus_change(WINDOW w = NULL_WIN);
|
||||
// @cmember Controlla se e' possibile dare il focus alla finestra <p next> (TRUE se possibile)
|
||||
bool test_focus_change(WINDOW next = NULL_WIN);
|
||||
// @cmember Funzione chiamata ogni volta che arriva un evento e lo gestisce
|
||||
void control_handler(EVENT* ep);
|
||||
void handler(WINDOW win, EVENT* ep);
|
||||
// @cmember Gestisce gli eventi XVT diretti alla pagina corrente della maschera
|
||||
virtual void handler(WINDOW win, EVENT* ep);
|
||||
|
||||
// @access Public Member
|
||||
public:
|
||||
// @FPUB
|
||||
// crea leggendo descrizione da file .msk
|
||||
// @cmember Costruttore (crea la maschera leggendo la descrizione dal file .msk)
|
||||
TMask(const char* name, int num = 0, int max = MAX_PAGES);
|
||||
// @cmember Costruttore (crea una maschera vuota con i parametri dati)
|
||||
TMask(const char* title, int pages, int cols, int rows, int xpos = -1, int ypos = -1);
|
||||
|
||||
// crea mask vuota con parametri dati
|
||||
TMask(const char* title, int pages, int cols, int rows, int xpos = -1,
|
||||
int ypos = -1);
|
||||
|
||||
// @cmember Distruttore
|
||||
virtual ~TMask();
|
||||
|
||||
const TFilename& source_file() const { return _source_file; }
|
||||
// @cmember Ritorna il nome del file contentente la maschera
|
||||
const TFilename& source_file() const
|
||||
{ return _source_file; }
|
||||
|
||||
// aggiunta campi a runtime
|
||||
WINDOW add_static (short id, int page, const char* prompt, int x, int y,
|
||||
const char* flags = "");
|
||||
WINDOW add_string (short id, int page, const char* prompt, int x, int y,
|
||||
int dim, const char* flags = "", int width = 0);
|
||||
WINDOW add_number (short id, int page, const char* prompt, int x, int y,
|
||||
int dim, const char* flags = "", int ndec = 0);
|
||||
WINDOW add_date (short id, int page, const char* prompt, int x, int y,
|
||||
const char* flags = "");
|
||||
WINDOW add_button (short id, int page, const char* prompt, int x, int y,
|
||||
int dx = 9, int dy = 1, const char* flags = "");
|
||||
WINDOW add_radio(short id, int page, const char* prompt, int x, int y,
|
||||
int dx, const char* codes, const char* items, const char* flags = "");
|
||||
WINDOW add_memo (short id, int page, const char* prompt, int x, int y,
|
||||
int dx = 78, int dy = 4, const char* flags = "");
|
||||
// @cmember Aggiunge runtime un campo testo alla maschera
|
||||
WINDOW add_static (short id, int page, const char* prompt, int x, int y, const char* flags = "");
|
||||
// @cmember Aggiunge runtime un campo stringa alla maschera
|
||||
WINDOW add_string (short id, int page, const char* prompt, int x, int y, int dim, const char* flags = "", int width = 0);
|
||||
// @cmember Aggiunge runtime un campo numerico alla maschera
|
||||
WINDOW add_number (short id, int page, const char* prompt, int x, int y, int dim, const char* flags = "", int ndec = 0);
|
||||
// @cmember Aggiunge runtime un campo data alla maschera
|
||||
WINDOW add_date (short id, int page, const char* prompt, int x, int y, const char* flags = "");
|
||||
// @cmember Aggiunge runtime un campo bottone alla maschera
|
||||
WINDOW add_button (short id, int page, const char* prompt, int x, int y, int dx = 9, int dy = 1, const char* flags = "");
|
||||
// @cmember Aggiunge runtime un campo radio button alla maschera
|
||||
WINDOW add_radio(short id, int page, const char* prompt, int x, int y, int dx, const char* codes, const char* items, const char* flags = "");
|
||||
// @cmember Aggiunge runtime un campo memo alla maschera
|
||||
WINDOW add_memo (short id, int page, const char* prompt, int x, int y, int dx = 78, int dy = 4, const char* flags = "");
|
||||
|
||||
int fields() const { return _field.items(); }
|
||||
int sheets() const { return _sheets; }
|
||||
|
||||
void set_mode(int m) { _mode = m; }
|
||||
int mode() const { return _mode; }
|
||||
|
||||
// @cmember Ritorna il numero di campi della maschera
|
||||
int fields() const
|
||||
{ return _field.items(); }
|
||||
// @cmember Ritorna il numero di sheet della maschera
|
||||
int sheets() const
|
||||
{ return _sheets; }
|
||||
|
||||
// @cmember Setta la modalita' di utilizzo della maschera
|
||||
void set_mode(int m)
|
||||
{ _mode = m; }
|
||||
// @cmember Ritorna la modalita' corrente di utilizzo della maschera
|
||||
int mode() const
|
||||
{ return _mode; }
|
||||
|
||||
// @cmember Setta il valore attuale della valuta
|
||||
void set_exchange(bool show_value, const real& nuo);
|
||||
const real& exchange() const { return _exchange; }
|
||||
// @cmember Ritorna il valore attuale del cambio
|
||||
const real& exchange() const
|
||||
{ return _exchange; }
|
||||
|
||||
// @cmember Controlla i campi di una maschera (TRUE se tutti validi)
|
||||
bool check_fields();
|
||||
void get_mask_fields(); // read screen contents
|
||||
virtual bool stop_run(KEY key); // called to close the mask
|
||||
// @cmember Mette il contenuto dei campi a video in stringhe interne
|
||||
void get_mask_fields();
|
||||
// @cmember Forza la chiusura della maschera
|
||||
virtual bool stop_run(KEY key);
|
||||
// @cmember Controlla se la maschera puo' essere chiusa (TRUE se puo' esserlo)
|
||||
virtual bool can_be_closed() const;
|
||||
|
||||
// @cmember Permette di aprire una maschera
|
||||
virtual void open();
|
||||
// @cmember Permette di chiudere una maschera
|
||||
virtual void close();
|
||||
// @cmember Permette di attivare/disattivare tutta la pagina
|
||||
virtual void activate(bool on = TRUE);
|
||||
|
||||
int id2pos(short id) const;
|
||||
short next_fld() const { return _next_fld;} // id of the field who is gaining the focus DLG_NULL is not exists
|
||||
TMask_field& fld(int i) const { return (TMask_field&)_field[i]; } // Ritorna il campo i-esimo della maschera
|
||||
TMask_field& field(short id) const; // field with given id
|
||||
TEdit_field& efield(short id) const; // edit-field with given id
|
||||
// @cmember Converte un identificatore di campo nella sua posizione
|
||||
int id2pos(short id) const;
|
||||
// @cmember Ritorna l'id del campo che sta prendendo il focus, DLG_NULL se non esiste
|
||||
short next_fld() const
|
||||
{ return _next_fld;}
|
||||
// @cmember Ritorna il campo i-esimo della maschera
|
||||
TMask_field& fld(int i) const
|
||||
{ return (TMask_field&)_field[i]; }
|
||||
// @cmember Ritorna il campo contraddistinto dall'identificatore passato
|
||||
TMask_field& field(short id) const;
|
||||
// @cmember Ritorna il campo di edit contraddistinto dall'identificatore passato
|
||||
TEdit_field& efield(short id) const;
|
||||
|
||||
// @cmember Setta il campo con una stringa
|
||||
void set(short fld_id, const char* str, bool hit=FALSE);
|
||||
// @cmember Setta il campo con un valore
|
||||
void set(short fld_id, long num, bool hit=FALSE);
|
||||
// @cmember Ritorna il contenuto del campo <p fld_id> sotto forma di stringa
|
||||
const TString& get(short fld_id) const;
|
||||
// @cmember Ritorna il contenuto del campo <p fld_id> sotto forma di long
|
||||
long get_long(short fld_id) const;
|
||||
int get_int(short fld_id) const { return (int)get_long(fld_id); }
|
||||
// @cmember Ritorna il contenuto del campo <p fld_id> sotto forma di int
|
||||
// (chiama <mf TMask::get_long>)
|
||||
int get_int(short fld_id) const
|
||||
{ return (int)get_long(fld_id); }
|
||||
// @cmember Ritorna il contenuto del campo <p fld_id> sotto forma di bool
|
||||
bool get_bool(short fld_id) const;
|
||||
|
||||
// @cmember Indica quale campo deve ricevere per primo il focus nella maschera
|
||||
int first_focus(short id);
|
||||
// @cmember Setta il focus al campo corrente
|
||||
void set_focus();
|
||||
// @cmember Muove il focus al prossimo o al precedente controllo valido
|
||||
void move_focus_field(int num);
|
||||
// @cmember Setta il focus al campo la cui finestra e' <p win>
|
||||
void set_focus_win(WINDOW win, bool force);
|
||||
int focus_field() const { return _focus;}
|
||||
void disable_starting_check() { _should_check = FALSE;}
|
||||
// @cmember Ritorna il numero del controllo che possiede il focus
|
||||
int focus_field() const
|
||||
{ return _focus;}
|
||||
// @cmember Disabilita la lettura dei check della maschera
|
||||
void disable_starting_check()
|
||||
{ _should_check = FALSE;}
|
||||
|
||||
// @cmember Assegna una azione al tasto non standard
|
||||
virtual bool on_key(KEY key);
|
||||
// @cmember Aggiorna i campi con i valori salvati una volta che non ci sono processi attivi
|
||||
virtual void on_idle();
|
||||
// @cmember Aggiorna in tutti campi della maschera, che fanno riferimento ad una ditta,
|
||||
// con il riferimento alla ditta attuale
|
||||
void on_firm_change();
|
||||
|
||||
void enable(short fld_id, bool on = TRUE); // Abilita un campo
|
||||
void disable(short fld_id) { enable(fld_id, FALSE); }
|
||||
|
||||
// @cmember Abilita/disabilita un campo
|
||||
void enable(short fld_id, bool on = TRUE);
|
||||
// @cmember Disabilita un campo (chiama <mf TMask::enable>)
|
||||
void disable(short fld_id)
|
||||
{ enable(fld_id, FALSE); }
|
||||
// @cmember Riporta il cmpo allo stato di abilitazione iniziale
|
||||
void enable_default(short fld_id = -1);
|
||||
|
||||
|
||||
// @cmember Abilita/disabilita una pagina e tutte le successive
|
||||
void enable_page(byte p, bool on = TRUE);
|
||||
void disable_page(byte p) { enable_page(p, FALSE); }
|
||||
// @cmember Disabilita una pagina e tutte le successive (chiama <mf TMask::enable_page>)
|
||||
void disable_page(byte p)
|
||||
{ enable_page(p, FALSE); }
|
||||
// @cmember Controlla se una pagina e' disabilitata (TRUE se disabilitata)
|
||||
bool page_enabled(byte p) const;
|
||||
|
||||
|
||||
// @cmember Ritorna il numero di chiavi utilizzate nei campi della maschera
|
||||
byte num_keys() const;
|
||||
// @cmember Abilita/disabilita i campi di una chiave sulla maschera
|
||||
void enable_key(byte key, bool on = TRUE);
|
||||
void disable_key(byte key) { enable_key(key, FALSE); }
|
||||
// @cmember Disabilita i campi di una chiave sulla maschera (chiama <mf TMask::enable_key>)
|
||||
void disable_key(byte key)
|
||||
{ enable_key(key, FALSE); }
|
||||
// @cmember Ritorna il l'identificatore di un campo della chiave <p key>
|
||||
short get_key_field(byte key, bool first) const;
|
||||
// @cmember Controlla se la chiave <p key> ha un valore significativo
|
||||
// (TRUE se il valore e' valido)
|
||||
bool key_valid(int key) const;
|
||||
|
||||
// @cmember Permette di mostrare/nascondere un campo
|
||||
void show(short fld_id = -1, bool on = TRUE);
|
||||
void hide(short fld_id = -1) { show(fld_id, FALSE); }
|
||||
// @cmember Permette di nascondere un campo (chiama <mf TMask::show>)
|
||||
void hide(short fld_id = -1)
|
||||
{ show(fld_id, FALSE); }
|
||||
// @cmember Rimette lo stato di default del campo
|
||||
void show_default(short fld_id = -1);
|
||||
|
||||
// @cmember Rimette lo stato di default del campo
|
||||
void reset(short fld_id = -1);
|
||||
// @cmember Riporta il valori originali nel campo
|
||||
void undo(short fld_id = -1);
|
||||
|
||||
// @cmember Legge, dalla relazione <p Trelation>, i valori del campo con specifica FIELD
|
||||
void autoload(const TRelation*);
|
||||
// @cmember Scrive, dalla relazione <p Trelation>, i valori del campo con specifica FIELD
|
||||
void autosave(TRelation*) const;
|
||||
|
||||
// @cmember Permette di mandare un tasto ad un campo
|
||||
void send_key(KEY key, short id, TMask_field* from = NULL);
|
||||
// @cmember Permette di mandare un handler ad un controllo
|
||||
void set_handler(short fld_id, CONTROL_HANDLER handler);
|
||||
// @cmember Permette di mandare un handler ad una maschera
|
||||
void set_handler(MASK_HANDLER handler);
|
||||
void set_workfile(const char* workfile) { _workfile = workfile; _lastpos = 0L;}
|
||||
// @cmember Permette di settare il nome del file di salvataggio
|
||||
void set_workfile(const char* workfile)
|
||||
{ _workfile = workfile; _lastpos = 0L;}
|
||||
// @cmember Permette di salvare il file di salvataggio
|
||||
bool save(bool append = FALSE) const;
|
||||
// @cmember Permette di leggere il file di salvataggio
|
||||
bool load(bool reset = FALSE);
|
||||
|
||||
short dirty() const; // Ritorna il primo campo dirty
|
||||
bool is_sheetmask() const { return _sheetmask; }
|
||||
// @cmember Ritorna il primo campo dirty
|
||||
short dirty() const;
|
||||
// @cmember Ritorna se la maschera e' contenuta in uno sheet (TRUE se contenuta)
|
||||
bool is_sheetmask() const
|
||||
{ return _sheetmask; }
|
||||
|
||||
bool no_mode() const { return _mode == NO_MODE; }
|
||||
bool query_mode() const { return _mode == MODE_QUERY || _mode == MODE_QUERYINS; }
|
||||
bool edit_mode() const { return _mode == MODE_MOD; }
|
||||
bool insert_mode() const { return _mode == MODE_QUERYINS || _mode == MODE_INS; }
|
||||
// @cmember Ritorna TRUE se la maschera non ha modalita' di utilizzo (vedi <t TMaskmode>)
|
||||
bool no_mode() const
|
||||
{ return _mode == NO_MODE; }
|
||||
// @cmember Ritorna TRUE se la maschera e' in modalita' di richiesta (vedi <t TMaskmode>)
|
||||
bool query_mode() const
|
||||
{ return _mode == MODE_QUERY || _mode == MODE_QUERYINS; }
|
||||
// @cmember Ritorna TRUE se la maschera e' in modalita' di modifica (vedi <t TMaskmode>)
|
||||
bool edit_mode() const
|
||||
{ return _mode == MODE_MOD; }
|
||||
// @cmember Ritorna TRUE se la maschera e' in modalita' di inserimento (vedi <t TMaskmode>)
|
||||
bool insert_mode() const
|
||||
{ return _mode == MODE_QUERYINS || _mode == MODE_INS; }
|
||||
|
||||
// @cmember Ritorna il titolo della maschera
|
||||
virtual const char* get_caption() const;
|
||||
// @cmember Setta il titolo della maschera
|
||||
virtual void set_caption(const char* c);
|
||||
|
||||
virtual bool on_dirty( TMask_field& c );
|
||||
// @cmember Viene eseguita se il campo viene modificato???
|
||||
virtual bool on_dirty(TMask_field& c );
|
||||
|
||||
};
|
||||
|
||||
|
@ -149,8 +149,24 @@ short TMask_field::atodlg(const char* s) const
|
||||
return d;
|
||||
}
|
||||
|
||||
void TMask_field::construct(short id, const char* prompt, int x, int y,
|
||||
int len, WINDOW parent, const char* flags, int width)
|
||||
|
||||
// @cmember Costruisce il campo
|
||||
void TMask_field::construct(
|
||||
short id, // @parm Identificatore del campo
|
||||
const char* prompt, // @parm Prompt del campo
|
||||
int x, // @parm Posizione in x (in caratteri) del campo nella maschera
|
||||
int y, // @parm Posizione in y (in caratteri) del campo nella maschera
|
||||
int len, // @parm Lunghezza vidibile del campo
|
||||
WINDOW parent, // @parm Finestra padre alla quale assegnare il campo
|
||||
const char* flags, // @parm Flags del campo (default "")
|
||||
int width) // @parm Lunghezza del campo
|
||||
// @parm TScanner& | scanner | File dal quale leggere leggere le informazioni
|
||||
|
||||
// @syntax void construct(TScanner& scanner, WINDOW parent);
|
||||
// @syntax void construct(short id, const char* prompt, int x, int y, int len, WINDOW parent, const char* flags, int width);
|
||||
//
|
||||
// @comm E' possibile costruire il campo leggendo direttamente dal file, oppure passare alla funzione
|
||||
// tutti i parametri necessari alla definizione del campo stesso
|
||||
{
|
||||
_x = x; _y = y;
|
||||
_prompt = prompt;
|
||||
@ -260,9 +276,16 @@ long TMask_field::default_flags() const
|
||||
}
|
||||
|
||||
// Certified 100%
|
||||
WINDOW TMask_field::wincreate(WIN_TYPE ct, short dx, short dy,
|
||||
const char* title, WINDOW parent,
|
||||
long flags)
|
||||
// @mfunc Crea la finestra del controllo
|
||||
//
|
||||
// @rdesc Ritorna la finestra creata
|
||||
WINDOW TMask_field::wincreate(
|
||||
WIN_TYPE ct, // @parm Tipo di finestra da creare
|
||||
short dx, // @parm Larghezza iniziale della finestra
|
||||
short dy, // @parm Altezza iniziale della finestra
|
||||
const char* title, // @parm Titolo della finestra
|
||||
WINDOW parent, // @parm Finestra padre di quella da creare
|
||||
long flags) // @parm fleg della finestra
|
||||
{
|
||||
_win = xvt_create_control(ct,
|
||||
_x, _y, dx, dy,
|
||||
@ -282,7 +305,13 @@ WINDOW TMask_field::parent() const
|
||||
|
||||
|
||||
// Certified 90%
|
||||
int TMask_field::create_prompt(WINDOW parent, int width, int heigth)
|
||||
// @mfunc Crea il prompt del controllo
|
||||
//
|
||||
// @rdesc Ritorna la lunghezza del prompt creato
|
||||
int TMask_field::create_prompt(
|
||||
WINDOW parent, // @parm Finestra padre alla quale assegnare il prompt del controllo
|
||||
int width, // @parm Larghezza del controllo
|
||||
int heigth) // @parm Altezza del controllo
|
||||
{
|
||||
const WIN_TYPE wt = (heigth < 3) ? WC_TEXT : WC_GROUPBOX;
|
||||
if (width < 1) width = _prompt.len() - (_prompt[0] == '@' ? 2 : 0);
|
||||
@ -333,7 +362,12 @@ void TMask_field::create(WINDOW parent)
|
||||
|
||||
|
||||
// Certified 100%
|
||||
void TMask_field::enable(bool on)
|
||||
// @mfunc Abilita/disabilita il campo (lo rende scrivibile)
|
||||
void TMask_field::enable(
|
||||
bool on) // @parm Operazione da svolgere:
|
||||
//
|
||||
// @flag TRUE | Abilita il campo (default)
|
||||
// @flag FALSE | Disabilita il campo
|
||||
{
|
||||
const word c = class_id();
|
||||
if (c != CLASS_FIELD)
|
||||
@ -353,7 +387,12 @@ void TMask_field::enable_default()
|
||||
|
||||
|
||||
// Certified 100%
|
||||
void TMask_field::show(bool on)
|
||||
// @mfunc Permette di rendere visibile/invisibile un campo
|
||||
void TMask_field::show(
|
||||
bool on) // @parm Operazione da svolgere:
|
||||
//
|
||||
// @flag TRUE | Rendere visibile il campo (default)
|
||||
// @flag FALSE | Rendere invisibile il campo
|
||||
{
|
||||
xvt_vobj_set_visible(_win, on);
|
||||
if (_promptwin != NULL_WIN)
|
||||
@ -420,7 +459,16 @@ const char* TMask_field::get_field_data() const
|
||||
{ return NULL; }
|
||||
|
||||
|
||||
const char* TMask_field::picture_data(const char* data, bool video)
|
||||
// @mfunc Permette di dare la stessa formattazione del campo della maschera
|
||||
//
|
||||
// @rdesc Ritorna la stringa formattata
|
||||
const char* TMask_field::picture_data(
|
||||
const char* data, // @parm Stringa da dare il formato
|
||||
bool video) // @parm Se TRUE permette di visualizzare la stringa a video
|
||||
|
||||
// @comm Utilizzata soprattutto dagli sheet che in questo modo possono formattare
|
||||
// il contenuto delle celle con lo stesso formato deglia altri campi della maschera
|
||||
// dell stesso tipo.
|
||||
{
|
||||
fpark = data;
|
||||
if (video)
|
||||
@ -760,7 +808,15 @@ bool TMask_field::on_hit()
|
||||
}
|
||||
|
||||
|
||||
bool TMask_field::to_check(KEY k, bool checkrun) const
|
||||
// @mfunc Permette di spedire il check
|
||||
//
|
||||
// @rdesc Ritorna il risultato del check:
|
||||
//
|
||||
// @flag TRUE | Se il check ha dato esito positivo
|
||||
// @flag FALSE | Se il check ha dato esito negativo
|
||||
bool TMask_field::to_check(
|
||||
KEY k, // @parm Tasto da passare al campo come simulazione di inizio controllo
|
||||
bool checkrun) const // @parm Indice se il controllo va effettuato mentre il campo ha il focus??
|
||||
{
|
||||
bool yes = (k == K_TAB && focusdirty()) || (k == K_ENTER && dirty());
|
||||
|
||||
@ -884,7 +940,16 @@ void TMask_field::set_focus() const
|
||||
HIDDEN char* const _msg = &__tmp_string[512];
|
||||
#define build_msg() va_list argptr;va_start(argptr,fmt);vsprintf(_msg,fmt,argptr);va_end(argptr)
|
||||
|
||||
bool TMask_field::error_box(const char* fmt, ...) const
|
||||
// @mfunc Crea una error-box relativo al campo (chiama <f error_box>)
|
||||
//
|
||||
// @rdesc Ritorna sempre FALSE
|
||||
bool TMask_field::error_box(
|
||||
const char* fmt, // @parm Formato della stringa da scrivere
|
||||
...) const // @parmvar Uno o piu' parametri corrispondenti ai codici in <p fmt>
|
||||
|
||||
// @comm Se il campo e' uno sheet viene aggiornata la barra di stato, altrimenti
|
||||
// viene creata una finestra di errore normale.
|
||||
|
||||
{
|
||||
build_msg();
|
||||
if (mask().is_sheetmask() && !mask().is_running())
|
||||
@ -910,7 +975,15 @@ bool TMask_field::message_box(const char* fmt, ...) const
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool TMask_field::warning_box(const char* fmt, ...) const
|
||||
// @mfunc Crea una warning-box relativo al campo (chiama <f warning_box>)
|
||||
//
|
||||
// @rdesc Ritorna sempre FALSE
|
||||
bool TMask_field::warning_box(
|
||||
const char* fmt, // @parm Formato della stringa da scrivere
|
||||
...) const // @parmvar Uno o piu' parametri corrispondenti ai codici in <p fmt>
|
||||
|
||||
// @comm Se il campo e' uno sheet viene aggiornata la barra di stato, altrimenti
|
||||
// viene creata una finestra di warning normale.
|
||||
{
|
||||
build_msg();
|
||||
|
||||
@ -1286,8 +1359,13 @@ int TBrowse::inputs()
|
||||
return inp;
|
||||
}
|
||||
|
||||
// Ritorna il numero di campi non vuoti e non filtrati
|
||||
int TBrowse::do_input(bool filter)
|
||||
// @mfunc Ritorna il numero di campi non vuoti e non filtrati
|
||||
//
|
||||
// @rdesc Numero di campi vuoti e non filtrati
|
||||
int TBrowse::do_input(
|
||||
bool filter) // @parm ??
|
||||
|
||||
// @comm Questa funzione serve ai TCursor_sheet
|
||||
{
|
||||
int ne = 0;
|
||||
if (_inp_id.empty()) return ne;
|
||||
@ -2032,7 +2110,9 @@ const char* TEdit_field::format(const char* d)
|
||||
}
|
||||
|
||||
|
||||
|
||||
const char* TEdit_field::picture_data(const char* data, bool video)
|
||||
|
||||
{
|
||||
if (video)
|
||||
{
|
||||
@ -2049,7 +2129,14 @@ const char* TEdit_field::picture_data(const char* data, bool video)
|
||||
}
|
||||
|
||||
|
||||
bool TEdit_field::validate(KEY k)
|
||||
// @mfunc Chiama l' eventuale funzione di validazione
|
||||
//
|
||||
// @rdesc Ritorna il risultato dell funzione di validazione:
|
||||
//
|
||||
// @flag TRUE | Se la validata ha avuto successo
|
||||
// @flag FALSE | Se la validata no ha avuto successo
|
||||
bool TEdit_field::validate(
|
||||
KEY k) // @parm Tasto da passare alla funzione di validazione
|
||||
{
|
||||
return ::validate(_validate_func, *this, k, _validate_parms);
|
||||
}
|
||||
@ -2076,7 +2163,14 @@ bool TEdit_field::on_hit()
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// @mfunc Mostra un messaggio di errore di default per il campo
|
||||
//
|
||||
// @rdesc Ritorna sempre FALSE
|
||||
bool TEdit_field::default_error_box() const
|
||||
|
||||
// @comm Se il campo non possiede un warning particolare chiama la <f error_box>
|
||||
// indicando genericamente che il valore immesso non e' valido, altrimenti
|
||||
// riporta il warning associato al campo
|
||||
{
|
||||
if (_warning.empty())
|
||||
{
|
||||
@ -2226,7 +2320,12 @@ bool TEdit_field::check(CheckTime t)
|
||||
return ok;
|
||||
}
|
||||
|
||||
void TEdit_field::enable_check(bool on)
|
||||
// @mfunc Permette di abilitare/disabilitare un check di un campo
|
||||
void TEdit_field::enable_check(
|
||||
bool on) // @parm Operazione da svolgere
|
||||
//
|
||||
// @flag TRUE | Abilita il check del campo (default)
|
||||
// @flag FALSE | Disabilita il check del campo
|
||||
{
|
||||
_check_enabled = on;
|
||||
if (_buttonwin != NULL_WIN)
|
||||
@ -2481,7 +2580,21 @@ TDate_field::TDate_field(TMask* m) : TEdit_field(m)
|
||||
}
|
||||
|
||||
|
||||
const char* TDate_field::format_data(const char* datum, bool* ch)
|
||||
// @mfunc Permette di formattare la data secondo i flag correnti
|
||||
//
|
||||
// @rdesc Ritorna la data formattata
|
||||
const char* TDate_field::format_data(
|
||||
const char* datum, // @parm Stringa contenenete la data da formattare
|
||||
bool* ch) // @parm Indica se e' stata cambiato il formato rispetto alla stringa passsata
|
||||
|
||||
// @comm Permette di gestire anche alcuni date particolari come:
|
||||
//
|
||||
// @flag IERI | Inserisce la data del giorno precedente a quella del sistema
|
||||
// @flag OGGI | Inserisce la data del sistema
|
||||
// @flag DOMANI | Inserisce la data del giorno successivo a quella del sistema
|
||||
// @flag PRIMO | Primo giorno dell'anno (01-01-aa)
|
||||
// @flag ULTIMO | Ultimo giorno dell'anno (31-12-aa)
|
||||
// @flag NATALE | Giorno di natale (25-12-aa)
|
||||
{
|
||||
bool changed = FALSE;
|
||||
// TFixed_string data(get_window_data(), 15);
|
||||
@ -2866,7 +2979,12 @@ int TList_field::items() const
|
||||
return _codes.items();
|
||||
}
|
||||
|
||||
void TList_field::add_item(const char* s)
|
||||
// @mfunc Aggiunge delle voci al list sheet
|
||||
void TList_field::add_item(
|
||||
const char* s) // @parm Voci da aggiungere
|
||||
|
||||
// @comm Se il parametro <p s> e' passato con il formato di una <c TToken_string> vengono
|
||||
// aggiunte tante voci quanti sono gli elementi.
|
||||
{
|
||||
TToken_string t(s);
|
||||
const TString16 item(t.get());
|
||||
@ -2936,7 +3054,13 @@ void TList_field::add_list()
|
||||
}
|
||||
|
||||
|
||||
void TList_field::replace_items(const char* codes, const char* values)
|
||||
// @mfunc Sostituisce alle voci correnti quelle passate come parametri
|
||||
void TList_field::replace_items(
|
||||
const char* codes, // @parm Codici da sostituire ai correnti
|
||||
const char* values) // @parm Voci da sostituire a quelle correnti
|
||||
|
||||
// @comm I parametri <p codes> e <p values> devono essere TToken_string se lo voci da sostiutire
|
||||
// sono piu' di una
|
||||
{
|
||||
_codes = codes;
|
||||
_values = values;
|
||||
@ -3217,8 +3341,15 @@ void TRadio_field::show(bool on)
|
||||
_flags.shown = on;
|
||||
}
|
||||
|
||||
// Return TRUE if focus has left the radio
|
||||
bool TRadio_field::move_focus(int d)
|
||||
// @mfunc Sposta il focus dal radio button
|
||||
//
|
||||
// @mfunc Ritorna TRUE se il focus ha lasciato il radio button
|
||||
bool TRadio_field::move_focus(
|
||||
int d) // @parm Numero di posizioni di spostamento del focus
|
||||
|
||||
// @comm Poiche' la gestione dei radio button e' gestita direttamente da Windows
|
||||
// in caso si prema TAB o SHIF+TAB all'interno si passa da una voce
|
||||
// all'altra e non al campo successivo o precedente.
|
||||
{
|
||||
const int act = _active_item + d;
|
||||
if (act >= _nitems || act < 0)
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -21,9 +21,9 @@ class TIndwin : public TWindow
|
||||
// @access Private Member
|
||||
|
||||
enum {
|
||||
// @cmember Controlla se e' stato premuto il tasto "Annulla"
|
||||
// @ccost IND_CANCELLED | 0x01 | Controlla se e' stato premuto il tasto "Annulla"
|
||||
IND_CANCELLED = 0x01,
|
||||
// @cmember Controlla se l'operazione e' terminata
|
||||
// @ccost IND_FINISHED | 0x02 | Controlla se l'operazione e' terminata
|
||||
IND_FINISHED= 0x02 };
|
||||
|
||||
// @cmember Testo da inserire nella finestra
|
||||
|
@ -17,11 +17,11 @@
|
||||
class TSort : public TObject
|
||||
// @author:(INTERNAL) Alex
|
||||
{
|
||||
// @access Private Member
|
||||
|
||||
// @friend TRecfield
|
||||
friend TRecfield;
|
||||
|
||||
// @access Private Member
|
||||
|
||||
// @cmember Puntatore alla struttura di un sort
|
||||
struct s_prm* _sortvar;
|
||||
// @cmember Indice nella tabella dei campi della chiave
|
||||
|
@ -616,7 +616,8 @@ TString& TString::picture(
|
||||
// Certified 90% (spark size limited)
|
||||
// @mfunc Manda un output formattato alla stringa oggetto
|
||||
TString& TString::format(
|
||||
const char* fmt, ...) // @parm Stringa da formattare
|
||||
const char* fmt, // @parm Stringa da formattare
|
||||
...) // @parmvar Uno o piu' parametri corrispondenti ai codici in <p fmt>
|
||||
|
||||
// @comm Funziona come la funzione "sprintf" standard del C e ritorna la
|
||||
// stringa formattata con i parametri passati.
|
||||
@ -781,7 +782,8 @@ void TFixed_string::strncpy(const char* s, int n)
|
||||
// Certified 99%
|
||||
// @mfunc Manda un output formattato alla stringa oggetto
|
||||
TString& TFixed_string::format(
|
||||
const char* fmt, ...)// @parm Formato della stringa
|
||||
const char* fmt, // @parm Formato della stringa
|
||||
...) // @parmvar Uno o piu' parametri corrispondenti ai codici in <p fmt>
|
||||
|
||||
// @comm Funziona come la funzione "sprintf" standard del C e ritorna la
|
||||
// stringa formattata con i parametri passati.
|
||||
|
@ -85,7 +85,8 @@ public:
|
||||
int size() const
|
||||
{ return _size; }
|
||||
// @cmember Ritorna la lunghezza della stringa (numero di caratteri)
|
||||
int len() const { return strlen(_str); }
|
||||
int len() const
|
||||
{ return strlen(_str); }
|
||||
// @cmember Controlla se la stringa e' vuota (TRUE se non contiene caratteri)
|
||||
bool empty() const
|
||||
{ return *_str == '\0'; }
|
||||
@ -305,10 +306,12 @@ public:
|
||||
|
||||
// @class TFilename | Classe per la gestione dei nome dei file
|
||||
//
|
||||
// @base public | TString80 (TString256 per Windows '95)
|
||||
// @base public | TString80
|
||||
class TFilename : public TString80
|
||||
{
|
||||
|
||||
// @comm Nel caso di utilizzo di Windows 95 occorre cambiare le classe base in <c TString256>
|
||||
|
||||
// @access Public Member
|
||||
public:
|
||||
// @cmember Costruttore
|
||||
|
@ -175,7 +175,8 @@ int list_files(
|
||||
//
|
||||
// @rdesc Ritorna la stringa desiderata
|
||||
char* format(
|
||||
const char* fmt, ...) // @parm Formato che deve essere dato alla stringa
|
||||
const char* fmt, // @parm Formato che deve essere dato alla stringa
|
||||
...) // @parmvar Uno o piu' parametri corrispondenti ai codici in <p fmt>
|
||||
|
||||
// @comm Il funzionamento e' come la <f sprintf> del C, solo che non e' necessario passare la
|
||||
// stringa di destinazione alla funzione
|
||||
|
Loading…
x
Reference in New Issue
Block a user