svn: r4706
This commit is contained in:
Matthew Flatt 2006-10-30 01:24:08 +00:00
parent 9fa1e73559
commit c2855afbe2
18 changed files with 479 additions and 217 deletions

View File

@ -344,7 +344,6 @@ void wxSmuggleOutEvent(EventRef ref)
UniChar *text;
UInt32 actualSize;
EventRef kref;
UInt32 val = 0;
GetEventParameter(ref, kEventParamTextInputSendKeyboardEvent,
typeEventRef, NULL, sizeof(EventRef), NULL, &kref);

View File

@ -166,25 +166,43 @@ void wxKeymap::SetBreakSequenceCallback(wxBreakSequenceFunction f,
fold(dataold);
}
wxKeycode *wxKeymap::FindKey(long code, long other_code,
wxKeycode *wxKeymap::FindKey(long code, long other_code, long alt_code, long other_alt_code,
Bool shift, Bool ctrl,
Bool alt, Bool meta,
wxKeycode *prefix)
wxKeycode *prefix, int *_score)
{
wxKeycode *key;
wxKeycode *bestKey = NULL;
int bestScore = -1;
int iter;
long findk;
if (!keys)
return NULL;
for (iter = 0; iter < 2; iter++) {
key = (wxKeycode *)keys->Get(iter ? other_code : code);
for (iter = 0; iter < 4; iter++) {
switch (iter) {
case 0:
findk = code;
break;
case 1:
findk = other_code;
break;
case 2:
findk = alt_code;
break;
case 3:
default:
findk = other_alt_code;
break;
}
key = (wxKeycode *)keys->Get(findk);
while (key) {
if (((key->code == code)
|| (key->checkOther
&& (key->code == other_code)))
&& ((key->code == other_code)
|| (key->code == alt_code)
|| (key->code == other_alt_code))))
&& ((key->shiftOn && shift)
|| (key->shiftOff && !shift)
|| (!key->shiftOn && !key->shiftOff))
@ -199,6 +217,12 @@ wxKeycode *wxKeymap::FindKey(long code, long other_code,
|| (!key->metaOn && !key->metaOff))
&& key->seqprefix == prefix) {
int score = key->score;
if (key->code != code) {
if (key->code == other_alt_code)
score -= 4;
else
score -= 2;
}
if (score > bestScore) {
bestKey = key;
bestScore = score;
@ -208,6 +232,9 @@ wxKeycode *wxKeymap::FindKey(long code, long other_code,
}
}
if (_score)
*_score = bestScore;
return bestKey;
}
@ -602,17 +629,20 @@ void wxKeymap::MapFunction(char *keys, char *fname)
wxsKeymapError(buffer);
}
int wxKeymap::HandleEvent(long code, long other_code, Bool shift, Bool ctrl,
int wxKeymap::HandleEvent(long code, long other_code, long alt_code, long other_alt_code,
Bool shift, Bool ctrl,
Bool alt, Bool meta, int score,
char **fname, int *fullset)
{
wxKeycode *key;
int found_score;
key = FindKey(code, other_code, shift, ctrl, alt, meta, prefix);
key = FindKey(code, other_code, alt_code, other_alt_code,
shift, ctrl, alt, meta, prefix, &found_score);
prefix = NULL;
if (key && (key->score >= score)) {
if (key && (found_score >= score)) {
if (key->isprefix) {
prefix = key;
*fname = NULL;
@ -627,22 +657,26 @@ int wxKeymap::HandleEvent(long code, long other_code, Bool shift, Bool ctrl,
return 0;
}
int wxKeymap::GetBestScore(long code, long other_code, Bool shift, Bool ctrl,
int wxKeymap::GetBestScore(long code, long other_code, long alt_code, long other_alt_code,
Bool shift, Bool ctrl,
Bool alt, Bool meta)
{
wxKeycode *key;
int s, i;
int score;
key = FindKey(code, other_code, shift, ctrl, alt, meta, prefix);
key = FindKey(code, other_code, alt_code, other_alt_code,
shift, ctrl, alt, meta, prefix, &score);
if (key)
s = key->score;
s = score;
else
s = -1;
for (i = 0; i < chainCount; i++) {
int r;
r = chainTo[i]->GetBestScore(code, other_code, shift, ctrl, alt, meta);
r = chainTo[i]->GetBestScore(code, other_code, alt_code, other_alt_code,
shift, ctrl, alt, meta);
if (r > s)
s = r;
}
@ -681,6 +715,8 @@ int wxKeymap::GetBestScore(wxKeyEvent *event)
{
return GetBestScore(event->keyCode,
event->otherKeyCode,
event->altKeyCode,
event->otherAltKeyCode,
event->shiftDown,
event->controlDown,
event->altDown,
@ -737,6 +773,8 @@ int wxKeymap::ChainHandleKeyEvent(UNKNOWN_OBJ media, wxKeyEvent *event,
if (HandleEvent(event->keyCode,
event->otherKeyCode,
event->altKeyCode,
event->otherAltKeyCode,
event->shiftDown,
event->controlDown,
event->altDown,
@ -829,7 +867,7 @@ int wxKeymap::GetBestScore(wxMouseEvent *event)
}
return GetBestScore(code,
-1,
-1, -1, -1,
event->shiftDown,
event->controlDown,
event->altDown,
@ -930,7 +968,7 @@ int wxKeymap::ChainHandleMouseEvent(UNKNOWN_OBJ media, wxMouseEvent *event,
do {
if (HandleEvent(code,
-1,
-1, -1, -1,
event->shiftDown,
event->controlDown,
event->altDown,

View File

@ -62,10 +62,11 @@ class wxKeymap : public wxObject
wxBreakSequenceFunction onBreak;
void *onBreakData;
class wxKeycode *FindKey(long, long, Bool, Bool, Bool, Bool, class wxKeycode *);
int HandleEvent(long code, long, Bool shift, Bool ctrl, Bool alt, Bool meta,
class wxKeycode *FindKey(long, long, long, long, Bool, Bool, Bool, Bool, class wxKeycode *, int *_score);
int HandleEvent(long code, long, long, long,
Bool shift, Bool ctrl, Bool alt, Bool meta,
int score, char **fname, int *fullset);
int GetBestScore(long code, long, Bool shift, Bool ctrl, Bool alt, Bool meta);
int GetBestScore(long code, long, long, long, Bool shift, Bool ctrl, Bool alt, Bool meta);
Bool CycleCheck(wxKeymap *km);

View File

@ -1460,6 +1460,10 @@ static Scheme_Object *bundle_symset_keyCode(int v) {
static long GetOtherKey(wxKeyEvent *k) { return k->otherKeyCode; }
static void SetOtherKey(wxKeyEvent *k, long c) { k->otherKeyCode = c; }
static long GetAltKey(wxKeyEvent *k) { return k->altKeyCode; }
static void SetAltKey(wxKeyEvent *k, long c) { k->altKeyCode = c; }
static long GetOtherAltKey(wxKeyEvent *k) { return k->otherAltKeyCode; }
static void SetOtherAltKey(wxKeyEvent *k, long c) { k->otherAltKeyCode = c; }
@ -1498,6 +1502,94 @@ os_wxKeyEvent::~os_wxKeyEvent()
objscheme_destroy(this, (Scheme_Object *) __gc_external);
}
static Scheme_Object *os_wxKeyEventSetOtherAltKey(int n, Scheme_Object *p[])
{
WXS_USE_ARGUMENT(n) WXS_USE_ARGUMENT(p)
REMEMBER_VAR_STACK();
objscheme_check_valid(os_wxKeyEvent_class, "set-other-shift-altgr-key-code in key-event%", n, p);
long x0 INIT_NULLED_OUT;
SETUP_VAR_STACK_REMEMBERED(2);
VAR_STACK_PUSH(0, p);
VAR_STACK_PUSH(1, x0);
x0 = (SCHEME_FALSEP(p[POFFSET+0]) ? 0 : unbundle_symset_keyCode(p[POFFSET+0], METHODNAME("key-event%","set-other-shift-altgr-key-code")));
WITH_VAR_STACK(SetOtherAltKey(((wxKeyEvent *)((Scheme_Class_Object *)p[0])->primdata), x0));
READY_TO_RETURN;
return scheme_void;
}
static Scheme_Object *os_wxKeyEventGetOtherAltKey(int n, Scheme_Object *p[])
{
WXS_USE_ARGUMENT(n) WXS_USE_ARGUMENT(p)
REMEMBER_VAR_STACK();
long r;
objscheme_check_valid(os_wxKeyEvent_class, "get-other-shift-altgr-key-code in key-event%", n, p);
SETUP_VAR_STACK_REMEMBERED(1);
VAR_STACK_PUSH(0, p);
r = WITH_VAR_STACK(GetOtherAltKey(((wxKeyEvent *)((Scheme_Class_Object *)p[0])->primdata)));
READY_TO_RETURN;
return (r ? bundle_symset_keyCode(r) : scheme_false);
}
static Scheme_Object *os_wxKeyEventSetAltKey(int n, Scheme_Object *p[])
{
WXS_USE_ARGUMENT(n) WXS_USE_ARGUMENT(p)
REMEMBER_VAR_STACK();
objscheme_check_valid(os_wxKeyEvent_class, "set-other-altgr-key-code in key-event%", n, p);
long x0 INIT_NULLED_OUT;
SETUP_VAR_STACK_REMEMBERED(2);
VAR_STACK_PUSH(0, p);
VAR_STACK_PUSH(1, x0);
x0 = (SCHEME_FALSEP(p[POFFSET+0]) ? 0 : unbundle_symset_keyCode(p[POFFSET+0], METHODNAME("key-event%","set-other-altgr-key-code")));
WITH_VAR_STACK(SetAltKey(((wxKeyEvent *)((Scheme_Class_Object *)p[0])->primdata), x0));
READY_TO_RETURN;
return scheme_void;
}
static Scheme_Object *os_wxKeyEventGetAltKey(int n, Scheme_Object *p[])
{
WXS_USE_ARGUMENT(n) WXS_USE_ARGUMENT(p)
REMEMBER_VAR_STACK();
long r;
objscheme_check_valid(os_wxKeyEvent_class, "get-other-altgr-key-code in key-event%", n, p);
SETUP_VAR_STACK_REMEMBERED(1);
VAR_STACK_PUSH(0, p);
r = WITH_VAR_STACK(GetAltKey(((wxKeyEvent *)((Scheme_Class_Object *)p[0])->primdata)));
READY_TO_RETURN;
return (r ? bundle_symset_keyCode(r) : scheme_false);
}
static Scheme_Object *os_wxKeyEventSetOtherKey(int n, Scheme_Object *p[])
{
WXS_USE_ARGUMENT(n) WXS_USE_ARGUMENT(p)
@ -1510,7 +1602,7 @@ static Scheme_Object *os_wxKeyEventSetOtherKey(int n, Scheme_Object *p[])
VAR_STACK_PUSH(1, x0);
x0 = (SCHEME_FALSEP(p[POFFSET+0]) ? 0 : unbundle_symset_keyCode(p[POFFSET+0], METHODNAME("key-event%","get-other-shift-key-code")));
x0 = (SCHEME_FALSEP(p[POFFSET+0]) ? 0 : unbundle_symset_keyCode(p[POFFSET+0], METHODNAME("key-event%","set-other-shift-key-code")));
WITH_VAR_STACK(SetOtherKey(((wxKeyEvent *)((Scheme_Class_Object *)p[0])->primdata), x0));
@ -1890,8 +1982,12 @@ void objscheme_setup_wxKeyEvent(Scheme_Env *env)
wxREGGLOB(os_wxKeyEvent_class);
os_wxKeyEvent_class = WITH_VAR_STACK(objscheme_def_prim_class(env, "key-event%", "event%", (Scheme_Method_Prim *)os_wxKeyEvent_ConstructScheme, 18));
os_wxKeyEvent_class = WITH_VAR_STACK(objscheme_def_prim_class(env, "key-event%", "event%", (Scheme_Method_Prim *)os_wxKeyEvent_ConstructScheme, 22));
WITH_VAR_STACK(scheme_add_method_w_arity(os_wxKeyEvent_class, "set-other-shift-altgr-key-code" " method", (Scheme_Method_Prim *)os_wxKeyEventSetOtherAltKey, 1, 1));
WITH_VAR_STACK(scheme_add_method_w_arity(os_wxKeyEvent_class, "get-other-shift-altgr-key-code" " method", (Scheme_Method_Prim *)os_wxKeyEventGetOtherAltKey, 0, 0));
WITH_VAR_STACK(scheme_add_method_w_arity(os_wxKeyEvent_class, "set-other-altgr-key-code" " method", (Scheme_Method_Prim *)os_wxKeyEventSetAltKey, 1, 1));
WITH_VAR_STACK(scheme_add_method_w_arity(os_wxKeyEvent_class, "get-other-altgr-key-code" " method", (Scheme_Method_Prim *)os_wxKeyEventGetAltKey, 0, 0));
WITH_VAR_STACK(scheme_add_method_w_arity(os_wxKeyEvent_class, "set-other-shift-key-code" " method", (Scheme_Method_Prim *)os_wxKeyEventSetOtherKey, 1, 1));
WITH_VAR_STACK(scheme_add_method_w_arity(os_wxKeyEvent_class, "get-other-shift-key-code" " method", (Scheme_Method_Prim *)os_wxKeyEventGetOtherKey, 0, 0));

View File

@ -221,9 +221,13 @@ wxMouseEvent_ext::wxMouseEvent_ext(int et, int ld, int mdd, int rd, int xv, int
@ENDSYMBOLS
@MACRO bKeyOrFalse = ({x} ? bundle_symset_keyCode({x}) : scheme_false)
@MACRO ubKeyOrFalse = (SCHEME_FALSEP({x}) ? 0 : unbundle_symset_keyCode({x}, METHODNAME("key-event%","get-other-shift-key-code")))
@MACRO ubKeyOrFalse[name] = (SCHEME_FALSEP({x}) ? 0 : unbundle_symset_keyCode({x}, METHODNAME("key-event%",<name>)))
static long GetOtherKey(wxKeyEvent *k) { return k->otherKeyCode; }
static void SetOtherKey(wxKeyEvent *k, long c) { k->otherKeyCode = c; }
static long GetAltKey(wxKeyEvent *k) { return k->altKeyCode; }
static void SetAltKey(wxKeyEvent *k, long c) { k->altKeyCode = c; }
static long GetOtherAltKey(wxKeyEvent *k) { return k->otherAltKeyCode; }
static void SetOtherAltKey(wxKeyEvent *k, long c) { k->otherAltKeyCode = c; }
@CLASSBASE wxKeyEvent=wxKeyEvent_ext "key-event":"event" / nofnl
@ -241,7 +245,11 @@ static void SetOtherKey(wxKeyEvent *k, long c) { k->otherKeyCode = c; }
@IVAR "y" : int y
@ m "get-other-shift-key-code" : long/bKeyOrFalse GetOtherKey();
@ m "set-other-shift-key-code" : void SetOtherKey(long//ubKeyOrFalse////push);
@ m "set-other-shift-key-code" : void SetOtherKey(long//ubKeyOrFalse["set-other-shift-key-code"]////push);
@ m "get-other-altgr-key-code" : long/bKeyOrFalse GetAltKey();
@ m "set-other-altgr-key-code" : void SetAltKey(long//ubKeyOrFalse["set-other-altgr-key-code"]////push);
@ m "get-other-shift-altgr-key-code" : long/bKeyOrFalse GetOtherAltKey();
@ m "set-other-shift-altgr-key-code" : void SetOtherAltKey(long//ubKeyOrFalse["set-other-shift-altgr-key-code"]////push);
@END

View File

@ -1,5 +1,5 @@
{
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,5,51,53,50,46,56,54,252,225,7,159,34,20,98,159,34,16,1,20,
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,5,51,53,50,46,57,54,252,225,7,159,34,20,98,159,34,16,1,20,
24,65,98,101,103,105,110,0,16,0,83,158,41,20,95,114,65,35,37,115,116,
120,1,29,2,11,11,10,10,10,34,80,158,34,34,20,98,159,36,16,16,30,
3,2,2,71,105,100,101,110,116,105,102,105,101,114,63,4,254,1,30,5,2,
@ -99,7 +99,7 @@
EVAL_ONE_SIZED_STR((char *)expr, 2029);
}
{
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,5,51,53,50,46,56,134,252,215,18,159,34,20,98,159,34,16,1,20,
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,5,51,53,50,46,57,134,252,215,18,159,34,20,98,159,34,16,1,20,
24,65,98,101,103,105,110,0,16,0,83,158,41,20,95,114,71,35,37,113,113,
45,97,110,100,45,111,114,1,29,2,11,11,10,10,10,34,80,158,34,34,20,
98,159,34,16,1,30,3,2,2,69,113,113,45,97,112,112,101,110,100,4,254,
@ -333,7 +333,7 @@
EVAL_ONE_SIZED_STR((char *)expr, 4835);
}
{
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,5,51,53,50,46,56,49,252,234,4,159,34,20,98,159,34,16,1,20,
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,5,51,53,50,46,57,49,252,234,4,159,34,20,98,159,34,16,1,20,
24,65,98,101,103,105,110,0,16,0,83,158,41,20,95,114,66,35,37,99,111,
110,100,1,29,2,11,11,10,10,10,34,80,158,34,34,20,98,159,34,16,0,
16,0,11,11,16,0,34,11,16,1,64,99,111,110,100,3,16,1,11,16,1,
@ -397,7 +397,7 @@
EVAL_ONE_SIZED_STR((char *)expr, 1270);
}
{
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,5,51,53,50,46,56,25,252,68,4,159,34,20,98,159,34,16,1,20,
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,5,51,53,50,46,57,25,252,68,4,159,34,20,98,159,34,16,1,20,
24,65,98,101,103,105,110,0,16,0,83,158,41,20,95,114,73,35,37,115,116,
114,117,99,116,45,105,110,102,111,1,29,2,11,11,10,10,10,34,80,158,34,
34,20,98,159,34,16,9,30,3,2,2,74,105,100,101,110,116,105,102,105,101,
@ -453,7 +453,7 @@
EVAL_ONE_SIZED_STR((char *)expr, 1104);
}
{
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,5,51,53,50,46,56,37,252,208,4,159,34,20,98,159,34,16,1,20,
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,5,51,53,50,46,57,37,252,208,4,159,34,20,98,159,34,16,1,20,
24,65,98,101,103,105,110,0,16,0,83,158,41,20,95,114,71,35,37,100,115,
45,104,101,108,112,101,114,1,29,2,11,11,10,10,10,34,80,158,34,34,20,
98,159,34,16,6,30,3,2,2,1,20,108,105,115,116,45,62,105,109,109,117,
@ -516,7 +516,7 @@
EVAL_ONE_SIZED_STR((char *)expr, 1244);
}
{
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,5,51,53,50,46,56,123,252,43,12,159,34,20,98,159,34,16,1,20,
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,5,51,53,50,46,57,123,252,43,12,159,34,20,98,159,34,16,1,20,
24,65,98,101,103,105,110,0,16,0,83,158,41,20,95,114,74,35,37,100,101,
102,105,110,101,45,101,116,45,97,108,1,29,2,11,11,10,10,10,34,80,158,
34,34,20,98,159,34,16,0,16,0,11,11,16,0,34,11,16,6,64,119,104,
@ -668,7 +668,7 @@
EVAL_ONE_SIZED_STR((char *)expr, 3127);
}
{
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,5,51,53,50,46,56,21,252,37,1,159,34,20,98,159,34,16,1,20,
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,5,51,53,50,46,57,21,252,37,1,159,34,20,98,159,34,16,1,20,
24,65,98,101,103,105,110,0,16,0,83,158,41,20,95,114,74,35,37,115,109,
97,108,108,45,115,99,104,101,109,101,1,29,2,11,11,10,10,10,34,80,158,
34,34,20,98,159,34,16,0,16,0,11,11,16,0,34,11,16,13,64,99,111,
@ -686,7 +686,7 @@
EVAL_ONE_SIZED_STR((char *)expr, 305);
}
{
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,5,51,53,50,46,56,231,252,137,53,159,34,20,98,159,34,16,1,20,
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,5,51,53,50,46,57,231,252,137,53,159,34,20,98,159,34,16,1,20,
24,65,98,101,103,105,110,0,16,0,83,158,41,20,95,115,64,35,37,115,99,
1,29,2,11,11,10,10,18,95,11,37,96,35,8,254,1,11,16,2,64,115,
101,116,33,3,68,35,37,107,101,114,110,101,108,4,42,80,158,34,34,20,98,
@ -1343,7 +1343,7 @@
EVAL_ONE_SIZED_STR((char *)expr, 13717);
}
{
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,5,51,53,50,46,56,178,252,176,24,159,34,20,98,159,34,16,1,20,
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,5,51,53,50,46,57,178,252,176,24,159,34,20,98,159,34,16,1,20,
24,65,98,101,103,105,110,0,16,0,83,158,41,20,95,114,69,35,37,115,116,
120,99,97,115,101,1,29,2,11,11,10,10,10,34,80,158,34,34,20,98,159,
34,16,6,30,3,2,2,1,26,100,97,116,117,109,45,62,115,121,110,116,97,
@ -1648,7 +1648,7 @@
EVAL_ONE_SIZED_STR((char *)expr, 6332);
}
{
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,5,51,53,50,46,56,82,252,192,6,159,34,20,98,159,34,16,1,20,
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,5,51,53,50,46,57,82,252,192,6,159,34,20,98,159,34,16,1,20,
24,65,98,101,103,105,110,0,16,0,83,158,41,20,95,114,68,35,37,115,116,
120,108,111,99,1,29,2,11,11,10,10,10,34,80,158,34,34,20,98,159,34,
16,2,30,3,2,2,68,108,111,99,45,105,110,115,112,4,254,1,30,5,2,
@ -1734,7 +1734,7 @@
EVAL_ONE_SIZED_STR((char *)expr, 1740);
}
{
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,5,51,53,50,46,56,101,252,191,8,159,34,20,98,159,34,16,1,20,
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,5,51,53,50,46,57,101,252,198,8,159,34,20,98,159,34,16,1,20,
24,65,98,101,103,105,110,0,16,0,83,158,41,20,95,114,70,35,37,119,105,
116,104,45,115,116,120,1,29,2,11,11,10,10,10,34,80,158,34,34,20,98,
159,35,16,7,30,3,2,2,76,119,105,116,104,45,115,121,110,116,97,120,45,
@ -1817,35 +1817,35 @@
85,62,105,110,86,2,75,2,76,3,1,7,101,110,118,51,48,53,50,87,2,
87,2,87,2,87,2,87,18,101,2,78,48,38,37,36,35,45,44,16,4,47,
11,63,105,110,115,88,3,1,7,101,110,118,51,48,54,52,89,18,16,2,158,
2,78,48,49,18,102,2,31,51,38,37,36,35,45,44,47,16,8,50,11,64,
116,109,112,115,90,65,104,101,114,101,115,91,64,111,117,116,115,92,3,1,7,
101,110,118,51,48,54,55,93,2,93,2,93,18,158,161,36,103,2,0,53,38,
37,36,35,45,44,47,50,16,4,52,11,2,19,3,1,7,101,110,118,51,48,
55,50,94,158,2,20,53,2,21,53,53,11,97,83,159,34,93,80,159,34,41,
35,89,162,34,35,44,9,223,0,248,247,22,252,100,3,28,248,22,47,195,249,
22,215,11,87,94,83,160,36,11,80,158,37,35,248,22,176,80,158,38,35,248,
22,48,250,22,252,190,1,6,4,4,126,97,126,115,95,200,80,158,41,35,28,
248,22,252,142,1,195,249,22,215,11,87,94,83,160,36,11,80,158,37,35,248,
22,176,80,158,38,35,248,22,48,250,22,252,190,1,2,95,200,80,158,41,35,
28,248,80,158,36,40,195,249,22,215,11,27,248,22,216,198,87,94,83,160,36,
11,80,158,38,35,248,22,176,80,158,39,35,248,22,48,250,22,252,190,1,2,
95,196,80,158,42,35,249,22,215,11,87,94,83,160,36,11,80,158,37,35,248,
22,176,80,158,38,35,248,22,48,250,22,252,190,1,2,95,64,116,101,109,112,
96,80,158,41,35,83,159,34,93,80,159,34,34,35,32,97,89,162,34,35,38,
2,4,222,250,22,252,45,2,2,18,6,20,20,98,105,110,100,105,110,103,32,
109,97,116,99,104,32,102,97,105,108,101,100,98,195,83,159,34,93,80,158,34,
35,34,83,159,34,93,80,159,34,36,35,89,162,34,35,40,2,8,223,0,87,
94,83,160,36,11,80,158,34,35,248,22,176,80,158,35,35,248,22,48,250,22,
252,190,1,2,95,197,80,158,38,35,83,159,34,93,80,159,34,37,35,89,162,
34,35,39,2,10,223,0,87,94,28,248,80,158,35,38,194,12,250,22,252,46,
2,2,10,6,11,11,115,121,110,116,97,120,32,112,97,105,114,99,196,27,248,
80,158,36,39,195,249,22,2,80,159,37,41,35,194,97,68,35,37,107,101,114,
110,101,108,100,2,12,2,49,2,65,2,52,98,2,100,2,52,2,49,2,63,
2,67,2,66,0};
EVAL_ONE_SIZED_STR((char *)expr, 2251);
2,78,48,49,18,102,2,31,52,38,37,36,35,45,44,16,4,51,11,2,88,
2,89,16,8,50,11,64,116,109,112,115,90,65,104,101,114,101,115,91,64,111,
117,116,115,92,3,1,7,101,110,118,51,48,54,55,93,2,93,2,93,18,158,
161,36,103,2,0,54,38,37,36,35,45,44,51,50,16,4,53,11,2,19,3,
1,7,101,110,118,51,48,55,50,94,158,2,20,54,2,21,54,54,11,97,83,
159,34,93,80,159,34,41,35,89,162,34,35,44,9,223,0,248,247,22,252,100,
3,28,248,22,47,195,249,22,215,11,87,94,83,160,36,11,80,158,37,35,248,
22,176,80,158,38,35,248,22,48,250,22,252,190,1,6,4,4,126,97,126,115,
95,200,80,158,41,35,28,248,22,252,142,1,195,249,22,215,11,87,94,83,160,
36,11,80,158,37,35,248,22,176,80,158,38,35,248,22,48,250,22,252,190,1,
2,95,200,80,158,41,35,28,248,80,158,36,40,195,249,22,215,11,27,248,22,
216,198,87,94,83,160,36,11,80,158,38,35,248,22,176,80,158,39,35,248,22,
48,250,22,252,190,1,2,95,196,80,158,42,35,249,22,215,11,87,94,83,160,
36,11,80,158,37,35,248,22,176,80,158,38,35,248,22,48,250,22,252,190,1,
2,95,64,116,101,109,112,96,80,158,41,35,83,159,34,93,80,159,34,34,35,
32,97,89,162,34,35,38,2,4,222,250,22,252,45,2,2,18,6,20,20,98,
105,110,100,105,110,103,32,109,97,116,99,104,32,102,97,105,108,101,100,98,195,
83,159,34,93,80,158,34,35,34,83,159,34,93,80,159,34,36,35,89,162,34,
35,40,2,8,223,0,87,94,83,160,36,11,80,158,34,35,248,22,176,80,158,
35,35,248,22,48,250,22,252,190,1,2,95,197,80,158,38,35,83,159,34,93,
80,159,34,37,35,89,162,34,35,39,2,10,223,0,87,94,28,248,80,158,35,
38,194,12,250,22,252,46,2,2,10,6,11,11,115,121,110,116,97,120,32,112,
97,105,114,99,196,27,248,80,158,36,39,195,249,22,2,80,159,37,41,35,194,
97,68,35,37,107,101,114,110,101,108,100,2,12,2,49,2,65,2,52,98,2,
100,2,52,2,49,2,63,2,67,2,66,0};
EVAL_ONE_SIZED_STR((char *)expr, 2258);
}
{
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,5,51,53,50,46,56,208,252,16,25,159,34,20,98,159,34,16,1,20,
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,5,51,53,50,46,57,208,252,226,24,159,34,20,98,159,34,16,1,20,
24,65,98,101,103,105,110,0,16,0,83,158,41,20,95,114,76,35,37,115,116,
120,99,97,115,101,45,115,99,104,101,109,101,1,29,2,11,11,10,10,10,34,
80,158,34,34,20,98,159,34,16,2,30,3,2,2,1,26,99,104,101,99,107,
@ -2095,67 +2095,64 @@
180,2,180,2,180,2,180,16,12,8,41,11,2,87,2,168,67,107,101,121,119,
111,114,100,181,2,171,2,172,3,1,7,101,110,118,51,50,52,55,182,2,182,
2,182,2,182,2,182,18,16,2,158,2,77,8,44,8,45,18,16,2,158,2,
133,8,44,8,46,18,158,95,102,2,165,8,51,38,37,36,8,43,16,12,8,
50,11,2,175,2,176,2,177,2,178,2,179,2,180,2,180,2,180,2,180,2,
180,16,12,8,49,11,2,87,2,168,2,181,2,171,2,172,2,182,2,182,2,
182,2,182,2,182,16,4,8,48,11,3,1,4,103,53,54,57,183,3,1,7,
101,110,118,51,50,54,54,184,16,4,8,47,11,2,170,3,1,7,101,110,118,
51,50,54,55,185,158,94,10,2,166,8,51,158,164,10,2,167,2,162,10,2,
166,2,163,2,169,2,164,8,51,8,51,18,158,95,10,158,2,158,2,159,95,
2,23,2,166,2,160,8,51,18,16,2,96,2,46,8,53,93,8,252,3,11,
16,4,8,52,11,2,89,3,1,7,101,110,118,51,50,55,49,186,95,9,8,
252,3,11,2,38,18,16,2,158,94,98,2,170,8,57,93,8,252,250,10,16,
4,8,56,11,3,1,8,119,115,116,109,112,53,54,55,187,3,1,7,101,110,
118,51,50,53,57,188,16,4,8,55,11,3,1,4,103,53,54,56,189,3,1,
7,101,110,118,51,50,55,54,190,16,4,8,54,11,2,142,3,1,7,101,110,
118,51,50,55,55,191,158,2,46,8,57,8,57,95,9,8,252,250,10,2,33,
11,16,5,93,2,13,87,94,83,159,34,93,80,159,34,54,35,89,162,35,35,
41,9,223,0,251,80,158,38,48,20,15,159,38,36,49,21,94,3,1,4,103,
53,56,49,192,3,1,4,103,53,56,48,193,248,22,58,198,248,22,84,198,89,
162,34,35,48,9,223,0,27,28,248,80,158,36,34,195,249,80,158,37,35,248,
80,158,38,36,197,27,248,80,158,39,37,198,28,248,80,158,39,34,193,249,80,
158,40,38,27,248,80,158,42,36,196,28,248,80,158,42,39,193,248,22,65,248,
80,158,43,40,194,11,27,248,80,158,42,37,196,28,248,80,158,42,39,193,248,
22,8,89,162,34,35,41,9,224,8,1,27,249,22,2,89,162,34,35,46,9,
224,4,5,249,80,158,37,41,28,248,80,158,38,34,197,249,80,158,39,35,248,
80,158,40,36,199,27,248,80,158,41,37,200,28,248,80,158,41,34,193,249,80,
158,42,35,248,80,158,43,36,195,248,80,158,43,42,248,80,158,44,37,196,11,
11,194,248,80,158,39,40,196,28,248,22,63,193,21,93,9,248,80,158,37,43,
193,11,11,11,28,192,27,248,22,58,194,27,248,22,84,195,27,248,22,93,196,
27,248,22,94,197,28,249,22,4,80,158,41,44,248,22,222,249,80,158,44,45,
20,15,159,44,34,49,199,249,80,158,41,46,200,27,251,22,67,202,201,200,199,
250,80,158,45,47,89,162,34,34,45,9,224,11,3,252,80,158,40,48,20,15,
159,40,35,49,21,95,3,1,4,103,53,56,52,194,3,1,4,103,53,56,51,
195,3,1,4,103,53,56,50,196,248,22,58,198,248,22,84,198,250,22,2,80,
159,43,54,35,248,22,93,201,248,22,94,201,21,94,1,21,109,97,107,101,45,
115,101,116,33,45,116,114,97,110,115,102,111,114,109,101,114,197,95,2,165,93,
2,166,100,2,167,2,87,10,2,166,94,2,168,2,46,2,169,94,2,171,95,
2,23,2,166,2,172,2,46,20,15,159,45,37,49,250,22,252,45,2,11,2,
50,201,250,22,252,45,2,11,2,50,197,34,20,98,159,35,16,15,2,51,2,
53,2,55,2,57,2,59,2,61,2,65,2,63,2,67,2,121,2,173,2,119,
2,71,2,73,2,75,16,4,18,100,2,133,8,61,38,37,36,16,4,8,60,
11,2,166,3,1,7,101,110,118,51,50,56,49,198,16,10,8,59,11,3,1,
4,103,53,55,54,199,3,1,4,103,53,55,55,200,3,1,4,103,53,55,56,
201,3,1,4,103,53,55,57,202,3,1,7,101,110,118,51,50,57,52,203,2,
203,2,203,2,203,16,10,8,58,11,2,87,2,168,2,171,2,172,3,1,7,
101,110,118,51,50,57,53,204,2,204,2,204,2,204,18,158,95,10,2,197,95,
2,165,93,2,166,163,2,167,2,194,10,2,166,2,195,2,169,2,196,8,61,
18,158,95,10,2,192,95,2,23,2,166,2,193,8,61,18,16,2,96,2,46,
8,63,93,8,252,27,11,16,4,8,62,11,2,89,3,1,7,101,110,118,51,
51,48,53,205,95,9,8,252,27,11,2,38,11,93,83,159,34,93,80,159,34,
34,35,89,162,34,35,37,2,4,223,0,248,22,8,89,162,8,36,35,40,9,
224,1,2,27,247,22,116,87,94,249,22,3,89,162,8,36,35,45,9,226,4,
3,5,2,87,94,28,248,80,158,38,35,197,12,250,22,252,46,2,2,4,6,
19,19,108,105,115,116,32,111,102,32,105,100,101,110,116,105,102,105,101,114,115,
206,197,27,250,22,122,196,248,22,216,201,9,87,94,28,249,22,5,89,162,8,
36,35,38,9,223,7,249,22,227,195,194,194,248,195,198,12,250,22,121,196,248,
22,216,201,249,22,57,202,197,195,11,98,68,35,37,107,101,114,110,101,108,207,
2,78,2,6,2,38,2,33,2,37,98,2,207,2,78,2,6,2,38,2,33,
2,37,0};
EVAL_ONE_SIZED_STR((char *)expr, 6428);
133,8,44,8,46,18,158,95,102,2,165,8,49,38,37,36,8,43,8,42,8,
41,16,4,8,48,11,3,1,4,103,53,54,57,183,3,1,7,101,110,118,51,
50,54,54,184,16,4,8,47,11,2,170,3,1,7,101,110,118,51,50,54,55,
185,158,94,10,2,166,8,49,158,164,10,2,167,2,162,10,2,166,2,163,2,
169,2,164,8,49,8,49,18,158,95,10,158,2,158,2,159,95,2,23,2,166,
2,160,8,49,18,16,2,96,2,46,8,51,93,8,252,3,11,16,4,8,50,
11,2,89,3,1,7,101,110,118,51,50,55,49,186,95,9,8,252,3,11,2,
38,18,16,2,158,94,98,2,170,8,55,93,8,252,250,10,16,4,8,54,11,
3,1,8,119,115,116,109,112,53,54,55,187,3,1,7,101,110,118,51,50,53,
57,188,16,4,8,53,11,3,1,4,103,53,54,56,189,3,1,7,101,110,118,
51,50,55,54,190,16,4,8,52,11,2,142,3,1,7,101,110,118,51,50,55,
55,191,158,2,46,8,55,8,55,95,9,8,252,250,10,2,33,11,16,5,93,
2,13,87,94,83,159,34,93,80,159,34,54,35,89,162,35,35,41,9,223,0,
251,80,158,38,48,20,15,159,38,36,49,21,94,3,1,4,103,53,56,49,192,
3,1,4,103,53,56,48,193,248,22,58,198,248,22,84,198,89,162,34,35,48,
9,223,0,27,28,248,80,158,36,34,195,249,80,158,37,35,248,80,158,38,36,
197,27,248,80,158,39,37,198,28,248,80,158,39,34,193,249,80,158,40,38,27,
248,80,158,42,36,196,28,248,80,158,42,39,193,248,22,65,248,80,158,43,40,
194,11,27,248,80,158,42,37,196,28,248,80,158,42,39,193,248,22,8,89,162,
34,35,41,9,224,8,1,27,249,22,2,89,162,34,35,46,9,224,4,5,249,
80,158,37,41,28,248,80,158,38,34,197,249,80,158,39,35,248,80,158,40,36,
199,27,248,80,158,41,37,200,28,248,80,158,41,34,193,249,80,158,42,35,248,
80,158,43,36,195,248,80,158,43,42,248,80,158,44,37,196,11,11,194,248,80,
158,39,40,196,28,248,22,63,193,21,93,9,248,80,158,37,43,193,11,11,11,
28,192,27,248,22,58,194,27,248,22,84,195,27,248,22,93,196,27,248,22,94,
197,28,249,22,4,80,158,41,44,248,22,222,249,80,158,44,45,20,15,159,44,
34,49,199,249,80,158,41,46,200,27,251,22,67,202,201,200,199,250,80,158,45,
47,89,162,34,34,45,9,224,11,3,252,80,158,40,48,20,15,159,40,35,49,
21,95,3,1,4,103,53,56,52,194,3,1,4,103,53,56,51,195,3,1,4,
103,53,56,50,196,248,22,58,198,248,22,84,198,250,22,2,80,159,43,54,35,
248,22,93,201,248,22,94,201,21,94,1,21,109,97,107,101,45,115,101,116,33,
45,116,114,97,110,115,102,111,114,109,101,114,197,95,2,165,93,2,166,100,2,
167,2,87,10,2,166,94,2,168,2,46,2,169,94,2,171,95,2,23,2,166,
2,172,2,46,20,15,159,45,37,49,250,22,252,45,2,11,2,50,201,250,22,
252,45,2,11,2,50,197,34,20,98,159,35,16,15,2,51,2,53,2,55,2,
57,2,59,2,61,2,65,2,63,2,67,2,121,2,173,2,119,2,71,2,73,
2,75,16,4,18,100,2,133,8,59,38,37,36,16,4,8,58,11,2,166,3,
1,7,101,110,118,51,50,56,49,198,16,10,8,57,11,3,1,4,103,53,55,
54,199,3,1,4,103,53,55,55,200,3,1,4,103,53,55,56,201,3,1,4,
103,53,55,57,202,3,1,7,101,110,118,51,50,57,52,203,2,203,2,203,2,
203,16,10,8,56,11,2,87,2,168,2,171,2,172,3,1,7,101,110,118,51,
50,57,53,204,2,204,2,204,2,204,18,158,95,10,2,197,95,2,165,93,2,
166,163,2,167,2,194,10,2,166,2,195,2,169,2,196,8,59,18,158,95,10,
2,192,95,2,23,2,166,2,193,8,59,18,16,2,96,2,46,8,61,93,8,
252,27,11,16,4,8,60,11,2,89,3,1,7,101,110,118,51,51,48,53,205,
95,9,8,252,27,11,2,38,11,93,83,159,34,93,80,159,34,34,35,89,162,
34,35,37,2,4,223,0,248,22,8,89,162,8,36,35,40,9,224,1,2,27,
247,22,116,87,94,249,22,3,89,162,8,36,35,45,9,226,4,3,5,2,87,
94,28,248,80,158,38,35,197,12,250,22,252,46,2,2,4,6,19,19,108,105,
115,116,32,111,102,32,105,100,101,110,116,105,102,105,101,114,115,206,197,27,250,
22,122,196,248,22,216,201,9,87,94,28,249,22,5,89,162,8,36,35,38,9,
223,7,249,22,227,195,194,194,248,195,198,12,250,22,121,196,248,22,216,201,249,
22,57,202,197,195,11,98,68,35,37,107,101,114,110,101,108,207,2,78,2,6,
2,38,2,33,2,37,98,2,207,2,78,2,6,2,38,2,33,2,37,0};
EVAL_ONE_SIZED_STR((char *)expr, 6382);
}
{
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,5,51,53,50,46,56,112,252,186,12,159,34,20,98,159,34,16,1,20,
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,5,51,53,50,46,57,112,252,186,12,159,34,20,98,159,34,16,1,20,
24,65,98,101,103,105,110,0,16,0,83,158,41,20,95,114,67,35,37,113,113,
115,116,120,1,29,2,11,11,10,10,10,34,80,158,34,34,20,98,159,34,16,
2,30,3,2,2,79,99,104,101,99,107,45,115,112,108,105,99,105,110,103,45,
@ -2314,7 +2311,7 @@
EVAL_ONE_SIZED_STR((char *)expr, 3270);
}
{
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,5,51,53,50,46,56,204,252,159,24,159,34,20,98,159,34,16,1,20,
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,5,51,53,50,46,57,204,252,159,24,159,34,20,98,159,34,16,1,20,
24,65,98,101,103,105,110,0,16,0,83,158,41,20,95,114,68,35,37,100,101,
102,105,110,101,1,29,2,11,11,10,10,10,34,80,158,34,34,20,98,159,34,
16,0,16,0,11,11,16,0,34,11,16,4,76,98,101,103,105,110,45,102,111,
@ -2369,10 +2366,10 @@
32,101,120,112,114,101,115,115,105,111,110,115,32,102,111,114,32,112,114,111,99,
101,100,117,114,101,32,98,111,100,121,41,14,203,12,27,249,22,215,20,15,159,
43,45,49,204,27,249,22,215,20,15,159,44,46,49,196,27,249,22,215,20,15,
159,45,47,49,248,199,200,249,80,158,45,41,205,27,250,22,67,199,200,198,252,
159,45,47,49,248,199,200,249,80,158,45,41,205,27,250,22,67,200,198,199,252,
80,158,51,42,20,15,159,51,48,49,21,95,3,1,4,103,54,53,51,15,3,
1,4,103,54,53,49,16,3,1,4,103,54,53,50,17,248,22,84,198,248,22,
58,198,248,22,86,198,250,22,252,45,2,11,2,11,197,83,159,34,93,80,159,
1,4,103,54,53,49,16,3,1,4,103,54,53,50,17,248,22,58,198,248,22,
86,198,248,22,84,198,250,22,252,45,2,11,2,11,197,83,159,34,93,80,159,
34,8,38,35,89,162,34,36,45,73,103,101,110,101,114,97,108,45,112,114,111,
116,111,18,223,0,27,249,22,215,20,15,159,37,43,49,197,27,28,248,80,158,
37,34,194,249,80,158,38,35,248,80,158,39,36,196,27,248,80,158,40,37,197,
@ -2465,34 +2462,34 @@
110,118,51,52,55,48,79,2,79,2,79,16,8,43,11,61,95,80,65,112,114,
111,116,111,81,64,98,111,100,121,82,3,1,7,101,110,118,51,52,55,49,83,
2,83,2,83,16,6,42,11,2,22,2,18,3,1,7,101,110,118,51,52,55,
57,84,2,84,18,104,64,100,101,115,116,85,49,39,38,37,36,35,44,43,16,
6,48,11,2,22,2,18,2,84,2,84,16,6,47,11,3,1,4,103,54,50,
48,86,3,1,4,103,54,50,49,87,3,1,7,101,110,118,51,52,56,54,88,
2,88,16,6,46,11,62,105,100,89,63,97,114,103,90,3,1,7,101,110,118,
51,52,56,55,91,2,91,18,16,2,158,2,70,49,50,18,158,160,10,66,108,
97,109,98,100,97,92,2,23,2,24,49,18,104,2,85,53,39,38,37,36,35,
44,43,48,16,8,52,11,3,1,4,103,54,49,55,93,3,1,4,103,54,49,
56,94,3,1,4,103,54,49,57,95,3,1,7,101,110,118,51,53,49,54,96,
2,96,2,96,16,8,51,11,2,89,2,90,64,114,101,115,116,97,3,1,7,
101,110,118,51,53,49,55,98,2,98,2,98,18,16,2,158,93,103,2,25,8,
27,98,8,26,10,34,11,95,159,68,35,37,112,97,114,97,109,122,99,9,11,
159,74,35,37,115,109,97,108,108,45,115,99,104,101,109,101,100,9,11,159,2,
37,9,11,16,14,66,115,121,110,116,97,120,101,29,102,11,11,73,115,121,110,
116,97,120,45,99,97,115,101,42,42,103,2,102,2,51,2,102,2,56,2,102,
1,20,99,97,116,99,104,45,101,108,108,105,112,115,105,115,45,101,114,114,111,
114,104,2,102,78,112,97,116,116,101,114,110,45,115,117,98,115,116,105,116,117,
116,101,105,2,102,75,115,117,98,115,116,105,116,117,116,101,45,115,116,111,112,
106,2,102,98,59,10,35,11,95,159,64,35,37,115,99,107,9,11,159,2,100,
9,11,159,2,37,9,11,16,0,96,58,8,254,1,11,16,0,16,4,57,11,
61,120,108,3,1,6,101,110,118,52,53,52,109,16,4,56,11,68,104,101,114,
101,45,115,116,120,110,3,1,6,101,110,118,52,53,54,111,16,4,55,11,2,
110,2,111,13,16,4,35,2,102,2,50,11,93,8,252,198,11,16,4,54,11,
61,114,112,3,1,7,101,110,118,51,53,50,52,113,8,27,95,9,8,252,198,
11,2,50,18,16,2,158,2,70,53,8,28,18,158,160,10,2,92,2,26,2,
27,53,18,16,2,158,2,70,45,8,29,18,158,160,35,104,2,19,8,32,39,
38,37,36,35,44,43,42,16,8,8,31,11,3,1,4,103,54,51,53,114,3,
57,84,2,84,18,104,64,100,101,115,116,85,48,39,38,37,36,35,44,43,42,
16,6,47,11,3,1,4,103,54,50,48,86,3,1,4,103,54,50,49,87,3,
1,7,101,110,118,51,52,56,54,88,2,88,16,6,46,11,62,105,100,89,63,
97,114,103,90,3,1,7,101,110,118,51,52,56,55,91,2,91,18,16,2,158,
2,70,48,49,18,158,160,10,66,108,97,109,98,100,97,92,2,23,2,24,48,
18,104,2,85,52,39,38,37,36,35,44,43,42,16,8,51,11,3,1,4,103,
54,49,55,93,3,1,4,103,54,49,56,94,3,1,4,103,54,49,57,95,3,
1,7,101,110,118,51,53,49,54,96,2,96,2,96,16,8,50,11,2,89,2,
90,64,114,101,115,116,97,3,1,7,101,110,118,51,53,49,55,98,2,98,2,
98,18,16,2,158,93,103,2,25,8,26,98,59,10,34,11,95,159,68,35,37,
112,97,114,97,109,122,99,9,11,159,74,35,37,115,109,97,108,108,45,115,99,
104,101,109,101,100,9,11,159,2,37,9,11,16,14,66,115,121,110,116,97,120,
101,29,102,11,11,73,115,121,110,116,97,120,45,99,97,115,101,42,42,103,2,
102,2,51,2,102,2,56,2,102,1,20,99,97,116,99,104,45,101,108,108,105,
112,115,105,115,45,101,114,114,111,114,104,2,102,78,112,97,116,116,101,114,110,
45,115,117,98,115,116,105,116,117,116,101,105,2,102,75,115,117,98,115,116,105,
116,117,116,101,45,115,116,111,112,106,2,102,98,58,10,35,11,95,159,64,35,
37,115,99,107,9,11,159,2,100,9,11,159,2,37,9,11,16,0,96,57,8,
254,1,11,16,0,16,4,56,11,61,120,108,3,1,6,101,110,118,52,53,52,
109,16,4,55,11,68,104,101,114,101,45,115,116,120,110,3,1,6,101,110,118,
52,53,54,111,16,4,54,11,2,110,2,111,13,16,4,35,2,102,2,50,11,
93,8,252,198,11,16,4,53,11,61,114,112,3,1,7,101,110,118,51,53,50,
52,113,8,26,95,9,8,252,198,11,2,50,18,16,2,158,2,70,52,8,27,
18,158,160,10,2,92,2,26,2,27,52,18,16,2,158,2,70,45,8,28,18,
158,160,35,104,2,19,8,32,39,38,37,36,35,44,43,16,6,8,31,11,2,
22,2,18,2,84,2,84,16,8,8,30,11,3,1,4,103,54,51,53,114,3,
1,4,103,54,51,54,115,3,1,4,103,54,51,55,116,3,1,7,101,110,118,
51,53,53,51,117,2,117,2,117,16,8,8,30,11,69,115,111,109,101,116,104,
51,53,53,51,117,2,117,2,117,16,8,8,29,11,69,115,111,109,101,116,104,
105,110,103,118,64,109,111,114,101,119,2,97,3,1,7,101,110,118,51,53,53,
52,120,2,120,2,120,2,20,8,32,8,32,18,102,2,70,8,34,39,38,37,
36,35,44,43,16,6,8,33,11,2,89,66,109,107,45,114,104,115,121,3,1,
@ -2618,7 +2615,7 @@
EVAL_ONE_SIZED_STR((char *)expr, 6315);
}
{
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,5,51,53,50,46,56,252,254,1,252,96,67,159,34,20,98,159,34,16,
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,5,51,53,50,46,57,252,254,1,252,96,67,159,34,20,98,159,34,16,
1,20,24,65,98,101,103,105,110,0,16,0,83,158,41,20,95,114,73,35,37,
109,111,114,101,45,115,99,104,101,109,101,1,29,2,11,11,10,10,10,48,80,
158,34,34,20,98,159,34,16,28,30,3,2,2,74,115,116,114,117,99,116,58,
@ -3444,7 +3441,7 @@
EVAL_ONE_SIZED_STR((char *)expr, 17262);
}
{
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,5,51,53,50,46,56,252,243,1,252,88,52,159,34,20,98,159,34,16,
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,5,51,53,50,46,57,252,243,1,252,88,52,159,34,20,98,159,34,16,
1,20,24,65,98,101,103,105,110,0,16,0,83,158,41,20,95,114,66,35,37,
109,105,115,99,1,29,2,11,11,10,10,10,46,80,158,34,34,20,98,159,39,
16,47,30,3,2,2,72,112,97,116,104,45,115,116,114,105,110,103,63,4,254,
@ -4086,7 +4083,7 @@
EVAL_ONE_SIZED_STR((char *)expr, 13414);
}
{
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,5,51,53,50,46,56,20,252,183,1,159,34,20,98,159,34,16,1,20,
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,5,51,53,50,46,57,20,252,183,1,159,34,20,98,159,34,16,1,20,
24,65,98,101,103,105,110,0,16,0,83,158,41,20,95,114,72,35,37,115,116,
120,109,122,45,98,111,100,121,1,29,2,11,11,18,95,11,37,98,35,10,34,
11,94,159,68,35,37,100,101,102,105,110,101,3,9,11,159,76,35,37,115,116,
@ -4111,7 +4108,7 @@
EVAL_ONE_SIZED_STR((char *)expr, 451);
}
{
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,5,51,53,50,46,56,95,252,202,6,159,34,20,98,159,34,16,1,20,
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,5,51,53,50,46,57,95,252,202,6,159,34,20,98,159,34,16,1,20,
24,65,98,101,103,105,110,0,16,0,83,158,41,20,95,114,68,109,122,115,99,
104,101,109,101,1,29,2,11,11,10,10,10,34,80,158,34,34,20,98,159,34,
16,0,16,0,74,35,37,109,111,100,117,108,101,45,98,101,103,105,110,3,10,
@ -4198,7 +4195,7 @@
EVAL_ONE_SIZED_STR((char *)expr, 1750);
}
{
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,5,51,53,50,46,56,134,252,16,13,159,34,20,98,159,34,16,1,20,
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,5,51,53,50,46,57,134,252,16,13,159,34,20,98,159,34,16,1,20,
24,65,98,101,103,105,110,0,16,0,83,158,41,20,95,114,66,35,37,114,53,
114,115,1,29,2,11,11,10,10,10,35,80,158,34,34,20,98,159,34,16,1,
30,3,2,2,69,117,110,100,101,102,105,110,101,100,4,254,1,16,0,11,11,
@ -4361,7 +4358,7 @@
EVAL_ONE_SIZED_STR((char *)expr, 3356);
}
{
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,5,51,53,50,46,56,5,89,159,34,20,98,159,34,16,1,20,24,65,
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,5,51,53,50,46,57,5,89,159,34,20,98,159,34,16,1,20,24,65,
98,101,103,105,110,0,16,0,83,160,42,80,158,34,34,34,18,158,94,96,67,
114,101,113,117,105,114,101,1,36,10,11,158,96,10,64,111,110,108,121,2,68,
109,122,115,99,104,101,109,101,3,1,22,110,97,109,101,115,112,97,99,101,45,
@ -4369,7 +4366,7 @@
EVAL_ONE_SIZED_STR((char *)expr, 99);
}
{
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,5,51,53,50,46,56,3,74,159,35,20,98,159,34,16,1,20,24,65,
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,5,51,53,50,46,57,3,74,159,35,20,98,159,34,16,1,20,24,65,
98,101,103,105,110,0,16,0,87,94,248,22,247,68,109,122,115,99,104,101,109,
101,1,83,160,42,80,158,34,34,35,18,158,94,96,78,114,101,113,117,105,114,
101,45,102,111,114,45,115,121,110,116,97,120,2,36,10,11,158,2,1,36,36,
@ -4377,7 +4374,7 @@
EVAL_ONE_SIZED_STR((char *)expr, 84);
}
{
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,5,51,53,50,46,56,2,67,159,38,20,98,159,34,16,0,16,0,248,
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,5,51,53,50,46,57,2,67,159,38,20,98,159,34,16,0,16,0,248,
22,239,248,249,22,241,66,35,37,109,105,115,99,0,1,34,109,97,107,101,45,
115,116,97,110,100,97,114,100,45,109,111,100,117,108,101,45,110,97,109,101,45,
114,101,115,111,108,118,101,114,1,247,22,252,218,2,0};

View File

@ -9,6 +9,6 @@
#define MZSCHEME_VERSION_MAJOR 352
#define MZSCHEME_VERSION_MINOR 8
#define MZSCHEME_VERSION_MINOR 9
#define MZSCHEME_VERSION "352.8" _MZ_SPECIAL_TAG
#define MZSCHEME_VERSION "352.9" _MZ_SPECIAL_TAG

View File

@ -3,7 +3,7 @@
ProjectType="Visual C++"
Version="8.00"
Name="libmzgc"
ProjectGUID="{CB68718B-24BF-43E3-9E96-BCF9B37CFE2D}"
ProjectGUID="{66548E7B-294E-40EF-B7C0-C8D6D7E6234F}"
>
<Platforms>
<Platform

View File

@ -3,7 +3,7 @@
ProjectType="Visual C++"
Version="8.00"
Name="libmzsch"
ProjectGUID="{2D99E176-BCA5-4B8E-B25C-1B2D7179C188}"
ProjectGUID="{A6713577-7DFB-48F8-B8C1-7DB2D7C51F90}"
>
<Platforms>
<Platform

View File

@ -3,6 +3,7 @@
ProjectType="Visual C++"
Version="8.00"
Name="MrStart"
ProjectGUID="{138CC248-8A45-436E-A4A6-E7570D7C2C0F}"
>
<Platforms>
<Platform

View File

@ -3,6 +3,7 @@
ProjectType="Visual C++"
Version="8.00"
Name="MzStart"
ProjectGUID="{838B0D91-A8B3-4716-9D37-E0E444B563D2}"
>
<Platforms>
<Platform

View File

@ -117,7 +117,7 @@ class wxMouseEvent: public wxEvent
Bool controlDown;
Bool shiftDown;
Bool altDown;
Bool metaDown; // mflatt
Bool metaDown;
void CopyFrom(wxMouseEvent *src);
@ -189,6 +189,8 @@ class wxKeyEvent: public wxEvent
long keyCode;
long keyUpCode;
long otherKeyCode;
long altKeyCode;
long otherAltKeyCode;
Bool controlDown;
Bool shiftDown;
Bool altDown;

View File

@ -605,7 +605,7 @@ void wxApp::doMacKeyUpDown(Bool down)
{
wxFrame* theMacWxFrame;
wxKeyEvent *theKeyEvent;
int key, otherKey = 0;
int key, otherKey = 0, optKey = 0, otherOptKey = 0;
theMacWxFrame = findMacWxFrame(MrEdKeyWindow());
@ -662,7 +662,7 @@ void wxApp::doMacKeyUpDown(Bool down)
int iter, akey, orig_key = key;
key = 0; /* let compiler know that key is assigned */
for (iter = 0; iter < ((cCurrentEvent.modifiers & cmdKey) ? 2 : 1); iter++) {
for (iter = 0; iter < ((cCurrentEvent.modifiers & cmdKey) ? 4 : 1); iter++) {
char cstr[3];
int from_str = 0;
@ -684,11 +684,26 @@ void wxApp::doMacKeyUpDown(Bool down)
mods = cCurrentEvent.modifiers;
if (mods & cmdKey) {
/* Strip control and option modifiers when command is pressed: */
mods -= (mods & (optionKey | controlKey | cmdKey | shiftKey));
/* On second iteration, set the shift key: */
if (iter)
mods |= shiftKey;
int mask;
/* Strip control modifier when command is pressed: */
mods -= (mods & (controlKey | cmdKey));
/* On all but first iteration, toggle shift and/or option: */
switch (iter) {
case 0:
mask = 0;
break;
case 1:
mask = shiftKey;
break;
case 2:
mask = optionKey;
break;
default:
case 3:
mask = optionKey | shiftKey;
break;
}
mods = (mods & (~mask)) | ((~mods) & mask);
} else {
/* Remove effect of anything in wxMacDisableMods: */
mods -= (mods & wxMacDisableMods);
@ -782,8 +797,12 @@ void wxApp::doMacKeyUpDown(Bool down)
if (!iter)
key = akey;
else
else if (iter == 1)
otherKey = akey;
else if (iter == 2)
optKey = akey;
else if (iter == 3)
otherOptKey = akey;
}
}
}
@ -796,6 +815,8 @@ void wxApp::doMacKeyUpDown(Bool down)
theKeyEvent->keyUpCode = key;
}
theKeyEvent->otherKeyCode = otherKey;
theKeyEvent->altKeyCode = optKey;
theKeyEvent->otherAltKeyCode = otherOptKey;
{
wxWindow *in_win;

View File

@ -184,11 +184,13 @@ class wxKeyEvent: public wxEvent
long keyCode;
long keyUpCode;
long otherKeyCode;
long altKeyCode;
long otherAltKeyCode;
Bool controlDown;
Bool shiftDown;
Bool altDown;
Bool metaDown;
wxKeyEvent(WXTYPE keyType = 0);
virtual Bool ControlDown(void);

View File

@ -33,6 +33,8 @@ extern long last_msg_time; /* timeStamp implementation */
extern int WM_IS_MRED;
static int sakc_initialized;
static void wxDoOnMouseLeave(wxWindow *wx_window, int x, int y, UINT flags);
static void wxDoOnMouseEnter(wxWindow *wx_window, int x, int y, UINT flags);
@ -866,6 +868,9 @@ static LONG WindowProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam, in
wnd->last_lparam = lParam;
switch (message) {
case WM_INPUTLANGCHANGE:
sakc_initialized = 0;
break;
case WM_COPYDATA:
wxCopyData(lParam);
retval = 0;
@ -2022,17 +2027,36 @@ static int dot_scan_code;
static int generic_ascii_code[256];
static const char *find_shift_alts = "!@#$%^&*()_+-=\\|[]{}:\";',.<>/?~`";
static int shift_alt_key_codes[36], sakc_initialized;
/* The characters in find_shift_alts are things that we'll try
to include in keyboard events as char-if-Shift-weren't-pressed,
char-if-AltGr-weren't-pressed, etc. */
static const char *find_shift_alts = ("!@#$%^&*()_+-=\\|[]{}:\";',.<>/?~`"
"abcdefghijklmnopqrstuvwxyz"
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
"0123456789");
static int other_key_codes[98];
static void init_sakc()
{
int j;
if (!sakc_initialized) {
for (j = 0; find_shift_alts[j]; j++) {
other_key_codes[j] = VkKeyScan(find_shift_alts[j]);
}
sakc_initialized = 1;
}
}
#define THE_SCAN_CODE(lParam) ((((unsigned long)lParam) >> 16) & 0x1FF)
wxKeyEvent *wxMakeCharEvent(BOOL just_check, WORD wParam, LPARAM lParam, Bool isASCII, Bool isRelease, HWND handle)
{
int id, other_id = 0;
Bool tempControlDown, tempAltDown;
int id, other_id = 0, other_alt_id = 0, alt_id = 0;
Bool tempControlDown, tempAltDown, tempShiftDown;
tempControlDown = (::GetKeyState(VK_CONTROL) >> 1);
tempShiftDown = (::GetKeyState(VK_SHIFT) >> 1);
tempAltDown = ((HIWORD(lParam) & KF_ALTDOWN) == KF_ALTDOWN);
if (isASCII) {
@ -2044,6 +2068,39 @@ wxKeyEvent *wxMakeCharEvent(BOOL just_check, WORD wParam, LPARAM lParam, Bool is
sc = THE_SCAN_CODE(lParam);
if ((id >= 0) && (id <= 255))
generic_ascii_code[id] = sc;
{
/* Look for elements of find_shift_alts that have a different
shift/AltGr state: */
short k;
k = MapVirtualKey(sc, 1);
if (k) {
int j;
init_sakc();
for (j = 0; find_shift_alts[j]; j++) {
if ((other_key_codes[j] & 0xFF) == k) {
/* Figure out whether it's different in the shift
for AltGr dimension, or both: */
if (!((other_key_codes[j] & 0x100) != !tempShiftDown)) {
/* shift is different */
if (((other_key_codes[j] & 0x600) == 0x600)
== (tempControlDown && tempAltDown))
other_id = find_shift_alts[j];
else
other_alt_id = find_shift_alts[j];
} else {
/* Shift is the same */
if (((other_key_codes[j] & 0x600) == 0x600)
== (tempControlDown && tempAltDown)) {
/* Shift and ctrl-alt states are the same.
Hopefully, so is the character! */
} else
alt_id = find_shift_alts[j];
}
}
}
}
}
} else {
int override_mapping = (tempControlDown && !tempAltDown);
@ -2051,31 +2108,49 @@ wxKeyEvent *wxMakeCharEvent(BOOL just_check, WORD wParam, LPARAM lParam, Bool is
if (override_mapping || isRelease) {
int j;
id = MapVirtualKey(wParam, 2);
/* Non-AltGr Ctl- combination, or a release event:
Map manually, because the default mapping is
unsatisfactory. */
/* Set id to the unshifted key: */
id = MapVirtualKeyW(wParam, 2);
id &= 0xFFFF;
if (!id)
id = -1;
else if (id < 128)
id = tolower(id);
else {
if (id < 128)
id = tolower(id);
}
/* Look for shifted alternate: */
if (!sakc_initialized) {
for (j = 0; find_shift_alts[j]; j++) {
shift_alt_key_codes[j] = VkKeyScan(find_shift_alts[j]) & 0xFF;
}
}
init_sakc();
for (j = 0; find_shift_alts[j]; j++) {
if (shift_alt_key_codes[j] == wParam) {
if (find_shift_alts[j] != id) {
other_id = find_shift_alts[j];
}
if ((other_key_codes[j] & 0xFF) == wParam) {
if (other_key_codes[j] & 0x100) {
if ((other_key_codes[j] & 0x600) == 0x600)
other_alt_id = find_shift_alts[j];
else
other_id = find_shift_alts[j];
} else if ((other_key_codes[j] & 0x600) == 0x600) {
alt_id = find_shift_alts[j];
}
}
}
if ((id > -1) && tempShiftDown) {
/* shift was pressed, so swap role of shifted and unshifted */
int t;
t = id;
id = other_id;
other_id = t;
t = other_alt_id;
other_alt_id = alt_id;
alt_id = t;
}
} else
id = -1;
} else {
/* Don't generat control-key down events: */
/* Don't generate control-key down events: */
if (!isRelease && (wParam == VK_CONTROL))
return NULL;
@ -2122,7 +2197,7 @@ wxKeyEvent *wxMakeCharEvent(BOOL just_check, WORD wParam, LPARAM lParam, Bool is
event = new wxKeyEvent(wxEVENT_TYPE_CHAR);
if (::GetKeyState(VK_SHIFT) >> 1)
if (tempShiftDown)
event->shiftDown = TRUE;
if (tempControlDown)
event->controlDown = TRUE;
@ -2132,6 +2207,8 @@ wxKeyEvent *wxMakeCharEvent(BOOL just_check, WORD wParam, LPARAM lParam, Bool is
event->keyCode = (isRelease ? WXK_RELEASE : id);
event->keyUpCode = (isRelease ? id : WXK_PRESS);
event->otherKeyCode = other_id;
event->altKeyCode = alt_id;
event->otherAltKeyCode = other_alt_id;
event->SetTimestamp(last_msg_time);
GetCursorPos(&pt);

View File

@ -129,6 +129,8 @@ class wxKeyEvent: public wxEvent
long keyCode;
long keyUpCode;
long otherKeyCode;
long altKeyCode;
long otherAltKeyCode;
Bool controlDown;
Bool shiftDown;
Bool altDown;

View File

@ -1600,7 +1600,8 @@ static int extract_string_key(char *str, int slen)
#endif
}
Status wxWindow::LookupKey(int unshifted, Widget w, wxWindow *win, XEvent *xev, KeySym *_keysym, char *str, int *_len)
Status wxWindow::LookupKey(int unshifted, int unalted,
Widget w, wxWindow *win, XEvent *xev, KeySym *_keysym, char *str, int *_len)
{
KeySym keysym;
Status status;
@ -1614,6 +1615,18 @@ Status wxWindow::LookupKey(int unshifted, Widget w, wxWindow *win, XEvent *xev,
else
evt.state |= ShiftMask;
}
if (unalted) {
if (!(evt.state & Mod1Mask) == !(evt.state & ControlMask)) {
if (evt.state & Mod1Mask)
evt.state -= Mod1Mask;
else
evt.state |= Mod1Mask;
if (evt.state & ControlMask)
evt.state -= ControlMask;
else
evt.state |= ControlMask;
}
}
#ifndef NO_XMB_LOOKUP_STRING
if (!the_im) {
@ -1653,6 +1666,18 @@ Status wxWindow::LookupKey(int unshifted, Widget w, wxWindow *win, XEvent *xev,
return status;
}
static int status_to_kc(Status status, XEvent *xev, KeySym keysym, char *str, int slen)
{
if (XMB_STR_PREFERRED_STATUS(status, xev))
return extract_string_key(str, slen);
else if (XMB_KC_STATUS(status))
return CharCodeXToWX(keysym);
else if (XMB_STR_STATUS(status))
return extract_string_key(str, slen);
else
return 0;
}
void wxWindow::WindowEventHandler(Widget w,
wxWindow **winp,
XEvent *xev,
@ -1715,16 +1740,18 @@ void wxWindow::WindowEventHandler(Widget w,
win->current_state = xev->xkey.state;
{ /* ^^^ fallthrough !!!! ^^^ */
wxKeyEvent *wxevent;
KeySym keysym, other_keysym;
long kc, other_kc;
Status status, other_status;
char str[10], other_str[10];
int slen, other_slen;
KeySym keysym, other_keysym, alt_keysym, other_alt_keysym;
long kc, other_kc, alt_kc, other_alt_kc;
Status status, other_status, alt_status, other_alt_status;
char str[10], other_str[10], alt_str[10], other_alt_str[10];
int slen, other_slen, alt_slen, other_alt_slen;
wxevent = new wxKeyEvent(wxEVENT_TYPE_CHAR);
status = LookupKey(0, w, win, xev, &keysym, str, &slen);
other_status = LookupKey(1, w, win, xev, &other_keysym, other_str, &other_slen);
status = LookupKey(0, 0, w, win, xev, &keysym, str, &slen);
other_status = LookupKey(1, 0, w, win, xev, &other_keysym, other_str, &other_slen);
alt_status = LookupKey(0, 1, w, win, xev, &alt_keysym, alt_str, &alt_slen);
other_alt_status = LookupKey(1, 1, w, win, xev, &other_alt_keysym, other_alt_str, &other_alt_slen);
if (xev->xany.type == KeyPress) {
static int handle_alt = 0;
@ -1743,29 +1770,18 @@ void wxWindow::WindowEventHandler(Widget w,
}
}
if (XMB_STR_PREFERRED_STATUS(status, xev))
kc = extract_string_key(str, slen);
else if (XMB_KC_STATUS(status))
kc = CharCodeXToWX(keysym);
else if (XMB_STR_STATUS(status))
kc = extract_string_key(str, slen);
else
kc = 0;
if (XMB_STR_PREFERRED_STATUS(other_status, xev))
other_kc = extract_string_key(other_str, other_slen);
else if (XMB_KC_STATUS(other_status))
other_kc = CharCodeXToWX(other_keysym);
else if (XMB_STR_STATUS(other_status))
other_kc = extract_string_key(other_str, other_slen);
else
other_kc = 0;
kc = status_to_kc(status, xev, keysym, str, slen);
other_kc = status_to_kc(other_status, xev, other_keysym, other_str, other_slen);
alt_kc = status_to_kc(alt_status, xev, alt_keysym, alt_str, alt_slen);
other_alt_kc = status_to_kc(other_alt_status, xev, other_alt_keysym, other_alt_str, other_alt_slen);
// set wxWindows event structure
wxevent->eventHandle = (char*)xev;
wxevent->keyCode = (xev->xany.type == KeyPress) ? kc : WXK_RELEASE;
wxevent->keyUpCode = (xev->xany.type == KeyRelease) ? kc : WXK_PRESS;
wxevent->otherKeyCode = other_kc;
wxevent->altKeyCode = alt_kc;
wxevent->otherAltKeyCode = other_alt_kc;
wxevent->x = xev->xkey.x;
wxevent->y = xev->xkey.y;
wxevent->altDown = /* xev->xkey.state & Mod3Mask */ FALSE;

View File

@ -193,7 +193,8 @@ protected:
static void WindowEventHandler(Widget w, wxWindow **win,
XEvent *ev, Boolean *continue_to_dispatch_return);
static void ScrollEventHandler(Widget w, wxWindow **win, XtPointer p_XfwfScrollInfo);
static Status LookupKey(int unshifted, Widget w, wxWindow *win, XEvent *xev, KeySym *_keysym, char *s, int *_len);
static Status LookupKey(int unshifted, int unalted,
Widget w, wxWindow *win, XEvent *xev, KeySym *_keysym, char *s, int *_len);
void RegisterAll(Widget ww);
# endif
protected: