Index: io/manifest.mf =================================================================== RCS file: /cvs/openide/io/manifest.mf,v --- io/manifest.mf 18 Nov 2004 09:12:19 -0000 1.8 +++ io/manifest.mf 11 Jan 2005 12:33:47 -0000 @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.openide.io -OpenIDE-Module-Specification-Version: 1.5 +OpenIDE-Module-Specification-Version: 1.6 OpenIDE-Module-Localizing-Bundle: org/openide/io/Bundle.properties Index: io/api/doc/changes/changes.xml =================================================================== RCS file: /cvs/openide/io/api/doc/changes/changes.xml,v --- io/api/doc/changes/changes.xml 22 Nov 2004 21:52:17 -0000 1.2 +++ io/api/doc/changes/changes.xml 11 Jan 2005 12:33:47 -0000 @@ -75,6 +75,28 @@ + + + Added API to add actions to output's toolbar + + + + + +

Added an additional method InputOutput getIO(String name, Action[] additionalActions) + that accepts additional array of javax.swing.Action instances. It allows to define domain-specific additional actions + that can be performed on the content of the output.

+

The method +should be ideally abstract but because it's uncertain how many +implementations of IOProvider are there, the method is non-abstract and in it's +default impl, delegates to the InputOutput getIO(String name, boolean newIO) method. +Implementors of the class are encourages to implement the new method. +

+
+ + +
+ Added API to mark OutputListeners a important Index: io/src/org/openide/windows/IOProvider.java =================================================================== RCS file: /cvs/openide/io/src/org/openide/windows/IOProvider.java,v --- io/src/org/openide/windows/IOProvider.java 4 Aug 2004 00:41:49 -0000 1.4 +++ io/src/org/openide/windows/IOProvider.java 11 Jan 2005 12:33:47 -0000 @@ -19,6 +19,7 @@ import java.io.PrintStream; import java.io.Reader; import java.io.StringWriter; +import javax.swing.Action; import org.openide.util.Lookup; /** A factory for IO tabs shown in the output window. To create a new tab to @@ -62,6 +63,28 @@ */ public abstract InputOutput getIO(String name, boolean newIO); + + /** + *Gets a named instance of InputOutput with additional actions displayed in the + * toolbar. + * Streams for reading/writing can be accessed via + * getters on the returned instance. + * Additional actions are displayed on the output's toolbar. + * + * @param name A localized display name for the tab + * @param additionalActions array of actions that are added to the toolbar, Can be empty array, but not null. + * The number of actions should not exceed 5 and each should have the Action.SMALL_ICON property defined. + * @return an InputOutput instance for accessing the new tab + * @see InputOutput + * @since 1.6
+ * Note: The method is non-abstract for backward compatibility reasons only. If you are + * extending IOProvider and implementing its abstract classes, you are encouraged to override + * this method as well. The default implementation falls back to the getIO(name, newIO) method, ignoring the actions passed. + */ + public InputOutput getIO(String name, Action[] additionalActions) { + return getIO(name, true); + } + /** Support writing to the Output Window on the main tab or a similar output device. * @return a writer for the standard NetBeans output area */