campo-sirio/include/relapp.h
alex 998f9e637d Aggiunta la classe TBrowse_application (brwapp)
git-svn-id: svn://10.65.10.50/trunk@179 c028cbd2-c16b-5b4b-a496-9718f37d4682
1994-09-07 15:25:47 +00:00

95 lines
2.7 KiB
C++
Executable File

#ifndef __RELAPP_H
#define __RELAPP_H
#ifndef __APPLICAT_H
#include <applicat.h>
#endif
#ifndef __RELATION_H
#include <relation.h>
#endif
#ifndef __MASK_H
#include <mask.h>
#endif
class TKey_array;
class TRelation_application : public TApplication
{
TMask * _mask;
TKey_array* _maskeys;
long _first, _last;
int _search_id;
TString _autoins_caller;
bool _lnflag;
TToken_string _fixed;
virtual bool create();
virtual bool destroy();
bool filter();
bool test_key(byte k, bool err);
bool save(bool check_dirty);
void enable_query();
void set_toolbar(bool all);
int set_mode(int mode); // Seleziona il nuovo modo e ritorna il vecchio
void set_limits(byte what = 0x3);
void query_insert_mode() { query_mode(TRUE); }
void insert_mode(); // Entra in modo inserimento
virtual bool main_loop(); // Ciclo principale
TMask_field* get_search_field() const;
protected:
TLocalisamfile& file() const { return *get_relation()->lfile(); }
void set_fixed(); // Fissa i campi non modificabili
bool search_mode(); // Attiva la maschera di ricerca
void query_mode(bool pre_ins = FALSE); // Entra in modo ricerca
bool modify_mode(); // Entra in modo modifica
void setkey();
bool lnflag() const { return _lnflag;}
long first() const { return _first;}
long last() const { return _first;}
TMask& curr_mask() const { return *_mask; }
const TString& autoins_caller() const { return _autoins_caller;}
virtual bool menu(MENU_TAG m);
virtual bool user_create() pure;
virtual bool user_destroy() pure;
virtual TMask* get_mask(int mode) pure;
virtual bool changing_mask(int mode) pure;
virtual TRelation* get_relation() const pure;
virtual int read(TMask& m);
virtual int write(const TMask& m);
virtual int rewrite(const TMask& m);
virtual bool remove();
virtual const char* get_next_key() { return ""; }
virtual bool protected_record(TRectype&) { return FALSE; }
virtual void init_query_mode(TMask&) { }
virtual void init_query_insert_mode(TMask& m) { init_query_mode(m); }
virtual void init_insert_mode(TMask&) { }
virtual void init_modify_mode(TMask&) { }
virtual void write_enable(const bool on = TRUE) { get_relation()->write_enable(-1, on); }
void write_disable() { write_enable(FALSE); }
bool autonum(TMask* m, bool rec);
void set_search_field(short id) { _search_id = id;}
bool has_filtered_cursor() const { return filtered() || force_cursor_usage();}
public:
TRelation_application();
virtual ~TRelation_application();
bool filtered() const { return _fixed.not_empty(); }
void set_first(long first) { _first = first;}
void set_last(long last) { _last = last;}
bool find(byte key = 0);
virtual bool force_cursor_usage() const { return FALSE;}
};
#endif