blob: 87417ba60127275de73ad0e2d18ed29fd37278b7 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2006, 2010 Soyatec (http://www.soyatec.com) and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Soyatec - initial API and implementation
*******************************************************************************/
package org.eclipse.xwt.tools.ui.designer.core.parts;
/**
* @author jin.liu (jin.liu@soyatec.com)
*
*/
public class RefreshContext {
public static final int REFRESH_IMAGE = 1;
public static final int REFRESH_CHILDREN = REFRESH_IMAGE << 1;
public static final int REFRESH_VISUALS = REFRESH_CHILDREN << 1;
public static final int REFRESH_ALL = REFRESH_IMAGE | REFRESH_CHILDREN
| REFRESH_VISUALS;
private int refreshType = 0;
/**
* Create a EditPartContext with given refreshType.
*/
RefreshContext(int refreshType) {
this.refreshType = refreshType;
}
public boolean refreshImage() {
return refresh(REFRESH_IMAGE);
}
public void setImageRefreshed() {
setRefreshed(REFRESH_IMAGE);
}
public boolean refreshChildren() {
return refresh(REFRESH_CHILDREN);
}
public void setVisualsRefreshed() {
setRefreshed(REFRESH_VISUALS);
}
public void setChildrenRefreshed() {
setRefreshed(REFRESH_CHILDREN);
}
public boolean refreshVisuals() {
return refresh(REFRESH_VISUALS);
}
public int getRefreshType() {
return refreshType;
}
public void setRefreshed(int type) {
refreshType = refreshType ^ type;
}
public boolean refresh(int type) {
return (refreshType & type) != 0;
}
public static final RefreshContext ALL() {
return createRefreshContext(REFRESH_ALL);
}
public static final RefreshContext IMAGE() {
return createRefreshContext(REFRESH_IMAGE);
}
public static final RefreshContext CHILDREN() {
return createRefreshContext(REFRESH_CHILDREN);
}
public static final RefreshContext VISUALS() {
return createRefreshContext(REFRESH_VISUALS);
}
public static final RefreshContext createRefreshContext(int refreshType) {
return new RefreshContext(refreshType);
}
}