Reso pubblico l' oggetto list_sheet e aggiunti i metodi per manipolare il suo

array_sheet


git-svn-id: svn://10.65.10.50/trunk@212 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 1994-09-09 15:05:23 +00:00
parent b694b3de18
commit c14cb3b648

View File

@ -1,4 +1,4 @@
// $Id: maskfld.cpp,v 1.15 1994-09-09 11:19:42 guy Exp $ // $Id: maskfld.cpp,v 1.16 1994-09-09 15:05:23 alex Exp $
#include <xvt.h> #include <xvt.h>
#include <applicat.h> #include <applicat.h>
@ -825,42 +825,18 @@ KEY TMask_field::yesnocancel_box(const char* fmt, ...) const
// TList_sheet // TList_sheet
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
class TList_sheet
{
TEdit_field* _fld; // The field owning the sheet
TArray_sheet _sheet; // sheet with data;
int _row;
TToken_string _inp_id;
TToken_string _out_id;
protected:
int do_input();
void do_output(CheckTime = RUNNING_CHECK);
bool do_insert();
TMask_field& field(short id) const;
public:
TList_sheet(TEdit_field* f, const char* caption, const char* head);
~TList_sheet() {}
void parse_input(TScanner& scanner);
void read_item(TScanner& scanner);
void parse_output(TScanner& scanner);
TEdit_field& field() const { return *_fld; }
bool check(CheckTime = RUNNING_CHECK);
KEY run();
};
// Certified 100% // Certified 100%
TList_sheet::TList_sheet(TEdit_field* f, const char* caption, const char* head) TList_sheet::TList_sheet(TEdit_field* f, const char* caption, const char* head)
: _fld(f), _sheet(-1, -1, 0, 0, caption, head), _row(-1) : _fld(f), _row(-1)
{} {
_sheet = new TArray_sheet(-1, -1, 0, 0, caption, head);
}
// Certified 100%
TList_sheet::~TList_sheet()
{
delete _sheet;
}
// Certified 100% // Certified 100%
TMask_field& TList_sheet::field(short id) const TMask_field& TList_sheet::field(short id) const
@ -871,7 +847,7 @@ TMask_field& TList_sheet::field(short id) const
void TList_sheet::read_item(TScanner& scanner) void TList_sheet::read_item(TScanner& scanner)
{ {
TToken_string ts(scanner.string()); TToken_string ts(scanner.string());
_sheet.add(ts); _sheet->add(ts);
} }
@ -912,9 +888,9 @@ int TList_sheet::do_input()
} }
TString80 fd, it; TString80 fd, it;
for (int i = 0 ; i < _sheet.items(); i++) for (int i = 0 ; i < _sheet->items(); i++)
{ {
TToken_string& ts =_sheet.row(i); TToken_string& ts =_sheet->row(i);
ts.restart(); ts.restart();
for ( const char* item = rowsel.get(0); item ; item = rowsel.get()) for ( const char* item = rowsel.get(0); item ; item = rowsel.get())
@ -937,7 +913,7 @@ void TList_sheet::do_output(CheckTime t)
return; return;
_out_id.restart(); _out_id.restart();
TToken_string& rowsel = _sheet.row(_row); TToken_string& rowsel = _sheet->row(_row);
rowsel.restart(); rowsel.restart();
for (const char* fld = _out_id.get(); fld; fld = _out_id.get()) for (const char* fld = _out_id.get(); fld; fld = _out_id.get())
{ {
@ -958,14 +934,14 @@ KEY TList_sheet::run()
{ {
_row = do_input(); _row = do_input();
_sheet.select(_row); _sheet->select(_row);
const KEY k = _sheet.run(); const KEY k = _sheet->run();
switch (k) switch (k)
{ {
case K_ENTER: case K_ENTER:
_row = (int)_sheet.selected(); _row = (int)_sheet->selected();
do_output(); do_output();
break; break;
default: default: