efl
69 строк · 2.0 Кб
1path = require('path');2efl = require('efl');3Evas = efl.Evas;4Elm = efl.Elm;5
6win = new efl.Efl.Ui.Win(null, "Efl JS Example", efl.Efl.Ui.Win.Type.BASIC, "hw");7win.setText('Layout');8win.setAutohide(true);9
10box = new efl.Efl.Ui.Box(win);11box.setHintWeight(1.0, 1.0);12win.setContent(box);13box.setVisible(true);14
15ly = new Efl.Ui.Layout(box);16
17if (!ly.setTheme("layout", "application", "titlebar"))18{
19console.log('Error setting layout');20}
21
22ly.setPartText('elm.text', 'Some title');23ly.setHintWeight(1.0, 1.0);24ly.setHintAlign(1.0, 1.0);25box.packEnd(ly);26ly.setVisible(true);27
28bt = new efl.Efl.Ui.Image(ly);29bt.setIcon('chat');30bt.setHintMin(20, 20);31// elm_layout_icon_set(ly, bt);
32icon_container = ly.part('elm.swallow.icon').cast('Efl.Content');33icon_container.setContent(bt);34ly.emitSignal('elm,state,icon,visible', 'elm');35
36bt = new efl.Efl.Ui.Image(ly);37bt.setIcon('close');38bt.setHintMin(20, 20);39// elm_layout_end_set(ly, bt);
40end_container = ly.part('elm.swallow.end').cast('Efl.Content');41end_container.setContent(bt);42ly.emitSignal('elm,state,end,visible', 'elm');43
44ly = new Efl.Ui.Layout(box);45filename = path.join(__dirname, 'layout_example.edj');46ly.setFile(filename, 'example/mylayout');47ly.setHintWeight(1.0, 1.0);48box.packEnd(ly);49ly.setVisible(true);50
51//elm_layout_signal_callback_add(ly, "*", "*", _cb_signal, NULL);
52// I hope to translate to:
53//ly.on_layout('*', '*', function(emission, source)
54// { console.log("signal: '" + emission + "' '" + source + "'");});
55
56bt = new efl.Efl.Ui.Button(ly);57bt.setPartText(null, "Button 1");58console.log("Will get part");59element_container = ly.part('example/custom').cast('Efl.Content');60console.log("Will setcontent on part");61element_container.setContent(bt);62
63bt.on("clicked", function() { console.log('button clicked'); });64
65ly.setPartCursor("example/title", 'watch');66ly.on('mouse,down', function() { console.log('layout mouse down') });67ly.on('mouse,up', function() { console.log('layout mouse up') });68
69win.setVisible(true);70