Ejemplo n.º 1
0
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() {
Ejemplo n.º 2
0
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
Ejemplo n.º 3
0
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,
Ejemplo n.º 4
0
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));
Ejemplo n.º 5
0
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;
Ejemplo n.º 6
0
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;
Ejemplo n.º 7
0
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;
Ejemplo n.º 8
0
  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.");
};
Ejemplo n.º 9
0
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;