/******************************************************************************* * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc. * Distributed under license by Red Hat, Inc. All rights reserved. * This program is 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: * Exadel, Inc. and Red Hat, Inc. - initial API and implementation ******************************************************************************/ package org.jboss.tools.jsf.ui.editor.model; import org.eclipse.draw2d.geometry.Dimension; import org.eclipse.draw2d.geometry.Point; import org.eclipse.draw2d.geometry.Rectangle; import org.eclipse.swt.widgets.Menu; import org.eclipse.swt.widgets.Control; import java.beans.*; public interface IJSFElement{ public static String NAME_PROPERTY = "title"; //$NON-NLS-1$ public static String BOUNDS_PROPERTY = "shape"; //$NON-NLS-1$ public static String PATH_PROPERTY = "path"; //$NON-NLS-1$ public static String TARGET_PROPERTY = "target"; //$NON-NLS-1$ public static String TYPE_PROPERTY = "type"; //$NON-NLS-1$ public static String SUBTYPE_PROPERTY = "subtype"; //$NON-NLS-1$ public static Point DEFAULT_POINT = new Point(50,50); public IJSFElement getRoot(); public IJSFModel getJSFModel(); public Object getSource(); public void setSource(Object object); public IJSFElement getParentJSFElement(); public void setParentJSFElement(IJSFElement parent); public String getName(); public String getType(); public void setName(String name) throws PropertyVetoException ; public Dimension getSize(); public void setSize(Dimension size); public Point getPosition(); public void setPosition(Point point); public Rectangle getBounds(); public void setBounds(Rectangle rec); public void setBounds(int x, int y, int w, int h); public void remove(); public String getJSFElementPath(); public String getIconPath(); public void setIconPath(String path); public void setSourceProperty(String name, Object value); public Object getSourceProperty(String name); public Object getSourceProperty(int index); public int getSourcePropertyCounter(); public String[] getSourcePropertyNames(); public String[] getSourcePropertyDisplayNames(); public Menu getPopupMenu(Control control, Object environment); public Menu getPopupMenu(Control control); public void addPropertyChangeListener(PropertyChangeListener l); public void removePropertyChangeListener(PropertyChangeListener l); public void addPropertyChangeListener(String propertyName, PropertyChangeListener l); public void removePropertyChangeListener(String propertyName, PropertyChangeListener l); public String getText(); public Object clone(); public void structureChanged(Object eventData); public void nodeChanged(Object eventData); public void nodeAdded(Object eventData); public void nodeRemoved(Object eventData); public boolean isConfirmed(); }