Commit 1943f0b6 authored by Scott Sun's avatar Scott Sun

s

parent 62b678fa
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: {
type: 'label', stretch: 0
property: { text: ("Partnumber Info") }
}, },
{ child: [{
type: "FormGridLayout", type: "FormGridLayout",
property: { columns: 4, label_alignment: 'Top | Right', margin: 10, spacing: 20 }, property: {
pack: { stretch: 0 }, columns: 1,
child: [ label_alignment: 'Top | Right',
{ margin: 10,
name: 'partnumber', spacing: 20
type: 'LineEdit',
pack: { label: ('Partnumber') },
property: { enabled: true }
}, },
{ pack: {
name: 'attrs.iscross', stretch: 0
type: 'ComboBox',
property: { enabled: true, item_list: [] },
pack: { label: ('Is Cross') }
}, },
{ child: [{
name: 'attrs.pthick', name: 'username',
type: 'DoubleLineEdit', type: 'LineEdit',
pack: { label: ('Part thickness') }, pack: {
property: { enabled: true } label: "用户名"
},
{
name: 'attrs.producttype',
type: 'ComboBox',
property: { enabled: true, item_list: [] },
pack: { label: ('Product type') }
}, },
{ property: {
name: 'attrs.weft_direction', enabled: true
type: 'ComboBox', }
property: { enabled: true, item_list: [] },
pack: { label: ('Longitude and latitude') }
}, },
{ {
name: 'attrs.structure_code', name: 'password',
type: 'LineEdit', type: 'LineEdit',
pack: { label: ('Structure') }, pack: {
property: { enabled: true } label: "密码"
}, },
{ property: {
name: 'attrs.array_num_on_panel_y', echo_mode: "password"
type: 'DoubleLineEdit', }
pack: { label: ('Long edge typesetting') },
property: { enabled: true }
}, },
{ {
name: 'attrs.array_num_on_panel_x', name: 'sex',
type: 'DoubleLineEdit', type: 'ComboBox',
pack: { label: ('Short edge typesetting') }, property: {
property: { enabled: true } enabled: true,
item_list: [{
name: "male",
icon: "male",
text: "男",
text_zhcn: "男",
text_zhtw: "男"
}, },
{ {
name: 'attrs.pre_partnumber', name: "female",
type: 'Chips', icon: "female",
pack: { label: ('Front partnumber'), column_span: 2 }, text: "女",
property: { enabled: true } text_zhcn: "女",
text_zhtw: "女"
}, },
{ {
name: 'attrs.erp_job_remark', name: "hideyoshi",
type: 'PlainTextEdit', icon: "circle-thin",
property: { text: "Hideyoshi",
enabled: true, text_zhcn: "秀吉",
min_row_count: 1, text_tw: "秀吉"
vertical_scroll_bar_policy: 'ScrollBarAlwaysOff'
},
pack: { label: ('ERP Job Remark'), column_span: 2 },
} }
] ]
}, },
{ pack: {
type: 'stretch' label: '性别'
}
} }
] ]
}]
} }
}, },
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: null gen: new 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"],
...@@ -300,3 +415,33 @@ r = gui.selectJobLayer({ ...@@ -300,3 +415,33 @@ r = gui.selectJobLayer({
}); });
console.log(r); console.log(r);
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);
## tableEdit
* 如图tableedit.png
* 表格里每一行可以自定义控件 编辑 返回arrayHash结构数据
## 显示提示信息
* show_loading("正在....") 显示提示信息
* update_loading("挑选铜皮重....") 更新提示信息
* hide_loading() 关闭提示信息
...@@ -3,3 +3,7 @@ ...@@ -3,3 +3,7 @@
* 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失败
99990110 99990113 创建profile的时候卡死
\ No newline at end of file
...@@ -829,14 +829,24 @@ function reName(props) { // 改名 par{job:要改名的料号, rule: {要改名 ...@@ -829,14 +829,24 @@ 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
} }
}) })
...@@ -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"})
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment