Patch level : 2.2
Files correlati : Alberi esetsi analmente Ricompilazione Demo : [ ] Commento : git-svn-id: svn://10.65.10.50/trunk@12552 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
94ca75f6e7
commit
10b647d216
@ -68,6 +68,14 @@ TField_event TAutomask::key2event(TMask_field& f, KEY key) const
|
|||||||
fe = f.focusdirty() ? fe_modify : fe_init;
|
fe = f.focusdirty() ? fe_modify : fe_init;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case K_SHIFT+K_SPACE:
|
||||||
|
if (f.is_kind_of(CLASS_TREE_FIELD))
|
||||||
|
fe = fe_button;
|
||||||
|
break;
|
||||||
|
case K_CTRL+K_SPACE:
|
||||||
|
if (f.is_kind_of(CLASS_TREE_FIELD))
|
||||||
|
fe = fe_select;
|
||||||
|
break;
|
||||||
case K_ENTER:
|
case K_ENTER:
|
||||||
fe = fe_close;
|
fe = fe_close;
|
||||||
break;
|
break;
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#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_select,
|
||||||
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,
|
||||||
|
@ -1544,7 +1544,7 @@ void TMask::on_idle()
|
|||||||
{
|
{
|
||||||
const TOperable_field & f = focus_field();
|
const TOperable_field & f = focus_field();
|
||||||
if (_last_test != f.dlg())
|
if (_last_test != f.dlg())
|
||||||
{
|
{
|
||||||
TEditable_field & e = (TEditable_field &) field(_test_fld);
|
TEditable_field & e = (TEditable_field &) field(_test_fld);
|
||||||
|
|
||||||
if (!f.in_key(0) || !e.has_a_common_key(f))
|
if (!f.in_key(0) || !e.has_a_common_key(f))
|
||||||
|
@ -1409,7 +1409,7 @@ bool TEditable_field::test_key_complete(bool normal) const
|
|||||||
{
|
{
|
||||||
if (in_key(k) && m.key_valid(k))
|
if (in_key(k) && m.key_valid(k))
|
||||||
{
|
{
|
||||||
bool complete = TRUE;
|
bool complete = true;
|
||||||
for (TEditable_field* e = m.get_key_field(k, TRUE); e; e = m.get_key_field(k, FALSE))
|
for (TEditable_field* e = m.get_key_field(k, TRUE); e; e = m.get_key_field(k, FALSE))
|
||||||
{
|
{
|
||||||
e->set_focusdirty(FALSE);
|
e->set_focusdirty(FALSE);
|
||||||
@ -1420,10 +1420,10 @@ bool TEditable_field::test_key_complete(bool normal) const
|
|||||||
m.set_test_field(dlg());
|
m.set_test_field(dlg());
|
||||||
else
|
else
|
||||||
m.stop_run(K_AUTO_ENTER);
|
m.stop_run(K_AUTO_ENTER);
|
||||||
return TRUE;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return FALSE;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Certified 90%
|
// Certified 90%
|
||||||
@ -1513,7 +1513,7 @@ void TEditable_field::set_field(const TString& fr)
|
|||||||
{
|
{
|
||||||
if (_field != NULL)
|
if (_field != NULL)
|
||||||
{
|
{
|
||||||
if (fr.empty())
|
if (fr.blank())
|
||||||
{
|
{
|
||||||
delete _field;
|
delete _field;
|
||||||
_field = NULL;
|
_field = NULL;
|
||||||
@ -1522,7 +1522,10 @@ void TEditable_field::set_field(const TString& fr)
|
|||||||
*_field = fr;
|
*_field = fr;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
_field = new TFieldref(fr, 0);
|
{
|
||||||
|
if (!fr.blank())
|
||||||
|
_field = new TFieldref(fr, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -3403,7 +3406,13 @@ bool TEdit_field::on_key(KEY key)
|
|||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
return handler(K_TAB);
|
{
|
||||||
|
TMask& m = mask();
|
||||||
|
bool ok = handler(K_TAB);
|
||||||
|
if (ok && m.query_mode() && m.is_running() && in_key(0))
|
||||||
|
test_key_complete();
|
||||||
|
return ok;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case K_ENTER:
|
case K_ENTER:
|
||||||
// if (field() != NULL || mask().mode() == NO_MODE)
|
// if (field() != NULL || mask().mode() == NO_MODE)
|
||||||
|
@ -1368,20 +1368,23 @@ void TTree_window::handler(WINDOW win, EVENT* ep)
|
|||||||
if (ok && (c == ni._plusx || (c >= ni._startx && c < ni._endx)) &&
|
if (ok && (c == ni._plusx || (c >= ni._startx && c < ni._endx)) &&
|
||||||
_tree->goto_node(ni._id))
|
_tree->goto_node(ni._id))
|
||||||
{
|
{
|
||||||
if (c == ni._plusx || (ni._expandable && ep->type == E_MOUSE_DBL))
|
if (c == ni._plusx || (ni._expandable && ep->type == E_MOUSE_DBL && c <= ni._plusx+3))
|
||||||
{
|
{
|
||||||
if (_tree->expanded())
|
if (_tree->expanded())
|
||||||
ok = _tree->shrink();
|
ok = _tree->shrink();
|
||||||
else
|
else
|
||||||
ok = _tree->expand();
|
ok = _tree->expand();
|
||||||
if (ok)
|
if (ok)
|
||||||
owner().on_key(K_CTRL + K_SPACE);
|
{
|
||||||
|
owner().on_key(K_SHIFT + K_SPACE); // Expansion
|
||||||
|
owner().on_key(K_SPACE); // Selection
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
KEY key = K_SPACE;
|
KEY key = K_SPACE;
|
||||||
if (ep->type == E_MOUSE_DBL)
|
if (ep->type == E_MOUSE_DBL)
|
||||||
key += K_CTRL;
|
key += K_CTRL; // Double click selection
|
||||||
owner().on_key(key);
|
owner().on_key(key);
|
||||||
}
|
}
|
||||||
if (ok)
|
if (ok)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user