1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
#include <precomp.h>
#include "xuiqueryline.h"
#include <api/skin/widgets/db/xuiquerylist.h>
#define CB_SETQUERYLIST 0x1978
char QueryLineXuiObjectStr[] = "QueryLine"; // This is the xml tag
char QueryLineXuiSvcName[] = "QueryLine xui object";
ScriptQueryLine::ScriptQueryLine() {
myxuihandle = newXuiHandle();
addParam(myxuihandle, "querylist", QUERYLINE_SETQUERYLIST, XUI_ATTRIBUTE_IMPLIED);
addParam(myxuihandle, "query", QUERYLINE_SETQUERY, XUI_ATTRIBUTE_IMPLIED);
addParam(myxuihandle, "auto", QUERYLINE_SETAUTO, XUI_ATTRIBUTE_IMPLIED);
}
ScriptQueryLine::~ScriptQueryLine() { }
/*int ScriptQueryLine::onInit() {
SCRIPTQUERYLINE_PARENT::onInit();
if (!querylist_id.isempty())
postDeferredCallback(CB_SETQUERYLIST, 0, 500);
return 1;
}*/
int ScriptQueryLine::setXuiParam(int xuihandle, int xmlattributeid, const wchar_t *xmlattributename, const wchar_t *value) {
if (xuihandle != myxuihandle)
return SCRIPTQUERYLINE_PARENT::setXuiParam(xuihandle, xmlattributeid, xmlattributename, value);
switch (xmlattributeid) {
case QUERYLINE_SETQUERYLIST:
setXuiQueryList(value);
break;
case QUERYLINE_SETQUERY:
ql_setQuery(value);
break;
case QUERYLINE_SETAUTO:
setAuto(WTOI(value));
break;
default:
return 0;
}
return 1;
}
void ScriptQueryLine::ql_setQuery(const char *q) {
ensureConnected();
setQuery(q);
}
void ScriptQueryLine::ensureConnected() {
api_window *o = findWindow(querylist_id);
if (!o) return;
ScriptQueryList *querylist = static_cast<ScriptQueryList *>(o->getInterface(queryListGuid));
if (!querylist) return;
sqs_setMultiQueryServer(querylist);
}
void ScriptQueryLine::setXuiQueryList(const char *v) {
querylist_id = v;
}
/*int ScriptQueryLine::onDeferredCallback(intptr_t p1, intptr_t p2) {
switch (p1) {
case CB_SETQUERYLIST:
break;
default:
return SCRIPTQUERYLINE_PARENT::onDeferredCallback(p1, p2);
}
return 1;
}
*/
|