-
14 /
14.0.1.1501.2
-
| ()
| 2017/09/11
| (06083) 617 2-5
| 02-2140-7700
| www.tobesoft.com
| support.tobesoft.co.kr
| 1588-7895 ( 10 5)
.
.
.
, , , ,
.
, , ,
, .
.
.
-
iii
14.0.1.500.3 2016-09-20 .
14.0.1.900.1 2017-01-05 5.4.4 , .
14.0.1.900.2 2017-03-29 3.1.3 Global Variable File
.
14.0.1.900.4 2017-04-07 2.3 .
14.0.1.1501.1 2017-07-07 2.3 .
-
iv
I.
1.
1.1 UI/UX
1.1.1 BUX: Business User eXperience
1.2 14
1.2.1
1.2.2
2.
2.1
2.2
2.2.1
2.2.2
2.2.3
2.2.4
2.3
II.
3.
3.1
3.1.1 ADL File
3.1.2 Type Definition File
3.1.3 Global Variable File
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
-
| v
3.1.4 /
3.1.5 FDL
3.2
3.2.1 bootstrap
3.2.2
3.2.3
3.3
3.3.1
SDI (Single Document Interface)
MDI (Multi Document Interface)
3.3.2 Form
3.4 Data
3.4.1 X-API
4. XML
4.1 ADL XML Format
4.2 FDL XML Format
4.3 Type Definition XML Format
4.4 Global Variable XML Format
5.
5.1 (Scope)
5.1.1 this
5.1.2 Global
5.1.3 Expr
5.1.4 lookup
5.2
5.2.1
5.2.2
5.3 Setter
5.3.1 set
5.3.2
5.4
5.4.1 nexacro
5.4.2
5.4.3
5.4.4 ,
6. Frame Tree
6.1
6.1.1 box
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
-
vi | 14 /
6.1.2
6.1.3
6.1.4
6.1.5 Syntax
6.2 Form
6.2.1
6.2.2 Script
6.2.3 component / invisible object / bind Script
6.2.4 container component Script
6.2.5 form container component Script
6.2.6 parent Script
6.2.7 container component element
6.3 Application
6.3.1
6.3.2 Script
6.3.3 application form script
6.3.4 form application script
7. (CSS)
7.1 /
7.1.1
7.1.2
7.1.3 /
7.1.4
7.1.5
CSS (Selector) Depth 4
(Type Selector) Depth
(Class Selector)
7.2
7.2.1
7.2.2
7.2.3
7.2.4 cssclass
7.3
7.3.1
7.3.2
7.3.3
7.3.4 Deploy Theme
8. Position
8.1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
-
| vii
8.2
8.3
8.3.1
8.3.2 / Dot Grid
8.3.3
8.3.4
8.4 Position
9. MLM(Multi Layout Manager)
9.1
9.1.1
9.1.2
9.2
9.3 InitValue
9.4
9.5 XML /
9.5.1 XADL
9.5.2 XFDL
III.
10.
10.1
10.1.1 (Module)
10.1.2 (Protocol)
10.1.3
10.1.4
10.2 PluginElement
10.2.1 (Protocol)
11.
11.1
11.2
11.2.1
11.2.2
11.3
11.3.1 Entry Funcs
11.3.2 Initialize
11.3.3 EntryPoint
11.3.4 Shutdown
11.4 API
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
-
viii | 14 /
11.4.1 nexacro._addExtensionModule
11.4.2 nexacro._clearExtensionModule
12.
12.1
12.1.1 (Module)
12.1.2
12.1.3
12.2
12.2.1
12.2.2
13. DeviceAPI
13.1
13.1.1 iOS
libHelloPlugin.a
13.1.2
jar
Jar
13.2
13.3
13.3.1
13.3.2
HelloTest.xfdl
onhello
13.4
14. (Widget)
14.1
14.1.1 Layered
14.1.2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
-
| ix
14.2
14.2.1 child frame
14.2.2
14.2.3
14.2.4
14.2.5 deviceAPI
14.3
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
-
x
.
.
.
, .
.
.
.
.
-
| xi
.
, , , , Position, MLM
.
, , .
, .
.
, , .
, .
.
.
-
I.
-
1.
, , ,
. UI/UX .
UI/UX , (TCO, Total Cost of Ownershi
p) (ROI, Return On Investment) ,
.
, ,
.
1.1 UI/UX
X RIA(Rich Internet Application), REA(Rich Enterprise Application)
.
C/S(Client Server) , ,
UI .
X
. 2002
RIA . X
RIA ,
.
RIA REA . REA
RIA .
.
UX(User eXperience) UI/UX
-
3 | 14 /
(VIEW) .
REA BUX(Business User eXperience : ) .
BUX , UI
.
1.1.1 BUX: Business User eXperience
BUX 3 .
(Unified Platform).
,
OSMU(One Source Multi Use) .
(Unified Development Process).
(In House) SAP UI
,
.
(Unified Data Frame).
, OLTP(Online Transaction Processing) OLAP(Onlin
e Analysis Processing) . UI/UX
.
UI/UX .
. ,
, , UI/UX BUX
.
-
| 4
1.2 14
14 BUX
.
, , .
14 (WYSIWYG) RTE(Real Time Ent
erprise) HTML5,
, .
14 UI HTML5,
. HTML5
, ,
. .
1.2.1
4GL
. (WYSIWYG)
.
ECMA, CSS, XML, DOM
.
.
PC
.
/
.
.
,
, .
Grid .
-
5 | 14 /
.
.
( )
Real Time Enterprise(RTE)
. ,
.
.
1.2.2
UI TCO ROI
SAP UI /
UI
UI / ,
ERP, CRM, PLM, SCM
/
/ , ,
Local DBMS Local File
PC ,
BYOD(Bring Your Own Device)
,
, EIS
HTML5
-
2.
(Unified Framework)
.
.
2.1
.
,
.
(Runner) .
.
. .
-
7 | 14 /
(Unified Framework)
.
(XML, CSV ),
.
UI
(UI Components)
UI Dataset . UI
.
- UI : Button, Calendar, Checkbox, Grid
- : EditBase, FormBase, FrameBase, ScrollBar
- : Dataset
API
HTML5
.
(Element) .
C HTML5 .
.
.
Device API (Extension DLL) .
-
| 8
.
Device API
(Camera...)
.
.
- HTML5
.
Local Database .
SQLite .
- Indexed Database(http://www.w3.org/TR/IndexedDB/)
HTML5 .
XML, CSV, SSV , HTML5
.
- HT
ML5 .
2.2
4 .
.
2.2.1
. ,
.
XML , .
MLM(Multi Layout Manager) .
.
.
()
nexacro platform Project *.xprj
TypeDefinition
ADL ()
nexacro platform *.xadl
http://www.w3.org/TR/IndexedDB/
-
9 | 14 /
Application Definition TypeDefinition
(ScreenInfo)
nexacro platform
Form Definition
*.xfdl
TypeDefinition default_typedef.xml
GlobalVariable globalvars.xml
Theme *.xtheme (, , )
()
.
.
-
| 10
2.2.2
(WYSIWYG) .
.
.
. iOS Xc
ode
.
-
11 | 14 /
2.2.3
(Unified Framework)
.
HTML5 2 .
. API . HTM
L5 .
.
(Runner) .
.
. iOS UIWeb
View . , UIW
ebView .
-
| 12
2.2.4
.
.
.
(Application Server) . X-AP
I . , X-PUSH
.
HTTP .
.
. (Administr
ator Guide) .
X-PUSH .
.
.
-
13 | 14 /
2.3
Runtime
Windows Android iOS
CPU Intel Pentium 4 1.4GHz ARM Cortex-A8
600 MHz
ARM Cortex-A8
600 MHz
Intel Core i3-330M 2.13GHz ARM Cortex-A8
1GHz
ARM Cortex-A8
1GHz
- HVGA HVGA
- HVGA HVGA
1GB 256M 256M
4GB DDR3 512M 512M
HDD(ROM) 8GB 4M 4M
30GB - 5400rpm 10M 10M
Windows XP SP3
Windows 10 V1703 (10.0.15063.413)
Android 2.3
Android 7.0
iOS 4
iOS 10.1
.
, .
Android Smart Phone
Samsung Electronics
- Galaxy S3 (Android 4.1.2)
- Galaxy S4 (Android 4.2.2)
- Galaxy Note 8.0 (Android 4.1.2)
- Galaxy Note 10.1 (Android 4.1.1)
LG Electronics
- Optimus G2 (Andriod 4.2.2)
- Optimus Vu2 (Andriod 4.0.4)
SHARP
- Aquos Phone (Andriod 4.0.4)
Android Tablet
Samsung Electronics
- Galaxy Tab 10.1 (Android 3.2)
Fujitsu Mobile
- Arrows Tab Wi-Fi FAR70A (Android 3.2)
-
| 14
iOS
iPhone5 (iOS 6.0.1)
iPhone5s (iOS 7.1)
iPad2 (iOS 7.1.1)
iPad4 (iOS 7.1.1)
iPad mini (iOS 6.0.1, 7.1)
-
15 | 14 /
HTML5
Google Chrome 10.0.648.127 22.0.1229.79
Firefox 8.0.1 14.0.1
Internet Explorer 8.0 10.0.9200.16521 11.0
Edge 25.10586.63.0 25.10586.63.0
Opera 11.0 12
Safari 4 6.0.2
.
Android
Android
iOS
Android Android 2.3 Android 6.0 Android 7.0
Android Android Chrome (Android
4.0)
Android Chrome (Android
4.4)
Android Chrome
iOS iOS 4 iOS 6.0.1 iOS 10.1
-
II.
-
3.
XML
.
.
.
, .
.
3.1
.
, .
.
A.xprj
A.xadl A.xadl.js Build > Generate Application
default_typedef.xml A.xadl.js loadTypedefition
globalvars.xml A.xadl.js on_loadGlobalVariables
Form_A.xfdl ./Base/Form_A.xfdl.js Build > Generate File
default.xtheme ./_theme_/default/theme.css.js
HTML A.xadl.js
.
.
-
| 18
3.1.1 ADL File
ADL Application Definition Language , Application .
ADL .
Object
(link)
- (Dataset, Grid)
.
- Type Definition , ADL url .
Theme
(link)
- .
- Theme CSS .
- Theme , ADL url .
CSS
(link)
- CSS .
- Theme CSS CSS .
- CSS , ADL url .
Global Variable
(link)
- .
- variant, Dataset Object Image .
- Global Variable , ADL url .
Global Script - Function .
- Event Function .
ADL .
ADL .
.
1 . ADL
2 Type Definition .
-
19 | 14 /
3 Global Variable .
4 ADL .
5 . ChildFrame .
6 Screen .
7 CSS .
8 .
9 Form .
Project Explorer , .
Root ADL .
ADL .
1 ADL , Edit Source ADL .
2 ADL , Edit Script ADL Global Script .
ADL .
-
| 20
3.1.2 Type Definition File
Type Definition .
.
.
.
Type Definition .
Type Definition .
1 .
- .
- js json .
.
2 .
- .
- .
3 .
-
21 | 14 /
- .
4 ( ) .
3.1.3 Global Variable File
Global Variable .
Variant , Dataset Object Image .
Global Variable .
Dataset - Dataset element .
Variable - Variant Type .
Image - .
Global Variable Dataset .
Project > GlobalVariable > Insert GlobalVariables Item > Dataset
Global Variable .
Project > GlobalVariable > Edit Source
Global Variable .
-
| 22
// Variable
var test = application.all["var_sample"];
var test = application.var_sample;
// Dataset
var objDs = application.all["dsSample"];
objDs.setColumn(1,"cust_zip","078543");
application.dsSample.setColumn(1,"cust_zip","078543");
application all .
all setVariable .
application.aaa = "TEST";
trace(application.aaa); // TEST
trace(application.all["aaa"]); // undefined
// setVariable
application.setVariable("aaa", "TEST");
trace(application.aaa); // TEST
trace(application.all["aaa"]); // TEST
3.1.4 /
UI .
, , , , , .
. .
UI .
3.1.5 FDL
FDL Form . UI
.
FDL ADL .
FDL .
-
23 | 14 /
- Visible Object .
- .
- Dataset Invisible Object Property Event .
Script - Form Event Function .
- Event Function Function .
Style - Form Style . Style ADL Style
.
BindItem - Form, , Invisible Object Dataset BindItem Object .
3.2
.
3.2.1 bootstrap
.
.
HTML5 Runtime
1 index.html start.json
start_android.json
start_ios.json
2 get bootstrap info
3 update engine
4 update resource (data)
5 load framework files
6 load component modules
7 load application
.
(booting) .
https://en.wikipedia.org/wiki/Bootstrapping
.
https://en.wikipedia.org/wiki/Bootstrapping
-
| 24
3.2.2
.
1. ADL
2. ADL
3. TypeDefinition (parsing)
4.
5.
6.
7. Application
8.
9. Application
10. Mainframe
11. MainFrame Frame
12. Form
13. Application, MainFrame, Frame
14. : Application.onloadtypedefinition
15. GlobalVariables
16. : Application.onloadingglobalvariables
17. : MainFrame.createComponent
18. : MainFrame.on_created
19. : Application.onload
20. : Form.onload
include .
.
onloadtypedefinition GlobalVariables undefined
.
this.application_onloadtypedefinition = function(obj:Application, e:nexacro.LoadEventIn
fo)
{
trace(application.all['Variable0']); //undefined
}
-
25 | 14 /
3.2.3
'Form ' 'Form.onload '
.
1. Form
2. Form
3.
4. Form
5. Form Style
6. Form
7. , , (BindItem)
8.
9.
10. , : Object.createComponent
11. : Form.oninit
12. : Form.on_created
13. , : Object.on_created
14. , transaction
15. : Form.onload
Form Object, Component Z-Order .
div, tab url Form
.
3.3
UI
. .
-
| 26
3.3.1
. MainFrame Chil
dFrame . Form .
Form
.
MainFrame, ChildFrame FrameSet, VFrameSet,
HFrameSet, TileFrameSet .
Frame
Root Frame MainFrame - . , Root Frame .
- Node Frame ChildFrame .
- ChildFrame .
Terminal
Frame
ChildFrame - .
- .
Node Frame FrameSet - .
- 2
.
- Node Frame ChildFrame .
VFrameSet - .
- separatesize .
- Node Frame ChildFrame .
HFrameSet - .
- separatesize .
- Node Frame ChildFrame .
TileFrameSet - .
- separatetype, separatecount ,
.
- Node Frame ChildFrame .
SDI (Single Document Interface)
Default
.
-
27 | 14 /
MDI (Multi Document Interface)
, , ,
. MDI Default HFrame,
VFrame .
MainFrame Node Frame [Insert Frame]
MainFrame Node Frame [Add]
.
3.3.2 Form
Form UI . Form
.
Form Visible , Invisible Logic 3 .
Visible visible Object( ) .
Invisible Invisible Object .
-
| 28
Logic Script Invisible Object .
3.4 Data
.
.
3.4.1 X-API
X-API . X-API
Data Service
.
X-API Java . X-API
.
-
XML
4.
Form ,
.
XML Format . XML .
4.1 ADL XML Format
-
XML | 30
4.2 FDL XML Format
-
31 | 14 /
4.3 Type Definition XML Format
4.4 Global Variable XML Format
-
5.
HTML5
.
.
HTML5 ,
.
.
.
5.1 (Scope)
.
.
.
5.1.1 this
ADL this . ,
.
.
this.formvalue = 4;
. ,
-
33 | 14 /
.
this.formvalue = 4;
this.test = function()
{
this.formvalue = 3;
this.parent.value = 3;
this.parent.parent.value = 3;
}
trace alert . alert() this.alre
t() .
this.Button00_onclick = function(obj:Button, e:nexacro.ClickEventInfo)
{
alert(e.button);
this.alert(e.button);
}
.
this.Button00_onclick = function(obj:Button, e:nexacro.ClickEventInfo)
{
obj.set_text("button");
var a = 3;
trace(a); // 3
}
.
this.Button00_onclick = function(obj:Button, e:nexacro.ClickEventInfo)
{
...
}
eval this .
-
| 34
eval("this.formfunc()");
, Global
.
function Button00_onclick(obj:Button, e:nexacro.ClickEventInfo)
{
...
}
5.1.2 Global
Global .
Global . var
Global .
globalvar = 2;
var globalvar2 = 3;
Global . var
.
this.test = function()
{
trace(globalvar); //2
trace(globalvar2); //3
value = 4;
var localvar = 5;
}
this.test = function()
{
trace(value); // 4
trace(localvar); // ReferenceError: localvar is not defined
}
-
35 | 14 /
Form include .
var .
includecode.xjs generate includecode.xjs.js
(generate ).
includecode.xjs
bbb = "bbb";
var ccc = "ccc";
includecode.xjs.js
(function()
{
return function(path)
{
var obj;
// User Script
this.registerScript(path, function() {
bbb = "bbb";
var ccc = "ccc";
});
this.loadIncludeScript(path);
obj = null;
};
}
)();
. test() this.test()
. test() Global test .
this.Button00_onclick = function(obj:Button, e:nexacro.ClickEventInfo)
{
test();
this.test();
}
Global .
-
| 36
Button00_onclick = function(obj:Button, e:nexacro.ClickEventInfo)
{
...
}
function Button00_onclick(obj:Button, e:nexacro.ClickEventInfo)
{
...
}
Alert(), Confirm(), Trace() Global .
this .
dialog(), open(), exit(), transaction()
.
//application
application.open("");
application.exit("");
application.transaction("");
//Form
this.close("");
this.go("");
//ADL
this.open("");
this.exit("");
this.transaction("");
Global
.
-
37 | 14 /
5.1.3 Expr
expr Dataset
. Dataset
.
Dataset expr this .
Dataset.set_filterstr("Column00=='test'");
Dataset.filter("Column00=='test'");
Grid, Dataset, Cell .
Grid: comp
dataset: dataset
Cell: this
form comp.parent dataset.parent
.
comp.parent.func() this
. expr this cell .
Expr Text displaytext
-
| 38
.
this.Button00.set_text("text");
this.Button00.set_expr("1+1");
trace(this.Button00.text); // "text"
trace(this.Button00.expr); // "1+1"
trace(this.Button00.displaytext); // "2"
5.1.4 lookup
lookup .
id .
lookup .
Form.lookup( strid );
Frame.lookup( strid );
Application.lookup( strid );
EventSyncObject.addEventHandlerLookup( eventid, funcid, target );
.
// this objectid
var obj = this.lookup("objectid");
// this fn_onclick
this.lookup("fn_onclick")();
// this fn_onclick
btn00.addEventHandlerLookup( "onclick", "fn_onclick", this );
-
39 | 14 /
5.2
,
.
5.2.1
, .
addHandler, setHandler, removeHandler 3 ,
1. addEventHandler( eventid, funcobj, target )
2. addEventHandlerLookup( eventid, funcstr, target )
3. setEventHandler( eventid, funcobj, target )
4. setEventHandlerLookup( eventid, functstr, target )
5. removeEventHandler( eventid, funcobj, target )
6. removeEventHandlerLookup( eventid, funcstr, target )
.
this.btn00.setEventHandler("onclick", this.fn_onclick, this);
this.dataset00.addEventHandlerLookup("onrowposchange", "fn_onchange", this);
addEventHandlerLookup, setEventHandlerLookup, removeEventHandlerLookup
.
btn00.onclick.addHandler(button00_onclick) .
.
this
.
this.Button00.addEventHandler("onclick", this.Button00_onclick, this);
-
| 40
5.2.2
.
.
this.Button00_onclick = function(obj:Button, e:nexacro.ClickEventInfo)
{
trace(obj.text);
}
.
.
this.Button00_onclick = function(obj, e)
{
trace(obj.text);
}
.
.
-
41 | 14 /
5.3 Setter
ECMAScript 5 Setter/Getter . IE8
set .
5.3.1 set
Button text .
this.Button00.set_text("text");
trace(this.Button00.text);
.
this.Button00.text = "text";
.
this.Button00.myprop = "333";
this.Button00.mytext = "text";
set . set
. .
this.Button00.style.set_color('aqua');
trace(this.Button00.style.color); // 'aqua'
set null .
, CSS .
-
| 42
Button
{
background : red;
}
X()
.
this.ActiveX00.setProperty("prop1", 3 );
var v = this.ActiveX00.getProperty("prop1");
this.ActiveX00.callMethod("method1", arg1, arg2 );
var v = this.ActiveX00.callMethod("method2");
-
43 | 14 /
5.3.2
GetMethod
. System curx, cury, screenwidth, screenheight 4
.
System.getCursorX();
System.getCursorY();
System.getScreenWidth();
System.getScreenHeight();
. Calendar spin
.
this.Calendar.spindownbutton
this.Calendar.spinupbutton
Calendar spindownbutton (Control Property)
[object ButtonControl] .
-
| 44
5.4
5.4.1 nexacro
ECMAScript
. nexacro .
Math 2 floor, ceil, round
. nexacro .
//Math.floor( v, digit );
nexacro.floor( v, digit );
//Math.ceil( v, digit );
nexacro.ceil( v, digit );
//Math.round( v, digit );
nexacro.round( v, digit );
, .
//new Image();
new nexacro.Image();
TypeDefinition classname nexacro.Button
. Button .
this.button00 = new Button();
or
this.button00 = new nexacro.Button();
.
Component.class Component.cssclass
Export.export() Export.exportData()
Buffer.delete() Buffer.remove()
VirtualFile.delete() VirtualFile.remove()
-
45 | 14 /
5.4.2
.
. != .
switch
switch case "2" case 2
.
/g
/g replace /g
.
5.4.3
, ChildName . text
id text . .
-
| 46
(_)
.
.
. _is
_loading .
this._is_loading = true;
this.Button00_onclick = function(obj:Button, e:nexacro.ClickEventInfo)
{
trace(this._is_loading);
}
(_)
.
.
createComponent .
this.createComponent = function()
{
trace('createComponent ');
}
-
Frame Tree
6.
Form .
6.1
Frame .
6.1.1 box
collection Item .
6.1.2
1:1 . Child .
-
Frame Tree | 48
1:N . (Crow's foot) Child .
6.1.3
.
Parents Child .
Child Parents .
.
parent child 1:N .
parents.id child .
parents.child[index] child .
child.parent parent .
6.1.4
element component property, method, event component element .
6.1.5 Syntax
'[', ']' index 'id' .
, this.all[0] this.all['btn0'] component .
-
49 | 14 /
6.2 Form
6.2.1
Form
container component
-
Frame Tree | 50
6.2.2 Script
dtset1, btn0, btn1, cmb0, div0, div1, bind1 .
Dataset
Bind .
form level id . , btn0 div0_btn0 div2_btn Level
, id .
-
51 | 14 /
6.2.3 component / invisible object / bind Script
this.classname == "frm0"
this.name == "frm0"
// btn0
this.all["btn0"].name == "btn0"
this.all[1].name == "btn0"
this.btn0.name == "btn0"
this.components[0].name == "btn0"
this.components["btn0"].name == "btn0"
// dtset1
this.all["dtset1"].name == "dtset1"
this.all[0].name == "dtset1"
this.dtset1.name == "dtset1"
this.objects[0].name == "dtset1"
this.objects["dtset1"].name == "dtset1"
// component / invisible object / bind
this.all.length == 7
this.components.length == 5 //btn0, btn1, comb0, div0, div1
this.binds.length == 1
-
Frame Tree | 52
6.2.4 container component Script
form container component invisible object / bind .
// div0 div0_btn0
this.div0.div0_btn0.name== "div0_btn0"
this.div0.all[0].name == "div0_btn0"
this.components[3].components[0].name == "div0_btn0"
// div2 div2_btn0
this.div0.div2.div2_btn0.name == "div2_btn0"
this.all["div0"].all["div2"].all["div2_btn0"].name == "div2_btn0"
this.components["div0"].components["div2"].components["div2_btn0"].name == "div2_btn0"
6.2.5 form container component Script
// (frm1 script ) frm1 btn0
this.name == "div1"
this.btn0.name == "btn0"
this.all["btn0"].name == "btn0"
// (frm0 script ) frm1 dtset1
this.name == "frm0"
this.div1.btn0.name == "btn0" // "frm1" "div1" .
6.2.6 parent Script
this.div1.dtset2.parent.parent.classname == "frm0"
this.div1.dtset2.parent.name == "div1" // frm1 div1 .
this.div1.dtset2.parent.classname == undefined // frm1 div1
classname .
this.div1.dtset2.parent.name == "div1"
-
53 | 14 /
6.2.7 container component element
form container component form components, invisible object, bind ( element)
.
form container component invisible object, bind component
.
container component invisible object, bind element .
container component form .
form script this , form element container component elem
ent .
container component form this.component_name , form eleme
nts .
-
Frame Tree | 54
6.3 Application
6.3.1
form component / bind / invisible object .getOwnerFrame() .getOwnerForm()
.
6.3.2 Script
-
55 | 14 /
6.3.3 application form script
// frm0 (ChildFrame )
application.mainframe.frame.form.name =="frm0"
application.mframe0.frame.form.name == "frm0"
application.mframe0.chdframe0.form.name == "frm0"
application.all[0].all[0].form.name == "frm0"
application.all["mframe0"].all["chdframe0"].form.name == "frm0"
this.mainframe.frame.form.name == "frm0"
6.3.4 form application script
// frm0 application (ChildFrame )
this.parent.name == "chdframe0"
this.parent.parent.name == "mframe0"
this.getOwnerFrame().getOwnerFrame().name == "mframe0"
this.getOwnerFrame().getOwnerFrame().parent.mainframe.name == "mframe0"
-
(CSS)
7.
(CSS) .
, Form, Frame, TitleBar, StatusBar, ScrollBar
.
7.1 /
UI .
, , , , , , .
7.1.1
.
, .
Button
{
color : "red";
}
Static
{
color : "blue";
}
-
57 | 14 /
(Selector) . CSS
.
.
Type Selector, Class Selector, ID Selector, Child Selector
Grouping, Pseudo-Classes
(Type Selector) : Button .
Syntax Name (Element)
Button {color : green;}
Button color green .
(Class Selector) : .
Syntax .(Period)
.BlueButton {color : blue;}
BlueButton blue .
.
Button.BlueButton {color : blue;}
-
(CSS) | 58
ID (ID Selector) : Button00 ID .
Syntax #
Button#Button00 {color : yellow;}
Button Button00 ID Button color yellow .
(Child Selector) : .
Syntax >
Div>Button { color : blue; }
Div Button color blue .
. Div Butt
on child . ID
.
Form>Button (O)
Form>Div>Button (X)
Form>#div00>#button00 (O)
(Pseudo-classes) : .
.
UI
enabled(default), disabled, focused, mouseover, pushed, selected, readonly
root, nth-child(), nth-last-child(), first-child, last-child, only-child, empty
Syntax :
Button:focused {color : black;}
Button focus Button color black .
(Grouping) : (declarations) .
Syntax ,(Comma)
Button, Combo, Calendar {font : Dotum,9;}
Button, Combo, Calendar font Dotum 9 .
-
59 | 14 /
7.1.2
.
1. .
2. .
.
default, black, gray, blue 4 Theme .
Theme, Style Editor
.
, .
, . #combolist
Combo .
.
-
(CSS) | 60
7.1.3 /
1. ADL
2. ADL
3. FDL
4. FDL
1 > 2 > 3 > 4 . ,
4 .
-
61 | 14 /
7.1.4
Style Form , Global Project(ADL) Theme
.
Style , .
.
Style .
(Visible Object)
Button, Calendar, CheckBox, Combo, Div, Edit, Grid, GroupBox, ImageViewer
ListBox, MaskEdit, Menu, Progressbar, Radio, Spin, Static, Tab, TextArea
Frame Form, MainFrame, ChildFrame, FrameSet, HFrameSet, VFrameSet, TileFrameSet
TitleBarControl, StatusBarControl
ScrollBar
7.1.5
CSS
.
.
CSS (Selector) Depth 4
CSS Depth 4 .
Form>#id>#id>#id>#id ------ (O)
Form>#id>#id>#id>#id>#id -- (X)
(Type Selector) Depth
Depth . CSS
.
-
(CSS) | 62
Form>Div>Button -------- (X)
Form>#div00>#button00 -- (O)
Div>#button00 ---------- (O)
EditControl ------------ (O)
CSS Depth
. CSS
.
(Class Selector)
.
Button.set_cssclass("TestClass"); ------------- (O)
Button.set_cssclass("TestClass,TestClass2"); -- (X)
.
"TestClass,TestClass2"
.
-
63 | 14 /
7.2
.
, .
7.2.1
ADL Form
.
1: Form .
New Form Form Form StyleForm .
-
(CSS) | 64
2: Form .
StyleForm Insert Style FormStyle.css
. Form .
-
65 | 14 /
(File > New > File > Style Sheet) CSS Form 'Insert to Form'
Form .
3: ADL .
ADL Insert ADL Item ADLStyle.css .
-
(CSS) | 66
ADL Refresh .
Refresh .
7.2.2
Theme, ADL, Form .
.
/ , .
.
.
1: .
ADLStyle.css Button (Type Selector, Pseudo Selector, Class Selector)
. Type Selector Pseudo Selector(mouseover, focused) .
-
67 | 14 /
-
(CSS) | 68
Class Selector .
.
Button
{
...
}
Button:focused
{
...
}
Button:mouseover
{
...
}
.Blue
{
-
69 | 14 /
}
2: .
Button (Type Selector, Pseudo Selector, Class Selector) .
.
.
Button
{
background: lightskyblue;
border: 1px solid red;
color: yellow;
font: Dotum,9,bold ;
}
Button:focused
{
background: lightskyblue;
border: 1px solid yellow;
-
(CSS) | 70
color: black;
font: Dotum,9,underline;
}
Button:mouseover
{
background: lightskyblue;
border: 1px solid black;
color: red;
font: Dotum,9;
}
.Blue
{
background: lime;
border: 1px solid blue;
color: blue;
font:Dotum,10,bold;
}
-
71 | 14 /
7.2.3
Form Button ADL Form .
1: Form .
New Form Form StyleForm (" " Form
.)
2: Button .
StyleForm Button ADL .
-
(CSS) | 72
3: Form Button Pseudo Selector .
ADL Pseudo Selector(mouseover, focused) Form QuickView
.
-
73 | 14 /
4: Form Form , ..
Form Pseudo Selector focused ADL
QuickView .
Button:focused
{
background: lightskyblue;
border: 4px solid green;
color: black;
font: Dotum,9,underline;
}
-
(CSS) | 74
7.2.4 cssclass
Form Style Class
.
1: ADLStyle Class , ..
ADLStyle Class Selector(Blue) .
.Blue
{
background: lime;
border: 1px solid blue;
color: blue;
font:Dotum,10,bold;
}
2: Form Button cssclass Style .
Form cssclass ADLStyle Class Blue , .
-
75 | 14 /
7.3
.
, .
7.3.1
Insert Theme(Insert ADL Item) .
,
.
.
1: .
(File > New > File > XTheme) example .
default .
2: .
ADL Insert ADL Item .
-
(CSS) | 76
7.3.2
.
, , , / .
1: Theme Treeview .
example.xtheme Theme Treeview (theme.css)
, Style Style .
-
77 | 14 /
2: , , // .
Theme Treeview .
New Folder
New CSS
Insert
Delete Treeview
-
(CSS) | 78
7.3.3
default Theme
.
Combo .
1: default Theme Combo .
StyleForm Combo .
-
79 | 14 /
2: example Theme .
example Theme Set Active Theme , S
tyleForm .
-
(CSS) | 80
7.3.4 Deploy Theme
. Deploy Theme xtheme
. .
xtheme Deploy Theme Extern File .
Extern File
Extern File .
extern file .
Extern Item .
default.xtheme Theme . ,
.
.
.
. Set Extern
Unset Extern .
-
81 | 14 /
Deploy Theme . Deploy Theme Exter
n File .
Deploy Theme Extern File theme
) theme C:\a.xtheme
C:\a.xtheme
Extern File theme/images/ Image()
) theme C:\theme\a.xtheme
Image b.png
C:\a\images\b.png
Deploy Theme
Extern Item Deploy Theme Extern Item
Deploy Theme .
-
Position
8.
left, top, right, bottom width, height
. (px) (%) .
, , DotGrid( ),
.
8.1
left, right, width, top, bottom, height 4
.
-
83 | 14 /
-
Position | 84
8.2
left, right, width, top, bottom, height 4
width, height 2 .
Position (px) (%) .
.
.
setter .
.
this.Button.set_left(10);
this.Button.set_left("10px");
this.Button.set_left("30%");
-
85 | 14 /
8.3
8.3.1
.
.
left="20" top="20" width="120" height="50"
left="20" top="90" right="260" bottom="160"
width="120" height="50" right="260" bottom="90"
-
Position | 86
8.3.2 / Dot Grid
.
Show Pixel Ruler / Show Percent Ruler Dot Grid
.
-
87 | 14 /
-
Position | 88
8.3.3
.
.
-
89 | 14 /
8.3.4
Position .
.
.
left, top, right, bottom, width, height .
-
Position | 90
8.4 Position
, left, top, right, bottom
.
, left, top, right, bottom Default
.
-
91 | 14 /
right, bottom
. left, top rigth, bottom
.
-
MLM(Multi Layout Manager)
9.
.
.
.
9.1
9.1.1
iPhone, iPad, GalaxyTab .
File > New > Project ,
.
-
93 | 14 /
New Project Wizard Step1
.
,
.
New Project Wizard Step2
TypeDefinition .
-
MLM(Multi Layout Manager) | 94
New Project Wizard Step3
. iPhone, iPad, GalaxyTab
, . Finish
iPhone, iPad, GalaxyTab .
Screen
name Screen ( )
type
- 'desktop', 'phone', 'tablet' .
screenwidth Screen ( : 0~65536)
sizeorientation screenwidth .
- 'landscape', 'portrait' .
- 'landscape' (type 'desktop' 'tablet' )
- 'portrait' (type 'phone' )
autozoom , .
- true, false . ( false)
- type 'desktop' autozoom .
zoommin autozoom .
- , -1
zoommax autozoom .
- , -1
-
95 | 14 /
systemos Screen OS
- 'windows', 'android', 'ios' .
- OS .
systemlocale Screen Locale
- 'af_ZA' "zh_TW" .
- Locale .
formlayoutwidth Screen Form Layout .
formlayoutheight Screen Form Layout .
Screen
-
MLM(Multi Layout Manager) | 96
9.1.2
New Project Wizard Project Explorer > ADL
ADL ScreenInfo
.
-
97 | 14 /
9.2
iPhone, iPad, GalaxyTab 3 . File > New > It
em > Form FDL ,
.
New Form Wizard Step1
. ,
.
-
MLM(Multi Layout Manager) | 98
New Form Wizard Step2
Default . .
New Form Wizard Step3
Position .
-
99 | 14 /
New Form Wizard Step4
. , ,
.
Screen Template OK
Screen New Form Wizard .
-
MLM(Multi Layout Manager) | 100
.
-
101 | 14 /
9.3 InitValue
MLM .
.
. InitValue
.
Init Info . InitValue
. xfdl .
InitValue . InitValue
InitValue .
InitValue .
(Default Value)
.
-
MLM(Multi Layout Manager) | 102
9.4
Quick View .
Launch Project .
ADL ADL Theme
.
-
103 | 14 /
9.5 XML /
9.5.1 XADL
ScreenInfo XADL .
...
9.5.2 XFDL
XFDL .
-
MLM(Multi Layout Manager) | 104
Default Form .
.
.
-
105 | 14 /
InitValue . InitValue InitValue
InitValue .
XML . default
.
.
-
MLM(Multi Layout Manager) | 106
-
III.
-
10.
. HTTP
.
.
.
.
10.1
, , default_typedef.xml
TypeDefinition [Edit TypeDefinition] .
10.1.1 (Module)
default_typedef.xml [Edit TypeDefinition > Modules]
.
Base Lib Path [component]
.
nexacro14lib .
Base Lib Path [Tools >Options > Environment > Build > Base Lib Path]
.
-
109 | 14 /
-
| 110
JSON . 'scripts' [Base Lib Path
> component] .
{
"name": "Xecure",
"version": "14.0.0.0",
"description": "nexacro platform XecureAdp Protocol Library",
"license": "",
"scripts": [
"Xecure/Xecure.js",
]
}
//@ sourceURL=Xecure.json
10.1.2 (Protocol)
default_typedef.xml [Edit TypeDefinition >Objects]
.
-
111 | 14 /
.
.
1. nexacro.ProtocolAdp .
ProtocolAdptor .
.
var _pXecureAdp = nexacro._createPrototype(nexacro.ProtocolAdp);
nexacro.XecureAdp.prototype = _pXecureAdp;
2. initialize .
_pXecureAdp.initialize = function ()
{
trace("_pXecureAdp.initialize");
};
3. finalize .
.
_pXecureAdp.finalize = function ()
{
trace("_pXecureAdp.finalize");
};
-
| 112
4. . "1.0" . getHTTPHeader()
"1.1" . version()
"1.1" getHTTPHeader() .
_pXecureHttp.version = function ()
{
return "1.1";
};
5. HTTP . _httpheaders HTTP .
_pXecureHttp.getHTTPHeader = function ()
{
return this._httpheaders;
};
6. encrypt .
.
_pXecureAdp.encrypt= function(url, data)
{
trace("encrypt url=" + url + ";data=" + data);
return data;
};
encrypt (Request Method) POST .
transaction load GlobalVariables POST
.
7. decrypt .
.
_pXecureAdp.decrypt = function (url, data)
{
trace("decrypt url=" + url + ";data=" + data);
return data;
};
. .
-
113 | 14 /
if (!nexacro.XecureAdp)
{
nexacro.XecureAdp = function ()
{
};
var _pXecureAdp = nexacro._createPrototype(nexacro.ProtocolAdp);
nexacro.XecureAdp.prototype = _pXecureAdp;
_pXecureAdp._type = "nexacroXecureAdp";
_pXecureAdp._type_name = "XecureAdp";
_pXecureHttp._httpheaders = [];
_pXecureHttp._httpheaders.push({ id: "X-Requested-With", value: "XMLHttpRequest"});
_pXecureHttp._httpheaders.push({ id: "Accept", value: "application/json, text/json, */*"});
_pXecureHttp._httpheaders.push({ id: "Content-Type", value: "application/json"});
_pXecureHttp.version = function ()
{
return "1.1";
};
_pXecureHttp.getHTTPHeader = function ()
{
return this._httpheaders;
};
_pXecureAdp.encrypt= function(url, data)
{
trace("encrypt url=" + url + ";data=" + data);
return data;
};
_pXecureAdp.decrypt = function (url, data)
{
trace("decrypt url=" + url + ";data=" + data);
return data;
};
_pXecureAdp.initialize = function ()
-
| 114
{
trace("_pXecureAdp.initialize");
};
_pXecureAdp.finalize = function ()
{
trace("_pXecureAdp.finalize");
};
delete _pXecureAdp;
}
10.1.3
default_typedef.xml [Edit TypeDefinition > Services]
.
url
.
this.Div00.set_url('Base:test.xfdl');
-
115 | 14 /
10.1.4
.
application.transaction("MyService01", "xecuredata::test.js", "dsIn=dsIn:A","dsOut=dsIn","a=b
","fnCallback");
.
1.
Application.transaction(), Dataset.load(), Div.set_url();
2.
initialize
3.
encrypt
4.
.
5.
6.
decrypt
7.
.
10.2 PluginElement
. PluginElement .
.
PluginElement .
(XecureWeb) .
.
() .
http://www.softforum.co.kr/02product/pro_sub01_02.asp
http://www.softforum.co.kr/02product/pro_sub01_02.asp
-
| 116
.
.
10.2.1 (Protocol)
PluginElement
.
1. initialize .
nexacro.PluginElement .
Parent_element hidden .
_pXecureAdp.initialize = function ()
{
trace("_pXecureAdp.initialize");
var parent_elem = null;
this.xecure = new nexacro.PluginElement();
this.xecure.setElementClassId("{7E9FDB80-5316-11D4-B02C-00C04F0CD404}");
this.xecure.create();
};
2. finalize .
.
_pXecureAdp.finalize = function ()
{
this.xecure.destroy();
delete this.xecure;
};
3. encrypt .
.
_pXecureAdp.encrypt= function(url, data)
{
return data;
-
117 | 14 /
};
4. decrypt .
.
_pXecureAdp.decrypt = function (url, data)
{
return data;
};
5. getUsingProtocol .
http.
_pXecureAdp.getUsingProtocol = function (url)
{
return "http";
};
6. getCommunicationHeaders .
_pXecureAdp.getCommunicationHeaders = function (url)
{
var headers = [];
headers.push({id:"test", value:"test1"});
return headers;
};
-
11.
(Extension DLL) (DLL) .
.
11.1
.
1. 2005
2005 v80 .
2. V8
https://code.google.com/p/v8/
11.2
11.2.1
1. [ ] [ > Visual C++ > Win32] [Win32 ] .
[] .
https://code.google.com/p/v8/
-
119 | 14 /
2. [] .
3. [ ] DLL [] .
-
| 120
11.2.2
1. [ ] V8 Javascript Engine v8.h .
2. [ 'v8.lib' .
3. [ ] [ ] v8 Lib .
11.3
ExtensionInitialize . ExtensionInitialize DL
L attach function .
11.3.1 Entry Funcs
v8::Object v8::Function .
typedef bool (*pFnAttachObject)( v8::Handle*);
11.3.2 Initialize
.
nexacro._addExtensionModule .
nexacro._clearExtensionModule .
.
extern "C" __declspec(dllexport) bool ExtensionInitialize()
11.3.3 EntryPoint
EntryPoint .
-
121 | 14 /
EXTENSIONENTRYFUNCS .
nexacro._addExtensionModule
v8::Function .
extern "C" __declspec(dllexport) bool ExtensionEntryPoint(EXTENSIONENTRYFUNCS*)
11.3.4 Shutdown
nexacro._clearExtensionModule .
.
extern "C" __declspec(dllexport) void ExtensionShutdown()
11.4 API
API .
11.4.1 nexacro._addExtensionModule
API .
nexacro._addExtensionModule = function(object, modulepath)
Argument
object ,
modulepath .
Path Alias .
var ext = {};
nexacro._addExtensionModule(ext, "c:/extension.dll");
nexacro._addExtensionModule(ext, "%COMPONENT%\extension.dll");
-
| 122
11.4.2 nexacro._clearExtensionModule
API .
nexacro._clearExtensionModule = function(modulepath)
Argument
modulepath .
Path Alias .
.
nexacro._clearExtensionModule
(memory leak) .
-
12.
.
.
.
.
.
.
12.1
. 10.
.
, 3.
1. (*.json)
2. (*.info)
3. (*.js)
12.1.1 (Module)
default_typedef.xml [Edit TypeDefinition > Modules]
.
-
| 124
Base Lib Path [component]
.
nexacro14lib .
Base Lib Path [Tools >Options > Environment > Build > Base Lib Path]
.
-
125 | 14 /
JSON . 'scripts', 'objInfo' [Base
Lib Path > component] .
{
"name": "ExtComp",
"version": "14.0.0.0",
"description": "nexacro platform Common Component Library",
"license": "",
"scripts": [
"ExtComp/ExtCombo.js"
],
"objInfo": [
"ExtComp/ExtCombo.info",
"ExtComp/ExtEnum.info"
]
}
//@ sourceURL=ExtComp.json
10. , , , Enum 'objInfo'
.
12.1.2
nexacro.ExtCombo 'ExtCombo.info', 'ExtEnum.info' 2 ObjInfo
. 'ExtCombo.info' 'ExtEnum.info' Enum
. Enum info
-
| 126
.
ObjInfo
scripts
.
ExtCombo.info . .
userprop
itemopacity
Pseudo
pushed
focused
tooltiptext
testFunc
ontest
.
-
127 | 14 /
contents="true"
formats="false"
contentseditor="auto"
defaultwidth="300"
defaultheight="200"
requirement="Runtime,HTML5"
description=""/>
-
| 128
unused="false"
objectinfo=""
enuminfo="enum_ext_test"
unitinfo=""
requirement="Runtime,HTML5"
description="this is desc"
/>
-
129 | 14 /
objectinfo="nexacro.Style_opacity"
enuminfo=""
unitinfo=""
requirement="Runtime,HTML5"
description="this is desc"
/>
-
| 130
/>
-
131 | 14 /
Pseudo , .
userprop enuminfo 'enum_ext_test' En
um . 'ExtEnum.info' .
-
| 132
Enum .
12.1.3
,
.
ExtCombo.js .
.
if (!nexacro.ExtCombo)
{
// ==============================================================================
// nexacro.ExtCombo
// ==============================================================================
nexacro.ExtCombo = function(id, position, left, top, width, height, right, bottom, parent)
{
nexacro.Combo.call(this, id, position, left, top, width, height, right, bottom, parent
);
this.userprop = "abc";
this.itemopacity ="";
this.onclick = null;
};
-
133 | 14 /
var _pExtCombo = nexacro._createPrototype(nexacro.Combo);
nexacro.ExtCombo.prototype = _pExtCombo;
_pExtCombo._type = "nexacroExtCombo";
_pExtCombo._type_name = "ExtCombo";
_pExtCombo.set_userprpo = function (v)
{
this.userprop = v;
}
_pExtCombo.set_itemopacity = function (v)
{
this.itemopacity = v;
}
_pExtCombo.testFunc = function (a,b)
{
return a+b;
}
delete _pExtCombo;
}
12.2
12.2.1
default_typedef.xml [Edit TypeDefinition >Objects]
.
id classname
. info Object id
.
ExtCombo.info Object id 'nexacro.ExtCombo'
classname 'nexacro.ExtCombo' .
-
| 134
-
135 | 14 /
12.2.2
.
.
-
DeviceAPI
13.
DeviceAPI .
DeviceAPI (iOS/Android) .
DeviceAPI .
, .
DeviceAPI
.
13.1
13.1.1 iOS
Xcode iOS . DeviceAPI
.
.
OS : OSX 10.9.3
Xcode : Version 5.1.1
: iPad Mini (iOS 7.1)
1. Xcode .
-
137 | 14 /
File > New > Project
2. 'Cocoa Touch static Library' .
3. Product Name(HelloPlugin) .
-
DeviceAPI | 138
Targets 'HelloPlugin' Build Phases 3
. .
nexacro14.framework
UIKit.framework
Foundation.framework
-
139 | 14 /
HelloPlugin.h HelloPlugin.m .
// HelloPlugin.h
#import
#import
#import
@interface HelloPlugin : DeviceAPI {
NSInteger nID;
NSString *helloMsg;
}
@property (nonatomic) NSInteger nID;
@property (nonatomic, retain) NSString * helloMsg;
- (void)hello:(NSString*)lid withDict:(NSMutableDictionary*)options;
@end
-
DeviceAPI | 140
64bit 19 . 64bit
self.nID (int)self.nID .
// HelloPlugin.m
#import "HelloPlugin.h"
@implementation HelloPlugin
@synthesize nID, helloMsg;
//hello Method
- (void)hello:(NSString*)lid withDict:(NSMutableDictionary*)options
{
self.helloMsg = [options objectForKey:@"helloMsg"];
self.nID = [lid integerValue];
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:self.helloMsg delegate:nil
cancelButtonTitle:nil otherButtonTitles:@"OK", nil];
[alert show];
//Event
NSString *callbackResult = [NSString stringWithFormat:@"runCallback(\"%d\",\"_onhello\",{'
eventid':\"onhello\",'msg':\"%@\"});", self.nID, self.helloMsg];
-
141 | 14 /
//64bit build
/*
NSString *callbackResult = [NSString stringWithFormat:@"runCallback(\"%ld\",\"_onhello
\",{'eventid':\"onhello\",'msg':\"%@\"});", (int)self.nID, self.helloMsg];
*/
[self writeJavascript:callbackResult];
}
@end
Xcode Products libHelloPlugin.a . Finder .a
.
libHelloPlugin.a
Framework libHelloPlugin.a .
NX14 libHelloPlugin.a .
-
DeviceAPI | 142
iOS ' (iOS)' .
http://docs.tobesoft.com/admin_guide_nexacro_14_ko
.
.
'Code Signing' 'Code Signing Identity' .
[ > (iOS) > Code Singing]
http://docs.tobesoft.com/admin_guide_nexacro_14_ko
-
143 | 14 /
13.1.2
. NexacroPlugin
.
.
JDK(Java SE Development Kit)
SDK
ADT
: G (Android 4.4.2)
1. .
File > New > Android Application Project
2. Project Name 'HelloPlugin' .
-
DeviceAPI | 144
4.4(Kitkat) SDK Minumum Required SDK 3.2(Honeycomb)
appcompat_v7 .
http://developer.android.com/tools/support-library/features.html
. Minumum Required SDK 4.0(IceCreamSandwich)
AndroidManifest.xml
.
3. HelloPlugin.java . .
http://developer.android.com/tools/support-library/features.html
-
145 | 14 /
HelloPlugin.java . HelloPlugin params A
ndroid Toast .
Toasts
http://developer.android.com/guide/topics/ui/notifiers/toasts.html
package com.example.helloplugin;
import org.json.JSONException;
import org.json.JSONObject;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.widget.Toast;
import com.nexacro.Native;
import com.nexacro.plugin.NexacroPlugin;
import com.nexacro.plugin.NexacroPluginManager;
import com.nexacro.util.Log;
public class HelloPlugin extends NexacroPlugin {
private static String LOG_TAG = "HelloPlugin";
private static HelloPlugin helloplugin = null;
public HelloPlugin(String objectId) {
super(objectId);
http://developer.android.com/guide/topics/ui/notifiers/toasts.html
-
DeviceAPI | 146
// TODO Auto-generated constructor stub
}
@Override
public void init(JSONObject paramObject) {
// TODO Auto-generated method stub
}
@Override
public void release(JSONObject paramObject) {
// TODO Auto-generated method stub
}
@Override
//hello 'helloMsg' .
public void execute(String method, JSONObject paramObject) {
// TODO Auto-generated method stub
Log.w(LOG_TAG, "execute paramObject:" + paramObject.toString());
if (method.equals("hello")) {
String msg = "";
try {
JSONObject params = paramObject.getJSONObject("params");
msg = params.getString("helloMsg"); // repeatcount
}
catch (JSONException e) {
e.printStackTrace();
}
show(msg);
}
}
//excute() Toast .
public void show(String message) {
-
147 | 14 /
final String msg = message;
new Thread(new Runnable() {
@Override
public void run() {
new Handler(Looper.getMainLooper()).post(new Runnable() {
@Override
public void run() {
Toast.makeText(
NexacroPluginManager.getInstance()
.getActivity(), msg, Toast.LENGTH_LONG)
.show();
}
});
}
}).start();
Native.SendDeviceEvent(getObjectId(), "_onhello", "{}");
}
}
jar
Plugin jar .
1. HelloPlugin [Export] .
-
DeviceAPI | 148
2. 'Export' [Java > JAR file] .
3. 'JAR Export' HelloPlugin 'src' .
-
149 | 14 /
Jar
1. xml Plugin.xml .
name class .
-
DeviceAPI | 150
2. libhelloplugin.jar 'libs' .
' ()'
.
-
151 | 14 /
http://docs.tobesoft.com/admin_guide_nexacro_14_ko
13.2
Hello.js nexacro.Hello
. _pHello.hello .
.
DeviceAPI
//Hello.js
if (!nexacro.Hello) {
nexacro.Hello = function(name, obj)
{
this._id = nexacro.Device.makeID();
nexacro.Device._userCreatedObj[this._id] = this;
this.name = name || "";
this.enableevent = true;
this._event_list = {
"onhello": 1
};
var params = '""';
var jsonstr = '{"id":' + this._id + ', "div":"HelloPlugin","method":"constructor", "
params":' + params + '}';
nexacro.Device.exec(jsonstr);
};
var _pHello = nexacro.Hello.prototype = nexacro._createPrototype(nexacro.EventSinkObject,
nexacro.Hello);
_pHello._type_name = "Hello";
_pHello.destroy = function ()
http://docs.tobesoft.com/admin_guide_nexacro_14_ko
-
DeviceAPI | 152
{
var params = '""';
var jsonstr;
delete nexacro.Device._userCreatedObj[this._id];
jsonstr = '{"id":' + this._id + ', "div":"HelloPlugin", "method":"destroy", "params":'
+ params + '}';
nexacro.Device.exec(jsonstr);
return true;
};
_pHello.on_created = function () { };
//===============================================================
// nexacro.Hello : Methods
//===============================================================
_pHello.hello = function(strHelloMsg)
{
var msg = strHelloMsg;
var params = '{"helloMsg":"' + msg + '"}';
var jsonstr = '{"id":' + this._id + ', "div":"HelloPlugin", "method":"hello", "params
":' + params + '}';
nexacro.Device.exec(jsonstr);
};
//===============================================================
// nexacro.Hello : Event
//===============================================================
_pHello._onhello = function(objData)
{
var e = new nexacro.HelloEventInfo(objData.eventid, objData.msg);
this._fire_onhello(this, e);
};
_pHello._fire_onhello = function(objHello, eHelloEventInfo)
{
if (this.onhello && this.onhello._has_handlers)
{
-
153 | 14 /
return this.onhello._fireEvent(this, eHelloEventInfo);
}
return true;
};
//===============================================================
//nexacro.HelloEventInfo
//===============================================================
nexacro.HelloEventInfo = function(strEventId, strMsg) {
this.eventid = strEventId;
this.msg = strMsg;
};
var _pHelloEvnetInfo = nexacro._createPrototype(nexacro.Event, nexacro.HelloEventInfo);
nexacro.HelloEventInfo.prototype = _pHelloEvnetInfo;
_pHelloEvnetInfo._type_name = "HelloEventInfo";
delete _pHelloEvnetInfo;
delete _pHello;
}
DeviceAPI (Java, Objective-C )
"constructor" "destroy" .
/iOS DeviceAPI "constructor", "destroy"
.
.
13.3
. .
-
DeviceAPI | 154
13.3.1
. 4
.
(*.json)
ExtDeviceAPI.json
(*.info)
Hello.info
HelloEnum.info
(*.js)
Hello.js
Base Lib Path 'component'
.
Base Lib Path 'nexacro14lib' .
.
Options > Environment > Base Lib Path
12.