#ifndef __SCSELECT_H #define __SCSELECT_H #ifndef __MASK_H #include #endif #ifndef __RELATION_H #include #endif #ifndef __SHEET_H #include #endif #ifndef __SCSELMSK_H #include "scselmsk.h" #endif #ifndef __CLIFO_H #include #endif class TSelection_mask : public TMask { TRelation* _clifo_rel; TCursor* _cli_cur_k1; TCursor* _cli_cur_k2; TCursor* _for_cur_k1; TCursor* _for_cur_k2; TCursor_sheet* _cli_sh_k1; TCursor_sheet* _cli_sh_k2; TCursor_sheet* _for_sh_k1; TCursor_sheet* _for_sh_k2; char _who; int _key; protected: // TMask virtual void set_handler(short fld_id, CONTROL_HANDLER handler); protected: void select_clifo_range(long from, long to); void select_des_clifo_range(const TString & from, const TString & to); void set_clifo_limits(); void set_des_clifo_limits(); void set_who(char w) { _who = w; } void set_key (int k) { _key = k; } void reset_sheets(); // handlers static bool bfrom_handler(TMask_field& f, KEY k); static bool bto_handler(TMask_field& f, KEY k); static bool ffrom_handler(TMask_field& f, KEY k); static bool fto_handler(TMask_field& f, KEY k); static bool breset_handler(TMask_field& f, KEY k); static bool bselect_handler(TMask_field& f, KEY k); static bool rclifo_handler(TMask_field& f, KEY k); static bool rsortcf_handler(TMask_field& f, KEY k); static bool bdfrom_handler(TMask_field& f, KEY k); static bool bdto_handler(TMask_field& f, KEY k); static bool fdfrom_handler(TMask_field& f, KEY k); static bool fdto_handler(TMask_field& f, KEY k); public: TCursor_sheet& cur_sheet() const; char get_who() const { return _who; } int get_key() const { return _key; } TSelection_mask(const char* name); virtual ~TSelection_mask(); }; #endif