var util2 = require('util2'); var myutil = require('myutil'); var Emitter = require('emitter'); var WindowStack = require('ui/windowstack'); var Window = require('ui/window'); var simply = require('ui/simply'); var Menu = function(menuDef) { Window.call(this, menuDef); this._dynamic = false; this._sections = {}; }; Menu._codeName = 'menu'; util2.inherit(Menu, Window); util2.copy(Emitter.prototype, Menu.prototype); Menu.prototype._show = function() { this._resolveMenu(); Window.prototype._show.apply(this, arguments); }; Menu.prototype._prop = function() { if (this === WindowStack.top()) { simply.impl.menu.apply(this, arguments); } }; Menu.prototype.action = function() {
var defaults = { items: [], itemsPerRow : 2, borderSpacing : 2, backgroundColor: 'clear' }; var Grid = function(gridDef) { gridDef.itemDefaultStyle = myutil.shadow(itemDefaultStyle, gridDef.itemDefaultStyle || {}); List.call(this, myutil.shadow(defaults, gridDef || {})); }; Grid._codeName = 'grid'; util2.inherit(Grid, List); Grid.prototype._loadElements = function() { var itemsPerRow = this.state.itemsPerRow; var borderSpacing = this.state.borderSpacing; var itemSize = (WindowUtils.getWindowWidth(this.state.fullscreen) - (borderSpacing * 2 * itemsPerRow)) / itemsPerRow; for (var i = 0; i < this.state.items.length; i++) { var item = myutil.shadow(this.state.itemDefaultStyle, this.state.items[i] || {}); var sizeWithMargin = (itemSize + borderSpacing * 2); var left = (sizeWithMargin * (i % itemsPerRow)) + borderSpacing; var top = (sizeWithMargin * Math.floor(i / itemsPerRow)) + borderSpacing; var gridItem = new GridItem({ // @TODO: Make GridItem extend ElementContainer and extend GridItem add
dd.ui = require('dd-ui'); var Entity = require('entity'); var Touch = require('touch'); var Chat = require('chat'); var Settings = require('settings'); var mywindow = require('window'); require('gm-shims'); var Control = function(def) { Entity.call(this, def); this.config = {}; }; util2.inherit(Control, Entity, Control.prototype); Control.DefaultConfig = { delay: 50, screen: { aspect: 1280 / 720, position: [0.997, 0.977], scale: 0.392, size: [320, 240], barHeight: 30 }, enabled: true, showBorder: true, showCoordTooltip: true, showCross: true, autoSend: true,
var accessorProps = textProps.concat(imageProps).concat(configProps); var clearableProps = textProps.concat(imageProps); var defaults = { backgroundColor: 'white', }; var Card = function(cardDef) { Window.call(this, myutil.shadow(defaults, cardDef || {})); this._dynamic = false; }; Card._codeName = 'card'; util2.inherit(Card, Window); util2.copy(Emitter.prototype, Card.prototype); Propable.makeAccessors(accessorProps, Card.prototype); Card.prototype._prop = function() { if (this === WindowStack.top()) { simply.impl.card.apply(this, arguments); } }; Card.prototype._clear = function(flags) { flags = myutil.toFlags(flags); if (flags === true) { clearableProps.forEach(myutil.unset.bind(this));
var checkProps = function(def) { if (!def) return; if ('angleStart' in def && safe.warnAngleStart !== false) { safe.warn('`angleStart` has been deprecated in favor of `angle` in order to match\n\t' + "Line's `position` and `position2`. Please use `angle` intead.", 2); safe.warnAngleStart = false; } if ('angleEnd' in def && safe.warnAngleEnd !== false) { safe.warn('`angleEnd` has been deprecated in favor of `angle2` in order to match\n\t' + "Line's `position` and `position2`. Please use `angle2` intead.", 2); safe.warnAngleEnd = false; } }; var Radial = function(elementDef) { checkProps(elementDef); StageElement.call(this, myutil.shadow(defaults, elementDef || {})); this.state.type = StageElement.RadialType; }; util2.inherit(Radial, StageElement); Propable.makeAccessors(accessorProps, Radial.prototype); Radial.prototype._prop = function(def) { checkProps(def); StageElement.prototype._prop.call(this, def); }; module.exports = Radial;
var util2 = require('util2'); var myutil = require('myutil'); var StageElement = require('ui/element'); var defaults = { backgroundColor: 'white', borderColor: 'clear', }; var Rect = function(elementDef) { StageElement.call(this, elementDef); myutil.shadow(defaults, this.state); this.state.type = 1; }; util2.inherit(Rect, StageElement); module.exports = Rect;
var util2 = require('util2'); var myutil = require('myutil'); var Propable = require('ui/propable'); var StageElement = require('ui/element'); var imageProps = [ 'image', 'compositing', ]; var defaults = { backgroundColor: 'clear', borderColor: 'clear', }; var ImageElement = function(elementDef) { StageElement.call(this, elementDef); myutil.shadow(defaults, this.state); this.state.type = 4; }; util2.inherit(ImageElement, StageElement); Propable.makeAccessors(imageProps, ImageElement.prototype); module.exports = ImageElement;
borderSpacing : 2, backgroundColor: 'clear' }; var List = function(listDef) { listDef.itemDefaultStyle = myutil.shadow(itemDefaultStyle, listDef.itemDefaultStyle || {}); Window.call(this, myutil.shadow(defaults, listDef || {})); this._listItems = []; this._selectionIndex = 0; this.on('click', this._onClickHandler); }; List._codeName = 'list'; util2.inherit(List, Window); List.prototype._show = function() { this._loadElements(); Window.prototype._show.apply(this, arguments); this._highlightItem(this._selectionIndex); }; List.prototype.action = function() { throw new Error("Grids don't support action bars."); }; List.prototype.buttonConfig = function() { throw new Error("Grids don't support changing button configurations."); };
var util2 = require('util2'); var myutil = require('myutil'); var StageElement = require('ui/element'); var defaults = { backgroundColor: 'white', borderColor: 'clear', }; var Circle = function(elementDef) { StageElement.call(this, myutil.shadow(defaults, elementDef || {})); this.state.type = StageElement.CircleType; }; util2.inherit(Circle, StageElement); module.exports = Circle;