Cambita posizione di prassis.ini

Aggiunto wrapping ai memo


git-svn-id: svn://10.65.10.50/trunk@1527 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 1995-06-28 16:35:30 +00:00
parent fb9082e9ed
commit 0eae2ec03f
6 changed files with 72 additions and 42 deletions

View File

@ -418,6 +418,20 @@ void TConfig::init(
_ispresent = _read_paragraph(); _ispresent = _read_paragraph();
} }
int TConfig::list_paragraphs(TString_array& pl)
{
TScanner s(_file);
pl.destroy();
while (s.line().not_empty())
if (s.token()[0] == '[')
{
TToken_string* p = new TToken_string(s.token());
p->strip("[]");
pl.add(p);
}
return pl.items();
}
// @doc EXTERNAL // @doc EXTERNAL
@ -430,8 +444,6 @@ TConfig::TConfig(int which_config, const char* paragraph)
if (!fexist(_file)) fcopy("prassid.ini", _file); if (!fexist(_file)) fcopy("prassid.ini", _file);
break; break;
case CONFIG_STUDIO: case CONFIG_STUDIO:
_file = "prassis.ini";
break;
case CONFIG_USER: case CONFIG_USER:
case CONFIG_STAMPE: case CONFIG_STAMPE:
_file = firm2dir(0); _file = firm2dir(0);
@ -447,6 +459,10 @@ TConfig::TConfig(int which_config, const char* paragraph)
switch (which_config) switch (which_config)
{ {
case CONFIG_STUDIO:
_file.add("prassis");
if (!fexist(_file)) fcopy("prassis.ini", _file);
break;
case CONFIG_STAMPE: case CONFIG_STAMPE:
_file.add("print.ini"); _file.add("print.ini");
break; break;
@ -467,6 +483,7 @@ TConfig::TConfig(int which_config, const char* paragraph)
break; break;
default: default:
_file = "prassi.ini"; _file = "prassi.ini";
CHECK(0, "Chi ca$$o usa prassi.ini?");
break; break;
} }

View File

@ -113,6 +113,9 @@ public:
// @cmember Setta il paragrafo passato come quello attivo // @cmember Setta il paragrafo passato come quello attivo
void set_paragraph(const char* par); void set_paragraph(const char* par);
// @cmember Riempie pl con la lista dei paragrafi
int list_paragraphs(TString_array& pl);
// @cmember Costruttore (il paragrafo iniziale e' il modulo corrente // @cmember Costruttore (il paragrafo iniziale e' il modulo corrente
// salvo diversa indicazione) // salvo diversa indicazione)
TConfig(int which_config = CONFIG_GENERAL, const char* paragraph = NULL); TConfig(int which_config = CONFIG_GENERAL, const char* paragraph = NULL);

View File

@ -1367,7 +1367,7 @@ void TBrowse::do_output(CheckTime t)
if (t == FINAL_CHECK) if (t == FINAL_CHECK)
return; return;
TString256 sum; TString sum;
TToken_string flds(24, '+'); TToken_string flds(24, '+');
_out_fn.restart(); _out_fn.restart();
@ -1382,18 +1382,16 @@ void TBrowse::do_output(CheckTime t)
sum.cut(0); sum.cut(0);
for(const char* fr = flds.get(0); fr; fr = flds.get()) for(const char* fr = flds.get(0); fr; fr = flds.get())
{ {
const char* val;
if (*fr == '"') if (*fr == '"')
{ {
const TString80 v(fr); sum << (fr+1);
val = v.mid(1, v.len()-2); sum.rtrim(1);
} }
else else
{ {
const TFieldref fld(fr, 0); const TFieldref fld(fr, 0);
val = fld.read(_cursor->relation()); sum << fld.read(_cursor->relation());
} }
sum << val;
} }
f.set(sum); f.set(sum);
@ -3285,7 +3283,7 @@ void TMemo_field::create(WINDOW parent)
wd.rct = resize_rect(_x, _y+1, dx, dy, WC_EDIT, parent); wd.rct = resize_rect(_x, _y+1, dx, dy, WC_EDIT, parent);
wd.text = NULL; wd.text = NULL;
wd.units = U_PIXELS; wd.units = U_PIXELS;
wd.v.tx.attrib = TX_NOMENU | TX_BORDER | TX_AUTOHSCROLL | TX_AUTOVSCROLL; wd.v.tx.attrib = TX_NOMENU | TX_BORDER | TX_AUTOVSCROLL | TX_WRAP;
wd.v.tx.font_id = xvt_dwin_get_font(win()); wd.v.tx.font_id = xvt_dwin_get_font(win());
wd.v.tx.margin = wd.rct.right - wd.rct.left; wd.v.tx.margin = wd.rct.right - wd.rct.left;
wd.v.tx.limit = 256; wd.v.tx.limit = 256;
@ -3337,8 +3335,11 @@ bool TMemo_field::autoload(const TRelation* r)
{ {
TTextfile txt; TTextfile txt;
r->lfile(f->file()).get_memo(f->name(), txt); r->lfile(f->file()).get_memo(f->name(), txt);
xvt_tx_suspend(_te);
for (T_LNUM i = 0; i < (T_LNUM)txt.lines(); i++) for (T_LNUM i = 0; i < (T_LNUM)txt.lines(); i++)
xvt_tx_add_par(_te, i, (char*)txt.line(i)); xvt_tx_add_par(_te, i, (char*)txt.line(i));
xvt_tx_resume(_te);
return i > 0; return i > 0;
} }
return FALSE; return FALSE;
@ -3349,11 +3350,14 @@ bool TMemo_field::autosave(TRelation* r) const
const TFieldref* f = field(); const TFieldref* f = field();
if (dirty() && f != NULL) if (dirty() && f != NULL)
{ {
const T_PNUM para = xvt_tx_get_num_pars(_te); const T_PNUM num_par = xvt_tx_get_num_pars(_te);
TTextfile txt; TTextfile txt;
TString par(256);
TString256 line; TString256 line;
for (T_PNUM p = 0; p < para; p++)
for (T_PNUM p = 0; p < num_par; p++)
{ {
par.cut(0);
const T_LNUM lines = xvt_tx_get_num_par_lines(_te, p); const T_LNUM lines = xvt_tx_get_num_par_lines(_te, p);
for (T_LNUM l = 0; l < lines; l++) for (T_LNUM l = 0; l < lines; l++)
{ {
@ -3363,11 +3367,14 @@ bool TMemo_field::autosave(TRelation* r) const
CHECK(s, "Null memo line"); CHECK(s, "Null memo line");
line.strncpy(s, len); line.strncpy(s, len);
xvt_tx_get_line(_te, p, A_UNLOCK, l, &len); xvt_tx_get_line(_te, p, A_UNLOCK, l, &len);
txt.append(line);
if (par.not_empty()) par << ' ';
par << line;
} }
txt.append(par);
} }
r->lfile(f->file()).put(f->name(), txt); r->lfile(f->file()).put(f->name(), txt);
return para > 0; return num_par > 0;
} }
return FALSE; return FALSE;
} }

View File

@ -1,4 +1,4 @@
// $Id: relation.cpp,v 1.48 1995-06-21 15:35:41 guy Exp $ // $Id: relation.cpp,v 1.49 1995-06-28 16:35:26 guy Exp $
// relation.cpp // relation.cpp
// fv 12/8/93 // fv 12/8/93
// relation class for isam files // relation class for isam files
@ -1300,14 +1300,16 @@ const char* TFieldref::read(const TRectype& rec) const
const char* TFieldref::read(const TRelation* c) const const char* TFieldref::read(const TRelation* c) const
{ {
CHECK(c != NULL, "Can't read field from NULL relation");
const char * s; const char * s;
/*
if (c == NULL) if (c == NULL)
{ {
TLocalisamfile f(_fileid, TRUE); TLocalisamfile f(_fileid, TRUE);
s = read(f.curr()); s = read(f.curr());
} }
else else
*/
s = read(c->lfile(_id).curr()); s = read(c->lfile(_id).curr());
return s; return s;
@ -1315,15 +1317,16 @@ const char* TFieldref::read(const TRelation* c) const
void TFieldref::write(const char* val, TRelation* c) const void TFieldref::write(const char* val, TRelation* c) const
{ {
CHECK(c != NULL, "Can't write field on NULL relation");
/*
if (c == NULL) if (c == NULL)
{ {
#ifdef DBG
yesnofatal_box("Guy consiglia di dare un'occhiatina al codice!");
#endif
TLocalisamfile f(_fileid, TRUE); TLocalisamfile f(_fileid, TRUE);
write(val, f.curr()); write(val, f.curr());
} }
else else
*/
{ {
TRectype &curr = c->lfile(_id).curr(); TRectype &curr = c->lfile(_id).curr();
write(val, curr); write(val, curr);

View File

@ -1,4 +1,4 @@
/* $Id: relation.h,v 1.20 1995-06-01 09:09:21 guy Exp $ */ /* $Id: relation.h,v 1.21 1995-06-28 16:35:30 guy Exp $ */
// join.h // join.h
// fv 12/8/93 // fv 12/8/93
// join class for isam files // join class for isam files
@ -281,9 +281,9 @@ public:
int from() const { return _from; } int from() const { return _from; }
int to() const { return _to; } int to() const { return _to; }
int len(TRectype &rec) const; int len(TRectype &rec) const;
const char* read(const TRelation* = NULL) const; const char* read(const TRelation*) const;
const char* read(const TRectype&) const; const char* read(const TRectype&) const;
void write(const char* val, TRelation* = NULL) const; void write(const char* val, TRelation*) const;
void write(const char* val, TRectype& rec) const; void write(const char* val, TRectype& rec) const;
}; };