campo-sirio/include/treectrl.h
guy 9e59e97970 Patch level : 10.0
Files correlati     : ve0.exe
Ricompilazione Demo : [ ]
Commento            :
0001556: Documenti interattivi
Se inserisco una descrizione del tipo :
Programma Campo modulo Effetti canone di manut. prova1 prova2 prova3 prova4 prova5 prova6
la prima volte che faccio F8 dopo aver registrato vengono persi alcuni caratteri in mezzo


git-svn-id: svn://10.65.10.50/trunk@20118 c028cbd2-c16b-5b4b-a496-9718f37d4682
2010-02-15 12:11:55 +00:00

168 lines
4.5 KiB
C++
Executable File

#ifndef __TREECTRL_H
#define __TREECTRL_H
#ifndef __MASKFLD_H
#include "maskfld.h"
#endif
#ifndef __VARIANT_H
#include "variant.h"
#endif
// Native control host window: autresizes its unique child control
class TControl_host_window : public TField_window
{
protected:
WINDOW _ctrl;
protected:
virtual long handler(WINDOW win, EVENT* ep);
TControl_host_window(int x, int y, int dx, int dy,
WINDOW parent, TWindowed_field* owner);
};
class TGolem_client_field : public TWindowed_field
{
TGolem_field* _driver;
protected: // TObject
virtual word class_id() const;
virtual bool is_kind_of(word cid) const;
protected: // TWindowed_field
virtual TField_window* create_window(int x, int y, int dx, int dy, WINDOW parent);
virtual bool parse_item(TScanner& scan);
public:
TGolem_field* driver() const { return _driver; }
virtual bool on_hit();
TGolem_client_field(TMask* m);
virtual ~TGolem_client_field();
};
// Implemented in tree.cpp
class TTree;
class TTree_field : public TWindowed_field
{
protected: // TObject
virtual word class_id() const;
virtual bool is_kind_of(word cid) const;
protected: // TWindowed_field
virtual TField_window* create_window(int x, int y, int dx, int dy, WINDOW parent);
public:
TTree* tree() const;
void set_tree(TTree* t);
void hide_leaves(bool yes = true);
void show_leaves(bool yes = true) { hide_leaves(!yes); }
bool select_current();
bool goto_selected();
void set_header(const char* head);
void set_row_height(int rh);
TTree_field(TMask* m) : TWindowed_field(m) { }
virtual ~TTree_field() { }
};
class TOutlook_field : public TWindowed_field
{
TString4 _str; // Current selection
protected: // TMask_field
virtual word class_id() const;
virtual bool is_kind_of(word cid) const;
virtual const TString& get_window_data();
virtual void set_window_data(const char* data);
virtual bool on_key(KEY key);
protected: // TWindowed_field
virtual TField_window* create_window(int x, int y, int dx, int dy, WINDOW parent);
public:
int add_item(short icon, const char* text, int flags);
void create(short dlg, int x, int y, int dx, int dy, WINDOW parent);
void clear();
int items() const;
virtual void set(const char* data);
virtual const TString& get() const;
TOutlook_field(TMask* m) : TWindowed_field(m) { }
virtual ~TOutlook_field() { }
};
class TSlider_field : public TWindowed_field
{
short _buddy;
real _range_min, _range_max;
protected: // TMask_field
virtual word class_id() const;
virtual bool is_kind_of(word cid) const;
virtual const TString& get_window_data();
virtual void set_window_data(const char* data);
protected: // TWindowed_field
virtual TField_window* create_window(int x, int y, int dx, int dy, WINDOW parent);
virtual bool parse_item(TScanner& scanner);
const char* get_buddy() const;
void set_buddy(const char* b) const;
public:
virtual void set(const char* data);
virtual const TString& get() const;
virtual bool on_hit();
void set_range(const real& mi, const real& ma);
void set_range(int mi, int ma);
void range(real& mi, real& ma);
TSlider_field(TMask* m);
virtual ~TSlider_field() { }
};
class TProp_field : public TWindowed_field
{
protected:
virtual TField_window* create_window(int x, int y, int dx, int dy, WINDOW parent);
virtual bool parse_item(TScanner& scanner);
public:
virtual word class_id() const;
virtual bool is_kind_of(word cid) const;
void freeze(bool on);
bool set_property(const char* name, const char* value, const char* label = NULL);
bool set_property(const char* name, COLOR value, const char* label = NULL);
bool set_property(const char* name, long value, const char* label = NULL);
bool set_property(const char* name, bool value, const char* label = NULL);
bool has_property(const char* name) const;
bool remove_property(const char* name);
bool enable_property(const char* name, bool on = true);
bool disable_property(const char* name) { return enable_property(name, false); }
const TString& get_property(const char* name) const;
COLOR get_color_property(const char* name) const;
long get_long_property(const char* name) const;
bool get_bool_property(const char* name) const;
bool get_var_property(const char* name, TVariant& var) const;
bool for_each_property(PROP_CALLBACK pcb, void* jolly);
bool current_property(TString& name, TVariant& value) const;
TProp_field(TMask* m);
};
#endif