Aggiustati messaggi d'errore e update degli sheet
git-svn-id: svn://10.65.10.50/trunk@2817 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
a0b57e024e
commit
c9e5acad42
@ -1612,8 +1612,8 @@ void TDropDownList::open()
|
||||
xi_get_def_rect(lstdef, &l);
|
||||
wr.right = wr.left + (l.right - l.left) -1; // r.right;
|
||||
wr.bottom = wr.top + l.bottom - l.top;
|
||||
int delta_x = _xi_obj->itf->v.itf->delta_x;
|
||||
int delta_y = _xi_obj->itf->v.itf->delta_y;
|
||||
const int delta_x = _xi_obj->itf->v.itf->delta_x;
|
||||
const int delta_y = _xi_obj->itf->v.itf->delta_y;
|
||||
wr.left -= delta_x;
|
||||
wr.right -= delta_x;
|
||||
wr.top -= delta_y;
|
||||
@ -1659,7 +1659,7 @@ bool TListbox_control::event_handler(XI_OBJ* itf, XI_EVENT* xiev)
|
||||
case XIE_CHAR_FIELD:
|
||||
{
|
||||
const KEY k = xiev_to_key(xiev);
|
||||
if (isalnum(k))
|
||||
if (k >= ' ' && k <= 'z')
|
||||
_ddl->select_by_initial(k);
|
||||
else if (k == K_F9)
|
||||
_ddl->open();
|
||||
|
@ -613,7 +613,7 @@ bool TMask::on_key(
|
||||
for (int i = fields()-1; i >= 0; i--)
|
||||
{
|
||||
TMask_field& f = fld(i);
|
||||
if (f.class_id() == CLASS_BUTTON_FIELD && f.active())
|
||||
if (f.active() && f.is_kind_of(CLASS_BUTTON_FIELD))
|
||||
{
|
||||
TButton_field& b = (TButton_field&)f;
|
||||
if (b.virtual_key() == key)
|
||||
|
@ -3484,7 +3484,7 @@ const char* TList_field::win2raw(const char* data) const
|
||||
int pos = value.get_pos(_ctl_data._park);
|
||||
if (pos < 0 && _ctl_data._park.blank())
|
||||
{
|
||||
_ctl_data._park = value.get(0);
|
||||
_ctl_data._park = codes.get(0); // Uso codes come riferimento per blank
|
||||
if (_ctl_data._park.blank())
|
||||
pos = 0;
|
||||
}
|
||||
|
@ -259,13 +259,13 @@ TSpreadsheet::TSpreadsheet(
|
||||
{
|
||||
CHECKD(i < MAX_COL, "Tu meni calumns in scit: ", i);
|
||||
|
||||
const int cid = FIRST_FIELD+i; // Column & Field ID
|
||||
const TOperable_field* f = field(cid); // Field on mask
|
||||
const int cid = FIRST_FIELD+i; // Column & Field ID
|
||||
const TOperable_field* f = field(cid); // Field on mask
|
||||
CHECKD(f, "The spreadsheet mask needs ALSO field ", cid);
|
||||
|
||||
TString testa(h);
|
||||
const int at = testa.find('@');
|
||||
int m = f->size(); // Memory width
|
||||
const int m = f->size(); // Memory width
|
||||
int v = m; // Video width
|
||||
if (at >= 0)
|
||||
{
|
||||
@ -285,7 +285,6 @@ TSpreadsheet::TSpreadsheet(
|
||||
}
|
||||
if (v > 69)
|
||||
v = 69;
|
||||
m = f->size();
|
||||
|
||||
m_width[i] = m+1; // m = number of allowed chars
|
||||
v_width[i] = v+1; // v = width of column
|
||||
@ -674,7 +673,8 @@ void TSpreadsheet::update(
|
||||
if (scroll)
|
||||
xi_scroll(_obj, XI_SCROLL_FIRST);
|
||||
else
|
||||
xi_scroll_rec(_obj, handle[first], NORMAL_COLOR, XI_ATR_ENABLED | XI_ATR_AUTOSELECT, 0);
|
||||
// xi_scroll_rec(_obj, handle[first], NORMAL_COLOR, XI_ATR_ENABLED | XI_ATR_AUTOSELECT, 0);
|
||||
xi_scroll(_obj, 0);
|
||||
|
||||
_needs_update = -1; // Clear pending row update
|
||||
}
|
||||
@ -1099,7 +1099,7 @@ bool TSpreadsheet::event_handler(XI_OBJ* itf, XI_EVENT *xiev)
|
||||
XI_MAKE_CELL(&cell, _obj, _cur_row, _cur_col);
|
||||
TList_field& lst = ((TList_field&)*_edit_field);
|
||||
|
||||
if (k < 128 && isalnum(k))
|
||||
if (k >= ' ' && k <= 'z')
|
||||
{
|
||||
lst.select_by_initial(k);
|
||||
xi_set_text(&cell, (char*)lst.raw2win(lst.get()));
|
||||
|
@ -14,7 +14,6 @@
|
||||
#include <scanner.h>
|
||||
#include <utility.h>
|
||||
|
||||
#include <lffiles.h>
|
||||
#include <codeb.h>
|
||||
|
||||
extern int get_error(int);
|
||||
@ -122,7 +121,7 @@ HIDDEN int closeall(bool changestudy, TBit_array& excl, TBit_array& toclose)
|
||||
d.get(i + 1, _nolock, _nordir, _sysdirop);
|
||||
if (toclose[i + 1] || changestudy || !d.is_com())
|
||||
{
|
||||
excl.set(i, DB_file_locked(isfd->fhnd) == _excllock);
|
||||
excl.set(i, DB_file_locked(isfd->fhnd) != 0);
|
||||
err=DB_close(isfd->fhnd);
|
||||
if (err != NOERR) err=get_error(err);
|
||||
if (err != NOERR) fatal_box("Can't close file %d. Error n. %d",isfd->ln,err);
|
||||
@ -168,7 +167,7 @@ HIDDEN void openall(bool changestudy, TBit_array& excl, int oldmax, TBit_array&
|
||||
*isfd->r = *r.rec();
|
||||
if (excllock(CInsPref((char*) glockname, NORDIR), FALSE) == -1 && errno == EACCES)
|
||||
fatal_box("Can't reopen file n. %d : file in use", i + 1);
|
||||
isfd->fhnd = DB_open(isfd->d->SysName,excl[i]==_excllock);
|
||||
isfd->fhnd = DB_open(isfd->d->SysName, excl[i]);
|
||||
if (isfd->fhnd < 0 ) err=get_error(isfd->fhnd);
|
||||
else err = NOERR;
|
||||
if (err == _islocked)
|
||||
@ -212,7 +211,7 @@ void TPrefix::set(
|
||||
// @flag COM | Apre il direttorio con i dati comuni
|
||||
// @flag DEF | Riapre la ditta indicata nel file prefix.txt
|
||||
// @flag codice ditta | Apre la ditta indicata
|
||||
{
|
||||
{
|
||||
if (name == NULL)
|
||||
{
|
||||
CCloseDir(NORDIR);
|
||||
|
@ -111,23 +111,6 @@ void TIndwin::update_bar()
|
||||
|
||||
const int width = r.right - r.left;
|
||||
RCT b = r;
|
||||
set_pen(COLOR_BLACK);
|
||||
|
||||
/*
|
||||
set_brush(COLOR_BLUE);
|
||||
b.right = b.left + int(width*prc);
|
||||
xvt_dwin_draw_rect(win(), &b);
|
||||
|
||||
set_brush(COLOR_WHITE);
|
||||
b.left = b.right; b.right = r.right;
|
||||
xvt_dwin_draw_rect(win(), &b);
|
||||
|
||||
set_mode(M_XOR);
|
||||
xvt_dwin_set_fore_color(win(), COLOR_BLUE);
|
||||
char n[8]; sprintf(n, "%d%%", int(100*prc));
|
||||
xvt_dwin_draw_text(win(), r.left+width/2-CHARX, (r.bottom+r.top+CHARY)/2-3, n, -1);
|
||||
set_mode(M_COPY);
|
||||
*/
|
||||
|
||||
WINDOW w = win();
|
||||
b.right = b.left + int(width*prc);
|
||||
@ -135,7 +118,7 @@ void TIndwin::update_bar()
|
||||
|
||||
set_brush(COLOR_WHITE);
|
||||
b.left = b.right; b.right = r.right;
|
||||
xvt_dwin_draw_rect(w, &b);
|
||||
xi_draw_3d_rect(w, &b, TRUE, 2, 0, 0, 0);
|
||||
|
||||
char n[8]; sprintf(n, "%d%%", int(100*prc));
|
||||
xvt_dwin_draw_text(w, r.left+width/2-CHARX, (r.bottom+r.top+CHARY)/2-3, n, -1);
|
||||
|
@ -307,9 +307,8 @@ void TSheet_control::update(long n)
|
||||
|
||||
if (scroll_first)
|
||||
xi_scroll(_obj, XI_SCROLL_FIRST);
|
||||
else
|
||||
else
|
||||
xi_scroll(_obj, 0);
|
||||
// xi_scroll_rec(_obj, n, FOCUS_COLOR, XI_ATR_ENABLED, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2,24 +2,24 @@ BUTTON DLG_SAVEREC 10 2
|
||||
BEGIN
|
||||
PROMPT -16 -1 "~Registra"
|
||||
MESSAGE EXIT,K_SAVE
|
||||
PICTURE 103
|
||||
PICTURE 153
|
||||
PICTURE BMP_SAVEREC
|
||||
PICTURE BMP_SAVERECDN
|
||||
END
|
||||
|
||||
BUTTON DLG_NEWREC 10 2
|
||||
BEGIN
|
||||
PROMPT -26 -1 "~Nuovo"
|
||||
MESSAGE EXIT,K_INS
|
||||
PICTURE 105
|
||||
PICTURE 155
|
||||
PICTURE BMP_NEWREC
|
||||
PICTURE BMP_NEWRECDN
|
||||
END
|
||||
|
||||
BUTTON DLG_DELREC 10 2
|
||||
BEGIN
|
||||
PROMPT -36 -1 "~Elimina"
|
||||
MESSAGE EXIT,K_DEL
|
||||
PICTURE 104
|
||||
PICTURE 154
|
||||
PICTURE BMP_DELREC
|
||||
PICTURE BMP_DELRECDN
|
||||
END
|
||||
|
||||
BUTTON DLG_FINDREC 10 2
|
||||
@ -40,7 +40,7 @@ BUTTON DLG_QUIT 10 2
|
||||
BEGIN
|
||||
PROMPT -66 -1 "~Fine"
|
||||
MESSAGE EXIT,K_QUIT
|
||||
PICTURE 114
|
||||
PICTURE 164
|
||||
PICTURE BMP_QUIT
|
||||
PICTURE BMP_QUITDN
|
||||
END
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include <lffiles.h>
|
||||
#include <defmask.h>
|
||||
#include <keys.h>
|
||||
#include <lffiles.h>
|
||||
#include <tokens.h>
|
||||
#include <urldefid.h>
|
||||
|
||||
#define FALSE 0
|
||||
#define TRUE 1
|
||||
|
@ -27,6 +27,7 @@ BOOLEAN error_hook(XVT_ERRMSG err, DATA_PTR)
|
||||
|
||||
#define STRICT
|
||||
#include <windows.h>
|
||||
#include <ctl3d.h>
|
||||
|
||||
extern "C" {
|
||||
WINDOW xvtwi_hwnd_to_window(HWND);
|
||||
@ -110,18 +111,22 @@ static BOOLEAN event_hook(HWND hwnd,
|
||||
long* ret)
|
||||
{
|
||||
switch(msg)
|
||||
{
|
||||
{
|
||||
case WM_SYSCOLORCHANGE:
|
||||
Ctl3dColorChange();
|
||||
break;
|
||||
case WM_MENUCHAR:
|
||||
if (wparam >= 'A' && wparam <= 'z')
|
||||
{
|
||||
WINDOW w = cur_win();
|
||||
if (w != NULL_WIN)
|
||||
{
|
||||
WINDOW win = cur_win();
|
||||
if (win != NULL_WIN)
|
||||
{
|
||||
TWindow* w = (TWindow*)xvt_vobj_get_data(win);
|
||||
const KEY key = toupper(wparam)+K_CTRL;
|
||||
dispatch_e_char(w, key);
|
||||
w->on_key(key);
|
||||
}
|
||||
}
|
||||
break;
|
||||
break;
|
||||
default:
|
||||
if (msg == WM_WAKEUP && wparam == main_app().waiting())
|
||||
main_app().wake_up();
|
||||
@ -496,12 +501,20 @@ void customize_controls(
|
||||
xvt_vobj_set_attr(NULL_WIN,ATTR_EVENT_HOOK, (long)event_hook);
|
||||
xvt_vobj_set_attr(NULL_WIN,ATTR_ERRMSG_HANDLER, (long)error_hook);
|
||||
allow_another_instance();
|
||||
|
||||
HINSTANCE hInstance = (HINSTANCE)xvt_vobj_get_attr(NULL_WIN, ATTR_WIN_INSTANCE);
|
||||
Ctl3dRegister(hInstance);
|
||||
Ctl3dAutoSubclass(hInstance);
|
||||
#endif
|
||||
customize_colors();
|
||||
init_controls();
|
||||
}
|
||||
else
|
||||
{
|
||||
{
|
||||
#if XVT_OS == XVT_OS_WIN
|
||||
HINSTANCE _hInstance = (HINSTANCE)xvt_vobj_get_attr(NULL_WIN, ATTR_WIN_INSTANCE);
|
||||
Ctl3dUnregister(_hInstance);
|
||||
#endif
|
||||
free_controls();
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user