Modifiche a BA1 per usare i campi memo, che naturalmente non funzionano
ma intanto eccole qua git-svn-id: svn://10.65.10.50/trunk@1492 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
95edf6412b
commit
dd837f0172
@ -50,10 +50,10 @@ protected:
|
||||
virtual void print();
|
||||
virtual void do_print(TPrinter & p, TRec_sheet & r);
|
||||
const char* dumpfilename(const FileDes& dep) const;
|
||||
|
||||
|
||||
public:
|
||||
TManutenzione_app() : _browse(NULL), _rec(NULL), _mask(NULL), _firm(0) {}
|
||||
|
||||
TManutenzione_app() : _browse(NULL), _rec(NULL), _mask(NULL), _firm(0) {}
|
||||
};
|
||||
|
||||
HIDDEN void build_filelist(const char *path, TArray & list)
|
||||
|
@ -9,6 +9,10 @@
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#ifndef __MASKFLD_H
|
||||
class TMask_field;
|
||||
#endif
|
||||
|
||||
#include "ba1100a.h"
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
@ -69,7 +73,11 @@ public:
|
||||
|
||||
class TEdit_file : public TObject
|
||||
{
|
||||
|
||||
static bool memo_handler(TMask_field& f, KEY k);
|
||||
|
||||
protected:
|
||||
|
||||
KEY edit_record(TRectype& rec, bool readonly = FALSE);
|
||||
|
||||
public:
|
||||
|
@ -7,6 +7,63 @@
|
||||
|
||||
#include "ba1100.h"
|
||||
|
||||
// ORRIBILERRIMO
|
||||
// ma chemmefotte?
|
||||
HIDDEN TRectype* __rec;
|
||||
HIDDEN TRelation* __rel;
|
||||
HIDDEN TMask* __msk;
|
||||
HIDDEN int __mid;
|
||||
|
||||
bool TEdit_file::memo_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
bool ok = TRUE;
|
||||
|
||||
if (k == K_SPACE)
|
||||
{
|
||||
int memoidx = f.dlg() - 400;
|
||||
|
||||
// recuperate memo id and god (it.: godi)
|
||||
int mcnt = 0;
|
||||
long val = -1l;
|
||||
|
||||
for (int i = 0; i < __rec->items(); i++)
|
||||
{
|
||||
if (__rec->type(__rec->fieldname(i)) == _memofld)
|
||||
{
|
||||
if (memoidx == mcnt++)
|
||||
{
|
||||
val = __rec->get_long(__rec->fieldname(i));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ok = val != -1l;
|
||||
if (ok)
|
||||
{
|
||||
// edit memo with apposit maskerings
|
||||
TMask mm("Edit campo memo", 1, 78, 20);
|
||||
mm.add_memo(501, 0, __rec->fieldname(i), 1, 1, 76,16);
|
||||
mm.add_button(DLG_OK, 0, "", -12, -1, 9, 2);
|
||||
mm.add_button(DLG_CANCEL, 0, "", -22, -1, 9, 2);
|
||||
// build fieldref
|
||||
TString80 fref;
|
||||
// UARNIN! Non funziona necessariamente per le tabelle
|
||||
// ma non abbiamo tabelle coi memo e quindi camm' ifottamme'
|
||||
fref << __rec->num() << "->" << __rec->fieldname(i);
|
||||
mm.field(501).set_field(fref);
|
||||
// se tutto va bene basta fare cosi'
|
||||
mm.autoload(__rel);
|
||||
if (mm.run() == K_ENTER)
|
||||
{
|
||||
mm.autosave(__rel);
|
||||
__msk->set (__mid,__rec->get(__rec->fieldname(i)));
|
||||
}
|
||||
// se invece va male, l'e' istes
|
||||
}
|
||||
}
|
||||
return ok;
|
||||
}
|
||||
|
||||
bool TEdit_file::browse(int logicnum, const char* name)
|
||||
{
|
||||
@ -18,6 +75,10 @@ bool TEdit_file::browse(int logicnum, const char* name)
|
||||
TToken_string head(256);
|
||||
TToken_string trac(256);
|
||||
|
||||
// DIO CHE ORRORE! MA CHECCEPOSSOFA'?
|
||||
__rel = &relation;
|
||||
// E POI, DICIAMOLO, CHEMMEFOTTAMME'?
|
||||
|
||||
const char* n;
|
||||
trac.add("");
|
||||
head.add("@1");
|
||||
@ -137,6 +198,7 @@ KEY TEdit_file::edit_record(TRectype& rec, bool readonly)
|
||||
|
||||
int curpage = 0, currow = 1, nid = 100;
|
||||
const char* cp;
|
||||
int mcnt =0;
|
||||
|
||||
for(int i = 0; (cp = rec.fieldname(i)) != NULL; i++)
|
||||
{
|
||||
@ -165,6 +227,16 @@ KEY TEdit_file::edit_record(TRectype& rec, bool readonly)
|
||||
case _longzerofld:
|
||||
m.add_number(nid++, curpage, s, 3, currow, len, "Z", rec.ndec(cp));
|
||||
break;
|
||||
case _memofld:
|
||||
m.add_number(nid++, curpage, s, 3, currow, len, "Z", rec.ndec(cp));
|
||||
m.enable(nid-1, FALSE);
|
||||
// memo del caz: add bottone per l'editing etc
|
||||
m.add_button (400+(mcnt++), curpage, "Edit", 35, currow, 9, 1);
|
||||
__rec = &rec;
|
||||
__msk = &m;
|
||||
__mid = nid-1;
|
||||
m.set_handler(400+(mcnt-1), memo_handler);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user