var plugin = require('topsin.gengui');
var gui = plugin.newGui(plugin.__dirname);
var item_list = [{name:1, text:1}]
var tabledata = [{ name:"aa", age: 12 }]


r = gui.showForm({
    title: "注册账号",
    size: [600, 400],
    // ui: function(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: [{
    //                 type: "FormGridLayout",
    //                 property: {columns: 1,label_alignment: 'Top | Right',margin: 10,spacing: 20},
    //                 pack: {stretch: 0},
    //                 child: [
    //                     {
    //                         name: 'table',
    //                         type: 'TableView',
    //                         property: {},
    //                         initCallback: function (obj, self) {
    //                             obj.setDataKeyList(["name", "age"]);
    //                             obj.setHeaderItem(
    //                                 [
    //                                     {},
    //                                     { name: 'name', display: 'name', resizeMode: 'ResizeToContents', displayRole: '$name' },
    //                                     { name: 'age', display: 'age', resizeMode: 'ResizeToContents', displayRole: '$age' },
    //                                 ]
    //                             );
    //                         },
    //                         setter: function (obj, value, self) {
    //                             if (value != null) {
    //                                 obj.loadData(value);
    //                             } else {
    //                                 obj.clearData();
    //                             }
    //                         },
    //                         getter: function (obj, self) {
    //                             return obj.selectedRowDataMaps();
    //                         }
    //                     }
    //                 ]
    //             }]
    //         }
    //     }]
    // },
    item:[{
            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},
                    pack: {stretch: 0},
                    child: [
                        {
                            name: 'test1',
                            type: 'LineEdit',
                        },
                        {
                            name: 'test2',
                            type: 'ComboBox',
                            property: {
                                enabled: true,
                                item_list: [{name:"aa", text:"aa"}]
                            }
                        },
                        // {
                        //     name: 'table',
                        //     type: 'TableView',
                        //     property: {},
                        //     initCallback: function (obj, self) {
                        //         obj.setDataKeyList(["name", "age"]);
                        //         obj.setHeaderItem(
                        //             [
                        //                 {},
                        //                 { name: 'name', display: 'name', resizeMode: 'ResizeToContents', displayRole: '$name' },
                        //                 { name: 'age', display: 'age', resizeMode: 'ResizeToContents', displayRole: '$age' },
                        //             ]
                        //         );
                        //     },
                        //     setter: function (obj, value, self) {
                        //         if (value != null) {
                        //             obj.loadData(value);
                        //         } else {
                        //             obj.clearData();
                        //         }
                        //     },
                        //     getter: function (obj, self) {
                        //         return obj.selectedRowDataMaps();
                        //     }
                        // }
                    ]
                }]
            }
        }],
    data: {
        table: tabledata 
    },
    includehide: false,
    buttons: [{
            stock: "ok",
            sensitive: true,
            command: function (data) {

            }
        },
        {
            stock: "cancel",
            sensitive: true,
            command: function (data) {

            }
        },
        {
            stock: "help",
            sensitive: true,
            command: function (data) {
                console.log(data);
            }
        }
    ],
});

console.log(r);