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;
|
||||
}
|
||||
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:
|
||||
fe = fe_close;
|
||||
break;
|
||||
|
@ -5,7 +5,7 @@
|
||||
#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_select,
|
||||
se_enter, se_leave,
|
||||
se_query_modify, se_notify_modify,
|
||||
se_query_add, se_notify_add,
|
||||
|
@ -1544,7 +1544,7 @@ void TMask::on_idle()
|
||||
{
|
||||
const TOperable_field & f = focus_field();
|
||||
if (_last_test != f.dlg())
|
||||
{
|
||||
{
|
||||
TEditable_field & e = (TEditable_field &) field(_test_fld);
|
||||
|
||||
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))
|
||||
{
|
||||
bool complete = TRUE;
|
||||
bool complete = true;
|
||||
for (TEditable_field* e = m.get_key_field(k, TRUE); e; e = m.get_key_field(k, FALSE))
|
||||
{
|
||||
e->set_focusdirty(FALSE);
|
||||
@ -1420,10 +1420,10 @@ bool TEditable_field::test_key_complete(bool normal) const
|
||||
m.set_test_field(dlg());
|
||||
else
|
||||
m.stop_run(K_AUTO_ENTER);
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
return false;
|
||||
}
|
||||
|
||||
// Certified 90%
|
||||
@ -1513,7 +1513,7 @@ void TEditable_field::set_field(const TString& fr)
|
||||
{
|
||||
if (_field != NULL)
|
||||
{
|
||||
if (fr.empty())
|
||||
if (fr.blank())
|
||||
{
|
||||
delete _field;
|
||||
_field = NULL;
|
||||
@ -1522,7 +1522,10 @@ void TEditable_field::set_field(const TString& fr)
|
||||
*_field = fr;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
case K_ENTER:
|
||||
// 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)) &&
|
||||
_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())
|
||||
ok = _tree->shrink();
|
||||
else
|
||||
ok = _tree->expand();
|
||||
if (ok)
|
||||
owner().on_key(K_CTRL + K_SPACE);
|
||||
{
|
||||
owner().on_key(K_SHIFT + K_SPACE); // Expansion
|
||||
owner().on_key(K_SPACE); // Selection
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
KEY key = K_SPACE;
|
||||
if (ep->type == E_MOUSE_DBL)
|
||||
key += K_CTRL;
|
||||
key += K_CTRL; // Double click selection
|
||||
owner().on_key(key);
|
||||
}
|
||||
if (ok)
|
||||
|
Loading…
x
Reference in New Issue
Block a user