123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679 |
- ht.lib = ht.lib || {};
- if (!ht.lib['开关通用图元']) {
- ht.lib['开关通用图元'] = function (x, y, width, height, angle, localVarObj, localDynamicVar, nodename) {
- _ratio = GD.getRatioWithRotation(0, ratio);
- ht.lib['开关通用图元'].superClass.constructor.apply(this);
- this.localVarObj = localVarObj;
- this.localDynamicVar = localDynamicVar;
- this.childNodes = [];
-
- this._styleObject = {};
- this._originWidth = 19*_ratio.ratioX;
- this._originHeight = 24*_ratio.ratioY;
- this._baseClass = "ht.lib.开关通用图元";
- this._background = new ht.Node();
- this._background.setWidth(this._originWidth);
- this._background.setHeight(this._originHeight);
- this._background.setPosition(this._originWidth/2, this._originHeight/2);
- this._background.setImage({
- width: width,
- height: height,
- clip: true,
- comps: [
- {
- type: 'rect',
- background: 'rgba(0,255,0,0)',
- rect: [0,0,width, height]
- }
- ]
- });
- this._background.__parentLib = nodename;
- this._background.isLibBackground = true;
- this.childNodes.push(this._background);
- dataModel.add(this._background);
- /*@PageBackgroundInit@*/
- /*@PageBeforeInit@*/
- var Lib_开关通用图元Node0;
- (function () {
- var _ratio = GD.getRatioWithRotation(0*Math.PI/180, ratio);
- var ratioX, ratioY;
- if ('Default' === 'False') {
- ratioX = 1;
- ratioY = 1;
- } else if ('Default' === 'X') {
- ratioX = ratioY = _ratio.ratioX;
- } else if ('Default' === 'Y') {
- ratioX = ratioY = _ratio.ratioY;
- } else {
- ratioX = _ratio.ratioX;
- ratioY = _ratio.ratioY;
- }
- ht.Default.setImage('imgimage//patrol_gl0100.png', PAGEROOTDIR + 'image//patrol_gl0100.png');
- Lib_开关通用图元Node0 = new ht.Node();
- Lib_开关通用图元Node0.setPosition(9*ratio.ratioX, 12*ratio.ratioY);
- Lib_开关通用图元Node0.setSize(18*ratioX, 24*ratioY);
- Lib_开关通用图元Node0.setImage('imgimage//patrol_gl0100.png');
- Lib_开关通用图元Node0.setRotation(0*Math.PI/180);
- Lib_开关通用图元Node0._zoomBy = 'Default';
- Lib_开关通用图元Node0._nodeType = 'image';
- Lib_开关通用图元Node0._disallowEvert = true;
- dataModel.add(Lib_开关通用图元Node0);
- })();
- var Lib_开关通用图元Node1;
- (function () {
- var _ratio = GD.getRatioWithRotation(0*Math.PI/180, ratio);
- var ratioX, ratioY;
- if ('Default' === 'False') {
- ratioX = 1;
- ratioY = 1;
- } else if ('Default' === 'X') {
- ratioX = ratioY = _ratio.ratioX;
- } else if ('Default' === 'Y') {
- ratioX = ratioY = _ratio.ratioY;
- } else {
- ratioX = _ratio.ratioX;
- ratioY = _ratio.ratioY;
- }
- ht.Default.setImage('imgimage//patrol_gl0200.png', PAGEROOTDIR + 'image//patrol_gl0200.png');
- Lib_开关通用图元Node1 = new ht.Node();
- Lib_开关通用图元Node1.setPosition(9*ratio.ratioX, 11*ratio.ratioY);
- Lib_开关通用图元Node1.setSize(18*ratioX, 23*ratioY);
- Lib_开关通用图元Node1.setImage('imgimage//patrol_gl0200.png');
- Lib_开关通用图元Node1.setRotation(0*Math.PI/180);
- Lib_开关通用图元Node1._zoomBy = 'Default';
- Lib_开关通用图元Node1._nodeType = 'image';
- Lib_开关通用图元Node1._disallowEvert = true;
- dataModel.add(Lib_开关通用图元Node1);
- })();
- /*@GraphList@*/
- /*@PageInit@*/
-
- var localVarObj = this.localVarObj;
- var localDynamicVarObj = this.localDynamicVar();
- var xianshi= localVarObj.xianshi || localDynamicVarObj.xianshi;
- this['Lib_开关通用图元Node0'] = Lib_开关通用图元Node0;
- Lib_开关通用图元Node0.__parentLib = nodename;
- Lib_开关通用图元Node0.__parent = this;
- this.childNodes.push(Lib_开关通用图元Node0);
- this['Lib_开关通用图元Node1'] = Lib_开关通用图元Node1;
- Lib_开关通用图元Node1.__parentLib = nodename;
- Lib_开关通用图元Node1.__parent = this;
- this.childNodes.push(Lib_开关通用图元Node1);
- /*@ControlContextMenu@*/
- /*@Declare@*/
- this.init(x, y, width, height, angle);
- };
- ht.Default.def('ht.lib.开关通用图元', Object, {
- refresh10ms: function () {
-
- var localVarObj = this.localVarObj;
- var localDynamicVarObj = this.localDynamicVar();
- var xianshi= localVarObj.xianshi || localDynamicVarObj.xianshi;
- var Lib_开关通用图元Node0= this.Lib_开关通用图元Node0;
- var Lib_开关通用图元Node1= this.Lib_开关通用图元Node1;
- /*@refresh10ms@*/
- },
- refresh100ms: function () {
-
- var localVarObj = this.localVarObj;
- var localDynamicVarObj = this.localDynamicVar();
- var xianshi= localVarObj.xianshi || localDynamicVarObj.xianshi;
- var Lib_开关通用图元Node0= this.Lib_开关通用图元Node0;
- var Lib_开关通用图元Node1= this.Lib_开关通用图元Node1;
- /*@refresh100ms@*/
- },
- refresh500ms: function () {
-
- var localVarObj = this.localVarObj;
- var localDynamicVarObj = this.localDynamicVar();
- var xianshi= localVarObj.xianshi || localDynamicVarObj.xianshi;
- var Lib_开关通用图元Node0= this.Lib_开关通用图元Node0;
- var Lib_开关通用图元Node1= this.Lib_开关通用图元Node1;
- if((1 )>0) {if(((getVarValue(xianshi)==0)>0 )){Lib_开关通用图元Node0.s('2d.visible',true&&this.getStyle('2d.visible'));}else{Lib_开关通用图元Node0.s('2d.visible',false&&this.getStyle('2d.visible'));}}
- if((1 )>0) {if(((getVarValue(xianshi)==1)>0 )){Lib_开关通用图元Node1.s('2d.visible',true&&this.getStyle('2d.visible'));}else{Lib_开关通用图元Node1.s('2d.visible',false&&this.getStyle('2d.visible'));}}
- /*@refresh500ms@*/
- },
- refresh1s: function () {
- var Counter1s = arguments[0] || 0;
-
- var localVarObj = this.localVarObj;
- var localDynamicVarObj = this.localDynamicVar();
- var xianshi= localVarObj.xianshi || localDynamicVarObj.xianshi;
- var Lib_开关通用图元Node0= this.Lib_开关通用图元Node0;
- var Lib_开关通用图元Node1= this.Lib_开关通用图元Node1;
- /*@refresh1s@*/
- },
- refresh5s: function () {
-
- var localVarObj = this.localVarObj;
- var localDynamicVarObj = this.localDynamicVar();
- var xianshi= localVarObj.xianshi || localDynamicVarObj.xianshi;
- var Lib_开关通用图元Node0= this.Lib_开关通用图元Node0;
- var Lib_开关通用图元Node1= this.Lib_开关通用图元Node1;
- /*@refresh5s@*/
- },
- /*@PageDynamic@*/
- onEvent: function (e, data, type, origin, offset, objMouseOn, ctm) {
-
- var localVarObj = this.localVarObj;
- var localDynamicVarObj = this.localDynamicVar();
- var xianshi= localVarObj.xianshi || localDynamicVarObj.xianshi;
- var Lib_开关通用图元Node0= this.Lib_开关通用图元Node0;
- var Lib_开关通用图元Node1= this.Lib_开关通用图元Node1;
-
- if (type === 'click') {
- /*@EvnentClicked@*/
- } else if (type === 'mousedown') {
- mouseX=e.clientX;
- mouseY=e.clientY;
- /*@EvnentMouseDown@*/
- } else if (type === 'mouseup') {
- /*@EvnentMouseUp@*/
- } else if (type === 'mousemove') {
- var mouseX, mouseY, position, zoom;
- position=origin.getLogicalPoint(e);
- zoom = graphView.getZoom();
- if (origin === graphView) {
- mouseX= position.x + origin.tx();
- mouseY = position.y + origin.ty();
- } else {
- offset = offset || {x: 0, y: 0};
- mouseX = position.x / zoom + offset.x + origin.tx();
- mouseY = position.y / zoom + offset.y + origin.ty();
- }
- /*@EvnentMouseLeave@*/
- /*@EvnentMouseOver@*/
- } else if (type === 'keydown') {
- /*@EvnentKeyDown@*/
- } else if (type === 'contextmenu') {
- /*@Declare@*/
- /*@SetNodeContextMenu@*/
- /*@SetPageContextMenu@*/
- }
- /*@LibEvent@*/
- },
- getBaseClass: function () {
- return this._baseClass;
- },
- getWidth: function () {
- return this._width;
- },
- getHeight: function () {
- return this._height;
- },
- getSize: function () {
- return {
- width: this._width,
- height: this._height
- }
- },
- setWidth: function (width) {
- if (width === undefined || width === null || width != width) {
- return ;
- }
- var originWidth = this._width;
- var ratio = width / originWidth;
- var childNodes = this.childNodes, childNode, p, op = this.getPosition(), w, cw, ox, rotation = this.getRotation();
- for (var i = 0, len = childNodes.length; i < len; i++) {
- childNode = childNodes[i];
- p = childNode.getPosition();
- cw = childNode.getWidth();
- w = cw >=2 ? cw * ratio : cw;
- childNode.setWidth(w);
- ox = op.x + (p.x - op.x) * ratio;
- childNode.setPosition(ox, p.y);
- rotation = GD.calcRotation(rotation);
- if (rotation === 0 || rotation === Math.PI) {
- // 图元未旋转
- ox = op.x + (p.x - op.x)*ratio;
- childNode.setPosition(ox, p.y);
- } else if (rotation === 90 * Math.PI / 180) {
- // 图元旋转以后
- ox = op.y + (p.y - op.y)*ratio;
- childNode.setPosition(p.x, ox);
- }
- }
- this._width = width;
- this._originWidth = width;
- this._ratioX = ratio;
- return this;
- },
- setHeight: function (height) {
- if (height === undefined || height === null || height != height) {
- return ;
- }
- var originHeight = this._height;
- var ratio = height / originHeight;
- var childNodes = this.childNodes, childNode, p, op = this.getPosition(), h, ch, oy, rotation = this.getRotation();
- for (var i = 0, len = childNodes.length; i < len; i++) {
- childNode = childNodes[i];
- p = childNode.getPosition();
- ch = childNode.getHeight();
- h = ch >=2 ? ch * ratio : ch;
- childNode.setHeight(h);
-
- rotation = GD.calcRotation(rotation);
- if (rotation === 0 || rotation === Math.PI) {
- // 图元未旋转
- oy = op.y + (p.y - op.y)*ratio;
- childNode.setPosition(p.x, oy);
- } else if (rotation === 90 * Math.PI / 180) {
- // 图元旋转以后
- oy = op.x + (p.x - op.x)*ratio;
- childNode.setPosition(oy, p.y);
- }
- }
- this._height = height;
- this._originHeight = height;
- this._ratioY = ratio;
- return this;
- },
- setSize: function (size) {
- // var args = Array.prototype.slice.call(arguments, 0);
- // var height, width;
- // if (args.length === 0) {
- // return ;
- // }else if (args.length === 1) {
- // height = args[0].height;
- // width = args[0].width;
- // } else {
- // width = args[0];
- // height = args[1];
- // }
- // var wh = GD.getRatioWithRotation(angle, wid)
- // this.setHeight(height);
- // this.setWidth(width);
- // return this;
- var args = Array.prototype.slice.call(arguments, 0);
- var height, width;
- if (args.length === 0) {
- return ;
- }else if (args.length === 1) {
- height = args[0].height;
- width = args[0].width;
- angle = 0;
- } else if (args.length === 2) {
- if (typeof args[0] === 'object') {
- width = args[0].width;
- height = args[0].height;
- angle = args[1] || 0;
- } else {
- width = args[0];
- height = args[1];
- angle = 0;
- }
- } else if (args.length === 3) {
- width = args[0];
- height = args[1];
- angle = args[2] || 0;
- }
- var wh = GD.getRatioWithRotation(0, width, height);
- this.setHeight(wh.ratioY);
- this.setWidth(wh.ratioX);
- return this;
- },
- getPosition: function () {
- return {
- x: this._x,
- y: this._y
- }
- },
- setPosition: function () {
- var args = Array.prototype.slice.call(arguments, 0), x, y;
- if (args.length === 0) {
- return this;
- } else if (args.length === 1) {
- if (typeof args[0] != 'object') {
- return this;
- }
- x = args[0].x;
- y = args[0].y;
- } else {
- x = args[0];
- y = args[1];
- }
- if ((x !== 0 && !x) || (y !== 0 && !y)) {
- return this;
- }
- // var childNodes = this.childNodes, offset, childNode, p;
- // for (var i = 0, len = childNodes.length; i < len; i++) {
- // childNode = childNodes[i];
- // p = childNode.getPosition();
- // childNode.setPosition(x - (this._x-p.x)*this._ratioX, y - (this._y-p.y)*this._ratioY);
- // }
- // this._x = x;
- // this._y = y;
- // return this;
- var childNodes, childNode, background, offset = {}, op, cp;
- childNodes = this.childNodes;
- background = this._background;
- op = background.getPosition();
- offset.x = x - op.x;
- offset.y = y - op.y;
- for (var i = 0, len = childNodes.length; i < len; i++) {
- childNode = childNodes[i];
- cp = childNode.getPosition();
- childNode.setPosition(cp.x + offset.x, cp.y + offset.y);
- }
- this._x = x;
- this._y = y;
- this._position = {x: x, y: y};
- return this;
- },
- getStyle: function (key) {
- if (!key) {
- return undefined;
- }
- return this._styleObject[key];
- },
- setStyle: function (key, value, force) {
- var childNodes = this.childNodes, childNode;
-
- for (var i = 0, len = childNodes.length; i < len; i++) {
- childNode = childNodes[i];
- if (key === '2d.visible') {
- if (value === graphView.isVisible(childNode)) {
- continue;
- }
- if (!value) {
- childNode._savedIsVisible = graphView.isVisible(childNode);
- childNode.s({
- '2d.visible': false
- })
- } else {
- childNode.s({
- '2d.visible': childNode._savedIsVisible
- })
- }
- continue;
- }
- childNode.s({
- key: value
- });
- }
- this._styleObject[key] = value;
- return this;
- },
- calcSize: function () {
- var background = this._background;
- var position = background.getPosition(),
- width = background.getWidth(),
- height = background.getHeight();
- this._width = width;
- this._height = height;
- this._x = position.x;
- this._y = position.y;
- this._position = {
- x: this._x,
- y: this._y
- }
- return this;
- return this;
- },
- s: function (styleObj, force) {
- var args = Array.prototype.slice.call(arguments, 0);
- var styleObj;
- if (args.length === 0) {
- return this;
- } else if (args.length === 1) {
- styleObj = args[0];
- } else {
- this.setStyle(args[0], args[1]);
- return this;
- }
- for (var key in styleObj) {
- if (!styleObj.hasOwnProperty(key)) {
- continue;
- }
- this.setStyle(key, styleObj[key], force);
- }
- return this;
- },
- init: function (x, y, width, height, angle) {
- var that = this;
- this.calcSize();
- (function (width, height, angle) {
- // that.setSize(width, height, angle);
- // var wh = GD.getRatioWithRotation(angle, width, height);
- // width = wh.ratioX;
- // height = wh.ratioY;
- var originHeight = that._height;
- var originWidth = that._width;
- var ratioY = height / originHeight;
- var ratioX = width / originWidth;
- var childNodes = that.childNodes,
- childNode,p, op = that.getPosition(), h, ch, oy, w, cw, ox, name, borderRatio, borderWidth;
- for (var i = 0, len = childNodes.length; i < len; i++) {
- childNode = childNodes[i];
- p = childNode.getPosition();
- childNode.originHeight = childNode.originHeight || childNode.getHeight();
- ch = childNode.getHeight();
- cw = childNode.getWidth();
-
- if (ch > 2) {
- h = ch * ratioY;
- childNode.setHeight(h);
- }
- if (cw > 2) {
- w = cw * ratioX;
- childNode.setWidth(w);
- }
- borderRatio = (ratioX + ratioY)*0.5;
- if (childNode._nodeType === 'line') { // 如果是线,
- if (childNode.getWidth() > childNode.getHeight()) {
- borderRatio = ratioX;
- } else {
- borderRatio = ratioY;
- }
- }
- name = childNode._nodename;
- // if (childNode.borderWidth && name && ch > 2 && cw > 2) {
- // borderWidth = childNode.borderWidth / borderRatio;
- // if (borderWidth > ch*0.5 || borderWidth > cw *0.5) {
- // // borderWidth = childNode.borderWidth;
- // }
- // childNode.borderWidth = borderWidth;
- // childNode.a(name + '.borderwidth', borderWidth);
- // }
- }
- that._height = height;
- that._originHeight = height;
- that._ratioY = ratioY;
- that._width = width;
- that._originWidth = width;
- that._ratioX = ratioX;
- })(width, height, angle);
- that._x = width / 2;
- that._y = height / 2;
- that._rotation = 0;
- // that.setPosition(x, y);
- (function (x, y) {
- var childNodes = that.childNodes, offset, childNode;
- var w2 = that.getWidth() / 2, h2 = that.getHeight()/2;
- for (var i = 0, len = childNodes.length; i < len; i++) {
- childNode = childNodes[i];
- offset = childNode.getPosition();
- childNode.setPosition(x + offset.x * that._ratioX - w2, y + offset.y * that._ratioY - h2);
- }
- that._x = x;
- that._y = y;
- })(x, y);
- // setTimeout(that.addEVent, 1000);
- },
- setRotation: function (angle) {
- var that = this, _angle = that.getRotation();
- if (angle!==0 && !angle || angle === _angle) {
- return this;
- }
- var childNodes = this.childNodes, childNode, p = this.getPosition(), px = p.x, py = p.y;
- for (var i = 0, len = childNodes.length; i < len; i++) {
- childNode = childNodes[i];
- var x = childNode.getPosition().x - px;
- var y = childNode.getPosition().y - py;
- childNode.setPosition(Math.cos(angle-_angle) * x - Math.sin(angle-_angle) * y + px, Math.cos(angle-_angle) * y + Math.sin(angle-_angle) * x + py);
- childNode.setRotation(angle);
- }
- this._rotation = angle;
- return this;
- },
- getRotation: function () {
- return this._rotation;
- },
- setScale: function (sx, sy) {
- var that = this,
- childNodes = this.childNodes,
- childNode;
- if (sx === undefined || sx === null) return ;
- if (sy === undefined || sy === null) {
- sy = sx;
- }
- for (var i = 0, len = childNodes.length; i < len; i++) {
- childNode = childNodes[i];
- if (typeof childNode.setScale === 'function') {
- childNode.setScale(sx, sy);
- }
- }
- },
- getScale: function () {
- return this._background.getScale();
- },
- setScaleX: function (sx) {
- if (sx === undefined || sx === null) return;
- var that = this,
- childNodes = this.childNodes,
- childNode;
- for (var i = 0, len = childNodes.length; i < len; i++) {
- childNode = childNodes[i];
- if (typeof childNode.setScaleX === 'function') {
- childNode.setScaleX(sx);
- }
- }
- },
- setScaleY: function (sy) {
- if (sy === undefined || sy === null) return;
- var that = this,
- childNodes = this.childNodes,
- childNode;
- for (var i = 0, len = childNodes.length; i < len; i++) {
- childNode = childNodes[i];
- if (typeof childNode.setScaleY === 'function') {
- childNode.setScaleY(sy);
- }
- }
- },
- getScaleX: function () {
- return this._background.getScaleX();
- },
- getScaleY: function () {
- return this._background.getScaleY();
- },
- evert: function () {
- var that = this,
- childNodes = this.childNodes,
- background = this._background,
- bp = background.getPosition(),
- bx = bp.x,
- by = bp.y,
- childNode, distanceX, distanceY, x, y, p, nx, ny;
-
- for (var i = 0, len = childNodes.length; i < len; i++) {
- childNode = childNodes[i];
- p = childNode.getPosition();
- x = p.x;
- y = p.y;
- distanceX = bx - x;
- distanceY = by - y;
- nx = bx + distanceX;
- ny = by + distanceY;
- childNode.setPosition(nx, ny);
- if (typeof childNode.setScale === 'function') {
- if (!(childNode._disallowEvert === true))
- childNode.setScale(-1, -1);
- }
- }
- },
- evertX: function () {
- var that = this,
- childNodes = this.childNodes,
- background = this._background,
- bx = background.getPosition().x,
- childNode, distance, x, p, nx;
-
- for (var i = 0, len = childNodes.length; i < len; i++) {
- childNode = childNodes[i];
- p = childNode.getPosition();
- x = p.x;
- distance = bx - x;
- nx = bx + distance;
- childNode.setPosition(nx, p.y);
- if (typeof childNode.setScaleX === 'function') {
- if (!(childNode._disallowEvert === true))
- childNode.setScaleX(-1);
- }
- }
- },
- evertY: function () {
- var that = this,
- childNodes = this.childNodes,
- background = this._background,
- by = background.getPosition().y,
- childNode, distance, y, p, ny;
-
- for (var i = 0, len = childNodes.length; i < len; i++) {
- childNode = childNodes[i];
- p = childNode.getPosition();
- y = p.y;
- distance = by - y;
- ny = by + distance;
- childNode.setPosition(p.x, ny);
- if (typeof childNode.setScaleY === 'function') {
- if (!(childNode._disallowEvert === true))
- childNode.setScaleY(-1);
- }
- }
- },
- attr: function (key, value) {
- var _attrObj = this._attrObj || {};
- if (arguments.length === 1) {
- return _attrObj[key];
- }
- var childNodes = this.childNodes, childNode;
- _attrObj[key] = value;
- for (var i = 0; childNode = childNodes[i++];) {
- if (typeof childNode.a === 'function') {
- childNode.a(key, value);
- }
- }
- },
- a: function () {
- return this.attr.apply(this, arguments);
- }
- });
- }
|