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 <applicat.h>
@ -825,42 +825,18 @@ KEY TMask_field::yesnocancel_box(const char* fmt, ...) const
// 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%
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%
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)
{
TToken_string ts(scanner.string());
_sheet.add(ts);
_sheet->add(ts);
}
@ -912,9 +888,9 @@ int TList_sheet::do_input()
}
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();
for ( const char* item = rowsel.get(0); item ; item = rowsel.get())
@ -937,7 +913,7 @@ void TList_sheet::do_output(CheckTime t)
return;
_out_id.restart();
TToken_string& rowsel = _sheet.row(_row);
TToken_string& rowsel = _sheet->row(_row);
rowsel.restart();
for (const char* fld = _out_id.get(); fld; fld = _out_id.get())
{
@ -958,14 +934,14 @@ KEY TList_sheet::run()
{
_row = do_input();
_sheet.select(_row);
_sheet->select(_row);
const KEY k = _sheet.run();
const KEY k = _sheet->run();
switch (k)
{
case K_ENTER:
_row = (int)_sheet.selected();
_row = (int)_sheet->selected();
do_output();
break;
default: