array.cpp Corretti TPointer_array assoc.cpp Aggiuntta add() cfiles.c Corretto salvataggio pathpref.ini controls.cpp Aggiunto attributo di read_only default.url Aggiunto menu di edit ed help mask.cpp Gestione menu edit maskfld.cpp Gestione menu edit msksheet.cpp Gestione menu edit progind.cpp Aggiunto nuova scavatura 3D sheet.cpp viswin.cpp Aggiornati ID del menu edit window.cpp Corretta gestione voci di menu standard xvtility.cpp Aggiunto metodo per skippare gli errori di XVT git-svn-id: svn://10.65.10.50/trunk@5791 c028cbd2-c16b-5b4b-a496-9718f37d4682
171 lines
4.7 KiB
C++
Executable File
171 lines
4.7 KiB
C++
Executable File
#ifndef __PROGIND_H
|
|
#define __PROGIND_H
|
|
|
|
#ifdef __cplusplus
|
|
|
|
#ifndef __STRINGS_H
|
|
#include <strings.h>
|
|
#endif
|
|
|
|
#ifndef __WINDOW_H
|
|
#include <window.h>
|
|
#endif
|
|
|
|
#ifndef __CONTROLS_H
|
|
class TControl;
|
|
class TField_control;
|
|
#endif
|
|
|
|
// @doc EXTERNAL
|
|
|
|
// @class TIndwin | Classe base per la gestione delle finestre con le barre di attesa
|
|
//
|
|
// @base public | TWindow
|
|
class TIndwin : public TWindow
|
|
// @author:(INTERNAL) Villa
|
|
{
|
|
// @access:(INTERNAL) Private Member
|
|
|
|
enum {
|
|
// @ccost:(INTERNAL) IND_CANCELLED | 0x01 | Controlla se e' stato premuto il tasto "Annulla"
|
|
IND_CANCELLED = 0x01,
|
|
// @ccost:(INTERNAL) IND_FINISHED | 0x02 | Controlla se l'operazione e' terminata
|
|
IND_FINISHED= 0x02 };
|
|
|
|
// @cmember:(INTERNAL) Testo da inserire nella finestra
|
|
TField_control* _text;
|
|
// @cmember:(INTERNAL) Bottone "Annulla"
|
|
TControl* _cancel;
|
|
// @cmember:(INTERNAL) Movimento della barra e percentuale
|
|
WINDOW _bar;
|
|
// @cmember:(INTERNAL) Flag che indica quali operazioni sono state effettuate
|
|
byte _flags;
|
|
|
|
// @access Protected Member
|
|
protected:
|
|
// @cmember Massimo valore da ricercare
|
|
long _max;
|
|
// @cmember Stato corrente dell'esecuzione (settato dell'utente)
|
|
long _status;
|
|
// @cmember Ritorna il numero di linee necessarie per scrivere il testo nella finestra
|
|
word measure_text(TToken_string& t, word& len) const;
|
|
|
|
// @cmember Gestisce gli eventi tasto della finestra
|
|
virtual bool on_key(KEY k);
|
|
|
|
// @cmember Gestisce gli eventi bottone della finestra
|
|
virtual void on_button(short id);
|
|
|
|
// @cmember Aggiorna la barra di attesa (chiama update_bar)
|
|
virtual void update();
|
|
|
|
// @cmember Aggiorna la barra di attesa
|
|
void update_bar();
|
|
// @cmember Controlla se ha terminato la barra di attesa
|
|
KEY check_stop();
|
|
|
|
// @access Public Member
|
|
public:
|
|
// @cmember Controlla se e' stato premuto il tasto "Annulla"
|
|
bool iscancelled() const
|
|
{ do_events(); return _flags & IND_CANCELLED; }
|
|
// @cmember Controlla se e' finito l'operazione
|
|
bool isfinished() const
|
|
{ do_events(); return _flags & IND_FINISHED; }
|
|
// @cmember Ritorna lo stato dell'operazione (quantita' dell'applicazione gia' fatta)
|
|
long status() const
|
|
{ do_events(); return _status; }
|
|
// @cmember Ferma l'operazione (chiude la finestra)
|
|
void cancel()
|
|
{ _flags |= IND_CANCELLED; do_events(); check_stop(); }
|
|
|
|
// @cmember Controlla se l'operazione puo' essere chiusa
|
|
virtual bool can_be_closed() const;
|
|
|
|
// @cmember Setta il testo della finestra
|
|
void set_text(const char* t);
|
|
|
|
// @cmember Costruttore
|
|
TIndwin(long max, const char* txt, bool cancel = TRUE, bool bar = TRUE, int div = 16);
|
|
// @cmember Distruttore
|
|
virtual ~TIndwin();
|
|
};
|
|
|
|
// @doc EXTERNAL
|
|
|
|
// @class TProgind | Classe per la gestione della barra di attesa di una applicazione
|
|
//
|
|
// @base public | TIndwin
|
|
class TProgind : public TIndwin
|
|
// @author:(INTERNAL) Villa
|
|
{
|
|
// @access Public Member
|
|
public:
|
|
// @cmember Setta il valore massimo della barra d'attesa
|
|
void setmax(long m)
|
|
{ _max = m; }
|
|
// @cmember Setta lo stato della barra d'attesa
|
|
void setstatus(long l);
|
|
// @cmember Aggiorna la barra d'attesa aggiungendo l'incremento fatto dell'applicazione
|
|
void addstatus(long l)
|
|
{ setstatus(_status+l); }
|
|
// @cmember Costruttore
|
|
TProgind(long max, const char* txt = NULL, bool cancel = TRUE, bool bar = TRUE, int div = 60);
|
|
// @cmember Distruttore
|
|
virtual ~TProgind()
|
|
{}
|
|
};
|
|
|
|
// @doc EXTERNAL
|
|
|
|
// @class TTimerind | Classe per la definizione di una barra d'attesa gestita
|
|
// dal tempo e non dallo stato dell'applicazione
|
|
//
|
|
// @base public | TIndwin
|
|
class TTimerind : public TIndwin
|
|
// @author:(INTERNAL) Villa
|
|
{
|
|
// @access:(INTERNAL) Private Member
|
|
|
|
// @cmember:(INTERNAL) Intervallo di tempo
|
|
int _interval;
|
|
// @cmember:(INTERNAL) Indice di tempo
|
|
static long _timer_id;
|
|
|
|
// @access Protected Member
|
|
protected:
|
|
// @cmember Gestisce gli eventi della finestra
|
|
virtual void handler(WINDOW w, EVENT* e);
|
|
|
|
// @access Public Member
|
|
public:
|
|
// @cmember Costruttore
|
|
TTimerind(long msec, const char* txt = NULL, bool cancel = TRUE, bool bar = TRUE, int div = 10, int interval = 1000);
|
|
// @cmember Distruttore
|
|
virtual ~TTimerind();
|
|
};
|
|
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
// Non commentate perche' destinate a sparire
|
|
void progind_create(long, const char*, bool, bool, int);
|
|
void progind_set_status(long);
|
|
void progind_cancel();
|
|
bool progind_iscancelled();
|
|
bool progind_isfinished();
|
|
void progind_destroy();
|
|
void timerind_create(long, const char*, bool, bool, int, int);
|
|
void timerind_cancel();
|
|
bool timerind_iscancelled();
|
|
bool timerind_isfinished();
|
|
void timerind_destroy();
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* __PROGIND_H */
|