Scatter_Ctrl: Added focus and response to only key events

git-svn-id: svn://ultimatepp.org/upp/trunk@7913 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
koldo 2014-11-21 22:38:09 +00:00
parent 5455ea9f1f
commit 8ed348c436
9 changed files with 271 additions and 64 deletions

View file

@ -9,19 +9,6 @@ NAMESPACE_UPP
#define TFILE <ScatterCtrl/ScatterCtrl.t>
#include <Core/t.h>
// ctrl alt shift left middle middleWheel right action
ScatterCtrl::MouseBehaviour defaultMouse[] = {
{false, false, false, true , false, 0, false, ScatterCtrl::SHOW_COORDINATES},
{true, false, false, true , false, 0, false, ScatterCtrl::ZOOM_WINDOW},
{false, false, false, false, false, 0, true , ScatterCtrl::CONTEXT_MENU},
{false, false, false, false, true , 0, false, ScatterCtrl::SCROLL},
{false, false, false, false, false, 1, false, ScatterCtrl::ZOOM_H_RED},
{false, false, false, false, false, 1, false, ScatterCtrl::ZOOM_V_RED},
{false, false, false, false, false,-1, false, ScatterCtrl::ZOOM_H_ENL},
{false, false, false, false, false,-1, false, ScatterCtrl::ZOOM_V_ENL},
{false, false, false, false, false, 0, false, ScatterCtrl::NO_ACTION}};
#ifdef PLATFORM_WIN32
void ScatterCtrl::SaveAsMetafile(const char* file)
@ -82,6 +69,12 @@ void ScatterCtrl::Paint(Draw& w)
w.DrawImage(0, 0, ib);
PlotTexts(w, GetSize(), 1);
}
if (HasFocus()) {
w.DrawLine(0, 0, GetSize().cx, 0, 4, LtGray());
w.DrawLine(GetSize().cx, 0, GetSize().cx, GetSize().cy, 4, LtGray());
w.DrawLine(GetSize().cx, GetSize().cy, 0, GetSize().cy, 4, LtGray());
w.DrawLine(0, 0, 0, GetSize().cy, 4, LtGray());
}
}
lastRefresh_ms = t.Elapsed();
}
@ -165,7 +158,7 @@ void ScatterCtrl::ProcessPopUp(const Point & pt)
popText.SetText(str).Move(this, p2.x, p2.y);
}
void ScatterCtrl::DoMouseAction(bool down, Point pt, MouseAction action, int value)
void ScatterCtrl::DoMouseAction(bool down, Point pt, ScatterAction action, int value)
{
if (!down) {
Scrolling(false, pt);
@ -192,21 +185,53 @@ void ScatterCtrl::DoMouseAction(bool down, Point pt, MouseAction action, int val
}
}
bool ScatterCtrl::SetMouseBehavior(MouseBehaviour *_mouseBehavior)
void ScatterCtrl::DoKeyAction(ScatterAction action)
{
if (!_mouseBehavior)
return false;
int i;
for (i = 0; _mouseBehavior[i].action != NO_ACTION && i < MAX_MOUSEBEHAVIOR; ++i) ;
if (i == MAX_MOUSEBEHAVIOR)
return false;
mouseBehavior = _mouseBehavior;
return true;
switch (action) {
case ZOOM_H_ENL: MouseZoom(-120, true, false); break;
case ZOOM_H_RED: MouseZoom(120, true, false); break;
case ZOOM_V_ENL: MouseZoom(-120, false, true); break;
case ZOOM_V_RED: MouseZoom(120, false, true); break;
case SCROLL_LEFT: ScatterDraw::Scroll(0.2, 0); break;
case SCROLL_RIGHT: ScatterDraw::Scroll(-0.2, 0); break;
case SCROLL_UP: ScatterDraw::Scroll(0, -0.2); break;
case SCROLL_DOWN: ScatterDraw::Scroll(0, 0.2); break;
case NO_ACTION:;
}
}
void ScatterCtrl::AddMouseBehavior(bool ctrl, bool alt, bool shift, bool left, bool middle, int middlewheel, bool right, ScatterAction action)
{
mouseBehavior << MouseBehavior(ctrl, alt, shift, left, middle, middlewheel, right, action);
}
void ScatterCtrl::AddKeyBehavior(bool ctrl, bool alt, bool shift, int key, bool isVirtualKey, ScatterAction action)
{
if (!isVirtualKey) {
#if defined(PLATFORM_WIN32) || defined (PLATFORM_WIN64)
HKL hKeyboardLayout = ::GetKeyboardLayout(0);
key = VkKeyScanExW(key, hKeyboardLayout) + K_DELTA;
}
#else
XDisplay dpy;
if (!(dpy = XOpenDisplay(NULL)))
return;
if (key > 0x00ff)
key = key | 0x01000000;
key = XKeysymToKeycode(dpy, key) + K_DELTA;
XFlush(dpy);
XCloseDisplay(dpy);
}
#endif
keyBehavior << KeyBehavior(ctrl, alt, shift, key, isVirtualKey, action);
}
void ScatterCtrl::ProcessMouse(bool down, Point &pt, bool ctrl, bool alt, bool shift, bool left, bool middle, int middleWheel, bool right)
{
for (int i = 0; mouseBehavior[i].action != NO_ACTION && i < MAX_MOUSEBEHAVIOR; ++i) {
for (int i = 0; i < mouseBehavior.GetCount(); ++i) {
if (mouseBehavior[i].ctrl == ctrl && mouseBehavior[i].alt == alt &&
mouseBehavior[i].shift == shift && mouseBehavior[i].left == left &&
mouseBehavior[i].middle == middle && mouseBehavior[i].right == right &&
@ -215,6 +240,20 @@ void ScatterCtrl::ProcessMouse(bool down, Point &pt, bool ctrl, bool alt, bool s
}
}
void ScatterCtrl::ProcessKey(int key)
{
if (key & K_KEYUP)
return;
bool ctrl = key & K_CTRL;
bool alt = key & K_ALT;
bool shift = key & K_SHIFT;
key &= ~(K_CTRL | K_ALT | K_SHIFT | K_KEYUP);
for (int i = 0; i < keyBehavior.GetCount(); ++i) {
if (keyBehavior[i].ctrl == ctrl && keyBehavior[i].alt == alt && keyBehavior[i].shift == shift && keyBehavior[i].key == key)
DoKeyAction(keyBehavior[i].action);
}
}
void ScatterCtrl::LabelPopUp(bool down, Point &pt)
{
if (down) {
@ -273,6 +312,7 @@ void ScatterCtrl::ZoomWindow(bool down, Point &pt)
popLT = popRB = Null;
Refresh();
Refresh();
}
}
}
@ -304,8 +344,26 @@ void ScatterCtrl::Scrolling(bool down, Point &pt, bool isOut)
}
}
bool ScatterCtrl::Key(dword key, int count)
{
ProcessKey(key);
return false;
}
void ScatterCtrl::GotFocus()
{
Refresh();
}
void ScatterCtrl::LostFocus()
{
Refresh();
}
void ScatterCtrl::LeftDown(Point pt, dword keyFlags)
{
if(!HasFocus())
SetFocus();
isLeftDown = true;
ProcessMouse(true, pt, keyFlags & K_CTRL, keyFlags & K_ALT, keyFlags & K_SHIFT, true, false, 0, false);
}
@ -318,6 +376,8 @@ void ScatterCtrl::LeftUp(Point pt, dword keyFlags)
void ScatterCtrl::MiddleDown(Point pt, dword keyFlags)
{
if(!HasFocus())
SetFocus();
ProcessMouse(true, pt, keyFlags & K_CTRL, keyFlags & K_ALT, keyFlags & K_SHIFT, false, true, 0, false);
}
@ -328,6 +388,8 @@ void ScatterCtrl::MiddleUp(Point pt, dword keyFlags)
void ScatterCtrl::RightDown(Point pt, dword keyFlags)
{
if(!HasFocus())
SetFocus();
ProcessMouse(true, pt, keyFlags & K_CTRL, keyFlags & K_ALT, keyFlags & K_SHIFT, false, false, 0, true);
}
@ -340,6 +402,8 @@ void ScatterCtrl::MouseWheel(Point pt, int zdelta, dword keyFlags)
{
if (zdelta == 0)
return;
if(!HasFocus())
SetFocus();
ProcessMouse(true, pt, keyFlags & K_CTRL, keyFlags & K_ALT, keyFlags & K_SHIFT, false, false, zdelta, false);
}
@ -447,7 +511,7 @@ void ScatterCtrl::ContextMenu(Bar& bar)
bar.Separator();
}
bar.Add(t_("Copy"), ScatterImg::Copy(), THISBACK1(SaveToClipboard, false)).Key(K_CTRL_C);
bar.Add(t_("Save to file"), ScatterImg::Save(), THISBACK1(SaveToFile, Null));
bar.Add(t_("Save to file"), ScatterImg::Save(), THISBACK1(SaveToFile, Null)).Key(K_CTRL_S);
}
void ScatterCtrl::SaveToFile(String fileName)
@ -499,6 +563,7 @@ void ScatterCtrl::InsertSeries(int id, GridCtrl &data, bool useCols, int idX, in
ScatterCtrl::ScatterCtrl() : offset(10,12), copyRatio(1), isLeftDown(false)
{
showInfo = mouseHandlingX = mouseHandlingY = isScrolling = isLabelPopUp = isZoomWindow = false;
WantFocus();
popTextX = "x";
popTextY = "y1";
popTextY2 = "y2";
@ -508,11 +573,34 @@ ScatterCtrl::ScatterCtrl() : offset(10,12), copyRatio(1), isLeftDown(false)
Color(graphColor);
BackPaint();
popText.SetColor(SColorFace);
SetMouseBehavior(defaultMouse);
lastRefresh_ms = Null;
maxRefresh_ms = 500;
highlighting = false;
ShowInfo().ShowContextMenu().ShowPropertiesDlg();
AddMouseBehavior(false, false, false, true , false, 0, false, ScatterCtrl::SHOW_COORDINATES);
AddMouseBehavior(true, false, false, true , false, 0, false, ScatterCtrl::ZOOM_WINDOW);
AddMouseBehavior(false, false, false, false, false, 0, true , ScatterCtrl::CONTEXT_MENU);
AddMouseBehavior(false, false, false, false, true , 0, false, ScatterCtrl::SCROLL);
AddMouseBehavior(false, false, false, false, false, 1, false, ScatterCtrl::ZOOM_H_RED);
AddMouseBehavior(false, false, false, false, false, 1, false, ScatterCtrl::ZOOM_V_RED);
AddMouseBehavior(false, false, false, false, false,-1, false, ScatterCtrl::ZOOM_H_ENL);
AddMouseBehavior(false, false, false, false, false,-1, false, ScatterCtrl::ZOOM_V_ENL);
AddMouseBehavior(false, false, false, false, false, 0, false, ScatterCtrl::NO_ACTION);
AddKeyBehavior(true, false, false, '+', false, ScatterCtrl::ZOOM_H_ENL);
AddKeyBehavior(true, false, false, K_ADD, true, ScatterCtrl::ZOOM_H_ENL);
AddKeyBehavior(true, false, false, '+', false, ScatterCtrl::ZOOM_V_ENL);
AddKeyBehavior(true, false, false, K_ADD, true, ScatterCtrl::ZOOM_V_ENL);
AddKeyBehavior(true, false, false, '-', false, ScatterCtrl::ZOOM_H_RED);
AddKeyBehavior(true, false, false, K_SUBTRACT, true, ScatterCtrl::ZOOM_H_RED);
AddKeyBehavior(true, false, false, '-', false, ScatterCtrl::ZOOM_V_RED);
AddKeyBehavior(true, false, false, K_SUBTRACT, true, ScatterCtrl::ZOOM_V_RED);
AddKeyBehavior(true, false, false, K_LEFT, true, ScatterCtrl::SCROLL_LEFT);
AddKeyBehavior(true, false, false, K_RIGHT, true, ScatterCtrl::SCROLL_RIGHT);
AddKeyBehavior(true, false, false, K_UP, true, ScatterCtrl::SCROLL_UP);
AddKeyBehavior(true, false, false, K_DOWN, true, ScatterCtrl::SCROLL_DOWN);
}
END_UPP_NAMESPACE

View file

@ -119,15 +119,18 @@ public:
virtual inline int64 GetCount() {return numData;};
};
class ScatterCtrl : public StaticRect, public ScatterDraw {
class ScatterCtrl : public Ctrl, public ScatterDraw {
public:
typedef ScatterCtrl CLASSNAME;
ScatterCtrl();
enum MouseAction {NO_ACTION = 0, SCROLL, ZOOM_H_ENL, ZOOM_H_RED, ZOOM_V_ENL, ZOOM_V_RED, SHOW_COORDINATES, CONTEXT_MENU, ZOOM_WINDOW};
enum ScatterAction {NO_ACTION = 0, SCROLL, ZOOM_H_ENL, ZOOM_H_RED, ZOOM_V_ENL, ZOOM_V_RED, SHOW_COORDINATES, CONTEXT_MENU, ZOOM_WINDOW,
SCROLL_LEFT, SCROLL_RIGHT, SCROLL_UP, SCROLL_DOWN};
#define SHOW_INFO SHOW_COORDINATES
struct MouseBehaviour {
struct MouseBehavior {
MouseBehavior(bool ctrl, bool alt, bool shift, bool left, bool middle, int middleWheel, bool right, ScatterAction action) :
ctrl(ctrl), alt(alt), shift(shift), left(left), middle(middle), middleWheel(middleWheel), right(right), action(action) {}
bool ctrl;
bool alt;
bool shift;
@ -135,12 +138,24 @@ public:
bool middle;
int middleWheel;
bool right;
MouseAction action;
ScatterAction action;
};
Array<MouseBehavior> mouseBehavior;
void AddMouseBehavior(bool ctrl, bool alt, bool shift, bool left, bool middle, int middlewheel, bool right, ScatterAction action);
#define MAX_MOUSEBEHAVIOR 20
bool SetMouseBehavior(MouseBehaviour *_mouseBehavior);
struct KeyBehavior {
KeyBehavior(bool ctrl, bool alt, bool shift, int key, bool isVirtualKey, ScatterAction action) :
ctrl(ctrl), alt(alt), shift(shift), key(key), isVirtualKey(isVirtualKey), action(action) {}
bool ctrl;
bool alt;
bool shift;
int key;
bool isVirtualKey;
ScatterAction action;
};
Array<KeyBehavior> keyBehavior;
void AddKeyBehavior(bool ctrl, bool alt, bool shift, int key, bool isVirtualKey, ScatterAction action);
ScatterCtrl& ShowContextMenu(bool show = true) {showContextMenu = show; return *this;}
ScatterCtrl& ShowPropertiesDlg(bool show = true) {showPropDlg = show; return *this;}
ScatterCtrl& SetPopText(const String x, const String y1, const String y2)
@ -238,8 +253,6 @@ private:
bool highlighting;
MouseBehaviour *mouseBehavior;
void ProcessPopUp(const Point & pt);
virtual void Paint(Draw& w);
@ -252,9 +265,14 @@ private:
virtual void RightUp(Point, dword);
virtual void MouseLeave();
virtual void MouseWheel(Point, int zdelta, dword);
virtual bool Key(dword key, int count);
virtual void GotFocus();
virtual void LostFocus();
void DoMouseAction(bool down, Point pt, MouseAction action, int value);
void DoMouseAction(bool down, Point pt, ScatterAction action, int value);
void DoKeyAction(ScatterAction action);
void ProcessMouse(bool down, Point &pt, bool ctrl, bool alt, bool shift, bool left, bool middle, int middleWheel, bool right);
void ProcessKey(int key);
void LabelPopUp(bool down, Point &pt);
void Scrolling(bool down, Point &pt, bool isOut = false);
void MouseZoom(int zdelta, bool hor, bool ver);

View file

@ -0,0 +1,62 @@
topic "struct KeyBehavior";
[ $$0,0#00000000000000000000000000000000:Default]
[i448;a25;kKO9; $$1,0#37138531426314131252341829483380:structitem]
[l288;2 $$2,0#27521748481378242620020725143825:desc]
[0 $$3,0#96390100711032703541132217272105:end]
[b42;2 $$4,4#13035079074754324216151401829390:normal]
[i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item]
[H6;0 $$6,0#05600065144404261032431302351956:begin]
[{_}
[s3; &]
[ {{10000@3 [s0;%% [*@(229)4 ScatterCtrl`::KeyBehavior]]}}&]
[s3;%% &]
[s1;:ScatterCtrl`:`:KeyBehavior`:`:struct: [@(0.0.255) struct]_[* KeyBehavior]&]
[s4;%% This structure is used to describe the behavior of the keys
when used in ScatterCtrl. It includes the keyboard conditions
that, when complied, will launch the indicated action.&]
[s3;%% &]
[s0; &]
[ {{10000F(128)G(128)@1 [s0;%% [* Public Member List]]}}&]
[s3;%% &]
[s5;:ScatterCtrl`:`:KeyBehaviour`:`:ctrl: [@(0.0.255) bool]_[* ctrl]&]
[s2;%% Set to true if Ctrl has to be pressed.&]
[s3;%% &]
[s6; &]
[s5;:ScatterCtrl`:`:KeyBehaviour`:`:alt: [@(0.0.255) bool]_[* alt]&]
[s2;%% Set to true if Alt has to be pressed.&]
[s3; &]
[s6; &]
[s5;:ScatterCtrl`:`:KeyBehaviour`:`:shift: [@(0.0.255) bool]_[* shift]&]
[s2;%% Set to true if Shift has to be pressed.&]
[s3; &]
[s6; &]
[s5;:ScatterCtrl`:`:KeyBehaviour`:`:key: [@(0.0.255) int]_[* key]&]
[s2;%% Set the char or virtual key that activates the action..&]
[s3; &]
[s6; &]
[s5;:ScatterCtrl`:`:KeyBehaviour`:`:isVirtualKey: [@(0.0.255) bool]_[* isVirtualKey]&]
[s2;%% Set to true if the key is a K`_... virtual key. If false,
key is a real char like `'e`' or `'`+`'.&]
[s3; &]
[s6; &]
[s5;:ScatterCtrl`:`:MouseBehaviour`:`:action: ScatterAction_[* action]&]
[s2;%% Is the action to be launched if the previous conditions are
complied. It can be:&]
[s2;i150;O0;~~~1248;%% NO`_ACTION-|No action.&]
[s2;i150;O0;~~~1248;%% SCROLL-|Scrolls the graphs.&]
[s2;i150;O0;~~~1248;%% ZOOM`_H`_ENL-|Zooms horizontally enlarging
the graphs. &]
[s2;i150;O0;~~~1248;%% ZOOM`_H`_RED-|Zooms horizontally reducing the
graphs.&]
[s2;i150;O0;~~~1248;%% ZOOM`_V`_ENL-|Zooms vertically enlarging the
graphs.&]
[s2;i150;O0;~~~1248;%% ZOOM`_V`_RED-|Zooms horizontally reducing the
graphs.&]
[s2;i150;O0;%% SHOW`_INFO-|Shows an info label including mouse real
X and Y coordinates.&]
[s2;i150;O0;%% ZOOM`_WINDOW-|Zoom in the window selected by the mouse.&]
[s2;i150;O0;%% SCROLL`_LEFT-|Scrolls left the graph.&]
[s2;i150;O0;%% SCROLL`_RIGHT-|Scrolls right the graph.&]
[s2;i150;O0;%% SCROLL`_UP-|Scrolls up the graph.&]
[s2;i150;O0;%% SCROLL`_DOWN-|Scrolls down the graph.&]
[s0;%% ]]

View file

@ -0,0 +1,7 @@
TITLE("struct KeyBehavior")
COMPRESSED
120,156,173,85,107,83,219,56,20,253,43,154,105,187,64,151,102,244,176,99,199,254,2,203,163,100,128,184,67,216,178,91,143,39,126,68,193,26,20,139,145,109,24,150,194,111,223,43,59,108,30,37,27,182,179,249,224,137,164,123,142,206,61,186,87,10,209,251,247,120,23,191,195,27,126,222,33,159,36,181,172,162,80,88,150,235,39,212,246,111,78,131,158,15,112,2,112,230,16,230,218,140,88,180,11,31,194,8,181,41,179,136,75,123,150,203,152,139,189,178,210,117,86,137,138,79,163,80,82,215,245,41,32,41,32,169,99,83,226,88,174,229,18,230,184,20,8,40,198,20,59,212,38,22,115,169,237,141,121,153,69,33,134,112,6,225,189,46,235,97,130,177,67,8,102,212,193,204,182,8,97,20,40,168,67,9,182,61,94,140,163,48,181,104,179,129,181,107,189,35,12,130,176,211,195,142,229,216,22,131,29,72,151,0,57,54,234,128,204,43,148,158,38,114,53,49,3,183,55,102,230,96,175,205,233,164,235,27,137,93,99,165,221,5,195,186,176,133,101,97,128,25,161,22,3,25,
148,217,164,103,119,189,148,95,139,34,10,31,71,79,40,44,153,143,126,137,66,244,248,72,140,205,123,12,166,176,255,225,3,10,63,238,109,83,218,219,177,208,48,75,170,138,235,131,74,203,216,243,78,249,195,111,60,79,238,132,210,81,244,244,4,88,160,128,120,243,135,248,222,82,112,188,24,109,134,237,41,120,40,220,219,198,29,220,161,182,189,131,218,185,104,20,126,68,139,220,134,207,50,196,151,185,40,103,65,181,230,8,6,117,201,199,168,82,200,156,140,22,41,71,85,206,81,58,3,34,53,105,198,55,252,161,68,247,57,47,218,112,81,44,230,209,65,253,10,166,50,89,3,199,75,120,170,18,61,70,153,42,198,162,18,170,48,243,73,181,219,114,100,106,122,43,5,31,195,80,72,137,100,82,23,89,222,0,5,132,3,49,108,145,100,6,214,89,114,4,47,185,123,188,77,168,187,243,185,249,238,145,185,211,232,75,157,74,145,161,115,62,77,185,70,103,162,172,126,240,214,254,23,111,235,198,220,12,230,151,173,77,149,146,141,177,102,169,113,148,26,186,33,175,140,125,
96,41,200,159,32,195,135,242,164,52,115,96,230,173,230,37,56,182,156,71,215,127,163,136,68,86,107,52,192,202,90,9,251,178,90,171,224,191,237,95,230,98,178,78,65,179,182,86,195,208,172,254,79,42,160,154,150,53,136,162,173,112,88,88,17,0,37,148,229,9,148,173,70,119,66,87,117,34,77,80,83,123,77,69,221,65,109,181,37,58,171,175,159,18,36,202,175,45,249,233,170,178,127,220,89,12,89,107,210,172,85,76,23,38,232,52,30,117,58,157,69,217,208,87,19,52,73,100,201,119,231,97,154,195,98,147,163,20,55,28,197,91,60,222,50,233,198,91,241,175,241,214,155,210,57,87,208,196,203,117,214,152,225,189,52,245,126,51,108,202,172,249,55,79,160,191,104,222,236,104,219,246,53,183,66,155,17,28,181,33,46,23,155,63,129,187,230,165,235,155,235,34,75,10,192,122,45,177,32,54,246,3,236,63,63,63,19,10,215,54,108,52,8,226,209,254,193,101,63,24,124,250,62,80,139,183,193,171,225,195,131,139,224,236,236,211,247,97,166,149,148,173,200,107,157,220,
230,229,122,204,183,32,56,143,71,39,241,232,104,0,200,111,74,77,75,148,43,45,254,82,69,149,72,249,128,120,33,19,13,151,251,245,34,29,218,204,119,113,116,248,42,159,230,227,58,91,161,219,192,246,117,73,221,29,215,21,92,143,107,181,109,38,251,121,105,198,228,147,224,42,30,245,7,199,1,24,157,171,123,56,214,2,122,113,162,160,4,82,46,103,79,128,97,153,154,10,107,75,245,15,8,26,163,63,225,244,149,134,53,211,127,63,50,183,250,174,250,131,195,224,170,213,103,158,24,163,229,30,94,4,117,143,74,46,121,102,158,133,244,161,153,110,54,120,69,97,83,6,241,232,236,232,248,114,94,12,146,79,170,121,98,235,81,23,253,207,39,11,48,45,174,243,55,225,126,255,50,7,213,183,111,65,64,154,131,57,6,18,44,86,80,77,116,20,253,13,211,248,16,248,

View file

@ -10,15 +10,10 @@ topic "1.1 MouseBehaviour";
[s1; &]
[ {{10000@3 [s0;%% [*@(229)4 ScatterCtrl`::MouseBehavior]]}}&]
[s1;%% &]
[s2;:ScatterCtrl`:`:MouseBehaviour`:`:struct: [@(0.0.255)3 struct][3 _][*3 MouseBehavior]&]
[s2;:ScatterCtrl`:`:MouseBehavior`:`:struct: [@(0.0.255)3 struct][3 _][*3 MouseBehavior]&]
[s3;%% This structure is used to describe the behavior of the mouse
when used in ScatterCtrl. It includes the keyboard and mouse
conditions that, when complied, will launch the indicated action.&]
[s3;%% It is used by SetMouseBehavior(MouseBehaviour `*`_mouseBehavior)
function to set an array of MouseBehavior items that will be
used to launch actions as zooming or scrolling when mouse is
used.&]
[s3;%% The default array is in ScatterCtrl`::MouseBehaviour defaultMouse.&]
[s1;%% &]
[s0; &]
[ {{10000F(128)G(128)@1 [s0;%% [* Public Member List]]}}&]
@ -51,11 +46,10 @@ used.&]
[s5;%% Set to true if mouse right button has to be pressed.&]
[s1; &]
[s6; &]
[s4;:ScatterCtrl`:`:MouseBehaviour`:`:action: MouseAction_[* action]&]
[s4;:ScatterCtrl`:`:MouseBehaviour`:`:action: ScatterAction_[* action]&]
[s5;%% Is the action to be launched if the previous conditions are
complied. It can be:&]
[s5;i150;O0;~~~1248;%% NO`_ACTION-|No action. It serves to mark the
end of MouseBehavior array.&]
[s5;i150;O0;~~~1248;%% NO`_ACTION-|No action.&]
[s5;i150;O0;~~~1248;%% SCROLL-|Scrolls the graphs.&]
[s5;i150;O0;~~~1248;%% ZOOM`_H`_ENL-|Zooms horizontally enlarging
the graphs. &]
@ -65,7 +59,11 @@ graphs.&]
graphs.&]
[s5;i150;O0;~~~1248;%% ZOOM`_V`_RED-|Zooms horizontally reducing the
graphs.&]
[s5;i150;O0;~~~1248;%% SHOW`_INFO-|Shows an info label including mouse
real X and Y coordinates.&]
[s1;%% &]
[s0;%% ]]
[s5;i150;O0;%% SHOW`_INFO-|Shows an info label including mouse real
X and Y coordinates.&]
[s5;i150;O0;%% ZOOM`_WINDOW-|Zoom in the window selected by the mouse.&]
[s5;i150;O0;%% SCROLL`_LEFT-|Scrolls left the graph.&]
[s5;i150;O0;%% SCROLL`_RIGHT-|Scrolls right the graph.&]
[s5;i150;O0;%% SCROLL`_UP-|Scrolls up the graph.&]
[s5;i150;O0;%% SCROLL`_DOWN-|Scrolls down the graph.&]
[s1;%% ]]

View file

@ -1,7 +1,7 @@
TITLE("1.1 MouseBehaviour")
COMPRESSED
120,156,181,86,109,111,219,54,16,254,43,4,218,14,73,144,26,124,145,44,89,250,146,44,109,151,96,137,61,212,197,186,85,16,108,74,162,35,34,180,20,80,116,130,52,77,126,251,142,148,147,90,105,5,103,67,230,15,134,196,187,123,238,185,71,71,30,19,244,250,53,222,199,175,240,150,95,244,78,44,248,74,153,52,193,16,65,32,98,52,100,35,76,48,14,8,193,140,6,152,249,30,33,140,82,18,208,128,18,236,71,162,42,210,68,122,94,24,115,234,199,23,191,79,70,49,133,88,10,177,44,32,44,244,25,241,232,16,254,8,35,212,167,204,35,33,29,121,33,99,33,142,114,197,155,38,77,50,143,186,24,182,207,94,17,6,41,112,48,194,129,23,248,30,163,30,37,67,226,19,15,219,48,160,18,85,181,94,114,245,179,148,222,214,148,1,142,164,17,203,52,81,52,12,93,140,15,49,52,240,161,28,47,244,66,194,130,16,50,14,41,198,20,7,20,210,178,144,250,81,33,154,60,77,142,135,177,21,101,104,101,244,135,32,214,16,236,158,135,193,223,74,227,49,160,78,
153,79,70,254,48,202,196,185,172,210,228,118,118,135,146,134,196,232,151,52,65,183,183,196,74,124,192,96,9,199,111,222,160,100,239,96,135,210,209,174,135,166,57,55,70,232,35,163,213,60,138,206,234,85,35,126,21,37,191,146,181,78,211,187,59,136,6,16,136,176,15,52,142,58,238,243,142,255,74,219,149,198,232,85,110,34,148,28,236,224,1,30,80,223,223,101,168,93,76,19,134,102,105,178,199,80,55,141,133,102,54,199,167,82,54,107,223,149,22,8,94,192,173,64,166,70,86,6,45,51,129,76,41,80,182,14,68,245,194,189,47,45,26,186,46,69,213,250,203,106,179,170,1,58,49,176,148,171,21,128,56,255,11,113,147,213,92,23,136,87,197,58,56,175,171,66,26,89,87,214,131,155,253,22,45,175,151,151,74,138,2,94,165,82,72,241,85,149,151,14,66,130,59,164,128,100,60,183,97,131,199,26,108,178,53,239,236,6,77,133,233,212,186,211,21,12,205,247,230,179,229,166,195,46,90,64,18,11,105,203,110,132,1,146,136,107,205,111,108,181,29,44,100,251,169,229,
219,242,3,121,30,244,90,83,109,201,53,136,55,232,107,93,47,101,117,142,32,14,164,172,149,178,47,174,202,86,129,53,233,193,198,199,16,32,187,219,146,107,2,224,210,149,246,73,195,64,61,235,0,183,58,232,244,14,238,116,226,135,29,66,195,221,223,220,255,1,249,222,149,232,143,85,166,100,142,206,196,50,19,26,157,202,198,252,208,133,222,51,186,48,7,75,167,7,81,86,215,42,157,65,6,107,114,45,231,91,64,248,64,86,47,232,57,144,96,129,44,34,42,65,46,88,3,57,47,181,104,30,68,121,204,63,140,159,77,131,43,211,195,2,44,189,36,14,65,241,62,14,255,150,65,83,202,69,31,7,103,235,101,49,181,214,23,227,161,68,47,13,107,234,101,209,54,167,117,65,217,202,24,216,22,47,197,104,41,139,66,137,30,78,173,113,11,171,214,233,255,225,245,185,20,226,73,7,203,202,108,112,115,14,207,35,120,109,93,55,248,217,221,255,159,233,105,121,94,246,125,73,103,219,194,201,249,188,180,102,237,57,23,181,231,227,161,123,113,155,204,61,125,39,116,210,
158,255,252,241,124,133,196,237,73,105,167,70,59,76,128,136,133,109,54,71,2,215,226,113,22,184,113,146,195,161,156,137,168,5,150,196,199,241,4,199,247,247,247,132,194,197,0,18,141,39,243,217,225,209,167,147,201,248,237,183,113,253,48,35,108,100,35,244,149,112,69,47,185,190,112,25,225,22,243,227,217,238,78,220,65,111,130,233,209,199,201,233,233,219,111,83,119,148,183,101,157,107,126,89,54,253,49,95,38,147,179,249,236,120,62,123,63,134,200,47,48,15,26,84,214,90,126,173,43,195,149,186,1,34,138,235,115,59,23,54,224,208,118,188,143,239,223,253,20,79,139,98,149,63,129,219,130,246,103,135,221,149,208,6,198,108,47,183,237,96,47,66,109,122,60,249,60,159,157,140,63,76,64,240,178,190,110,236,76,150,213,194,142,217,12,118,86,123,185,176,104,235,22,23,92,161,191,220,237,226,111,232,155,90,131,13,238,10,205,211,129,8,15,105,250,15,15,143,143,58,
120,156,181,85,107,111,219,54,20,253,43,4,218,14,73,145,6,124,232,101,233,75,178,60,26,99,137,85,196,217,178,85,16,108,61,152,136,40,45,6,18,85,35,75,147,223,190,75,201,171,237,204,154,179,34,243,7,193,226,189,231,220,195,67,234,222,8,189,125,139,247,240,27,188,229,231,31,243,155,164,145,58,142,48,32,8,32,6,14,27,96,130,177,75,8,102,212,197,204,182,8,97,148,18,151,186,148,96,219,231,101,30,71,194,178,188,32,161,118,240,229,151,112,16,80,192,82,192,50,151,48,207,102,196,162,14,60,8,35,212,166,204,34,30,29,88,30,99,30,246,51,153,212,117,28,165,22,109,49,108,143,189,33,12,74,96,119,128,93,203,181,45,70,45,74,28,98,19,11,27,24,72,241,75,85,205,18,185,169,164,181,181,164,139,125,161,249,44,142,36,245,188,22,99,3,134,186,54,108,199,242,44,143,48,215,131,138,14,197,152,98,151,66,89,230,81,219,207,121,157,197,209,153,19,24,83,28,99,163,237,128,89,14,196,45,11,67,190,177,198,98,32,157,50,155,12,
108,199,79,249,173,40,227,232,97,242,136,162,154,4,232,167,56,66,15,15,196,88,124,192,96,9,7,239,222,161,232,253,193,14,165,131,93,11,141,179,68,107,94,29,233,74,78,125,255,66,53,53,255,153,23,201,87,161,170,56,126,124,4,52,144,0,194,252,161,129,191,150,62,93,207,55,11,181,174,154,76,251,40,58,216,193,251,120,159,218,246,46,67,221,98,28,49,52,137,163,247,12,173,87,49,204,204,148,184,42,68,189,200,109,42,142,224,5,210,114,164,21,50,46,84,34,229,72,23,28,165,11,32,82,55,237,251,204,176,161,121,193,203,46,95,148,171,155,218,71,67,13,75,153,108,128,164,205,255,194,239,83,149,84,57,74,202,124,1,206,84,153,11,45,84,105,50,18,189,215,177,101,106,118,39,5,207,225,85,72,137,100,210,148,89,209,82,8,72,135,18,80,44,201,12,108,127,205,38,188,102,250,233,14,161,222,238,199,246,121,64,150,7,128,62,53,169,20,25,186,224,179,148,87,232,92,212,250,31,134,91,255,106,120,211,58,158,65,100,205,111,148,42,37,227,9,
84,48,161,214,94,219,16,142,185,54,94,130,191,176,129,27,100,24,81,145,212,102,13,156,189,171,120,13,238,173,239,196,9,94,44,35,145,186,71,5,68,122,69,28,74,221,171,225,191,42,168,11,113,211,167,161,141,245,170,24,155,232,171,233,144,188,87,134,9,245,170,232,174,162,73,65,105,163,181,42,95,77,209,76,228,185,228,61,154,186,224,22,85,93,210,255,163,235,186,224,252,217,13,22,165,94,209,214,38,188,76,224,220,164,174,232,171,148,148,63,44,175,18,183,69,223,73,182,177,45,154,218,156,215,246,172,107,56,254,223,45,238,176,125,109,63,179,246,223,82,210,176,235,118,221,242,162,116,215,194,76,143,236,90,39,72,49,196,245,106,3,76,42,254,189,243,181,205,51,75,74,192,250,29,177,32,54,14,66,28,60,61,61,17,10,83,16,10,141,194,233,228,240,232,106,24,142,62,124,27,169,213,142,184,49,125,124,116,25,158,159,127,248,54,206,204,225,116,34,111,171,228,174,168,251,49,159,195,240,98,58,57,155,78,78,70,128,252,172,212,172,70,133,170,196,159,
170,212,137,148,247,136,151,50,169,96,238,221,174,210,161,237,124,151,39,199,27,249,42,158,55,217,51,186,45,108,191,173,169,251,202,43,13,35,162,87,219,118,178,31,151,102,76,62,11,175,167,147,225,232,52,4,163,11,53,135,99,45,225,171,186,81,112,5,82,248,66,186,129,104,88,22,87,149,39,18,253,222,78,196,63,224,244,85,5,49,152,111,27,152,59,125,215,195,209,113,120,221,233,51,3,215,104,153,195,84,84,115,84,115,201,51,51,26,211,251,229,120,222,160,176,189,6,211,201,249,201,233,213,242,50,180,221,239,251,198,250,81,151,195,143,103,43,176,238,75,123,1,238,215,79,75,80,115,247,18,4,108,115,180,196,192,6,203,103,168,118,88,198,241,95,69,81,112,91,

View file

@ -37,6 +37,31 @@ speed or printing quality.]&]
[s0;%- &]
[ {{10000F(128)G(128)@1 [s0; [*2 Public Member List]]}}&]
[s6;%- &]
[s5;:ScatterCtrl`:`:AddMouseBehavior`(bool`,bool`,bool`,bool`,bool`,int`,bool`,ScatterAction`):%- [@(0.0.255) v
oid]_[* AddMouseBehavior]([@(0.0.255) bool]_[*@3 ctrl], [@(0.0.255) bool]_[*@3 alt],
[@(0.0.255) bool]_[*@3 shift], [@(0.0.255) bool]_[*@3 left], [@(0.0.255) bool]_[*@3 middle],
[@(0.0.255) int]_[*@3 middlewheel], [@(0.0.255) bool]_[*@3 right], ScatterAction_[*@3 actio
n])&]
[s3; Add a new [%-*@3 action] to be launched when the combination of
keys and mouse actions set by [%-*@3 ctrl] .[%-*@3 alt] .[%-*@3 shift]
.[%-*@3 left] .[%-*@3 middle] .[%-*@3 middlewheel] and [%-*@3 right]
are complied.&]
[s3; Data is added to Array<[^topic`:`/`/ScatterCtrl`/src`/MouseBehavior`$en`-us^ Mouse
Behavior]> mouseBehavior.&]
[s1; &]
[s6;%- &]
[s5;:ScatterCtrl`:`:AddKeyBehavior`(bool`,bool`,bool`,int`,bool`,ScatterAction`):%- [@(0.0.255) v
oid]_[* AddKeyBehavior]([@(0.0.255) bool]_[*@3 ctrl], [@(0.0.255) bool]_[*@3 alt],
[@(0.0.255) bool]_[*@3 shift], [@(0.0.255) int]_[*@3 key], [@(0.0.255) bool]_[*@3 isVirtualKe
y], ScatterAction_[*@3 action])&]
[s3; Add a new [%-*@3 action] to be launched when the combination of
keys set by [%-*@3 ctrl] .[%-*@3 alt] .[%-*@3 shift] and [%-*@3 key]
are complied. [%-*@3 isVirtualKey ]indicates if the key is a K`_...
virtual key or if it is a real char like `'e`' or `'`+`'.&]
[s3; Data is added to Array<[^topic`:`/`/ScatterCtrl`/src`/KeyBehavior`$en`-us^ KeyBeha
vior]> keyBehavior.&]
[s1; &]
[s6;%- &]
[s5;:ScatterCtrl`:`:SetMouseBehavior`(ScatterCtrl`:`:MouseBehaviour`*`):%- [@(0.0.255) b
ool]_[* SetMouseBehavior]([_^ScatterCtrl`:`:MouseBehaviour^ MouseBehaviour]_`*[*@3 mous
eBehavior])&]

View file

@ -314,15 +314,16 @@ COMPRESSED
193,74,2,185,129,190,167,163,122,254,206,11,113,87,4,197,171,53,8,26,249,59,19,85,22,162,74,11,161,55,148,234,249,187,223,161,161,86,103,116,95,19,126,48,204,182,23,182,51,113,126,108,91,206,241,214,211,95,237,160,215,148,50,44,139,222,32,86,98,39,37,198,116,157,69,126,165,207,49,86,129,248,180,189,42,192,206,8,66,195,44,29,48,37,95,183,64,152,207,28,73,178,112,189,197,18,151,109,137,134,229,198,214,26,188,168,127,93,87,154,245,47,147,245,4,195,152,169,72,254,38,187,32,16,23,5,30,22,146,88,87,60,78,170,255,177,252,241,46,5,169,224,182,13,130,0,246,213,42,134,235,83,164,83,12,80,97,121,126,65,46,203,60,56,142,114,186,177,4,125,126,77,223,184,101,97,184,240,65,159,191,79,86,250,190,185,147,102,58,22,102,158,91,113,207,243,190,121,83,204,18,165,190,239,133,31,252,214,174,165,196,7,108,242,91,190,194,200,56,211,186,126,99,46,148,43,79,226,235,198,46,85,10,251,65,178,185,98,182,229,35,152,105,170,124,242,
87,102,232,194,168,74,18,208,57,103,98,37,175,105,166,197,136,54,104,20,196,0,183,76,113,249,251,191,241,28,255,251,250,255,246,51,251,245,144,129,10,73,100,6,10,165,44,195,235,207,231,147,142,60,10,2,91,162,245,248,59,22,185,18,117,244,121,63,142,239,138,10,252,63,159,99,213,231,23,240,26,203,232,79,96,82,196,104,196,104,12,82,72,178,78,152,81,210,53,4,109,32,41,26,141,3,23,49,200,73,73,242,203,215,115,172,61,254,121,62,87,61,98,144,211,137,184,255,96,89,175,179,72,73,24,125,24,134,192,149,244,173,126,32,175,220,173,254,105,219,23,125,90,30,247,60,8,254,73,64,83,105,15,0,20,187,61,76,83,6,250,220,121,244,59,171,246,11,126,78,242,121,37,29,188,123,30,194,250,190,96,49,76,106,185,152,113,129,127,180,122,165,237,19,72,19,255,167,5,151,232,125,173,191,187,167,229,117,219,190,61,185,195,179,63,163,192,135,60,175,53,217,218,253,189,39,197,46,145,38,183,30,163,179,221,143,153,222,125,89,191,241,123,14,138,153,
44,152,109,30,68,240,137,216,209,15,195,169,141,168,13,12,15,41,126,126,121,195,2,72,174,250,24,181,242,134,200,253,238,181,78,213,162,128,233,187,71,43,134,213,101,16,19,234,239,99,142,90,238,137,38,230,238,90,22,1,154,254,123,245,9,84,139,241,109,23,63,121,1,73,250,54,11,250,38,136,97,7,246,4,193,224,35,95,191,3,171,81,1,79,107,238,142,255,206,27,242,24,187,79,87,60,139,134,233,26,82,116,55,128,84,102,1,176,147,184,97,0,126,102,0,210,59,209,188,80,8,134,113,60,48,111,96,247,176,87,177,95,192,175,103,178,37,139,248,99,150,10,13,180,39,94,82,81,39,85,126,231,183,31,144,33,101,199,107,227,166,111,40,235,31,155,209,31,50,136,217,215,243,96,228,190,5,194,223,69,11,240,217,44,36,74,91,239,146,108,87,221,0,135,57,45,112,201,131,240,252,53,201,25,130,36,127,119,84,133,51,70,235,205,253,89,238,71,136,115,109,121,188,243,176,69,179,218,15,129,59,34,170,76,52,76,255,103,147,21,111,3,107,112,127,167,
191,42,59,129,141,174,239,201,74,94,24,255,247,110,253,111,115,143,242,127,138,187,26,166,180,149,46,252,87,118,238,123,219,9,213,170,160,40,218,233,76,5,20,81,176,92,209,2,58,104,2,44,16,9,217,52,31,124,244,206,237,111,191,103,119,67,216,240,161,89,200,157,183,211,65,72,246,60,123,158,231,156,61,123,54,216,41,52,159,228,225,129,56,217,81,230,232,246,245,132,62,3,156,190,62,146,195,22,73,254,186,76,85,175,43,52,76,126,142,103,127,102,83,249,195,83,186,15,210,218,91,188,50,210,184,122,81,185,168,157,180,241,129,117,51,117,166,143,229,12,244,236,135,80,24,6,71,60,151,189,73,175,124,114,120,94,183,106,237,190,73,142,107,227,209,20,78,42,163,254,175,233,197,169,237,58,223,239,7,233,157,239,169,157,110,215,123,184,170,92,31,248,107,72,235,181,170,7,183,151,175,63,251,147,211,157,92,225,56,89,27,93,29,166,224,108,2,185,104,94,79,255,26,244,202,59,143,229,113,39,67,191,227,155,90,233,171,215,108,127,178,95,233,79,238,211,
57,179,145,58,133,253,62,157,244,126,76,156,54,174,223,24,93,189,63,169,93,223,221,234,217,202,245,132,173,207,126,251,174,55,110,20,243,211,108,126,108,223,236,120,55,55,199,39,36,121,51,184,175,101,234,222,145,53,72,226,253,105,22,15,235,85,239,14,206,45,231,133,82,249,10,22,223,213,235,248,168,152,55,143,239,6,143,133,71,168,62,153,118,255,252,149,254,67,198,194,107,173,119,154,254,238,175,255,215,118,139,254,199,12,16,195,227,178,119,88,26,223,158,158,102,218,59,135,154,91,29,239,87,32,166,169,26,238,150,170,71,222,35,113,46,179,127,253,104,148,114,228,103,206,30,64,162,166,79,38,13,242,35,55,105,192,82,58,249,126,145,47,165,76,139,30,122,247,241,232,2,22,103,175,86,42,62,100,76,191,214,84,234,185,204,235,142,151,28,121,222,96,24,196,40,15,127,75,22,125,108,3,249,49,110,124,175,223,12,38,206,253,116,167,107,166,83,231,144,238,53,184,60,160,191,211,145,178,6,65,189,185,107,184,169,163,142,121,101,235,147,226,240,21,78,235,
181,76,165,154,235,245,174,157,94,57,53,206,60,146,164,150,182,238,139,141,55,107,95,175,88,57,234,22,15,225,68,114,254,245,107,162,217,252,231,159,143,205,39,231,224,11,242,127,60,165,208,15,108,59,154,171,27,24,165,242,200,105,107,174,139,109,212,179,53,171,143,218,196,116,109,98,160,150,230,224,14,34,38,106,62,61,187,196,210,219,234,153,186,175,238,87,249,224,188,173,141,213,125,199,110,135,175,252,137,77,245,179,231,168,255,19,47,158,169,103,109,67,115,156,231,20,18,46,55,193,141,189,38,119,41,37,184,86,116,145,231,96,7,61,168,59,234,14,162,35,17,177,81,69,211,77,234,35,248,211,193,67,205,236,32,151,160,30,118,81,11,51,223,109,220,181,177,211,71,142,133,169,215,54,178,108,48,208,205,30,250,233,105,134,238,78,249,84,201,153,8,31,62,211,55,232,239,191,147,7,240,231,82,73,166,50,137,2,123,253,150,68,220,149,79,41,148,35,166,227,218,94,219,5,192,60,118,53,221,152,169,121,236,35,56,233,47,103,62,169,156,107,27,148,171,248,
81,81,19,103,48,240,233,19,18,174,54,149,4,181,60,252,130,138,166,238,234,224,222,47,224,235,246,49,98,50,237,113,71,125,252,168,174,86,188,150,161,183,81,25,67,187,99,163,146,238,184,81,92,197,110,153,128,218,89,220,215,70,58,177,85,101,97,128,120,215,179,213,79,62,157,111,202,193,222,193,94,42,157,78,160,22,33,70,243,133,18,92,192,106,42,79,47,207,111,194,61,163,240,231,230,139,250,233,233,211,183,67,52,12,225,204,196,130,9,28,244,244,225,243,242,8,164,113,249,90,254,5,68,186,236,51,27,133,198,125,108,210,148,234,32,221,20,195,176,23,224,98,180,42,197,153,211,60,197,195,34,249,73,254,140,66,236,206,194,236,247,132,116,139,16,129,43,72,105,3,210,85,85,168,160,234,46,123,229,98,135,84,12,77,218,20,3,161,126,12,133,97,6,8,97,88,17,45,144,112,164,25,19,80,252,235,139,120,31,146,29,55,119,87,6,152,155,76,151,76,186,154,225,224,32,72,197,238,44,68,12,223,15,65,91,51,161,202,64,85,49,232,210,252,69,200,
144,198,162,142,180,137,238,236,173,178,156,190,109,217,152,91,190,47,113,97,65,145,122,176,42,87,165,241,210,232,249,106,189,195,174,103,155,14,19,9,233,221,168,220,130,165,44,225,99,67,202,199,70,224,227,239,223,191,147,199,199,71,114,190,54,228,124,173,246,201,24,10,163,139,39,110,25,155,158,159,177,27,229,106,24,105,109,170,58,48,110,117,170,46,167,29,27,139,116,159,57,43,170,124,6,52,132,41,152,2,45,140,136,133,77,40,8,138,173,247,250,46,148,93,189,61,160,123,69,107,10,187,75,87,243,12,55,17,117,253,194,116,21,27,224,108,87,199,78,222,232,109,41,71,8,43,126,65,118,151,21,25,235,144,13,80,180,48,210,144,250,199,124,126,245,15,212,129,189,137,244,130,5,106,162,252,69,246,161,0,185,212,225,202,46,12,159,195,105,198,88,155,58,72,179,44,172,217,18,74,22,205,46,137,42,224,139,250,209,215,140,90,253,7,185,163,187,236,2,208,64,6,238,97,104,57,198,186,219,247,87,146,65,192,21,29,186,17,182,187,240,107,96,200,50,9,
119,162,82,6,213,207,157,50,52,22,93,104,197,84,165,77,219,13,212,238,107,43,119,218,17,209,59,60,79,66,102,97,230,12,162,25,34,203,241,124,57,152,69,34,104,44,224,154,146,202,208,145,7,7,137,36,170,233,102,7,24,55,103,59,35,76,228,4,25,67,155,66,141,170,49,230,163,32,222,220,3,90,67,124,5,25,188,4,251,123,146,51,116,171,69,52,187,19,138,251,58,218,194,248,245,17,15,203,243,246,126,181,76,17,250,74,222,138,249,243,112,206,45,221,29,106,214,94,68,225,132,148,10,59,19,74,46,54,245,178,156,82,242,93,178,196,169,186,54,237,29,222,211,238,146,167,11,44,42,54,30,214,19,251,41,164,198,173,54,228,138,221,122,134,241,166,70,66,192,153,145,40,19,20,81,168,175,29,90,81,161,19,99,41,2,229,6,155,14,44,152,89,53,185,174,92,20,16,237,227,43,183,240,211,198,200,241,44,139,216,46,238,44,105,56,159,3,212,163,142,193,68,148,74,21,27,244,138,95,203,193,39,205,25,48,55,97,49,218,168,11,59,28,253,96,130,
229,172,33,148,144,247,142,31,40,86,237,195,35,221,118,225,80,209,92,45,181,111,56,111,27,114,154,97,56,212,61,191,79,244,7,40,9,153,238,160,10,103,4,234,11,91,223,235,29,130,208,194,64,8,44,188,206,90,5,246,94,73,188,44,151,137,197,190,6,20,26,233,14,32,5,129,166,182,123,40,116,152,163,222,20,135,90,15,43,9,94,236,109,102,206,172,233,112,170,53,187,79,41,195,86,203,14,105,83,212,245,204,54,45,152,14,50,244,1,70,115,144,232,125,7,118,115,196,160,135,20,94,39,249,135,143,155,118,201,204,124,117,241,124,121,102,55,159,209,131,101,1,97,62,114,25,5,82,179,205,110,45,69,58,44,216,108,50,133,141,142,220,89,96,183,96,235,157,56,41,7,120,219,210,238,1,144,250,18,149,124,48,173,34,216,73,202,80,211,59,46,44,70,56,211,111,67,158,161,132,201,3,98,136,212,152,13,137,70,138,193,41,130,157,4,169,138,65,220,115,27,107,113,198,55,132,185,109,140,45,245,69,139,30,227,208,212,138,96,43,33,201,57,156,66,226,
148,35,192,219,86,10,122,60,138,46,69,48,173,34,216,73,202,176,125,186,7,40,235,210,157,59,23,78,247,149,92,120,150,11,195,19,145,169,220,235,238,188,175,245,155,148,141,195,201,192,214,133,114,161,163,89,25,70,151,1,188,31,64,54,145,194,70,39,56,203,232,100,47,97,227,156,17,102,239,183,163,75,33,214,81,166,247,158,217,36,171,233,118,225,206,189,12,101,10,165,4,86,18,25,203,198,199,185,114,231,128,177,108,208,82,42,8,91,181,172,14,37,173,69,255,197,97,108,41,48,199,219,38,7,56,74,4,250,243,233,148,185,157,52,253,56,243,64,64,140,37,17,36,165,16,82,97,51,49,234,113,213,62,142,182,77,241,155,48,136,168,212,235,10,31,47,75,184,17,43,225,198,54,132,167,82,132,27,202,116,51,194,169,120,25,167,254,239,148,223,232,85,203,154,221,211,77,222,150,236,134,95,24,233,119,155,221,25,0,87,140,25,191,247,118,203,86,152,207,184,174,7,234,151,112,215,93,248,190,67,184,123,71,159,14,175,189,61,186,39,214,250,155,89,226,186,
100,40,209,57,115,79,21,230,210,174,63,247,46,155,100,119,134,182,193,241,130,162,137,97,219,82,206,57,220,58,73,135,252,110,152,247,90,210,115,60,133,27,70,165,88,88,77,113,249,97,141,239,25,90,105,16,60,164,161,70,31,62,4,79,66,194,254,54,87,218,202,61,185,152,217,67,56,99,12,71,128,38,21,141,183,178,48,64,220,60,30,2,197,72,225,16,72,200,70,99,238,173,212,195,180,153,57,91,99,82,190,10,22,242,222,10,198,203,254,190,145,51,33,55,163,23,219,144,89,108,5,53,164,64,76,73,39,10,35,151,118,2,8,47,145,49,46,46,17,48,54,170,34,232,230,75,44,204,53,82,230,134,217,200,166,110,200,109,137,194,215,39,227,18,251,238,108,203,175,69,57,200,22,95,242,173,139,76,128,173,80,12,137,80,136,212,222,254,170,94,244,127,241,87,9,150,158,172,11,14,201,180,162,204,162,66,156,217,66,175,16,125,171,131,231,12,111,93,55,202,240,159,249,52,252,155,88,250,196,144,4,71,43,63,177,214,168,222,20,167,80,192,108,19,170,245,
173,22,249,28,102,221,210,158,108,192,5,142,77,155,80,105,196,67,165,177,142,202,116,3,42,112,58,144,88,13,66,2,6,52,66,57,178,194,245,66,40,207,162,86,164,121,222,72,245,95,220,236,214,27,194,153,222,137,65,110,31,105,157,226,166,55,148,213,220,71,84,192,52,226,3,214,194,18,173,55,119,130,5,199,229,4,159,121,183,129,232,119,100,92,181,180,54,251,229,182,173,117,159,131,197,40,253,28,116,19,245,69,126,17,2,32,50,144,139,129,224,230,6,97,56,55,219,125,250,96,110,235,16,112,160,181,95,43,240,187,146,17,224,152,10,55,150,13,192,140,89,4,241,103,190,203,9,239,123,183,129,232,151,186,97,196,250,64,52,140,42,241,80,116,182,73,119,193,54,202,19,162,240,68,10,53,147,222,218,178,196,238,192,229,216,249,11,184,27,40,208,98,214,145,53,16,38,83,184,233,130,14,33,14,239,103,171,144,18,129,10,145,30,98,163,101,8,217,68,158,199,83,234,188,188,34,154,155,186,30,10,157,156,243,98,32,22,220,135,88,52,155,255,2,214,124,
32,40,
191,42,59,129,141,174,239,201,74,94,24,255,247,110,253,111,115,143,242,127,138,187,22,230,180,113,45,252,87,52,123,111,91,211,164,36,144,144,144,244,118,103,121,36,132,4,82,54,36,37,164,67,98,99,4,56,24,219,245,131,71,119,182,191,253,30,73,182,145,121,197,2,238,222,157,78,10,150,206,209,249,190,243,73,58,146,211,89,40,62,205,135,7,211,201,143,178,199,183,175,167,228,14,112,250,250,100,30,181,205,212,207,203,116,253,186,70,210,228,107,60,255,35,159,46,30,157,145,125,144,172,189,229,43,61,131,235,23,181,139,198,169,138,15,173,155,169,51,125,170,102,161,102,63,130,133,97,112,204,180,236,77,122,213,211,163,220,163,213,80,251,134,121,210,24,143,166,112,82,25,245,127,78,47,206,108,215,249,122,63,200,236,125,77,239,117,187,222,195,85,237,250,208,159,67,74,175,93,63,188,189,124,253,209,159,156,237,21,74,39,169,198,232,234,40,13,103,19,208,162,113,61,253,115,208,171,238,61,85,199,157,44,121,199,55,181,50,87,175,249,254,228,160,214,159,220,
103,10,70,51,125,6,251,125,38,229,125,155,56,42,126,188,209,187,90,127,210,184,190,187,213,242,181,235,9,157,159,125,245,174,55,110,150,139,211,124,113,108,223,236,121,55,55,39,167,102,234,102,112,223,200,62,122,199,214,32,133,15,166,121,60,124,172,123,119,112,110,201,149,42,213,43,152,124,87,175,227,227,114,209,56,185,27,60,149,158,96,245,201,170,253,220,43,249,135,140,165,215,70,239,44,243,213,159,255,175,106,155,252,143,25,32,135,39,85,239,168,50,190,61,59,203,170,123,71,138,91,31,31,212,32,167,233,6,238,86,234,199,222,147,233,92,230,255,252,214,172,20,204,31,5,123,0,66,205,156,78,154,230,183,194,164,9,83,233,244,235,69,177,146,54,44,114,232,61,192,163,11,152,156,189,70,165,252,144,53,252,181,166,246,88,200,190,238,121,169,145,231,13,134,97,142,138,240,167,98,145,107,27,208,199,184,249,245,241,102,48,113,238,167,123,93,35,147,206,129,220,27,240,120,64,126,167,35,109,13,194,245,230,174,233,166,143,59,198,149,173,77,202,195,87,56,
173,55,178,181,122,161,215,187,118,122,213,244,56,251,100,166,148,140,117,95,110,174,93,251,122,229,218,113,183,124,4,39,146,220,151,47,137,86,235,239,191,223,183,190,59,135,159,145,255,215,247,52,250,134,109,71,113,53,29,163,116,17,57,170,226,186,216,70,61,91,177,250,72,53,13,215,54,117,212,86,28,220,65,166,129,90,223,159,93,211,210,84,249,92,62,144,15,234,172,115,209,86,198,242,129,99,171,209,39,255,198,134,252,201,115,228,127,241,15,207,229,115,85,87,28,231,57,141,184,199,45,8,35,217,98,33,165,185,208,202,46,242,28,236,160,7,121,79,222,67,164,39,50,109,84,83,52,131,196,8,241,116,240,80,49,58,200,53,81,15,187,168,141,105,236,54,238,218,216,233,35,199,194,36,106,27,89,54,24,104,70,15,253,240,20,93,115,167,108,168,84,64,194,187,79,228,3,250,235,175,212,33,252,119,41,165,210,217,68,137,254,252,35,133,88,40,31,211,168,96,26,142,107,123,170,11,14,139,216,85,52,61,96,243,196,247,224,100,62,159,251,160,10,174,173,19,
172,252,87,73,78,156,67,199,239,31,17,247,180,37,37,136,229,209,103,84,54,52,87,131,240,126,2,94,183,143,17,165,41,201,2,245,253,199,13,181,230,181,117,77,69,85,12,229,142,141,42,154,227,198,8,53,215,233,84,77,96,59,143,251,202,72,51,109,89,106,155,166,46,239,175,250,9,148,6,31,125,79,57,213,213,76,195,71,249,135,116,152,60,76,166,51,153,4,26,153,90,167,245,2,184,231,135,104,73,124,55,226,139,116,251,227,8,169,132,153,125,180,162,85,209,221,213,141,78,95,235,174,105,214,241,186,214,161,214,233,232,120,174,29,128,70,154,199,125,140,215,68,103,107,189,62,25,34,66,138,31,56,253,220,10,50,14,116,32,5,25,120,140,190,191,251,196,181,19,57,183,49,210,21,207,80,251,160,96,24,208,96,146,48,135,109,205,80,72,39,100,118,209,0,79,29,68,228,63,36,164,250,214,14,114,200,76,152,6,62,41,149,40,25,140,0,212,133,95,24,85,225,87,74,77,248,205,167,98,238,59,195,78,7,245,159,51,184,72,177,105,120,150,174,225,78,
210,199,87,84,92,5,105,16,98,167,131,233,28,205,217,182,50,253,207,178,37,132,138,144,45,33,81,17,250,139,200,51,138,10,231,119,134,57,248,158,228,230,243,122,137,223,224,233,58,129,111,38,106,206,233,63,37,233,153,40,65,5,171,77,53,231,155,102,187,176,234,221,208,94,255,144,38,69,21,200,201,137,160,137,138,41,104,225,161,160,150,102,116,52,0,3,107,165,214,165,113,128,33,213,26,186,145,95,146,201,36,26,177,206,244,57,172,216,208,75,115,89,7,27,195,99,181,175,216,72,215,6,24,201,31,176,252,129,116,145,63,192,46,243,97,59,241,242,242,10,165,203,203,227,119,18,144,160,108,235,216,157,91,153,231,58,240,173,158,45,127,92,84,107,32,9,52,239,11,244,250,242,188,214,93,116,234,121,118,235,69,254,200,86,195,136,159,64,64,48,128,19,164,44,218,3,41,108,99,107,251,15,136,92,200,119,182,122,81,65,121,164,204,208,12,126,131,76,134,126,49,218,108,229,136,160,59,143,162,23,204,192,21,40,85,135,66,34,178,116,48,178,35,44,70,6,
109,241,137,144,223,71,210,16,56,92,185,108,140,20,125,2,140,127,121,225,219,161,12,153,223,164,162,38,211,5,147,174,162,59,56,76,82,185,27,164,136,250,247,83,160,42,6,212,127,80,239,233,100,58,252,52,205,33,201,197,35,82,38,154,147,92,102,57,93,111,217,156,89,190,77,113,105,142,145,199,176,94,90,38,227,133,222,179,58,234,14,187,158,13,219,32,33,137,76,251,152,216,194,34,75,32,198,166,80,140,205,48,198,95,191,126,165,78,78,142,197,98,109,138,197,90,239,155,99,40,89,93,60,113,171,216,240,124,197,110,164,213,168,167,149,82,117,160,223,114,169,46,202,142,246,37,203,43,69,206,246,17,58,2,26,194,16,148,1,216,109,76,11,27,176,32,72,180,198,128,130,88,83,7,164,138,135,173,165,131,187,138,167,187,137,184,243,23,134,171,217,224,206,118,53,236,20,245,222,150,116,68,124,237,158,144,253,69,70,198,26,168,1,22,45,40,243,144,252,219,108,124,249,55,212,129,83,131,217,11,39,168,129,138,23,249,135,18,104,169,195,152,157,235,62,115,
167,232,99,133,84,144,150,133,149,216,123,17,196,89,54,186,102,92,2,95,228,247,62,103,196,234,127,160,29,216,213,201,3,178,177,235,184,135,161,146,24,107,110,223,159,73,186,169,178,202,132,238,46,236,25,24,82,37,249,117,106,12,200,192,122,206,169,194,145,175,11,135,100,89,82,201,65,144,22,16,203,118,218,176,46,140,154,69,145,83,23,173,8,88,230,207,167,131,90,36,194,35,31,60,147,210,89,210,243,240,48,145,66,13,40,126,0,113,43,216,25,97,32,39,84,12,57,174,43,132,141,49,235,5,249,102,17,144,53,196,103,144,186,23,64,127,111,22,116,205,106,155,138,221,137,228,125,21,108,174,255,234,140,71,233,89,191,95,45,66,132,130,140,29,146,253,113,24,230,182,230,14,21,43,25,147,56,78,82,209,96,34,226,162,67,47,210,41,68,223,37,21,78,221,181,73,237,240,22,119,151,76,46,48,169,104,127,152,79,244,111,78,26,183,202,144,49,118,235,233,250,90,142,184,132,83,35,158,38,88,68,97,125,237,144,21,21,42,49,42,17,88,110,176,225,192,
132,9,86,147,235,218,69,137,150,231,181,219,18,45,203,29,207,178,76,219,197,157,5,14,103,99,0,123,36,48,24,136,64,169,99,157,60,241,215,114,136,73,113,6,52,76,152,140,54,234,194,14,71,190,24,96,25,20,132,2,244,222,177,171,158,101,251,176,127,0,104,45,167,218,55,156,149,13,5,69,215,29,18,158,95,39,250,29,164,132,72,117,80,215,126,98,18,11,157,223,171,3,130,212,66,71,72,44,252,12,74,5,250,89,74,188,44,46,19,243,117,13,48,52,210,28,114,182,9,18,77,108,147,252,125,26,196,15,46,203,67,165,135,165,4,91,236,109,106,78,173,73,119,194,53,109,247,15,118,61,118,100,235,194,241,142,221,34,208,179,209,204,73,252,186,3,187,5,83,39,135,20,182,78,178,47,239,55,173,146,169,249,242,197,243,229,153,54,62,163,7,203,2,192,172,231,162,23,114,2,165,77,11,153,142,18,22,12,38,209,222,177,43,11,236,150,108,173,179,75,200,161,191,109,97,247,192,145,252,18,23,124,56,172,196,217,9,210,208,208,58,46,76,70,114,139,
178,5,120,234,37,10,126,118,221,193,130,27,211,46,241,64,81,119,18,103,39,0,170,166,155,110,206,198,202,46,243,27,241,185,109,142,45,249,69,137,159,227,200,208,18,103,43,64,73,14,78,33,187,164,35,244,183,45,21,228,120,20,159,138,112,88,137,179,19,164,97,123,185,135,94,86,201,157,5,23,149,251,82,44,76,229,92,247,68,108,40,247,154,59,171,107,253,34,101,227,116,82,103,171,82,57,87,209,44,77,163,75,29,188,157,64,58,144,68,123,39,24,202,248,96,47,97,227,12,0,211,207,219,193,37,46,86,65,38,109,207,116,144,229,112,187,208,114,47,2,153,184,146,66,43,1,197,210,254,187,156,185,51,135,59,217,160,133,88,224,182,106,81,30,42,74,155,252,91,240,157,73,96,230,111,27,13,48,47,49,224,207,134,147,102,118,194,240,119,169,3,206,227,78,132,32,72,5,39,133,205,200,120,220,213,218,199,188,109,179,248,77,168,139,184,208,31,37,214,95,20,112,115,167,128,155,219,0,158,10,1,110,74,211,205,0,167,119,139,56,253,127,135,188,166,86,
173,42,118,79,51,88,89,178,31,253,65,65,191,89,236,6,14,24,99,212,248,173,143,91,150,194,108,196,85,53,80,191,178,248,210,158,107,189,243,95,184,47,111,30,221,155,214,234,198,188,233,186,230,80,160,114,102,145,74,52,164,125,127,236,125,58,200,126,224,109,131,227,5,241,198,167,109,75,58,103,238,86,81,58,100,173,81,220,43,65,207,252,73,204,48,46,196,210,114,136,139,151,53,126,100,104,169,65,120,73,67,140,222,189,11,111,66,162,241,182,150,218,138,221,92,4,246,144,206,29,166,35,244,38,148,141,117,42,12,61,110,158,15,14,98,172,116,112,32,68,179,49,139,86,232,50,45,48,167,115,76,40,86,206,66,60,90,206,120,49,222,53,154,137,132,25,127,177,141,152,237,108,65,141,48,176,35,209,241,196,136,201,142,115,194,150,200,29,78,46,222,225,206,160,242,78,55,159,98,81,172,177,148,27,69,35,42,221,72,216,2,11,95,223,28,87,232,187,179,45,95,139,50,39,91,188,228,91,149,153,208,183,68,124,8,164,130,135,182,254,85,61,31,255,252,175,
18,44,220,172,115,1,137,148,162,212,162,102,58,193,68,175,153,218,86,7,207,192,223,170,106,148,250,127,102,195,176,55,177,228,198,208,12,143,86,190,176,86,176,222,226,135,144,192,108,19,168,143,91,77,242,153,155,85,83,123,178,1,22,56,54,109,2,165,185,27,40,205,85,80,166,27,64,129,211,129,192,108,224,4,24,194,136,104,100,73,232,165,136,206,226,174,72,51,221,8,213,95,204,236,214,27,194,153,222,217,1,221,190,167,85,140,27,222,80,148,115,223,163,4,166,49,47,88,75,11,176,214,238,4,115,129,139,17,30,68,183,1,233,119,230,184,110,41,42,253,229,182,173,121,159,57,219,33,245,51,167,155,176,207,227,139,145,0,30,129,88,14,184,48,55,72,67,206,80,251,228,98,110,235,20,48,71,43,95,43,176,86,193,12,48,159,18,51,22,77,64,128,44,6,249,65,236,98,196,251,209,109,64,250,165,166,235,59,189,16,141,122,21,184,20,13,54,233,46,216,198,185,33,138,14,36,17,51,225,173,45,111,218,29,120,188,115,252,156,223,13,24,104,83,235,216,
28,112,131,73,204,116,142,135,8,134,183,213,202,73,34,100,33,214,37,54,90,116,33,42,228,89,62,133,206,203,75,178,185,105,232,145,212,137,5,207,39,98,46,124,200,69,171,245,95,106,136,233,176,

View file

@ -1,3 +1,7 @@
TOPIC("KeyBehavior$en-us")
#include "KeyBehavior$en-us.tppi"
END_TOPIC
TOPIC("MouseBehavior$en-us")
#include "MouseBehavior$en-us.tppi"
END_TOPIC
@ -6,3 +10,7 @@ TOPIC("ScatterCtrl$en-us")
#include "ScatterCtrl$en-us.tppi"
END_TOPIC
TOPIC("ScatterCtrl_MouseBehavior$en-us")
#include "ScatterCtrl_MouseBehavior$en-us.tppi"
END_TOPIC