org.eclipse.ui.console.IConsole Maven / Gradle / Ivy
/*******************************************************************************
* Copyright (c) 2000, 2008 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.ui.console;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.ui.part.IPageBookViewPage;
/**
* A console. A console is commonly used to display messages such as the output
* streams of a system process. A console can be displayed in one or more console
* views.
*
* The console implementations provided by this plug-in are textual
* (TextConsole
, MessageConsole
and IOConsole
).
* However a client can provide alternate presentations since a console implementation
* is responsible for providing is page for the page book views in which consoles are
* displayed.
*
*
* Subclass AbstractConsole
when implementing this interface.
*
* @since 3.0
*/
public interface IConsole {
/**
* Returns the name of this console.
*
* @return the name of this console
*/
String getName();
/**
* Returns an image descriptor for this console, or null
* if none.
*
* @return an image descriptor for this console, or null
* if none
*/
ImageDescriptor getImageDescriptor();
/**
* Creates and returns a new page for this console. The page is displayed
* for this console in the console given view.
*
* @param view the view in which the page is to be created
* @return a page book view page representation of this console
*/
IPageBookViewPage createPage(IConsoleView view);
/**
* Adds a listener for changes to properties of this console. Has no effect if
* an identical listener is already registered.
*
* The changes supported by the console view are as follows:
*
*
* IBasicPropertyConstants.P_TEXT
- indicates the name of a
* console has changed
* IBasicPropertyConstants.P_IMAGE
- indicates the image of a
* console has changed
*
*
* Consoles may define additional properties as required.
*
*
* @param listener a property change listener
*/
void addPropertyChangeListener(IPropertyChangeListener listener);
/**
* Removes the given property listener from this console page.
* Has no effect if an identical listener is not already registered.
*
* @param listener a property listener
*/
void removePropertyChangeListener(IPropertyChangeListener listener);
/**
* Returns a unique identifier for this console's type, or null
* if unspecified.
*
* @return a unique identifier for this console's type, or null
* @since 3.1
*/
String getType();
}