wisemapping-open-source/mindplot/src/main/javascript/ShrinkConnector.js

136 lines
3.5 KiB
JavaScript
Raw Normal View History

2009-06-07 20:59:43 +02:00
/*
* Copyright [2011] [wisemapping]
2009-06-07 20:59:43 +02:00
*
2011-01-24 01:03:12 +01:00
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
* It is basically the Apache License, Version 2.0 (the "License") plus the
* "powered by wisemapping" text requirement on every single page;
* you may not use this file except in compliance with the License.
* You may obtain a copy of the license at
2009-06-07 20:59:43 +02:00
*
* http://www.wisemapping.org/license
2009-06-07 20:59:43 +02:00
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
2009-06-07 20:59:43 +02:00
*/
mindplot.ShirinkConnector = function(topic)
{
var elipse = new web2d.Elipse(mindplot.Topic.prototype.INNER_RECT_ATTRIBUTES);
this._elipse = elipse;
elipse.setFill('#f7f7f7');
elipse.setSize(mindplot.Topic.CONNECTOR_WIDTH, mindplot.Topic.CONNECTOR_WIDTH);
var shrinkConnector = this;
elipse.addEventListener('click', function(event)
{
var model = topic.getModel();
var isShrink = !model.areChildrenShrinked();
var actionRunner = mindplot.DesignerActionRunner.getInstance();
var topicId = topic.getId();
var commandFunc = function(topic, isShrink)
{
topic.setChildrenShrinked(isShrink);
return !isShrink;
};
2009-06-07 20:59:43 +02:00
var command = new mindplot.commands.GenericFunctionCommand(commandFunc, isShrink, [topicId]);
actionRunner.execute(command);
2009-06-07 20:59:43 +02:00
2011-04-16 15:18:33 +02:00
var event = new Event(event).stop();
event.preventDefault();
2009-06-07 20:59:43 +02:00
});
2011-04-16 15:18:33 +02:00
elipse.addEventListener('mousedown', function(event)
2009-06-07 20:59:43 +02:00
{
// Avoid node creation ...
2011-04-16 15:18:33 +02:00
var event = new Event(event).stop();
event.preventDefault();
2009-06-07 20:59:43 +02:00
});
elipse.addEventListener('dblclick', function(event)
{
// Avoid node creation ...
2011-04-16 15:18:33 +02:00
event = new Event(event).stop();
event.preventDefault();
2009-06-07 20:59:43 +02:00
});
elipse.addEventListener('mouseover', function(event)
{
this.setFill('#009900');
});
elipse.addEventListener('mouseout', function(event)
{
var color = topic.getBackgroundColor();
this.setFill(color);
});
elipse.setCursor('default');
this._fillColor = '#f7f7f7';
var model = topic.getModel();
this.changeRender(model.areChildrenShrinked());
};
mindplot.ShirinkConnector.prototype.changeRender = function(isShrink)
{
var elipse = this._elipse;
if (isShrink)
{
elipse.setStroke('2', 'solid');
} else
{
elipse.setStroke('1', 'solid');
}
}
mindplot.ShirinkConnector.prototype.setVisibility = function(value)
{
this._elipse.setVisibility(value);
}
mindplot.ShirinkConnector.prototype.setOpacity = function(opacity)
{
this._elipse.setOpacity(opacity);
}
2009-06-07 20:59:43 +02:00
mindplot.ShirinkConnector.prototype.setFill = function(color)
{
this._fillColor = color;
this._elipse.setFill(color);
}
mindplot.ShirinkConnector.prototype.setAttribute = function(name, value)
{
this._elipse.setAttribute(name, value);
}
mindplot.ShirinkConnector.prototype.addToWorkspace = function(group)
{
group.appendChild(this._elipse);
}
mindplot.ShirinkConnector.prototype.setPosition = function(x, y)
{
this._elipse.setPosition(x, y);
}
2011-04-12 14:59:03 +02:00
mindplot.ShirinkConnector.prototype.moveToBack = function()
{
this._elipse.moveToBack();
}
mindplot.ShirinkConnector.prototype.moveToFront = function()
{
this._elipse.moveToFront();
}