campo-sirio/include/controls.h
andrea d1298ebfb2 Aggiunta documentazione in linea
git-svn-id: svn://10.65.10.50/trunk@2562 c028cbd2-c16b-5b4b-a496-9718f37d4682
1996-02-05 19:00:53 +00:00

160 lines
4.5 KiB
C++
Executable File

#ifndef __CONTROLS_H
#define __CONTROLS_H
#ifndef __STRINGS_H
#include <strings.h>
#endif
WINDOW xvt_create_checkbox(
short left, short top, short right, short bottom,
const char* caption,
WINDOW parent,
long flags,
long app_data,
int id);
WINDOW xvt_create_radiobutton(
short left, short top, short right, short bottom,
const char* caption,
WINDOW parent,
long flags,
long app_data,
int id);
WINDOW xvt_create_pushbutton(
short left, short top, short right, short bottom,
const char* caption,
WINDOW parent,
long flags,
long app_data,
int id);
WINDOW xvt_create_text(
short left, short top, short right, short bottom,
const char* caption,
WINDOW parent,
long flags,
long app_data,
int id);
WINDOW xvt_create_groupbox(
short left, short top, short right, short bottom,
const char* caption,
WINDOW parent,
long flags,
long app_data,
int id);
void free_controls_bmp();
///////////////////////////////////////////////////////////
// Custom control
///////////////////////////////////////////////////////////
// @doc INTERNAL
// @class TControl | Classe per la creazione di controlli personalizzati
class TControl
// @author:(INTERNAL) Guido
// @access:(INTERNAL) Private Member
{
// @cmember:(INTERNAL) Handle del controllo creato
WINDOW _win;
// @cmember:(INTERNAL) Iedntificatore assegnato al cotrollo
short _id;
// @cmember:(INTERNAL) Prompt del controllo
TString _caption;
// @cmember:(INTERNAL) Colore di foreground del controllo
COLOR _color;
// @cmember:(INTERNAL) Colore di background del controllo
COLOR _backcolor;
// @cmember:(INTERNAL) Indica se il controllo e' disabilitato
bool _disabled : 1;
// @cmember:(INTERNAL) Indica se il controllo ha un check
bool _checked : 1;
// @cmember:(INTERNAL) Indica se il controllo ha il focus
bool _focused : 1;
// @cmember:(INTERNAL) Indica varie cose a seconda del tipo di controllo she si sta utilizzando
bool _multiple : 1;
// @access Protected Member
protected:
// @cmember E' l'handler del controllo
static long XVT_CALLCONV1 handler(WINDOW win, EVENT* ep);
// @cmember Crea il controllo
void create(short left, short top, short right, short bottom, const char* caption, WINDOW parent, long flags, long app_data, short id);
// @cmember Ridisegna il controllo a video
virtual void update() const pure;
// @cmember Chiamate ogni volta che viene premuto il mouse sul controllo
virtual void mouse_down(PNT)
{};
// @cmember Chiamate ogni volta che viene rialsciato il mouse sul controllo
virtual void mouse_up()
{};
// @cmember Ritorna il tipo di finestra su cui si trova il controllo
virtual WIN_TYPE type() const
{ return W_NO_BORDER; }
// @access Public Member
public:
// @cmember Ritorna il TControl dalla finestra del controllo
static TControl* WINDOW2TControl(WINDOW win);
// @cmember Distruttore. Necessariamente virtuale per derivare altri distruttori
virtual ~TControl();
// @cmember Ritorna l'handle del controllo
WINDOW win() const
{ return _win; }
// @cmember Ritorna l'identificatore assegnato al controllo
short id() const
{ return _id; }
// @cmember Ritorna il prompt del controllo
const char* caption() const
{ return _caption; }
// @cmember Setta il prompt del controllo
void set_caption(const char* c);
// @cmember Ritorna il colore di forground del controllo
COLOR color() const
{ return _color; }
// @cmember Setta il colore di forground del controllo
void set_color(COLOR c)
{ _color = c; }
// @cmember Ritorna il colore di background del controllo
COLOR back_color() const
{ return _backcolor; }
// @cmember Setta il colore di background del controllo
void set_back_color(COLOR c)
{ _backcolor = c; }
// @cmember Ritorna se il controllo possiede un check
bool checked() const
{ return _checked; }
// @cmember Setta se il controllo debba avere un check
virtual void check(bool on);
// @cmember Ritorna se il controllo e' disabilitato
bool disabled() const
{ return _disabled; }
// @cmember Abilita/disabilita il controllo
void enable(bool on);
// @cmember Ritorna se il controllo ha il focus
bool focused() const
{ return _focused; }
// @cmember Setta il focus sul cursore (stessa sintassi di <mf TCursor::enable>)
void focus(bool on)
{ _focused = on; }
// @cmember Ritorna il contenuto della variabile <md TControl::_multiple>
bool multiple() const
{ return _multiple; }
};
#endif