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 print();
|
||||||
virtual void do_print(TPrinter & p, TRec_sheet & r);
|
virtual void do_print(TPrinter & p, TRec_sheet & r);
|
||||||
const char* dumpfilename(const FileDes& dep) const;
|
const char* dumpfilename(const FileDes& dep) const;
|
||||||
|
|
||||||
public:
|
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)
|
HIDDEN void build_filelist(const char *path, TArray & list)
|
||||||
|
@ -9,6 +9,10 @@
|
|||||||
#include <config.h>
|
#include <config.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef __MASKFLD_H
|
||||||
|
class TMask_field;
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "ba1100a.h"
|
#include "ba1100a.h"
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
@ -69,7 +73,11 @@ public:
|
|||||||
|
|
||||||
class TEdit_file : public TObject
|
class TEdit_file : public TObject
|
||||||
{
|
{
|
||||||
|
|
||||||
|
static bool memo_handler(TMask_field& f, KEY k);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
KEY edit_record(TRectype& rec, bool readonly = FALSE);
|
KEY edit_record(TRectype& rec, bool readonly = FALSE);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
@ -7,6 +7,63 @@
|
|||||||
|
|
||||||
#include "ba1100.h"
|
#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)
|
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 head(256);
|
||||||
TToken_string trac(256);
|
TToken_string trac(256);
|
||||||
|
|
||||||
|
// DIO CHE ORRORE! MA CHECCEPOSSOFA'?
|
||||||
|
__rel = &relation;
|
||||||
|
// E POI, DICIAMOLO, CHEMMEFOTTAMME'?
|
||||||
|
|
||||||
const char* n;
|
const char* n;
|
||||||
trac.add("");
|
trac.add("");
|
||||||
head.add("@1");
|
head.add("@1");
|
||||||
@ -137,6 +198,7 @@ KEY TEdit_file::edit_record(TRectype& rec, bool readonly)
|
|||||||
|
|
||||||
int curpage = 0, currow = 1, nid = 100;
|
int curpage = 0, currow = 1, nid = 100;
|
||||||
const char* cp;
|
const char* cp;
|
||||||
|
int mcnt =0;
|
||||||
|
|
||||||
for(int i = 0; (cp = rec.fieldname(i)) != NULL; i++)
|
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:
|
case _longzerofld:
|
||||||
m.add_number(nid++, curpage, s, 3, currow, len, "Z", rec.ndec(cp));
|
m.add_number(nid++, curpage, s, 3, currow, len, "Z", rec.ndec(cp));
|
||||||
break;
|
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:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user