/* 第一步. 逻辑检查,初始化,选取出需要测的steplist 第二步. 将要测net的step对应关系整理好 将array array_c copy到 _tmp 删除排版 打散关系 array_net 删除排版 打散关系 第三步. doNet 里所有step pgn极性翻转 第四步. doNet.orig foNet.net 对比测net end: 删除辅助层 临时step */ var $ = require('topcam.scriptfunc').argv(); var _ = require('lodash'); var JOB = $.job_name; var GEN = $.gen; var ikm = $.ikm; var GUI = $.GUI; try { var r = GUI.msgBox("mo", "info", "are you ok?", ["ok", "cancel"]); // GUI.msg(r); // ok | cancel // r = GUI.confirm("are you ok?", ["yes", "no"], "question"); // GUI.msg(r); // yes | no // var selected = GUI.selectFromTreeview({ // title: "test", // size: [600, 400], // selectmode: "single", // columns: [ // { // "name": "id", // "display": "ID", // "displayRole": "$id", // "search": true, // "resizeMode": "ResizeToContents" // }, // { // "name": "name", // "display": "NAME", // "displayRole": "$name", // "search": true, // "resizeMode": "ResizeToContents" // } // ], // data: [ // { // "id": 1, // "name": "mo" // }, // { // "id": 2, // "name": "ha" // } // ], // returncols: ["id"] // }); // msg(selected); // [{id:1}] // r = GUI.selectFile("choose something", "*", true, "file", "/home/abby/fast_io"); // GUI.msg(r); // ["路径"] // var xx = [ // {"mo": "too young too simple"}, // {"ha": "sometimes naive!"}, // {"elder": "+1s"} // ]; // r = GUI.selectSingle({ // "title": "select your favar", // "list": xx, // "default": "", // "columns": 2, // "gen":{} // }); // GUI.msg(r) // 'ha' // r = GUI.selectMultiple({ // "title": "select your favar", // "list": xx, // "defaultvalue": ["mo"], // "columns": 2, // "gen": {} // }); // GUI.msg(r) // ['ha','mo'] // r = GUI.selectFromTable({ // title: "select from table example", // multiple: true, // list: [ // { // "job": "too young", // "name": "elder" // }, // { // "job": "too simple", // "name": "elder" // }, // { // "job": "sometimes", // "name": "elder" // }, // { // "job": "naive", // "name": "elder" // } // ], // gen: function() { function PAUSE() { return true; }} // }); // GUI.msg(r) // [{job":"sometimes","name":"elder",("job":"naive","name":"elder"] // r = GUI.snapScreen({ // file: "xxx", // dir: "/tmp", // type: "png", // overwrite: true // }); // GUI.msg(r) // /tmp/xxx.png // r = GUI.imageViewer({ // title: "screenshot", // file: "/tmp/xxx.png", // defaultsize: [800, 600] // }); // GUI.msg(r) // r = GUI.inputBox({ // title: "input box example", // value: "are you ok?" // }); // GUI.msg(r) // are you ok? // r = GUI.showForm({ // title: "form example", // ui: { // type: 'ScrollArea', // property: { widget_resizable: true, frame_shape: 'NoFrame', align: 'Top' }, // child: { // type: 'VBoxLayout', // property: { margin: 2, spacing: 20, align: 'Top' }, // pack: { stretch: 0 }, // child: [ // { // type: 'label' // }, // { // type: 'label', // property: { text: ("Partnumber Info") } // }, // { // type: "FormGridLayout", // property: { columns: 4, label_alignment: 'Top | Right', margin: 10, spacing: 20 }, // pack: { stretch: 0 }, // child: [ // { // 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') } // }, // { // name: 'attrs.structure_code', // type: 'LineEdit', // pack: { label: ('Structure') }, // property: { enabled: true } // }, // { // name: 'attrs.array_num_on_panel_y', // type: 'DoubleLineEdit', // 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 } // }, // { // name: 'attrs.pre_partnumber', // type: 'Chips', // pack: { label: ('Front partnumber'), column_span: 2 }, // property: { enabled: true } // }, // { // name: 'attrs.erp_job_remark', // 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: {}, // runnow: true, // includehide: false, // gen: null // }); // GUI.msg(r) // obj // r = GUI.selectLayer({ // title: "+1s", // filter: ".*", // regular expression // selectmode: "single", // single, multiple // context: "all", // all, board, misc // layertype: "inner", // default type of layertypelist // defaultsize: [600, 400], // window size // layermatrix: GEN.getMatrix({job:JOB}), // layertypelist: [ // {name: "signal", display_name: "signal", filter: function(x) { return x["layer_type"] === "signal"; }}, // {name: "outer", display_name: "Outer", filter: function(x) { return x["layer_type"] === "outer"; }} // ], // gen: null // }); // GUI.msg(r) // [{name:"layer1"}] // r = GUI.lockUnlockLayer({ // "title": "+1s", // "layermatrix": { // "layer1": { // "row": 1, // "name": "layer1" // }, // "layer2": { // "row": 2, // "name": "layer2" // } // } // }); // GUI.msg(r) // {"layer1":true,"layer2":false} // r = GUI.passwordBox({ // title: "password box", // password: "naive!" // }); // GUI.msg(r) // true r = GUI.msg('调试选择job').selectJobLayer({ layertypelist: [{ 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", joblist: ["job1", "job2"], defaultJob: ["job1"], // select by default steplist: ["step1", "step2", "step3", "step4"], // defaultstep: "step3", showstep: true, selectmode: "single", // single/multiple layermatrix: { "layer1": { name: "layer1", layer_type: "mo", row: 1 }, "layer2": { name: "layer2", layer_type: "ha", row: 2 } }, defaultlayer: ["layer1"] }); GUI.msg(r) // {layers:['layer2'],step:null,job:'job2',layertype:'null'} return 'Done'; } catch (error) { return 'error' }