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:
|
||||
fe = fe_close;
|
||||
break;
|
||||
case K_F8:
|
||||
fe = fe_magic;
|
||||
break;
|
||||
case K_F9:
|
||||
if (f.is_edit())
|
||||
fe = fe_button;
|
||||
break;
|
||||
case K_F11:
|
||||
fe = fe_info;
|
||||
break;
|
||||
default:
|
||||
fe = fe_null;
|
||||
break;
|
||||
@ -90,7 +96,7 @@ bool TAutomask::universal_handler(TMask_field& f, KEY key)
|
||||
{
|
||||
TOperable_field& of = (TOperable_field&)f;
|
||||
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);
|
||||
}
|
||||
|
||||
@ -102,7 +108,7 @@ bool TAutomask::insheet_universal_handler(TMask_field& f, KEY key)
|
||||
|
||||
TOperable_field& of = (TOperable_field&)f;
|
||||
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();
|
||||
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()
|
||||
|
@ -5,7 +5,8 @@
|
||||
#include <msksheet.h>
|
||||
#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_query_modify, se_notify_modify,
|
||||
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)
|
||||
{ CHECK(0, "Can't set check type to non-edit field"); }
|
||||
|
||||
|
||||
void TMask_field::set_handler(CONTROL_HANDLER)
|
||||
{ CHECK(0, "Can't set the handler to a TMask_field"); }
|
||||
|
||||
|
||||
bool TMask_field::on_hit()
|
||||
{
|
||||
CHECK(0, "Can't hit non-operable field");
|
||||
return FALSE;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
// Certified 100%
|
||||
bool TMask_field::on_key(KEY key)
|
||||
{
|
||||
@ -564,8 +561,7 @@ bool TMask_field::on_key(KEY key)
|
||||
if (key > (K_CTRL+K_SPACE))
|
||||
return error_box("Tasto ignorato %d", key);
|
||||
#endif
|
||||
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
#define build_msg() \
|
||||
@ -597,14 +593,14 @@ bool TMask_field::error_box(
|
||||
{
|
||||
mask().post_error_message(_msg, 3);
|
||||
}
|
||||
return FALSE;
|
||||
return false;
|
||||
}
|
||||
|
||||
bool TMask_field::message_box(const char* fmt, ...) const
|
||||
{
|
||||
build_msg();
|
||||
mask().post_error_message(_msg, 1);
|
||||
return FALSE;
|
||||
return false;
|
||||
}
|
||||
|
||||
// @doc EXTERNAL
|
||||
@ -710,7 +706,8 @@ TOperable_field::TOperable_field(TMask* m)
|
||||
|
||||
TOperable_field::~TOperable_field()
|
||||
{
|
||||
if (_message) delete _message;
|
||||
if (_message)
|
||||
delete _message;
|
||||
}
|
||||
|
||||
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
|
||||
{
|
||||
scanner.string(); // Ignored from this version
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
if (scanner.key() == "ME")
|
||||
{
|
||||
const TString& m = scanner.line().trim(); // Togli spazi
|
||||
message(0, TRUE)->add(m);
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
return TMask_field::parse_item(scanner);
|
||||
@ -766,12 +763,13 @@ bool TOperable_field::on_key(
|
||||
switch(key)
|
||||
{
|
||||
case K_F11:
|
||||
if (handler(key))
|
||||
{
|
||||
TString msg;
|
||||
msg << "Identificatore: " << dlg() << '\n'
|
||||
<< "Maschera: " << mask().source_file() << '\n';
|
||||
msg << TR("Identificatore: ") << dlg() << '\n'
|
||||
<< TR("Maschera: ") << mask().source_file() << '\n';
|
||||
if (field() != NULL)
|
||||
msg << "Campo: " << *field();
|
||||
msg << TR("Campo: ") << *field();
|
||||
message_box(msg);
|
||||
}
|
||||
break;
|
||||
@ -1014,7 +1012,7 @@ void TOperable_field::highlight() const
|
||||
|
||||
bool TOperable_field::handler(KEY k)
|
||||
{
|
||||
bool ok = TRUE;
|
||||
bool ok = true;
|
||||
if (_handler)
|
||||
ok = _handler(*this, k);
|
||||
return ok;
|
||||
@ -1038,7 +1036,7 @@ bool TLoadable_field::parse_item(TScanner& scanner)
|
||||
if (scanner.key() == "DE") // DEFAULT
|
||||
{
|
||||
set_default(scanner.line());
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
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 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, str_tot);
|
||||
|
||||
TString80 n;
|
||||
n.format("%d%% - %s %s - %s %s", int(prc*100.0+0.5),
|
||||
TR("Tempo residuo"), str_res.get_buffer(),
|
||||
TR("Tempo totale"), str_tot.get_buffer());
|
||||
n.format("%d%% - %s %s - %s %s - %s %s", int(prc*100.0+0.5),
|
||||
TR("Tempo trascorso"), str_ela.get_buffer(),
|
||||
TR("Stimato"), str_tot.get_buffer(),
|
||||
TR("Residuo"), str_res.get_buffer()
|
||||
);
|
||||
RCT b; get_bar_rct(b);
|
||||
b.top = b.bottom+2; b.bottom = b.top + CHARY;
|
||||
|
||||
|
@ -5,8 +5,6 @@
|
||||
#include <real.h>
|
||||
#include <utility.h>
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
// @doc EXTERNAL
|
||||
|
||||
// @func Ritorna il nome dell'utente attuale
|
||||
@ -1226,9 +1224,10 @@ const TFilename& TFilename::tempdir()
|
||||
|
||||
if (create)
|
||||
{
|
||||
_tempdir = getenv("TEMP");
|
||||
_tempdir.cut(0);
|
||||
xvt_sys_get_env("TEMP", _tempdir.get_buffer(), _tempdir.size());
|
||||
if (_tempdir.empty())
|
||||
_tempdir = getenv("TMP");
|
||||
xvt_sys_get_env("TMP", _tempdir.get_buffer(), _tempdir.size());
|
||||
#ifdef WIN32
|
||||
if (_tempdir.empty())
|
||||
{
|
||||
@ -1273,9 +1272,7 @@ const TFilename& TFilename::tempdir()
|
||||
if (!ok)
|
||||
fatal_box("Impossibile creare la directory '%s' per i file temporanei", (const char*)_tempdir);
|
||||
|
||||
TString tmp = _tempdir;
|
||||
tmp.insert("TMP=", 0);
|
||||
putenv(tmp);
|
||||
xvt_sys_set_env("TMP", _tempdir);
|
||||
}
|
||||
|
||||
set(_tempdir);
|
||||
@ -1391,9 +1388,9 @@ bool TFilename::fremove() 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())
|
||||
xvt_sys_searchenv(_str, "path", path.get_buffer());
|
||||
xvt_sys_search_env(_str, "path", path.get_buffer());
|
||||
return path.not_empty();
|
||||
}
|
||||
|
||||
|
@ -31,6 +31,13 @@ void TField_window::handler(WINDOW win, EVENT* ep)
|
||||
xi_set_focus(itf);
|
||||
}
|
||||
break;
|
||||
case E_MOUSE_DOWN:
|
||||
if (ep->v.mouse.button == 1 && _owner != NULL)
|
||||
{
|
||||
_owner->on_key(K_F11);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -765,11 +765,7 @@ void TWindow::frame(
|
||||
if (flag & 4)
|
||||
{
|
||||
set_mode(M_XOR);
|
||||
#ifdef XVAGA
|
||||
set_brush(COLOR_WHITE);
|
||||
#else
|
||||
set_brush(COLOR_BLACK); // Needed for Windows
|
||||
#endif
|
||||
}
|
||||
|
||||
const PNT f = log2dev(left,top);
|
||||
|
Loading…
x
Reference in New Issue
Block a user