Patch level : 10.0
Files correlati : tutti Ricompilazione Demo : [ ] Commento : Aggiunta gestione eventi e_magic=F8 ed e_info=F11 nelle TAutomask git-svn-id: svn://10.65.10.50/trunk@17280 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
3f66b6a994
commit
86e414892e
@ -75,10 +75,16 @@ TField_event TAutomask::key2event(TMask_field& f, KEY key) const
|
|||||||
case K_ENTER:
|
case K_ENTER:
|
||||||
fe = fe_close;
|
fe = fe_close;
|
||||||
break;
|
break;
|
||||||
|
case K_F8:
|
||||||
|
fe = fe_magic;
|
||||||
|
break;
|
||||||
case K_F9:
|
case K_F9:
|
||||||
if (f.is_edit())
|
if (f.is_edit())
|
||||||
fe = fe_button;
|
fe = fe_button;
|
||||||
break;
|
break;
|
||||||
|
case K_F11:
|
||||||
|
fe = fe_info;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
fe = fe_null;
|
fe = fe_null;
|
||||||
break;
|
break;
|
||||||
@ -90,7 +96,7 @@ bool TAutomask::universal_handler(TMask_field& f, KEY key)
|
|||||||
{
|
{
|
||||||
TOperable_field& of = (TOperable_field&)f;
|
TOperable_field& of = (TOperable_field&)f;
|
||||||
TAutomask& am = (TAutomask&)of.mask();
|
TAutomask& am = (TAutomask&)of.mask();
|
||||||
TField_event fe = am.key2event(of, key);
|
const TField_event fe = am.key2event(of, key);
|
||||||
return fe == fe_null ? true : am.on_field_event(of, fe, 0);
|
return fe == fe_null ? true : am.on_field_event(of, fe, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -102,7 +108,7 @@ bool TAutomask::insheet_universal_handler(TMask_field& f, KEY key)
|
|||||||
|
|
||||||
TOperable_field& of = (TOperable_field&)f;
|
TOperable_field& of = (TOperable_field&)f;
|
||||||
TField_event fe = am.key2event(of, key);
|
TField_event fe = am.key2event(of, key);
|
||||||
return fe == fe_null ? TRUE : am.on_field_event(of, fe, m.number());
|
return fe == fe_null ? true : am.on_field_event(of, fe, m.number());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -140,7 +146,7 @@ bool TAutomask::universal_notifier(TSheet_field& s, int row, KEY key)
|
|||||||
}
|
}
|
||||||
|
|
||||||
TAutomask& wm = (TAutomask&)s.mask();
|
TAutomask& wm = (TAutomask&)s.mask();
|
||||||
return fe == fe_null ? TRUE : wm.on_field_event(s, fe, row);
|
return fe == fe_null ? true : wm.on_field_event(s, fe, row);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TAutomask::set_handlers()
|
void TAutomask::set_handlers()
|
||||||
|
@ -5,7 +5,8 @@
|
|||||||
#include <msksheet.h>
|
#include <msksheet.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
enum TField_event { fe_null, fe_init, fe_modify, fe_button, fe_close,
|
enum TField_event { fe_null, fe_init, fe_modify, fe_button, fe_close,
|
||||||
|
fe_magic, fe_info,
|
||||||
se_enter, se_leave,
|
se_enter, se_leave,
|
||||||
se_query_modify, se_notify_modify,
|
se_query_modify, se_notify_modify,
|
||||||
se_query_add, se_notify_add,
|
se_query_add, se_notify_add,
|
||||||
|
@ -545,18 +545,15 @@ void TMask_field::send_key(KEY k, short to)
|
|||||||
void TMask_field::check_type(CheckType)
|
void TMask_field::check_type(CheckType)
|
||||||
{ CHECK(0, "Can't set check type to non-edit field"); }
|
{ CHECK(0, "Can't set check type to non-edit field"); }
|
||||||
|
|
||||||
|
|
||||||
void TMask_field::set_handler(CONTROL_HANDLER)
|
void TMask_field::set_handler(CONTROL_HANDLER)
|
||||||
{ CHECK(0, "Can't set the handler to a TMask_field"); }
|
{ CHECK(0, "Can't set the handler to a TMask_field"); }
|
||||||
|
|
||||||
|
|
||||||
bool TMask_field::on_hit()
|
bool TMask_field::on_hit()
|
||||||
{
|
{
|
||||||
CHECK(0, "Can't hit non-operable field");
|
CHECK(0, "Can't hit non-operable field");
|
||||||
return FALSE;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Certified 100%
|
// Certified 100%
|
||||||
bool TMask_field::on_key(KEY key)
|
bool TMask_field::on_key(KEY key)
|
||||||
{
|
{
|
||||||
@ -564,8 +561,7 @@ bool TMask_field::on_key(KEY key)
|
|||||||
if (key > (K_CTRL+K_SPACE))
|
if (key > (K_CTRL+K_SPACE))
|
||||||
return error_box("Tasto ignorato %d", key);
|
return error_box("Tasto ignorato %d", key);
|
||||||
#endif
|
#endif
|
||||||
|
return true;
|
||||||
return TRUE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#define build_msg() \
|
#define build_msg() \
|
||||||
@ -597,14 +593,14 @@ bool TMask_field::error_box(
|
|||||||
{
|
{
|
||||||
mask().post_error_message(_msg, 3);
|
mask().post_error_message(_msg, 3);
|
||||||
}
|
}
|
||||||
return FALSE;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TMask_field::message_box(const char* fmt, ...) const
|
bool TMask_field::message_box(const char* fmt, ...) const
|
||||||
{
|
{
|
||||||
build_msg();
|
build_msg();
|
||||||
mask().post_error_message(_msg, 1);
|
mask().post_error_message(_msg, 1);
|
||||||
return FALSE;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// @doc EXTERNAL
|
// @doc EXTERNAL
|
||||||
@ -710,7 +706,8 @@ TOperable_field::TOperable_field(TMask* m)
|
|||||||
|
|
||||||
TOperable_field::~TOperable_field()
|
TOperable_field::~TOperable_field()
|
||||||
{
|
{
|
||||||
if (_message) delete _message;
|
if (_message)
|
||||||
|
delete _message;
|
||||||
}
|
}
|
||||||
|
|
||||||
TToken_string* TOperable_field::message(int m, bool crea)
|
TToken_string* TOperable_field::message(int m, bool crea)
|
||||||
@ -732,14 +729,14 @@ bool TOperable_field::parse_item(TScanner& scanner)
|
|||||||
if (scanner.key() == "HE") // HELP
|
if (scanner.key() == "HE") // HELP
|
||||||
{
|
{
|
||||||
scanner.string(); // Ignored from this version
|
scanner.string(); // Ignored from this version
|
||||||
return TRUE;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (scanner.key() == "ME")
|
if (scanner.key() == "ME")
|
||||||
{
|
{
|
||||||
const TString& m = scanner.line().trim(); // Togli spazi
|
const TString& m = scanner.line().trim(); // Togli spazi
|
||||||
message(0, TRUE)->add(m);
|
message(0, TRUE)->add(m);
|
||||||
return TRUE;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return TMask_field::parse_item(scanner);
|
return TMask_field::parse_item(scanner);
|
||||||
@ -766,12 +763,13 @@ bool TOperable_field::on_key(
|
|||||||
switch(key)
|
switch(key)
|
||||||
{
|
{
|
||||||
case K_F11:
|
case K_F11:
|
||||||
|
if (handler(key))
|
||||||
{
|
{
|
||||||
TString msg;
|
TString msg;
|
||||||
msg << "Identificatore: " << dlg() << '\n'
|
msg << TR("Identificatore: ") << dlg() << '\n'
|
||||||
<< "Maschera: " << mask().source_file() << '\n';
|
<< TR("Maschera: ") << mask().source_file() << '\n';
|
||||||
if (field() != NULL)
|
if (field() != NULL)
|
||||||
msg << "Campo: " << *field();
|
msg << TR("Campo: ") << *field();
|
||||||
message_box(msg);
|
message_box(msg);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -1014,7 +1012,7 @@ void TOperable_field::highlight() const
|
|||||||
|
|
||||||
bool TOperable_field::handler(KEY k)
|
bool TOperable_field::handler(KEY k)
|
||||||
{
|
{
|
||||||
bool ok = TRUE;
|
bool ok = true;
|
||||||
if (_handler)
|
if (_handler)
|
||||||
ok = _handler(*this, k);
|
ok = _handler(*this, k);
|
||||||
return ok;
|
return ok;
|
||||||
@ -1038,7 +1036,7 @@ bool TLoadable_field::parse_item(TScanner& scanner)
|
|||||||
if (scanner.key() == "DE") // DEFAULT
|
if (scanner.key() == "DE") // DEFAULT
|
||||||
{
|
{
|
||||||
set_default(scanner.line());
|
set_default(scanner.line());
|
||||||
return TRUE;
|
return true;
|
||||||
}
|
}
|
||||||
return TOperable_field::parse_item(scanner);
|
return TOperable_field::parse_item(scanner);
|
||||||
}
|
}
|
||||||
|
@ -155,14 +155,17 @@ void TIndwin::update_bar()
|
|||||||
{
|
{
|
||||||
const unsigned long elapsed_time = (clock() - _start_time)/CLOCKS_PER_SEC;
|
const unsigned long elapsed_time = (clock() - _start_time)/CLOCKS_PER_SEC;
|
||||||
const unsigned long total_time = (unsigned long)(elapsed_time / prc + 0.5);
|
const unsigned long total_time = (unsigned long)(elapsed_time / prc + 0.5);
|
||||||
TString16 str_res, str_tot;
|
TString16 str_ela, str_res, str_tot;
|
||||||
|
sec2str(elapsed_time, str_ela);
|
||||||
sec2str(total_time - elapsed_time, str_res);
|
sec2str(total_time - elapsed_time, str_res);
|
||||||
sec2str(total_time, str_tot);
|
sec2str(total_time, str_tot);
|
||||||
|
|
||||||
TString80 n;
|
TString80 n;
|
||||||
n.format("%d%% - %s %s - %s %s", int(prc*100.0+0.5),
|
n.format("%d%% - %s %s - %s %s - %s %s", int(prc*100.0+0.5),
|
||||||
TR("Tempo residuo"), str_res.get_buffer(),
|
TR("Tempo trascorso"), str_ela.get_buffer(),
|
||||||
TR("Tempo totale"), str_tot.get_buffer());
|
TR("Stimato"), str_tot.get_buffer(),
|
||||||
|
TR("Residuo"), str_res.get_buffer()
|
||||||
|
);
|
||||||
RCT b; get_bar_rct(b);
|
RCT b; get_bar_rct(b);
|
||||||
b.top = b.bottom+2; b.bottom = b.top + CHARY;
|
b.top = b.bottom+2; b.bottom = b.top + CHARY;
|
||||||
|
|
||||||
|
@ -5,8 +5,6 @@
|
|||||||
#include <real.h>
|
#include <real.h>
|
||||||
#include <utility.h>
|
#include <utility.h>
|
||||||
|
|
||||||
#include <stdarg.h>
|
|
||||||
|
|
||||||
// @doc EXTERNAL
|
// @doc EXTERNAL
|
||||||
|
|
||||||
// @func Ritorna il nome dell'utente attuale
|
// @func Ritorna il nome dell'utente attuale
|
||||||
@ -1226,9 +1224,10 @@ const TFilename& TFilename::tempdir()
|
|||||||
|
|
||||||
if (create)
|
if (create)
|
||||||
{
|
{
|
||||||
_tempdir = getenv("TEMP");
|
_tempdir.cut(0);
|
||||||
|
xvt_sys_get_env("TEMP", _tempdir.get_buffer(), _tempdir.size());
|
||||||
if (_tempdir.empty())
|
if (_tempdir.empty())
|
||||||
_tempdir = getenv("TMP");
|
xvt_sys_get_env("TMP", _tempdir.get_buffer(), _tempdir.size());
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
if (_tempdir.empty())
|
if (_tempdir.empty())
|
||||||
{
|
{
|
||||||
@ -1273,9 +1272,7 @@ const TFilename& TFilename::tempdir()
|
|||||||
if (!ok)
|
if (!ok)
|
||||||
fatal_box("Impossibile creare la directory '%s' per i file temporanei", (const char*)_tempdir);
|
fatal_box("Impossibile creare la directory '%s' per i file temporanei", (const char*)_tempdir);
|
||||||
|
|
||||||
TString tmp = _tempdir;
|
xvt_sys_set_env("TMP", _tempdir);
|
||||||
tmp.insert("TMP=", 0);
|
|
||||||
putenv(tmp);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
set(_tempdir);
|
set(_tempdir);
|
||||||
@ -1391,9 +1388,9 @@ bool TFilename::fremove() const
|
|||||||
|
|
||||||
bool TFilename::search_in_path(TFilename& path) const
|
bool TFilename::search_in_path(TFilename& path) const
|
||||||
{
|
{
|
||||||
xvt_sys_searchenv(_str, "PATH", path.get_buffer());
|
xvt_sys_search_env(_str, "PATH", path.get_buffer());
|
||||||
if (path.empty())
|
if (path.empty())
|
||||||
xvt_sys_searchenv(_str, "path", path.get_buffer());
|
xvt_sys_search_env(_str, "path", path.get_buffer());
|
||||||
return path.not_empty();
|
return path.not_empty();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -31,6 +31,13 @@ void TField_window::handler(WINDOW win, EVENT* ep)
|
|||||||
xi_set_focus(itf);
|
xi_set_focus(itf);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case E_MOUSE_DOWN:
|
||||||
|
if (ep->v.mouse.button == 1 && _owner != NULL)
|
||||||
|
{
|
||||||
|
_owner->on_key(K_F11);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -765,11 +765,7 @@ void TWindow::frame(
|
|||||||
if (flag & 4)
|
if (flag & 4)
|
||||||
{
|
{
|
||||||
set_mode(M_XOR);
|
set_mode(M_XOR);
|
||||||
#ifdef XVAGA
|
|
||||||
set_brush(COLOR_WHITE);
|
set_brush(COLOR_WHITE);
|
||||||
#else
|
|
||||||
set_brush(COLOR_BLACK); // Needed for Windows
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const PNT f = log2dev(left,top);
|
const PNT f = log2dev(left,top);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user