Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
S
Scott
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Scott Sun
Scott
Commits
1943f0b6
Commit
1943f0b6
authored
4 years ago
by
Scott Sun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
s
parent
62b678fa
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
304 additions
and
133 deletions
+304
-133
show_loading.png
GUI测试/show_loading.png
+0
-0
tableedit.png
GUI测试/tableedit.png
+0
-0
x.js
GUI测试/x.js
+271
-127
需求.md
GUI测试/需求.md
+10
-0
20200928_vivo.md
ats/topcam/20200928_vivo.md
+5
-1
ATS_AIM_data_format.js
ats/topcam/ATS_AIM_data_format.js
+18
-5
No files found.
GUI测试/show_loading.png
0 → 100644
View file @
1943f0b6
4.31 KB
This diff is collapsed.
Click to expand it.
GUI测试/tableedit.png
0 → 100644
View file @
1943f0b6
23.3 KB
This diff is collapsed.
Click to expand it.
GUI测试/x.js
View file @
1943f0b6
var
plugin
=
require
(
'topsin.gengui'
);
var
plugin
=
require
(
'topsin.gengui'
);
var
gui
=
plugin
.
newGui
();
var
gui
=
plugin
.
newGui
(
plugin
.
__dirname
);
function
gen
()
{
this
.
PAUSE
=
function
()
{
console
.
log
(
"pause"
);
}
}
var
r
=
gui
.
msgBox
(
"mo"
,
"info"
,
"are you ok?"
,
[
"ok"
,
"cancel"
]);
gui
.
setLang
(
"zhtw"
);
// zhcn, zhtw, en
console
.
log
(
r
);
gui
.
confirm
(
"are you ok?"
,
[
"yes"
,
"no"
],
"question"
);
var
r
=
gui
.
msgBox
({
title
:
"info"
,
icon
:
"info"
,
text
:
"are you ok?"
,
buttons
:
[
"Ok"
,
"Cancel"
],
gen
:
new
gen
()
});
console
.
log
(
r
);
r
=
gui
.
confirm
(
"are you ok?"
,
""
);
console
.
log
(
r
);
var
selected
=
gui
.
selectFromTreeview
({
var
selected
=
gui
.
selectFromTreeview
({
title
:
"test"
,
title
:
"test"
,
size
:
[
600
,
400
],
size
:
[
600
,
400
],
selectmode
:
"single"
,
selectmode
:
"single"
,
columns
:
[
columns
:
[{
{
"name"
:
"id"
,
"name"
:
"id"
,
"display"
:
"ID"
,
"display"
:
"ID"
,
"displayRole"
:
"$id"
,
"displayRole"
:
"$id"
,
...
@@ -28,8 +40,7 @@ var selected = gui.selectFromTreeview({
...
@@ -28,8 +40,7 @@ var selected = gui.selectFromTreeview({
"resizeMode"
:
"ResizeToContents"
"resizeMode"
:
"ResizeToContents"
}
}
],
],
data
:
[
data
:
[{
{
"id"
:
1
,
"id"
:
1
,
"name"
:
"mo"
"name"
:
"mo"
},
},
...
@@ -46,22 +57,31 @@ console.log(selected);
...
@@ -46,22 +57,31 @@ console.log(selected);
r
=
gui
.
selectFile
(
"choose something"
,
"*"
,
true
,
"file"
,
"/home/abby/fast_io"
);
r
=
gui
.
selectFile
(
"choose something"
,
"*"
,
true
,
"file"
,
"/home/abby/fast_io"
);
console
.
log
(
r
);
console
.
log
(
r
);
var
elder
=
[];
var
elder
=
[];
for
(
var
i
=
0
;
i
<
100
;
++
i
)
{
for
(
var
i
=
0
;
i
<
100
;
++
i
)
{
elder
.
push
({
"mo"
:
"+1s"
});
elder
.
push
({
"mo"
:
"+1s"
});
}
}
var
xx
=
[
var
xx
=
[{
{
"mo"
:
"too young too simple"
},
"mo"
:
"too young too simple"
{
"ha"
:
"sometimes naive!"
},
},
{
"elder"
:
"+1s"
}
{
"ha"
:
"sometimes naive!"
},
{
"elder"
:
"+1s"
}
];
];
r
=
gui
.
selectSingle
({
r
=
gui
.
selectSingle
({
"title"
:
"select your favar"
,
"title"
:
"select your favar"
,
"list"
:
xx
,
"list"
:
xx
,
"default"
:
""
,
"default"
:
""
,
"columns"
:
2
,
"columns"
:
2
,
"gen"
:{}
size
:
[
200
,
300
],
showheader
:
true
,
"gen"
:
new
gen
()
});
});
console
.
log
(
r
);
console
.
log
(
r
);
...
@@ -70,17 +90,38 @@ r = gui.selectMultiple({
...
@@ -70,17 +90,38 @@ r = gui.selectMultiple({
"list"
:
xx
,
"list"
:
xx
,
"defaultvalue"
:
[
"mo"
],
"defaultvalue"
:
[
"mo"
],
"columns"
:
2
,
"columns"
:
2
,
"gen"
:
{}
size
:
[
300
,
500
],
showheader
:
true
,
"gen"
:
new
gen
()
});
});
console
.
log
(
r
);
console
.
log
(
r
);
// select_from_layer
// select_from_layer
// select_from_job
// select_from_job
gui
.
selectJob
({
title
:
"select job"
,
multiple
:
false
,
joblist
:
[
"too young"
,
"too simple"
,
"sometimes"
,
"naive!"
],
gen
:
new
gen
()
});
gui
.
selectStep
({
title
:
"select layer"
,
multiple
:
true
,
steplist
:
[
"l1"
,
"l2"
,
"l3"
],
// gen: new gen(),
size
:
[
300
,
500
]
});
r
=
gui
.
selectFromTable
({
r
=
gui
.
selectFromTable
({
title
:
"select from table example"
,
title
:
"select from table example"
,
multiple
:
true
,
multiple
:
true
,
list
:
[
list
:
[{
{
"job"
:
"too young"
,
"job"
:
"too young"
,
"name"
:
"elder"
"name"
:
"elder"
},
},
...
@@ -97,7 +138,7 @@ r = gui.selectFromTable({
...
@@ -97,7 +138,7 @@ r = gui.selectFromTable({
"name"
:
"elder"
"name"
:
"elder"
}
}
],
],
gen
:
function
()
{
function
PAUSE
()
{
return
true
;
}}
gen
:
new
gen
()
});
});
console
.
log
(
r
);
console
.
log
(
r
);
...
@@ -117,121 +158,144 @@ gui.imageViewer({
...
@@ -117,121 +158,144 @@ gui.imageViewer({
r
=
gui
.
inputBox
({
r
=
gui
.
inputBox
({
title
:
"input box example"
,
title
:
"input box example"
,
value
:
"are you ok?"
value
:
"are you ok?"
,
size
:
[
300
,
200
],
multiline
:
false
});
});
console
.
log
(
r
);
console
.
log
(
r
);
// refer to ikm6 GUI.showForm
//
//
refer to ikm6 GUI.showForm
r
=
gui
.
showForm
({
r
=
gui
.
showForm
({
title
:
"form example"
,
title
:
"注册账号"
,
size
:
[
600
,
400
],
ui
:
{
ui
:
{
type
:
'ScrollArea'
,
type
:
'ScrollArea'
,
property
:
{
widget_resizable
:
true
,
frame_shape
:
'NoFrame'
,
align
:
'Top'
},
property
:
{
widget_resizable
:
true
,
frame_shape
:
'NoFrame'
,
align
:
'Top'
},
child
:
{
child
:
{
type
:
'VBoxLayout'
,
type
:
'VBoxLayout'
,
property
:
{
margin
:
2
,
spacing
:
20
,
align
:
'Top'
},
property
:
{
pack
:
{
stretch
:
0
},
margin
:
2
,
child
:
[
spacing
:
20
,
{
align
:
'Top'
type
:
'label'
},
pack
:
{
stretch
:
0
},
child
:
[{
type
:
"FormGridLayout"
,
property
:
{
columns
:
1
,
label_alignment
:
'Top | Right'
,
margin
:
10
,
spacing
:
20
},
},
{
pack
:
{
type
:
'label'
,
stretch
:
0
property
:
{
text
:
(
"Partnumber Info"
)
}
},
},
{
child
:
[{
type
:
"FormGridLayout"
,
name
:
'username'
,
property
:
{
columns
:
4
,
label_alignment
:
'Top | Right'
,
margin
:
10
,
spacing
:
20
},
type
:
'LineEdit'
,
pack
:
{
stretch
:
0
},
pack
:
{
child
:
[
label
:
"用户名"
{
name
:
'partnumber'
,
type
:
'LineEdit'
,
pack
:
{
label
:
(
'Partnumber'
)
},
property
:
{
enabled
:
true
}
},
{
name
:
'attrs.iscross'
,
type
:
'ComboBox'
,
property
:
{
enabled
:
true
,
item_list
:
[]
},
pack
:
{
label
:
(
'Is Cross'
)
}
},
{
name
:
'attrs.pthick'
,
type
:
'DoubleLineEdit'
,
pack
:
{
label
:
(
'Part thickness'
)
},
property
:
{
enabled
:
true
}
},
{
name
:
'attrs.producttype'
,
type
:
'ComboBox'
,
property
:
{
enabled
:
true
,
item_list
:
[]
},
pack
:
{
label
:
(
'Product type'
)
}
},
{
name
:
'attrs.weft_direction'
,
type
:
'ComboBox'
,
property
:
{
enabled
:
true
,
item_list
:
[]
},
pack
:
{
label
:
(
'Longitude and latitude'
)
}
},
},
{
property
:
{
name
:
'attrs.structure_code'
,
enabled
:
true
type
:
'LineEdit'
,
}
pack
:
{
label
:
(
'Structure'
)
},
},
property
:
{
enabled
:
true
}
{
},
name
:
'password'
,
{
type
:
'LineEdit'
,
name
:
'attrs.array_num_on_panel_y'
,
pack
:
{
type
:
'DoubleLineEdit'
,
label
:
"密码"
pack
:
{
label
:
(
'Long edge typesetting'
)
},
property
:
{
enabled
:
true
}
},
{
name
:
'attrs.array_num_on_panel_x'
,
type
:
'DoubleLineEdit'
,
pack
:
{
label
:
(
'Short edge typesetting'
)
},
property
:
{
enabled
:
true
}
},
},
{
property
:
{
name
:
'attrs.pre_partnumber'
,
echo_mode
:
"password"
type
:
'Chips'
,
}
pack
:
{
label
:
(
'Front partnumber'
),
column_span
:
2
},
},
property
:
{
enabled
:
true
}
{
name
:
'sex'
,
type
:
'ComboBox'
,
property
:
{
enabled
:
true
,
item_list
:
[{
name
:
"male"
,
icon
:
"male"
,
text
:
"男"
,
text_zhcn
:
"男"
,
text_zhtw
:
"男"
},
{
name
:
"female"
,
icon
:
"female"
,
text
:
"女"
,
text_zhcn
:
"女"
,
text_zhtw
:
"女"
},
{
name
:
"hideyoshi"
,
icon
:
"circle-thin"
,
text
:
"Hideyoshi"
,
text_zhcn
:
"秀吉"
,
text_tw
:
"秀吉"
}
]
},
},
{
pack
:
{
name
:
'attrs.erp_job_remark'
,
label
:
'性别'
type
:
'PlainTextEdit'
,
property
:
{
enabled
:
true
,
min_row_count
:
1
,
vertical_scroll_bar_policy
:
'ScrollBarAlwaysOff'
},
pack
:
{
label
:
(
'ERP Job Remark'
),
column_span
:
2
},
}
}
]
}
},
]
{
}]
type
:
'stretch'
}
]
}
}
},
},
data
:
{},
data
:
{
runnow
:
true
,
username
:
"elder"
,
password
:
"nαive!"
,
sex
:
"male"
},
includehide
:
false
,
includehide
:
false
,
gen
:
null
buttons
:
[{
stock
:
"ok"
,
sensitive
:
true
,
command
:
function
(
data
)
{
}
},
{
stock
:
"cancel"
,
sensitive
:
true
,
command
:
function
(
ddata
)
{
}
},
{
stock
:
"help"
,
sensitive
:
true
,
command
:
function
(
data
)
{
console
.
log
(
data
);
}
}
],
hook
:
function
(
data
)
{},
gen
:
new
gen
()
});
});
console
.
log
(
r
);
console
.
log
(
r
);
r
=
gui
.
selectLayer
({
r
=
gui
.
selectLayer
({
title
:
"+1s"
,
title
:
"+1s"
,
filter
:
".*"
,
// regular expression
//
filter: ".*", // regular expression
selectmode
:
"single"
,
// single, multiple
selectmode
:
"single"
,
// single, multiple
context
:
"all"
,
// all, board, misc
context
:
"all"
,
// all, board, misc
layertype
:
"inner"
,
// default type of layertypelist
defaultsize
:
[
600
,
400
],
// window size
defaultsize
:
[
600
,
400
],
// window size
layermatrix
:
{
layermatrix
:
{
layer1
:
{
layer1
:
{
context
:
"board"
,
row
:
1
,
row
:
1
,
name
:
"layer1"
,
name
:
"layer1"
,
layer_type
:
"inner"
layer_type
:
"inner"
...
@@ -240,42 +304,93 @@ r = gui.selectLayer({
...
@@ -240,42 +304,93 @@ r = gui.selectLayer({
row
:
2
,
row
:
2
,
name
:
"layer2"
,
name
:
"layer2"
,
layer_type
:
"outer"
layer_type
:
"outer"
},
layer3
:
{
context
:
"misc"
,
row
:
3
,
name
:
"layer3"
,
layer_type
:
"inner"
}
}
},
},
layertype
:
"inner"
,
// default type of layertypelist
layertypelist
:
[{
layertypelist
:
[
name
:
"all"
,
{
name
:
"inner"
,
display_name
:
"Inner"
,
filter
:
function
(
x
)
{
return
x
[
"layer_type"
]
===
"inner"
;
}},
display_name
:
"All"
,
{
name
:
"outer"
,
display_name
:
"Outer"
,
filter
:
function
(
x
)
{
return
x
[
"layer_type"
]
===
"outer"
;
}}
filter
:
function
(
x
)
{
return
true
;
}
},
{
name
:
"inner"
,
display_name
:
"Inner"
,
filter
:
function
(
x
)
{
return
x
[
"layer_type"
]
===
"inner"
;
}
},
{
name
:
"outer"
,
display_name
:
"Outer"
,
filter
:
function
(
x
)
{
return
x
[
"layer_type"
]
===
"outer"
;
}
}
],
],
gen
:
n
ull
gen
:
n
ew
gen
()
});
});
console
.
log
(
r
);
console
.
log
(
r
);
r
=
gui
.
lockUnlockLayer
({
r
=
gui
.
lockUnlockLayer
({
"title"
:
"+1s"
,
title
:
"+1s"
,
"layermatrix"
:
{
layermatrix
:
{
"layer1"
:
{
layer1
:
{
"row"
:
1
,
context
:
"board"
,
"name"
:
"layer1"
row
:
1
,
name
:
"layer1"
,
layer_type
:
"signal"
},
},
"layer2"
:
{
layer2
:
{
"row"
:
2
,
context
:
"board"
,
"name"
:
"layer2"
row
:
2
,
name
:
"layer2"
,
layer_type
:
"drill"
},
layer3
:
{
context
:
"misc"
,
row
:
3
,
name
:
"layer3"
,
layer_type
:
"rout"
}
}
}
},
lockvalue
:
{
layer1
:
true
,
layer2
:
false
},
gen
:
new
gen
()
});
});
console
.
log
(
r
);
console
.
log
(
r
);
r
=
gui
.
passwordBox
({
r
=
gui
.
passwordBox
({
title
:
"password box"
,
title
:
"password box"
,
password
:
"naive!"
password
:
"naive!"
,
size
:
[
400
,
150
]
});
});
console
.
log
(
r
);
console
.
log
(
r
);
r
=
gui
.
selectJobLayer
({
r
=
gui
.
selectJobLayer
({
layertypelist
:
[
title
:
"select job layer"
,
{
name
:
"mo"
,
display_name
:
"MO"
,
filter
:
function
(
x
)
{
return
x
.
layer_type
===
"mo"
;
}
},
layertypelist
:
[{
{
name
:
"ha"
,
display_name
:
"HA"
,
filter
:
function
(
x
)
{
return
x
.
layer_type
===
"ha"
;
}
}
name
:
"mo"
,
display_name
:
"MO"
,
filter
:
function
(
x
)
{
return
x
.
layer_type
===
"mo"
;
}
},
{
name
:
"ha"
,
display_name
:
"HA"
,
filter
:
function
(
x
)
{
return
x
.
layer_type
===
"ha"
;
}
}
],
],
//defaultlayertype: "ha",
//defaultlayertype: "ha",
joblist
:
[
"job1"
,
"job2"
],
joblist
:
[
"job1"
,
"job2"
],
...
@@ -299,4 +414,34 @@ r = gui.selectJobLayer({
...
@@ -299,4 +414,34 @@ r = gui.selectJobLayer({
defaultlayer
:
[
"layer1"
]
defaultlayer
:
[
"layer1"
]
});
});
console
.
log
(
r
);
console
.
log
(
r
);
\ No newline at end of file
x
=
gui
.
debug
({
title
:
"debug"
,
text
:
"ciao"
,
size
:
[
400
,
300
],
gen
:
new
gen
()
});
var
DB
=
require
(
'topsin.database'
);
DB
.
addConnection
({
database_type
:
'pg'
,
database_host
:
'127.0.0.1:5432'
,
database_name
:
'test'
,
database_user
:
'abby'
,
database_pwd
:
'abby'
},
'test'
);
x
=
gui
.
showSendMail
({
title
:
"show send mail"
,
to
:
"elder@+1s.gov"
,
cc
:
"elder@moha.me"
,
subject
:
"are you ok?"
,
content
:
"naive!"
,
size
:
[
800
,
600
],
db
:
DB
.
query
(
'test'
)
});
console
.
log
(
x
);
This diff is collapsed.
Click to expand it.
GUI测试/需求.md
0 → 100644
View file @
1943f0b6
## tableEdit
*
如图tableedit.png
*
表格里每一行可以自定义控件 编辑 返回arrayHash结构数据
## 显示提示信息
*
show_loading("正在....") 显示提示信息
*
update_loading("挑选铜皮重....") 更新提示信息
*
hide_loading() 关闭提示信息
This diff is collapsed.
Click to expand it.
ats/topcam/20200928_vivo.md
View file @
1943f0b6
...
@@ -2,4 +2,8 @@
...
@@ -2,4 +2,8 @@
*
100 102~106 108~113 115~116 119~127 129~130 132~142 145~150 rar压缩包
*
100 102~106 108~113 115~116 119~127 129~130 132~142 145~150 rar压缩包
*
107 114 117 118 128 131无文件
*
107 114 117 118 128 131无文件
*
144 创建profile失败
*
144 创建profile失败
\ No newline at end of file
99990110 99990113 创建profile的时候卡死
\ No newline at end of file
This diff is collapsed.
Click to expand it.
ats/topcam/ATS_AIM_data_format.js
View file @
1943f0b6
...
@@ -829,17 +829,27 @@ function reName(props) { // 改名 par{job:要改名的料号, rule: {要改名
...
@@ -829,17 +829,27 @@ function reName(props) { // 改名 par{job:要改名的料号, rule: {要改名
var matrix = props.matrix
var matrix = props.matrix
var cfg = props.cfg
var cfg = props.cfg
matrix = matrix.filter(function(v){return v.name != v.new_name})
matrix = matrix.filter(function(v){
if(v.name == v.new_name){
matrix.forEach(function(v){
IKM.save_layerinfo({ jobid: JobId, layer: v.name, layerinfohash: { layer_name_final: v.new_name }})
}
return v.name != v.new_name
})
var tmp = [];
matrix = matrix.filter(function(v){
// 在数据库层信息里找v.name 找得到就直接改名
// 在数据库层信息里找v.name 找得到就直接改名
var new_name = IKM.get_layerinfo({jobid: JobId, layer: v.name, layerinfo: "
new_name
" })
var new_name = IKM.get_layerinfo({jobid: JobId, layer: v.name, layerinfo: "
layer_name_final
" })
var layers_tmp = Object.keys(GEN.getMatrix({job:job}));
var layers_tmp = Object.keys(GEN.getMatrix({job:job}));
if(new_name && new_name!="" && new_name != v.name && layers_tmp.indexOf(new_name) < 0){
if(new_name && new_name!="" && new_name != v.name && layers_tmp.indexOf(new_name) < 0){
IKM.save_layerinfo({ jobid: JobId, layer: v.name, layerinfohash: { layer_name_final: new_name }})
tmp.push(v.name + "
----
" +new_name)
GEN.renameLayer({job:job,layer:v.name,new_name:new_name})
GEN.renameLayer({job:job,layer:v.name,new_name:new_name})
return false
} else {
return true
}
}
})
})
if(matrix.length > 0){
if(matrix.length > 0){
var rename_list = matrix.map(function(item){
var rename_list = matrix.map(function(item){
var new_name;
var new_name;
...
@@ -893,6 +903,7 @@ function reName(props) { // 改名 par{job:要改名的料号, rule: {要改名
...
@@ -893,6 +903,7 @@ function reName(props) { // 改名 par{job:要改名的料号, rule: {要改名
rename_list.forEach(function(v){
rename_list.forEach(function(v){
var layers_tmp = Object.keys(GEN.getMatrix({job:job}));
var layers_tmp = Object.keys(GEN.getMatrix({job:job}));
if(v.orig_name !== v.new_name && layers_tmp.indexOf(v.new_name) < 0){
if(v.orig_name !== v.new_name && layers_tmp.indexOf(v.new_name) < 0){
IKM.save_layerinfo({ jobid: JobId, layer: v.orig_name, layerinfohash: { layer_name_final: v.new_name }})
GEN.renameLayer({job:job,layer:v.orig_name,new_name:v.new_name})
GEN.renameLayer({job:job,layer:v.orig_name,new_name:v.new_name})
}
}
});
});
...
@@ -906,11 +917,13 @@ function reName(props) { // 改名 par{job:要改名的料号, rule: {要改名
...
@@ -906,11 +917,13 @@ function reName(props) { // 改名 par{job:要改名的料号, rule: {要改名
var botSignal = signals[signals.length -1]
var botSignal = signals[signals.length -1]
if(topSignal !== "
top
"){
if(topSignal !== "
top
"){
if(!GEN.isLayerExists({job:job, layer:"
top
"})){
if(!GEN.isLayerExists({job:job, layer:"
top
"})){
IKM.save_layerinfo({ jobid: JobId, layer: topSignal, layerinfohash: { layer_name_final: "
top
" }})
GEN.renameLayer({job:job,layer:topSignal,new_name:"
top
"})
GEN.renameLayer({job:job,layer:topSignal,new_name:"
top
"})
}
}
}
}
if(botSignal !== "
bottom
"){
if(botSignal !== "
bottom
"){
if(!GEN.isLayerExists({job:job, layer:"
bottom
"})){
if(!GEN.isLayerExists({job:job, layer:"
bottom
"})){
IKM.save_layerinfo({ jobid: JobId, layer: botSignal, layerinfohash: { layer_name_final: "
bottom
" }})
GEN.renameLayer({job:job,layer:botSignal,new_name:"
bottom
"})
GEN.renameLayer({job:job,layer:botSignal,new_name:"
bottom
"})
}
}
}
}
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment