/******************************************************************************* * Copyright (c) 2006 IBM Corporation 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: * IBM Corporation - initial API and implementation * IBM Research *******************************************************************************/ package com.ibm.research.tagging.core.ui; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.forms.widgets.FormText; import com.ibm.research.tagging.core.ITag; import com.ibm.research.tagging.core.IWaypoint; /** * * @author mdesmond * */ public interface ITagUI { /** * Add the given waypoint UI extension * @param extension */ public void addWaypointUIExtension(IWaypointUIExtension extension); /** * Remove the given waypoint UI extension * @param extension */ public void removeWaypointUIExtension(IWaypointUIExtension extension); /** * Get the image associated with this waypoint * @param waypoint * @return the image */ public Image getImage(IWaypoint waypoint); /** * Get the small image associated with this waypoint * @param waypoint * @return the image */ public Image getSmallImage(IWaypoint waypoint); /** * Get the label associated with this waypoint * @param waypoint * @return the label */ public String getLabel(IWaypoint waypoint); /** * Get the label associated with this waypoint for table layouts * @param waypoint * @param column * @return the label */ public String getLabel(IWaypoint waypoint, int column); /** * Add a tag selection listener * @param listener */ public void addTagSelectionListener(ITagSelectionListener listener); /** * Add a tag selection listener * @param listener */ public void removeTagSelectionListener(ITagSelectionListener listener); /** * Fire a tag selection changed event * @param tags */ public void tagSelectionChanged(ITag[] tags); /** * Get the properties associated with this waypoint * @param the properties ui widget */ public FormText getProperties(Composite parent, IWaypoint waypoint); /** * Edit the properties associated with this waypoint * @param waypoint * @return true if properties were changed, false otherwise */ public boolean editProperties(IWaypoint waypoint); public void addWaypointViewListener(IWaypointViewListener listener); public void removeWaypointViewListener(IWaypointViewListener listener); public void addTagViewListener(ITagViewListener listener); public void removeTagViewListener(ITagViewListener listener); }