Ridotta altezza bottoni automaitici da 3 a 2 e tolti bottoni PgDN PGUp
git-svn-id: svn://10.65.10.50/trunk@85 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
833e3df2ef
commit
81c13723b9
230
ba/ba1102.cpp
230
ba/ba1102.cpp
@ -23,93 +23,93 @@ bool TEdit_file::browse(int logicnum, const char* name)
|
||||
head.add("@1");
|
||||
|
||||
for(int i = 0; (n = curr.fieldname(i)) != NULL; i++)
|
||||
{
|
||||
trac.add(n);
|
||||
head.add(n);
|
||||
|
||||
int len = curr.length(n);
|
||||
if (curr.type(n) == _datefld) len = 10;
|
||||
if (len > strlen(n)) head << '@' << len;
|
||||
}
|
||||
{
|
||||
trac.add(n);
|
||||
head.add(n);
|
||||
|
||||
int len = curr.length(n);
|
||||
if (curr.type(n) == _datefld) len = 10;
|
||||
if (len > strlen(n)) head << '@' << len;
|
||||
}
|
||||
|
||||
KEY ch;
|
||||
TCursor_sheet sheet(&cursor, trac, name, head, 6);
|
||||
|
||||
while ((ch = sheet.run()) != K_ESC)
|
||||
{
|
||||
if (ch == K_DEL && sheet.one_checked())
|
||||
{
|
||||
TProgind* pind = NULL;
|
||||
cursor.freeze(TRUE);
|
||||
bool go = FALSE;
|
||||
bool first = FALSE;
|
||||
int j;
|
||||
for (j = 0, cursor = 0; j < sheet.items(); ++cursor, j++)
|
||||
if (ch == K_DEL && sheet.one_checked())
|
||||
{
|
||||
TProgind* pind = NULL;
|
||||
cursor.freeze(TRUE);
|
||||
bool go = FALSE;
|
||||
bool first = FALSE;
|
||||
int j;
|
||||
for (j = 0, cursor = 0; j < sheet.items(); ++cursor, j++)
|
||||
{
|
||||
if (sheet.checked(j))
|
||||
{
|
||||
if (!go && !first)
|
||||
go = yesno_box("Confermi la cancellazione dei %d "
|
||||
"record indicati?", sheet.checked());
|
||||
first = TRUE;
|
||||
|
||||
if (!pind)
|
||||
{
|
||||
pind = new TProgind(sheet.checked(),"Attendere...",
|
||||
TRUE, TRUE, 32);
|
||||
pind->addstatus(1);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (pind->iscancelled()) break;
|
||||
pind->addstatus(1);
|
||||
}
|
||||
if (!go && !first)
|
||||
go = yesno_box("Confermi la cancellazione dei %d "
|
||||
"record indicati?", sheet.checked());
|
||||
first = TRUE;
|
||||
|
||||
if (go) cursor.file()->remove();
|
||||
sheet.uncheck(j);
|
||||
}
|
||||
}
|
||||
if (pind) delete pind;
|
||||
cursor.freeze(FALSE);
|
||||
|
||||
if (first) {sheet.select(1); continue;}
|
||||
}
|
||||
if (ch == K_ENTER || ch == K_DEL)
|
||||
cursor = sheet.selected();
|
||||
|
||||
switch(ch)
|
||||
{
|
||||
case K_ENTER: // edit fields
|
||||
svrec = curr;
|
||||
if (edit_record(curr, FALSE) == K_ENTER)
|
||||
{
|
||||
TString s(svrec.key(1));
|
||||
if (!pind)
|
||||
{
|
||||
pind = new TProgind(sheet.checked(),"Attendere...",
|
||||
TRUE, TRUE, 32);
|
||||
pind->addstatus(1);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (pind->iscancelled()) break;
|
||||
pind->addstatus(1);
|
||||
}
|
||||
|
||||
if (s != curr.key(1))
|
||||
{
|
||||
cursor.file()->write();
|
||||
if (cursor.file()->good())
|
||||
{
|
||||
curr = svrec;
|
||||
cursor.file()->remove();
|
||||
if (go) cursor.file()->remove();
|
||||
sheet.uncheck(j);
|
||||
}
|
||||
}
|
||||
else
|
||||
cursor.file()->rewrite();
|
||||
if (pind) delete pind;
|
||||
cursor.freeze(FALSE);
|
||||
|
||||
if (first) {sheet.select(1); continue;}
|
||||
}
|
||||
break;
|
||||
case K_DEL: // delete record
|
||||
if (yesno_box("Confermare la cancellazione del record"))
|
||||
cursor.file()->remove();
|
||||
break;
|
||||
case K_INS: // insert new record
|
||||
curr.zero();
|
||||
if (edit_record(curr,FALSE) == K_ENTER)
|
||||
cursor.file()->write();
|
||||
break;
|
||||
if (ch == K_ENTER || ch == K_DEL)
|
||||
cursor = sheet.selected();
|
||||
|
||||
switch(ch)
|
||||
{
|
||||
case K_ENTER: // edit fields
|
||||
svrec = curr;
|
||||
if (edit_record(curr, FALSE) == K_ENTER)
|
||||
{
|
||||
TString s(svrec.key(1));
|
||||
|
||||
if (s != curr.key(1))
|
||||
{
|
||||
cursor.file()->write();
|
||||
if (cursor.file()->good())
|
||||
{
|
||||
curr = svrec;
|
||||
cursor.file()->remove();
|
||||
}
|
||||
}
|
||||
else
|
||||
cursor.file()->rewrite();
|
||||
}
|
||||
break;
|
||||
case K_DEL: // delete record
|
||||
if (yesno_box("Confermare la cancellazione del record"))
|
||||
cursor.file()->remove();
|
||||
break;
|
||||
case K_INS: // insert new record
|
||||
curr.zero();
|
||||
if (edit_record(curr,FALSE) == K_ENTER)
|
||||
cursor.file()->write();
|
||||
break;
|
||||
}
|
||||
sheet.force_update();
|
||||
}
|
||||
sheet.force_update();
|
||||
}
|
||||
return K_ESC;
|
||||
}
|
||||
|
||||
@ -125,53 +125,49 @@ KEY TEdit_file::edit_record(TRectype& rec, bool readonly)
|
||||
const char* cp;
|
||||
|
||||
for(int i = 0; (cp = rec.fieldname(i)) != NULL; i++)
|
||||
{
|
||||
// add fields ONE by ONE
|
||||
TString s(cp); s.left_just(16);
|
||||
int len = rec.length(cp);
|
||||
switch (rec.type(cp))
|
||||
{
|
||||
case _alfafld:
|
||||
m.add_string(nid++,curpage, s, 3, currow, len, "",
|
||||
len > 50 ? 50 : len);
|
||||
break;
|
||||
case _intfld:
|
||||
case _longfld:
|
||||
case _wordfld:
|
||||
case _realfld:
|
||||
m.add_number(nid++, curpage, s, 3, currow, len, "",
|
||||
rec.ndec(cp));
|
||||
break;
|
||||
case _datefld:
|
||||
m.add_date(nid++, curpage, s, 3, currow);
|
||||
break;
|
||||
case _charfld:
|
||||
case _boolfld:
|
||||
m.add_string(nid++,curpage, s, 3, currow, 1);
|
||||
break;
|
||||
case _intzerofld:
|
||||
case _longzerofld:
|
||||
m.add_number(nid++, curpage, s, 3, currow, len, "Z",
|
||||
rec.ndec(cp));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
m.field(nid-1).set(rec.get(cp));
|
||||
|
||||
if (((i+1) % 15) == 0 || i == recs-1)
|
||||
{
|
||||
m.add_button(DLG_OK, curpage, "", -14, -1, 9, 3);
|
||||
m.add_button(DLG_CANCEL, curpage, "", -24, -1, 9, 3);
|
||||
if (curpage > 0)
|
||||
m.add_button(DLG_PGUP, curpage, "", -34, -1, 9, 3);
|
||||
if (pages > 1 && curpage < pages-1)
|
||||
m.add_button(DLG_PGDN, curpage, "", -44, -1, 9, 3);
|
||||
curpage++; currow = 1;
|
||||
}
|
||||
else currow++;
|
||||
// add fields ONE by ONE
|
||||
TString16 s(cp); s.left_just(16);
|
||||
int len = rec.length(cp);
|
||||
switch (rec.type(cp))
|
||||
{
|
||||
case _alfafld:
|
||||
m.add_string(nid++,curpage, s, 3, currow, len, "",
|
||||
len > 50 ? 50 : len);
|
||||
break;
|
||||
case _intfld:
|
||||
case _longfld:
|
||||
case _wordfld:
|
||||
case _realfld:
|
||||
m.add_number(nid++, curpage, s, 3, currow, len, "",
|
||||
rec.ndec(cp));
|
||||
break;
|
||||
case _datefld:
|
||||
m.add_date(nid++, curpage, s, 3, currow);
|
||||
break;
|
||||
case _charfld:
|
||||
case _boolfld:
|
||||
m.add_string(nid++,curpage, s, 3, currow, 1);
|
||||
break;
|
||||
case _intzerofld:
|
||||
case _longzerofld:
|
||||
m.add_number(nid++, curpage, s, 3, currow, len, "Z",
|
||||
rec.ndec(cp));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
m.field(nid-1).set(rec.get(cp));
|
||||
|
||||
if (((i+1) % 15) == 0 || i == recs-1)
|
||||
{
|
||||
m.add_button(DLG_OK, curpage, "", -12, -1, 9, 2);
|
||||
m.add_button(DLG_CANCEL, curpage, "", -22, -1, 9, 2);
|
||||
curpage++; currow = 1;
|
||||
}
|
||||
else currow++;
|
||||
}
|
||||
|
||||
if (readonly)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user