Cambiati leggermente i menu di default
Migliorata gestione variabili insestenti nel TConfig Segato via _isatab dai TLocalisamfile Cambiata la finestra di F_11 nelle maschere Corretto errore nella TPrintrow::encoded_row() (resa pure const) Aggiunto bottone di global un/check negli sheet git-svn-id: svn://10.65.10.50/trunk@832 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
a3286685d7
commit
904dffc045
@ -129,16 +129,23 @@ TString& TConfig::get(const char* var, const char* section, int index, const cha
|
|||||||
|
|
||||||
if (_data.is_key(vvar))
|
if (_data.is_key(vvar))
|
||||||
s = (TString&)_data[vvar];
|
s = (TString&)_data[vvar];
|
||||||
else
|
else
|
||||||
set(var, s = def, section, TRUE, index);
|
{
|
||||||
|
s = def;
|
||||||
|
if (s.not_empty())
|
||||||
|
set(var, s, section, TRUE, index);
|
||||||
|
}
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
long TConfig::get_long(const char* var, const char* section, int index, long def)
|
long TConfig::get_long(const char* var, const char* section, int index, long def)
|
||||||
{
|
{
|
||||||
const char* n = get(var,section,index);
|
const char* n = get(var,section,index);
|
||||||
return *n ? atol(n) : def;
|
if (*n)
|
||||||
|
def = atol(n);
|
||||||
|
else
|
||||||
|
set(var, format("%ld", def), section, TRUE, index);
|
||||||
|
return def;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TConfig::get_bool(const char* var, const char* section, int index, bool def)
|
bool TConfig::get_bool(const char* var, const char* section, int index, bool def)
|
||||||
@ -150,17 +157,30 @@ bool TConfig::get_bool(const char* var, const char* section, int index, bool def
|
|||||||
return s != "" && (s == "X" || s == "ON" || s == "YES" || s == "OK" || s == "TRUE");
|
return s != "" && (s == "X" || s == "ON" || s == "YES" || s == "OK" || s == "TRUE");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
HIDDEN void RGB_COLOR(COLOR c, int& r, int& g, int& b)
|
||||||
|
{
|
||||||
|
r = int(c >> 16) & 0xFF;
|
||||||
|
g = int(c >> 8) & 0xFF;
|
||||||
|
b = int(c) & 0xFF;
|
||||||
|
}
|
||||||
|
|
||||||
COLOR TConfig::get_color(const char* var, const char* section, int index, COLOR def)
|
COLOR TConfig::get_color(const char* var, const char* section, int index, COLOR def)
|
||||||
{
|
{
|
||||||
const char* c = get(var, section, index);
|
const char* c = get(var, section, index);
|
||||||
if (*c)
|
if (*c)
|
||||||
{
|
{
|
||||||
TToken_string s(c, ',');
|
TToken_string s(c, ',');
|
||||||
const int r = atoi(s.get());
|
const int r = s.get_int();
|
||||||
const int g = atoi(s.get());
|
const int g = s.get_int();
|
||||||
const int b = atoi(s.get());
|
const int b = s.get_int();
|
||||||
def = MAKE_COLOR(r, g, b);
|
def = MAKE_COLOR(r, g, b);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
int r, g, b; RGB_COLOR(def, r, g, b);
|
||||||
|
set(var, format("%d,%d,%d", r, g, b), section, TRUE, index);
|
||||||
|
}
|
||||||
return def;
|
return def;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -84,8 +84,8 @@ PICTURE xvt_picture_load(short id, bool convert)
|
|||||||
{
|
{
|
||||||
HWND hwnd = (HWND)get_value(TASK_WIN, ATTR_NATIVE_WINDOW);
|
HWND hwnd = (HWND)get_value(TASK_WIN, ATTR_NATIVE_WINDOW);
|
||||||
HDC hdc = GetDC(hwnd);
|
HDC hdc = GetDC(hwnd);
|
||||||
const int col = GetDeviceCaps(hdc, COLORRES);
|
const int bits = GetDeviceCaps(hdc, BITSPIXEL);
|
||||||
_can_convert = col == 18;
|
_can_convert = bits == 8;
|
||||||
ReleaseDC(hwnd, hdc);
|
ReleaseDC(hwnd, hdc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -33,14 +33,15 @@ MENU VISWIN_BAR
|
|||||||
|
|
||||||
MENU MENU_VISWIN
|
MENU MENU_VISWIN
|
||||||
ITEM M_EDIT_CLIPBOARD "Interrompi\tESC"
|
ITEM M_EDIT_CLIPBOARD "Interrompi\tESC"
|
||||||
ITEM M_EDIT_CUT "Collega...\tAlt+C" DISABLED
|
ITEM M_EDIT_CUT "~Collega...\tCtrl+C" DISABLED
|
||||||
ITEM M_EDIT_PASTE "Esporta...\tAlt+E"
|
ITEM M_EDIT_PASTE "~Esporta...\tCtrl+E"
|
||||||
ITEM M_EDIT_SEL_ALL "Stampa... \tAlt+S" DISABLED
|
ITEM M_EDIT_SEL_ALL "~Stampa... \tCtrl+S" DISABLED
|
||||||
SEPARATOR
|
SEPARATOR
|
||||||
ITEM M_FONT "Mostra righelli" CHECKABLE
|
ITEM M_FONT "Mostra ~righelli" CHECKABLE
|
||||||
ITEM M_STYLE "Mostra bottoni" CHECKABLE
|
ITEM M_STYLE "Mostra ~bottoni" CHECKABLE
|
||||||
SEPARATOR
|
ITEM M_EDIT_UNDO "Ri~disegna"
|
||||||
ITEM M_EDIT_QUIT "Chiudi\tESC+ESC"
|
SEPARATOR
|
||||||
|
ITEM M_EDIT_QUIT "Chiudi\tESC+ESC"
|
||||||
|
|
||||||
MENU M_EDIT
|
MENU M_EDIT
|
||||||
ITEM M_EDIT_COPY "~Copia" DISABLED
|
ITEM M_EDIT_COPY "~Copia" DISABLED
|
||||||
@ -48,8 +49,6 @@ MENU M_EDIT
|
|||||||
SEPARATOR
|
SEPARATOR
|
||||||
ITEM M_EDIT_SEARCH "Cerca...\tF8"
|
ITEM M_EDIT_SEARCH "Cerca...\tF8"
|
||||||
ITEM M_EDIT_DELETE "Cerca il prossimo\tF9" DISABLED
|
ITEM M_EDIT_DELETE "Cerca il prossimo\tF9" DISABLED
|
||||||
SEPARATOR
|
|
||||||
ITEM M_EDIT_UNDO "~Ridisegna"
|
|
||||||
|
|
||||||
|
|
||||||
ACCEL MENU_FILE "f" ALT
|
ACCEL MENU_FILE "f" ALT
|
||||||
|
@ -1205,16 +1205,16 @@ long TForm::records() const
|
|||||||
|
|
||||||
bool TForm::print(long from, long to)
|
bool TForm::print(long from, long to)
|
||||||
{
|
{
|
||||||
_form = this; // setta il form corrente
|
_form = this; // Setta il form corrente
|
||||||
_lastpage = FALSE;
|
|
||||||
|
|
||||||
TPrinter& printer = main_app().printer();
|
TPrinter& printer = main_app().printer(); // Setta handlers
|
||||||
printer.setheaderhandler(header_handler);
|
printer.setheaderhandler(header_handler);
|
||||||
printer.setfooterhandler(footer_handler);
|
printer.setfooterhandler(footer_handler);
|
||||||
printer.formlen(height());
|
printer.formlen(height());
|
||||||
|
|
||||||
const bool was_open = printer.isopen();
|
const bool was_open = printer.isopen();
|
||||||
|
|
||||||
|
_lastpage = FALSE; // non e' l'ultima pagina
|
||||||
|
|
||||||
if (!was_open && !printer.open())
|
if (!was_open && !printer.open())
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
@ -1248,7 +1248,10 @@ bool TForm::print(long from, long to)
|
|||||||
if (!was_open)
|
if (!was_open)
|
||||||
printer.close();
|
printer.close();
|
||||||
|
|
||||||
_form = NULL; // resetta form
|
_form = NULL; // resetta handlers
|
||||||
|
printer.setheaderhandler(NULL);
|
||||||
|
printer.setfooterhandler(NULL);
|
||||||
|
|
||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -638,17 +638,15 @@ TLocalisamfile::TLocalisamfile(int logicnum, bool linkrecinst)
|
|||||||
: TBaseisamfile(logicnum, linkrecinst)
|
: TBaseisamfile(logicnum, linkrecinst)
|
||||||
{
|
{
|
||||||
open();
|
open();
|
||||||
if (_was_open) // Dangerous change by Guy
|
if (_was_open)
|
||||||
{
|
|
||||||
_oldkey = getkey();
|
_oldkey = getkey();
|
||||||
setkey(1);
|
setkey(1);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
TLocalisamfile::~TLocalisamfile()
|
TLocalisamfile::~TLocalisamfile()
|
||||||
{
|
{
|
||||||
if (_was_open) // Dangerous change by Guy
|
if (_was_open)
|
||||||
setkey(_oldkey);
|
setkey(_oldkey);
|
||||||
close();
|
close();
|
||||||
}
|
}
|
||||||
|
@ -386,10 +386,9 @@ public:
|
|||||||
// @FPUB
|
// @FPUB
|
||||||
virtual int operator +=(const TRecnotype npos); // Avanza npos record
|
virtual int operator +=(const TRecnotype npos); // Avanza npos record
|
||||||
virtual int operator -=(const TRecnotype npos); // Sposta indietro di npos
|
virtual int operator -=(const TRecnotype npos); // Sposta indietro di npos
|
||||||
virtual int operator ++(); // record successivo
|
virtual int operator ++(); // record successivo
|
||||||
virtual int operator --(); // record precedente
|
virtual int operator --(); // record precedente
|
||||||
bool tab() const { return _isatab;} // Ritorna vero se tabella
|
virtual bool tab() const { return FALSE;} // Ritorna vero se tabella
|
||||||
void settab(bool fl = FALSE) { _isatab = fl;} // Setta il flag _isatab
|
|
||||||
|
|
||||||
int open(unsigned int mode = _manulock);
|
int open(unsigned int mode = _manulock);
|
||||||
int close() ;
|
int close() ;
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
#include <time.h>
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
#include <applicat.h>
|
#include <applicat.h>
|
||||||
@ -13,8 +12,6 @@
|
|||||||
|
|
||||||
HIDDEN const char* const MASK_EXT = "msk";
|
HIDDEN const char* const MASK_EXT = "msk";
|
||||||
|
|
||||||
clock_t clock1, clock2;
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
// TMask methods
|
// TMask methods
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
@ -192,8 +189,6 @@ TMask::TMask(const char* title, int pages, int cols, int rows, int xpos,
|
|||||||
|
|
||||||
void TMask::read_mask(const char* name, int num, int max)
|
void TMask::read_mask(const char* name, int num, int max)
|
||||||
{
|
{
|
||||||
clock1 = clock();
|
|
||||||
|
|
||||||
if (max <= 0) max = MAX_PAGES;
|
if (max <= 0) max = MAX_PAGES;
|
||||||
|
|
||||||
_source_file = name;
|
_source_file = name;
|
||||||
@ -232,8 +227,6 @@ void TMask::read_mask(const char* name, int num, int max)
|
|||||||
fatal_box("Impossibile leggere la maschera %s", name);
|
fatal_box("Impossibile leggere la maschera %s", name);
|
||||||
|
|
||||||
add_buttons();
|
add_buttons();
|
||||||
|
|
||||||
clock1 = clock()-clock1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -422,8 +415,6 @@ bool TMask::page_enabled(byte page) const
|
|||||||
|
|
||||||
void TMask::start_run()
|
void TMask::start_run()
|
||||||
{
|
{
|
||||||
clock2 = clock();
|
|
||||||
|
|
||||||
load_checks();
|
load_checks();
|
||||||
|
|
||||||
const int max = fields();
|
const int max = fields();
|
||||||
@ -453,8 +444,6 @@ void TMask::start_run()
|
|||||||
f.set_dirty(FALSE);
|
f.set_dirty(FALSE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
clock2 = clock() - clock2;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TMask::check_fields()
|
bool TMask::check_fields()
|
||||||
@ -757,14 +746,6 @@ bool TMask::on_key(KEY key)
|
|||||||
case K_NEXT:
|
case K_NEXT:
|
||||||
next_page(+1);
|
next_page(+1);
|
||||||
break;
|
break;
|
||||||
case K_F11:
|
|
||||||
message_box("Siete fortunati utenti del campo %d della maschera '%s'\n"
|
|
||||||
"caricata nell'incredibile tempo di %ld millisecondi\n"
|
|
||||||
"ed inizializzata mostruosamente in %ld millisecondi\n"
|
|
||||||
"Grazie per la comprensione",
|
|
||||||
fld(_focus).dlg(), (const char*)source_file(), clock1, clock2);
|
|
||||||
set_focus();
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
if (key > K_CTRL)
|
if (key > K_CTRL)
|
||||||
{
|
{
|
||||||
@ -1232,7 +1213,7 @@ void TMask::set_handler(MASK_HANDLER handler)
|
|||||||
_handler = handler;
|
_handler = handler;
|
||||||
}
|
}
|
||||||
|
|
||||||
// aggiunta campi a runclock
|
// aggiunta campi a runtime
|
||||||
|
|
||||||
void TMask::add_static (short id, int page, const char* prompt, int x,
|
void TMask::add_static (short id, int page, const char* prompt, int x,
|
||||||
int y, const char* flags)
|
int y, const char* flags)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
// $Id: maskfld.cpp,v 1.66 1995-01-02 09:32:42 guy Exp $
|
// $Id: maskfld.cpp,v 1.67 1995-01-05 17:50:24 guy Exp $
|
||||||
#include <xvt.h>
|
#include <xvt.h>
|
||||||
|
|
||||||
#include <applicat.h>
|
#include <applicat.h>
|
||||||
@ -799,14 +799,29 @@ bool TMask_field::on_key(KEY key)
|
|||||||
|
|
||||||
HWND hwnd = (HWND)get_value(TASK_WIN, ATTR_NATIVE_WINDOW);
|
HWND hwnd = (HWND)get_value(TASK_WIN, ATTR_NATIVE_WINDOW);
|
||||||
WinHelp(hwnd, "prassi.hlp", HELP_MULTIKEY, (DWORD)&mk);
|
WinHelp(hwnd, "prassi.hlp", HELP_MULTIKEY, (DWORD)&mk);
|
||||||
} else
|
break;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
if (_help.not_empty())
|
case K_SHIFT+K_F1:
|
||||||
message_box(_help);
|
if (_help.not_empty())
|
||||||
else
|
message_box(_help);
|
||||||
beep();
|
else
|
||||||
|
beep();
|
||||||
set_focus();
|
set_focus();
|
||||||
break;
|
break;
|
||||||
|
case K_F11:
|
||||||
|
{
|
||||||
|
const char* c = "";
|
||||||
|
if (field())
|
||||||
|
c = field()->name();
|
||||||
|
message_box("Siete fortunati utenti del campo %d della maschera '%s'\n"
|
||||||
|
"corrispondente al campo su file '%s'\n"
|
||||||
|
"Grazie per la comprensione",
|
||||||
|
dlg(), (const char*)mask().source_file(), c);
|
||||||
|
set_focus();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case K_F2:
|
case K_F2:
|
||||||
if (is_edit()) set("");
|
if (is_edit()) set("");
|
||||||
else reset();
|
else reset();
|
||||||
@ -1580,7 +1595,6 @@ bool TBrowse::check(CheckTime t)
|
|||||||
else
|
else
|
||||||
if (t != FINAL_CHECK) do_clear();
|
if (t != FINAL_CHECK) do_clear();
|
||||||
}
|
}
|
||||||
// _checked = passed;
|
|
||||||
return passed;
|
return passed;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -430,14 +430,14 @@ TPrintrow & TPrintrow::reset ()
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *TPrintrow::row_codified ()
|
const char* TPrintrow::row_codified() const
|
||||||
{
|
{
|
||||||
// returns the row with @-codes for font style and color
|
// returns the row with @-codes for font style and color
|
||||||
char last_attr = -1;
|
char last_attr = -1;
|
||||||
int last_color = -1;
|
int last_color = -1;
|
||||||
int k = 0;
|
int last = 0, k = 0;
|
||||||
_row.rtrim ();
|
|
||||||
for (int i = 0; i < _row.len (); i++)
|
for (int i = 0; i < _row.size(); i++)
|
||||||
{
|
{
|
||||||
if (_attr[i] != last_attr)
|
if (_attr[i] != last_attr)
|
||||||
{
|
{
|
||||||
@ -470,9 +470,10 @@ const char *TPrintrow::row_codified ()
|
|||||||
last_color = _cols[i];
|
last_color = _cols[i];
|
||||||
}
|
}
|
||||||
__tmp_string[k++] = _row[i];
|
__tmp_string[k++] = _row[i];
|
||||||
|
if (_row[i] > ' ') last = k;
|
||||||
}
|
}
|
||||||
// k = k > 255 ? 255 : k;
|
|
||||||
__tmp_string[k] = '\0';
|
__tmp_string[last] = '\0';
|
||||||
return __tmp_string;
|
return __tmp_string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -70,7 +70,7 @@ public:
|
|||||||
virtual TObject* dup() const;
|
virtual TObject* dup() const;
|
||||||
|
|
||||||
const char* row() const { return _row; }
|
const char* row() const { return _row; }
|
||||||
const char* row_codified();
|
const char* row_codified() const;
|
||||||
TPrintrow& reset();
|
TPrintrow& reset();
|
||||||
|
|
||||||
TPrintstyle get_style(int position) const { return (TPrintstyle)_attr[position]; }
|
TPrintstyle get_style(int position) const { return (TPrintstyle)_attr[position]; }
|
||||||
|
@ -79,6 +79,7 @@ TSheet::TSheet(short x, short y, short dx, short dy,
|
|||||||
_visible_rows = rows()- head_on() - 3;
|
_visible_rows = rows()- head_on() - 3;
|
||||||
|
|
||||||
add_button(DLG_SELECT, "Selezione" );
|
add_button(DLG_SELECT, "Selezione" );
|
||||||
|
if (_checkable) add_button(DLG_USER, "Tutti");
|
||||||
if (buttons & 0x1) add_button(DLG_NEWREC, "Gestione");
|
if (buttons & 0x1) add_button(DLG_NEWREC, "Gestione");
|
||||||
if (buttons & 0x2) add_button(DLG_NEWREC, "Nuovo");
|
if (buttons & 0x2) add_button(DLG_NEWREC, "Nuovo");
|
||||||
if (buttons & 0x4) add_button(DLG_DELREC, "Elimina");
|
if (buttons & 0x4) add_button(DLG_DELREC, "Elimina");
|
||||||
@ -226,6 +227,8 @@ void TSheet::handler(WINDOW win, EVENT* ep)
|
|||||||
dispatch_e_char(win, K_INS); break;
|
dispatch_e_char(win, K_INS); break;
|
||||||
case DLG_DELREC:
|
case DLG_DELREC:
|
||||||
dispatch_e_char(win, K_DEL); break;
|
dispatch_e_char(win, K_DEL); break;
|
||||||
|
case DLG_USER:
|
||||||
|
dispatch_e_char(win, one_checked() ? K_F2 : K_F3); break;
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
const WINDOW b = ep->v.ctl.ci.win;
|
const WINDOW b = ep->v.ctl.ci.win;
|
||||||
@ -709,7 +712,7 @@ TBrowse_sheet::TBrowse_sheet(TCursor* cursor, const char* fields,
|
|||||||
const int s = f->size()+1;
|
const int s = f->size()+1;
|
||||||
#endif
|
#endif
|
||||||
xvt_create_control(WC_EDIT, 1, -3, s, 1, f->get(), win(),
|
xvt_create_control(WC_EDIT, 1, -3, s, 1, f->get(), win(),
|
||||||
CTL_FLAG_DISABLED, 0L, 100);
|
CTL_FLAG_DISABLED, 0L, DLG_EDIT);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (s && s->items() > 2)
|
if (s && s->items() > 2)
|
||||||
@ -725,7 +728,7 @@ TBrowse_sheet::TBrowse_sheet(TCursor* cursor, const char* fields,
|
|||||||
}
|
}
|
||||||
|
|
||||||
WINDOW listbox = xvt_create_control(WC_LISTBUTTON, f->size()+3, -3, maxlen+3, 3,
|
WINDOW listbox = xvt_create_control(WC_LISTBUTTON, f->size()+3, -3, maxlen+3, 3,
|
||||||
"", win(), 0, 0L, 99);
|
"", win(), 0, 0L, DLG_FINDREC);
|
||||||
win_list_add(listbox, -1, (char*)lst);
|
win_list_add(listbox, -1, (char*)lst);
|
||||||
slist_dispose(lst);
|
slist_dispose(lst);
|
||||||
|
|
||||||
@ -750,8 +753,9 @@ void TBrowse_sheet::repos_buttons() const
|
|||||||
|
|
||||||
int left = CHARX; // left coord of next control to draw
|
int left = CHARX; // left coord of next control to draw
|
||||||
|
|
||||||
for (int id = 99; id <= 100; id++)
|
for (int i = 0; i < 1; i++)
|
||||||
{
|
{
|
||||||
|
const short id = i ? DLG_EDIT : DLG_FINDREC;
|
||||||
const WINDOW w = get_ctl_window(win(), id);
|
const WINDOW w = get_ctl_window(win(), id);
|
||||||
if (w != NULL_WIN)
|
if (w != NULL_WIN)
|
||||||
{
|
{
|
||||||
@ -769,7 +773,7 @@ void TBrowse_sheet::repos_buttons() const
|
|||||||
|
|
||||||
bool TBrowse_sheet::on_key(KEY k)
|
bool TBrowse_sheet::on_key(KEY k)
|
||||||
{
|
{
|
||||||
const WINDOW ctl = get_ctl_window(win(), 100);
|
const WINDOW ctl = get_ctl_window(win(), DLG_EDIT);
|
||||||
const bool alnum = k >= ' ' && k < K_UP;
|
const bool alnum = k >= ' ' && k < K_UP;
|
||||||
|
|
||||||
if (ctl != NULL_WIN && (alnum || k == K_BACKSPACE || k == K_DEL))
|
if (ctl != NULL_WIN && (alnum || k == K_BACKSPACE || k == K_DEL))
|
||||||
@ -826,7 +830,7 @@ bool TBrowse_sheet::on_key(KEY k)
|
|||||||
|
|
||||||
void TBrowse_sheet::handler(WINDOW win, EVENT* ep)
|
void TBrowse_sheet::handler(WINDOW win, EVENT* ep)
|
||||||
{
|
{
|
||||||
if (ep->type == E_CONTROL && ep->v.ctl.id == 99)
|
if (ep->type == E_CONTROL && ep->v.ctl.id == DLG_FINDREC)
|
||||||
{
|
{
|
||||||
const int what = win_list_get_sel_index(ep->v.ctl.ci.win);
|
const int what = win_list_get_sel_index(ep->v.ctl.ci.win);
|
||||||
if (what >= 0)
|
if (what >= 0)
|
||||||
|
@ -12,21 +12,16 @@ int TTable::name2log(const char* n)
|
|||||||
|
|
||||||
|
|
||||||
TTable::TTable(const char* tabname, bool linkrecinst)
|
TTable::TTable(const char* tabname, bool linkrecinst)
|
||||||
: TLocalisamfile(name2log(tabname), linkrecinst)
|
: TLocalisamfile(name2log(tabname), linkrecinst), _cod(curr(), "COD")
|
||||||
{
|
{
|
||||||
if ((*tabname == '%') || (*tabname == '#')) tabname++;
|
if ((*tabname == '%') || (*tabname == '#')) tabname++;
|
||||||
_tabname = tabname;
|
_tabname = tabname;
|
||||||
_tabname.upper();
|
_tabname.upper();
|
||||||
settab(TRUE);
|
|
||||||
curr().settab(_tabname);
|
curr().settab(_tabname);
|
||||||
_cod = new TRecfield(curr(), "COD");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TTable::~TTable()
|
TTable::~TTable()
|
||||||
|
{}
|
||||||
{
|
|
||||||
delete _cod;
|
|
||||||
}
|
|
||||||
|
|
||||||
int TTable::first(word lockop)
|
int TTable::first(word lockop)
|
||||||
|
|
||||||
@ -35,7 +30,7 @@ int TTable::first(word lockop)
|
|||||||
zero();
|
zero();
|
||||||
TBaseisamfile::read(_isgteq, lockop);
|
TBaseisamfile::read(_isgteq, lockop);
|
||||||
if (good())
|
if (good())
|
||||||
if (_tabname != (const char *) *_cod) setstatus(_isemptyfile);
|
if (_tabname != (const char *)_cod) setstatus(_isemptyfile);
|
||||||
if (bad()) zero();
|
if (bad()) zero();
|
||||||
return status();
|
return status();
|
||||||
}
|
}
|
||||||
@ -50,7 +45,7 @@ int TTable::last(word lockop)
|
|||||||
if (!eof()) TBaseisamfile::prev(lockop);
|
if (!eof()) TBaseisamfile::prev(lockop);
|
||||||
else setstatus(NOERR);
|
else setstatus(NOERR);
|
||||||
if (good())
|
if (good())
|
||||||
if (_tabname != (const char *) *_cod) setstatus(_isemptyfile);
|
if (_tabname != (const char *)_cod) setstatus(_isemptyfile);
|
||||||
if (bad()) zero();
|
if (bad()) zero();
|
||||||
return status();
|
return status();
|
||||||
}
|
}
|
||||||
@ -67,7 +62,7 @@ int TTable::next(word lockop)
|
|||||||
}
|
}
|
||||||
|
|
||||||
TBaseisamfile::next(lockop);
|
TBaseisamfile::next(lockop);
|
||||||
if (_tabname != (const char *) *_cod)
|
if (_tabname != (const char *)_cod)
|
||||||
{
|
{
|
||||||
if (lockop == _lock) TBaseisamfile::reread(_unlock);
|
if (lockop == _lock) TBaseisamfile::reread(_unlock);
|
||||||
TBaseisamfile::readat(nrec, lockop);
|
TBaseisamfile::readat(nrec, lockop);
|
||||||
@ -85,7 +80,7 @@ int TTable::prev(word lockop)
|
|||||||
TRecnotype nrec = recno();
|
TRecnotype nrec = recno();
|
||||||
|
|
||||||
TBaseisamfile::prev(lockop);
|
TBaseisamfile::prev(lockop);
|
||||||
if (_tabname != (const char *) *_cod)
|
if (_tabname != (const char *)_cod)
|
||||||
{
|
{
|
||||||
if (lockop == _lock) TBaseisamfile::reread(_unlock);
|
if (lockop == _lock) TBaseisamfile::reread(_unlock);
|
||||||
TBaseisamfile::readat(nrec, lockop);
|
TBaseisamfile::readat(nrec, lockop);
|
||||||
@ -100,7 +95,7 @@ int TTable::skip(TRecnotype nrec, word lockop)
|
|||||||
{
|
{
|
||||||
if (!nrec) return NOERR;
|
if (!nrec) return NOERR;
|
||||||
TBaseisamfile::skip(nrec, lockop);
|
TBaseisamfile::skip(nrec, lockop);
|
||||||
if (_tabname != (const char *) *_cod)
|
if (_tabname != (const char *)_cod)
|
||||||
{
|
{
|
||||||
if (nrec > 0)
|
if (nrec > 0)
|
||||||
{
|
{
|
||||||
@ -124,7 +119,7 @@ int TTable::read(word op, word lockop, TDate&)
|
|||||||
{
|
{
|
||||||
CHECKD(op >= _iscurr && op <= _isgteq, "Invalid read operation : ", op);
|
CHECKD(op >= _iscurr && op <= _isgteq, "Invalid read operation : ", op);
|
||||||
TBaseisamfile::read(op, lockop);
|
TBaseisamfile::read(op, lockop);
|
||||||
if (_tabname != (const char *) *_cod)
|
if (_tabname != (const char *)_cod)
|
||||||
{
|
{
|
||||||
if (lockop == _lock) TBaseisamfile::reread(_unlock);
|
if (lockop == _lock) TBaseisamfile::reread(_unlock);
|
||||||
last(lockop);
|
last(lockop);
|
||||||
@ -139,7 +134,7 @@ int TTable::read(TRectype& rec, word op, word lockop, TDate&)
|
|||||||
{
|
{
|
||||||
CHECKD(op >= _iscurr && op <= _isgteq, "Invalid read operation : ", op);
|
CHECKD(op >= _iscurr && op <= _isgteq, "Invalid read operation : ", op);
|
||||||
TBaseisamfile::read(rec, op, lockop);
|
TBaseisamfile::read(rec, op, lockop);
|
||||||
if (_tabname != (const char *) *_cod)
|
if (_tabname != (const char *)_cod)
|
||||||
{
|
{
|
||||||
setstatus(_iseof);
|
setstatus(_iseof);
|
||||||
if (lockop == _lock) TBaseisamfile::reread(_unlock);
|
if (lockop == _lock) TBaseisamfile::reread(_unlock);
|
||||||
@ -154,7 +149,7 @@ int TTable::readat(TRecnotype nrec, word lockop)
|
|||||||
{
|
{
|
||||||
TBaseisamfile::readat(nrec, lockop);
|
TBaseisamfile::readat(nrec, lockop);
|
||||||
|
|
||||||
CHECKS(_tabname == (const char * ) *_cod, "Invalid position : Table ", (const char *)_tabname);
|
CHECKS(_tabname == (const char * )_cod, "Invalid position : Table ", (const char *)_tabname);
|
||||||
return status();
|
return status();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -164,7 +159,7 @@ int TTable::readat(TRectype& rec ,TRecnotype nrec, word lockop)
|
|||||||
{
|
{
|
||||||
TBaseisamfile::readat(rec, nrec, lockop);
|
TBaseisamfile::readat(rec, nrec, lockop);
|
||||||
|
|
||||||
CHECKS(_tabname == (const char *) *_cod, "Invalid position : Table ", (const char *)_tabname);
|
CHECKS(_tabname == (const char *)_cod, "Invalid position : Table ", (const char *)_tabname);
|
||||||
return status();
|
return status();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -22,8 +22,8 @@
|
|||||||
class TTable : public TLocalisamfile
|
class TTable : public TLocalisamfile
|
||||||
{
|
{
|
||||||
// @DPRIV
|
// @DPRIV
|
||||||
TString _tabname;
|
TString16 _tabname;
|
||||||
TRecfield * _cod;
|
TRecfield _cod;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// @FPUB
|
// @FPUB
|
||||||
@ -36,8 +36,8 @@ public:
|
|||||||
virtual int read(TRectype& rec, word op = _isequal, word lockop = _nolock, TDate& = (TDate&)botime);
|
virtual int read(TRectype& rec, word op = _isequal, word lockop = _nolock, TDate& = (TDate&)botime);
|
||||||
virtual int readat(TRecnotype nrec, word lockop = _nolock);
|
virtual int readat(TRecnotype nrec, word lockop = _nolock);
|
||||||
virtual int readat(TRectype& rec, TRecnotype nrec, word lockop = _nolock);
|
virtual int readat(TRectype& rec, TRecnotype nrec, word lockop = _nolock);
|
||||||
|
virtual bool tab() const { return TRUE; }
|
||||||
virtual const char* name() const { return (const char*) _tabname;}
|
virtual const char* name() const { return _tabname;}
|
||||||
|
|
||||||
TTable(const char* tabname, bool linkrecinst = FALSE);
|
TTable(const char* tabname, bool linkrecinst = FALSE);
|
||||||
virtual ~TTable();
|
virtual ~TTable();
|
||||||
|
@ -74,7 +74,7 @@ HIDDEN void xvt_menu_enable(MENU_ITEM* m, bool on)
|
|||||||
{
|
{
|
||||||
switch(m->tag)
|
switch(m->tag)
|
||||||
{
|
{
|
||||||
case M_FILE:
|
case MENU_FILE:
|
||||||
if (m->child)
|
if (m->child)
|
||||||
xvt_menu_enable(m->child, on);
|
xvt_menu_enable(m->child, on);
|
||||||
break;
|
break;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user