
org.xmind.core.style.IStyle Maven / Gradle / Ivy
Show all versions of xmindjbehaveplugin Show documentation
/* ******************************************************************************
* Copyright (c) 2006-2012 XMind Ltd. and others.
*
* This file is a part of XMind 3. XMind releases 3 and
* above are dual-licensed under the Eclipse Public License (EPL),
* which is available at http://www.eclipse.org/legal/epl-v10.html
* and the GNU Lesser General Public License (LGPL),
* which is available at http://www.gnu.org/licenses/lgpl.html
* See http://www.xmind.net/license.html for details.
*
* Contributors:
* XMind Ltd. - initial API and implementation
*******************************************************************************/
package org.xmind.core.style;
import java.util.Iterator;
import org.xmind.core.IAdaptable;
import org.xmind.core.IIdentifiable;
import org.xmind.core.INamed;
import org.xmind.core.IProperties;
import org.xmind.core.ITopic;
import org.xmind.core.util.Property;
public interface IStyle extends IAdaptable, IIdentifiable, IProperties, INamed {
/**
* Style type for theme properties.
*/
String THEME = "theme"; //$NON-NLS-1$
/**
* Style type for paragraph properties.
*/
String PARAGRAPH = "paragraph"; //$NON-NLS-1$
/**
* Style type for bullet paragraph properties.
*/
// String BULLETPARAGRAPH = "bulletParagraph";
/**
* Style type for text properties.
*/
String TEXT = "text"; //$NON-NLS-1$
/**
* Style type for summary properties.
*/
String SUMMARY = "summary"; //$NON-NLS-1$
/**
* Style type for boundary properties.
*/
String BOUNDARY = "boundary"; //$NON-NLS-1$
/**
* Style type for relationship properties.
*/
String RELATIONSHIP = "relationship"; //$NON-NLS-1$
/**
* Style type for topic properties.
*/
String TOPIC = "topic"; //$NON-NLS-1$
/**
* Style type for map properties.
*/
String MAP = "map"; //$NON-NLS-1$
/**
* Gets the style sheet who owns this style.
*
* A style can not be added to a style sheet that does not own it.
*
* @return the owned style sheet
*/
IStyleSheet getOwnedStyleSheet();
/**
* Gets the string identifitying the type of this style. A style with a
* specific type can only be applied to a specific type of object, i.e. a
* style with {@link #TOPIC} type can only be applied to {@link ITopic}
* objects. Trying to apply a style to a object of different type may result
* in no effects.
*
* @see #TOPIC
* @see #MAP
* @see #BOUNDARY
* @see #RELATIONSHIP
* @see #SUMMARY
* @see #PARAGRAPH
* @see #TEXT
* @see #THEME
* @return the type of this style
*/
String getType();
/**
*
* @return
*/
Iterator defaultStyles();
/**
*
* @param styleFamily
* @return
*/
String getDefaultStyleId(String styleFamily);
/**
*
* @param styleFamily
* @return
*/
IStyle getDefaultStyle(String styleFamily);
/**
*
* @param styleId
* @return
*/
IStyle getDefaultStyleById(String styleId);
/**
*
* @param styleFamily
* @param styleId
*/
void setDefaultStyleId(String styleFamily, String styleId);
}