/* * Copyright 2008-2009 Adam Tacy <adam.tacy AT gmail.com> * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * 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. */ /* * Copyright 2011 Vancouver Ywebb Consulting Ltd * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * 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. */ package org.adamtacy.client.ui.effects.impl; import org.adamtacy.client.ui.effects.core.NMorphStyle; import org.adamtacy.client.ui.effects.impl.css.Rule; import com.google.gwt.dom.client.Element; public class Move extends NMorphStyle { public int getXValue() { return moveX; } public int getYValue() { return moveY; } public void setXValue(int newX) { moveX = newX; if (effectElement != null) setNewStyles(new Rule("s{left:0px; top: 0px;}"), new Rule("s{left: "+moveX+"px; top: "+moveY+"px;}")); } public void setYValue(int newY) { moveY = newY; if (effectElement != null) setNewStyles(new Rule("s{left:0px; top: 0px;}"), new Rule("s{left: "+moveX+"px; top: "+moveY+"px;}")); } public void setXYValue(int x, int y, int eX, int eY) { moveX = eX; moveY = eY; if (effectElement != null) setNewStyles(new Rule("s{position: absolute; left:"+x+"px; top: "+y+"px;}"), new Rule("s{left: "+moveX+"px; top: "+moveY+"px;}")); } int moveX, moveY; public Move(int x, int y) { super(new Rule("startMove{left:"+(0)+"px; top:"+(0)+"px;}"), new Rule("endMove{left: " + (x) + "px; top: " + (y) + "px;}")); moveX = x; moveY = y; } public Move(Element el, int x, int y){ this(x,y); addEffectElement(el); } public Move(Rule startEntry, Rule endEntry) { super(startEntry, endEntry); } public Move(Element el, Rule startEntry, Rule endEntry){ this(startEntry,endEntry); addEffectElement(el); } @Override public void tearDownEffect() { if(thePanel!=null){ effectElement.getStyle().setProperty("top", thePanel.getElement().getStyle().getProperty("top")); effectElement.getStyle().setProperty("left", thePanel.getElement().getStyle().getProperty("left")); } } }