campo-sirio/ba/ba1101.h

84 lines
1.6 KiB
C++
Executable File

#ifndef __BA1101_H
#define __BA1101_H
#ifndef __SHEET_H
#include <sheet.h>
#endif
#ifndef __MSKSHEET_H
#include <msksheet.h>
#endif
#ifndef __FILES_H
#include <files.h>
#endif
#ifndef __MASK_H
#include <mask.h>
#endif
#include <urldefid.h>
#include <validate.h>
HIDDEN TString park(80);
///////////////////////////////////////////////////////////
// TDir_sheet
///////////////////////////////////////////////////////////
class TDir_sheet : public TSheet
{
TTrec *_rec;
TDir *_dir;
FileDes _s_dir;
long _items;
protected: set_firm();
void page_build(long first, byte rows);
public:
TDir_sheet(const char* title);
~TDir_sheet();
TDir* dir() const { return _dir; }
TTrec* rec() const { return _rec; }
void set_items(long items) { _items = items; }
void add();
void rebuild() { _items = _dir->items();}
long items() const { return (_items);}
};
class TRec_sheet : public TObject
{
TTrec *_rec;
TTrec *_rec_old;
TDir *_dir;
bool _comfile;
static TMask *_mask;
protected:
void update_keys(int from, int shift);
const char* build_key_expr(int key);
bool check_key_expr(int key, const char* key_expr);
void update_key_expr(int key, TToken_string& s);
const char* build_field(int nfld);
void update_field(int nfld, TToken_string& s);
static bool fld_notify(int r, KEY k);
static bool key_notify(int r, KEY k);
void save();
virtual long items() const { return _rec->items(); }
TDir* dir() const { return _dir; }
TTrec* rec() const { return _rec; }
public:
TRec_sheet(int logicnum);
~TRec_sheet();
void edit();
};
#endif