Commit 06bd3265 authored by Scott Sun's avatar Scott Sun

s

parent 34ecf55d
ar plugin = require('topsin.gengui');
var plugin = require('topsin.gengui');
var gui = plugin.newGui(plugin.__dirname);
function gen() {
this.PAUSE = function () {
this.PAUSE = function() {
console.log("pause");
}
}
gui.setLang("zhcn"); // zhcn, zhtw, en
gui.setLang("zhtw"); // zhcn, zhtw, en
var r = gui.msgBox({
title: "info",
icon: "info",
text: "are you ok?",
buttons: ["Ok", "Cancel"],
gen: new gen()
});
console.log(r);
gui.confirm("are you ok?", "");
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"]
});
console.log(selected);
r = gui.selectFile("choose something", "*", true, "file", "/home/abby/fast_io");
console.log(r);
var elder =[];
for(var i = 0; i < 100; ++i) {
elder.push({"mo": "+1s"});
}
var xx = [
{"mo": "too young too simple"},
{"ha": "sometimes naive!"},
{"elder": "+1s"}
];
r = gui.selectSingle({
"title": "select your favar",
"list": xx,
"default": "",
"columns": 2,
size: [200, 300],
showheader: true,
"gen": new gen()
});
console.log(r);
r = gui.selectMultiple({
"title": "select your favar",
"list": xx,
"defaultvalue": ["mo"],
"columns": 2,
size: [300, 500],
showheader: true,
"gen": new gen()
});
console.log(r);
// select_from_layer
// 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({
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: new gen()
});
console.log(r);
gui.snapScreen({
file: "xxx",
dir: "/tmp",
type: "png",
overwrite: true
});
gui.imageViewer({
title: "screenshot",
file: "/tmp/xxx.png",
defaultsize: [800, 600]
});
r = gui.inputBox({
title: "input box example",
value: "are you ok?",
size: [300, 200],
multiline: false
});
console.log(r);
// // refer to ikm6 GUI.showForm
r = gui.showForm({
title: "注册账号",
size: [600, 400],
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: "FormGridLayout",
property: { columns: 1, label_alignment: 'Top | Right', margin: 10, spacing: 20 },
ui: function func(self) {
return [
{
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: [
{
name: 'username',
type: 'LineEdit',
pack: { label: "用户名" },
property: { enabled: true }
},
{
name: 'password',
type: 'LineEdit',
pack: { label: "密码" },
property: { echo_mode: "password" }
},
{
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: { label: '性别' }
},
{
name: 'table',
type: 'TableView',
property: {},
pack: { label: '性别' },
initCallback: function (obj, self) {
obj.setHeaderItem(
[
{},
{ name: 'analysis_item', display: 'Analysis Item', resizeMode: 'ResizeToContents', displayRole: '$analysis_item' },
{ name: 'analysis_result', display: 'Analysis Result', resizeMode: 'ResizeToContents', displayRole: '$analysis_result' },
{ name: 'result', display: 'Result', resizeMode: 'ResizeToContents', displayRole: '$result' },
{ name: 'standard', display: 'Standard', resizeMode: 'ResizeToContents', displayRole: '$standard' },
{ name: 'remark', display: 'Remark', resizeMode: 'ResizeToContents', displayRole: '$remark', editRole: '$remark', flagsRole: 'ItemIsEditable|ItemIsEnabled|ItemIsSelectable' }
]
);
obj.setDataKeyList(["id", "analysis_item", "analysis_result", "result", "standard", "remark"]);
obj.setPrimaryKey("id");
},
setter: function (obj, value, self) {
if (value != null) {
obj.loadData(value);
} else {
obj.clearData();
type: "FormGridLayout",
property: { columns: 1, label_alignment: 'Top | Right', margin: 10, spacing: 20 },
pack: { stretch: 0 },
child: [
{
name: 'username',
type: 'LineEdit',
pack: { label: "用户名" },
property: { enabled: true }
},
{
name: 'password',
type: 'LineEdit',
pack: { label: "密码" },
property: { echo_mode: "password" }
},
{
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: { label: '性别' }
}
}
]
}
]
}
]
}
}],
}
];
},
data: {
username: "elder",
password: "nαive!",
......@@ -92,27 +220,154 @@ r = gui.showForm({
{
stock: "ok",
sensitive: true,
command: function (data) {
command: function(data) {
}
},
{
stock: "cancel",
sensitive: true,
command: function (ddata) {
command: function(ddata) {
}
},
{
stock: "help",
sensitive: true,
command: function (data) {
command: function(data) {
console.log(data);
}
}
],
hook: function (data) { },
hook: function(data) {},
gen: new gen()
});
console.log(r);
\ No newline at end of file
console.log(r);
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: {
layer1: {
context: "board",
row: 1,
name: "layer1",
layer_type: "inner"
},
layer2: {
row: 2,
name: "layer2",
layer_type: "outer"
},
layer3: {
context: "misc",
row: 3,
name: "layer3",
layer_type: "inner"
}
},
layertypelist: [
{name: "all", display_name: "All", 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: new gen()
});
console.log(r);
r = gui.lockUnlockLayer({
title: "+1s",
layermatrix: {
layer1: {
context: "board",
row: 1,
name: "layer1",
layer_type: "signal"
},
layer2: {
context: "board",
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);
r = gui.passwordBox({
title: "password box",
password: "naive!",
size: [400, 150]
});
console.log(r);
r = gui.selectJobLayer({
title: "select job layer",
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"]
});
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);
\ No newline at end of file
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