| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- // UIMenuItem and UIMenuItemSource application source code
- 'use strict';
- var utils = require("Scripts/utils");
- exports.init = function(mylayout,mylogger) {
- //
- // action functions
- //
- // make the MenuItemSource to use with the menu
- var mis = new Atomic.UIMenuItemSource();
- // put in some default UIMenuItems in the MenuItemSource
- mis.addItem( new Atomic.UIMenuItem( "UIMenuItem1", "item1" ) );
- mis.addItem( new Atomic.UIMenuItem( "UIMenuItem2", "item2", "Ctrl+." ) );
- mis.addItem( new Atomic.UIMenuItem( "UIMenuItem2", "item2", "", "DuckButton" ) );
- mis.addItem( new Atomic.UIMenuItem( "UIMenuItem3", "item3", "CTrl+A", "LogoAtomic" ) );
- var button1 = mylayout.getWidget("uimenuitempush");
- button1.onClick = function () {
- mylogger.setText( "UIMenuWindow action : " + button1.id + " was pressed ");
- var mymenuwindow = new Atomic.UIMenuWindow( mylayout, "MenuItemDemo");
- var xx = button1.x + (button1.width/2);
- var yy = button1.y + (button1.height/2);
- mymenuwindow.show(mis, xx, yy); // use the existing menuitem source, show in the middle of the button, if possible
- //
- // widget event functions
- //
- mymenuwindow.subscribeToEvent( "WidgetEvent", function (ev) {
- if ( ev.type == Atomic.UI_EVENT_TYPE_CLICK && ev.target == mymenuwindow )
- mylogger.setText( "UIMenuItem event : " + mymenuwindow.id + " selected entry id = " + ev.refID + " event type = " + utils.eventReport(ev.type));
- if ( ev.type == Atomic.UI_EVENT_TYPE_SHORTCUT )
- mylogger.setText( "UIMenuItem event : " + mymenuwindow.id + " Shortcut id = " + ev.refID + " event type = " + utils.eventReport(ev.type));
- });
- mymenuwindow.subscribeToEvent( "UIShortcut", function (ev) {
- mylogger.setText( "UIMenuItem event : " + mymenuwindow.id + " Shortcut key = " + ev.key + " qualifiers = " + ev.qualifiers );
- });
- mymenuwindow.subscribeToEvent( "UIUnhandledShortcut", function (ev) {
- mylogger.setText( "UIMenuItem event : " + mymenuwindow.id + " UIUnhandledShortcut id = " + ev.refid );
- });
- };
- var button2 = mylayout.getWidget("uimi1");
- button2.onClick = function () {
- mylogger.setText( "UIMenuItem action : " + button2.id + " was pressed ");
- mis.addItem( new Atomic.UIMenuItem( "New UIMenuItem") );
- };
- var button3 = mylayout.getWidget("uimi2");
- button3.onClick = function () {
- mylogger.setText( "UIMenuItem action : " + button3.id + " was pressed ");
- mis.addItem( new Atomic.UIMenuItem( "Newer UIMenuItem", "neweritem" ) );
- };
- var button4 = mylayout.getWidget("uimi3");
- button4.onClick = function () {
- mylogger.setText( "UIMenuItem action : " + button4.id + " was pressed ");
- mis.addItem( new Atomic.UIMenuItem( "A Duck", "aduck", "", "DuckButton" ) );
- };
- var button5 = mylayout.getWidget("uimi4");
- button5.onClick = function () {
- mylogger.setText( "UIMenuItem action : " + button5.id + " was pressed ");
- mis.addItem( new Atomic.UIMenuItem( "Atomic!", "atomic", "", "LogoAtomic" ) );
- };
- var button6 = mylayout.getWidget("uimi5");
- button6.onClick = function () {
- mylogger.setText( "UIMenuItem action : " + button6.id + " was pressed ");
- mis.clear();
- };
- //
- // support functions
- //
- var button8 = mylayout.getWidget("uimenuitemcode");
- button8.onClick = function () {
- mylogger.setText( "UIMenuItem support : " + button8.id + " was pressed ");
- utils.viewCode ( "Components/code_uimenuitem.js", mylayout );
- };
- var button9 = mylayout.getWidget("uimenuitemlayout");
- button9.onClick = function () {
- mylogger.setText( "UIMenuItem support : " + button9.id + " was pressed ");
- utils.viewCode ( "Scenes/layout_uimenuitem.ui.txt", mylayout );
- };
- };
|