mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-06-09 10:46:02 +02:00
[261486][api][cleanup] Mark @noimplement interfaces as @noextend
This commit is contained in:
parent
a9a9a085ea
commit
489e43c538
5 changed files with 73 additions and 62 deletions
|
@ -1,5 +1,5 @@
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* Copyright (c) 2006, 2008 Wind River Systems, Inc. and others.
|
* Copyright (c) 2006, 2009 Wind River Systems, Inc. and others.
|
||||||
* All rights reserved. This program and the accompanying materials
|
* All rights reserved. This program and the accompanying materials
|
||||||
* are made available under the terms of the Eclipse Public License v1.0
|
* are made available under the terms of the Eclipse Public License v1.0
|
||||||
* which accompanies this distribution, and is available at
|
* which accompanies this distribution, and is available at
|
||||||
|
@ -8,6 +8,7 @@
|
||||||
* Contributors:
|
* Contributors:
|
||||||
* Michael Scharf (Wind River) - initial API and implementation
|
* Michael Scharf (Wind River) - initial API and implementation
|
||||||
* Martin Oberhuber (Wind River) - fixed copyright headers and beautified
|
* Martin Oberhuber (Wind River) - fixed copyright headers and beautified
|
||||||
|
* Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.eclipse.tm.internal.terminal.provisional.api;
|
package org.eclipse.tm.internal.terminal.provisional.api;
|
||||||
|
|
||||||
|
@ -17,15 +18,14 @@ import org.eclipse.core.runtime.IAdaptable;
|
||||||
import org.eclipse.tm.internal.terminal.control.ITerminalViewControl;
|
import org.eclipse.tm.internal.terminal.control.ITerminalViewControl;
|
||||||
import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl;
|
import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A contributed connection type to manage a single connection.
|
* A contributed connection type to manage a single connection.
|
||||||
*
|
*
|
||||||
* Implementations of this class are contributed through the
|
* Implementations of this class are contributed through the
|
||||||
* <code>org.eclipse.tm.terminal.terminalConnectors</code> extension point.
|
* <code>org.eclipse.tm.terminal.terminalConnectors</code> extension point. This
|
||||||
* This class gives access to the static markup of a terminal connector
|
* class gives access to the static markup of a terminal connector extension as
|
||||||
* extension as well as providing the lifecycle management for the dynamically
|
* well as providing the lifecycle management for the dynamically loaded
|
||||||
* loaded {@link TerminalConnectorImpl} instance, which performs the actual
|
* {@link TerminalConnectorImpl} instance, which performs the actual
|
||||||
* communications. This pattern allows for lazy initialization, bundle
|
* communications. This pattern allows for lazy initialization, bundle
|
||||||
* activation and class loading of the actual {@link TerminalConnectorImpl}
|
* activation and class loading of the actual {@link TerminalConnectorImpl}
|
||||||
* instance.
|
* instance.
|
||||||
|
@ -36,13 +36,14 @@ import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnect
|
||||||
* active terminal widget.
|
* active terminal widget.
|
||||||
*
|
*
|
||||||
* @noimplement This interface is not intended to be implemented by clients.
|
* @noimplement This interface is not intended to be implemented by clients.
|
||||||
|
* @noextend This interface is not intended to be extended by clients.
|
||||||
*
|
*
|
||||||
* @author Michael Scharf
|
* @author Michael Scharf
|
||||||
* <p>
|
* <p>
|
||||||
* <strong>EXPERIMENTAL</strong>. This class or interface has been
|
* <strong>EXPERIMENTAL</strong>. This class or interface has been added
|
||||||
* added as part of a work in progress. There is no guarantee that this
|
* as part of a work in progress. There is no guarantee that this API
|
||||||
* API will work or that it will remain the same. Please do not use this
|
* will work or that it will remain the same. Please do not use this API
|
||||||
* API without consulting with the <a
|
* without consulting with the <a
|
||||||
* href="http://www.eclipse.org/dsdp/tm/">Target Management</a> team.
|
* href="http://www.eclipse.org/dsdp/tm/">Target Management</a> team.
|
||||||
* </p>
|
* </p>
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* Copyright (c) 2006, 2008 Wind River Systems, Inc. and others.
|
* Copyright (c) 2006, 2009 Wind River Systems, Inc. and others.
|
||||||
* All rights reserved. This program and the accompanying materials
|
* All rights reserved. This program and the accompanying materials
|
||||||
* are made available under the terms of the Eclipse Public License v1.0
|
* are made available under the terms of the Eclipse Public License v1.0
|
||||||
* which accompanies this distribution, and is available at
|
* which accompanies this distribution, and is available at
|
||||||
|
@ -9,6 +9,7 @@
|
||||||
* Michael Scharf (Wind River) - initial API and implementation
|
* Michael Scharf (Wind River) - initial API and implementation
|
||||||
* Martin Oberhuber (Wind River) - fixed copyright headers and beautified
|
* Martin Oberhuber (Wind River) - fixed copyright headers and beautified
|
||||||
* Martin Oberhuber (Wind River) - [204796] Terminal should allow setting the encoding to use
|
* Martin Oberhuber (Wind River) - [204796] Terminal should allow setting the encoding to use
|
||||||
|
* Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.eclipse.tm.internal.terminal.provisional.api;
|
package org.eclipse.tm.internal.terminal.provisional.api;
|
||||||
|
|
||||||
|
@ -20,15 +21,15 @@ import org.eclipse.swt.widgets.Shell;
|
||||||
/**
|
/**
|
||||||
* Represents the terminal view as seen by a terminal connection.
|
* Represents the terminal view as seen by a terminal connection.
|
||||||
* <p>
|
* <p>
|
||||||
* <strong>EXPERIMENTAL</strong>. This class or interface has been added as
|
* <strong>EXPERIMENTAL</strong>. This class or interface has been added as part
|
||||||
* part of a work in progress. There is no guarantee that this API will work or
|
* of a work in progress. There is no guarantee that this API will work or that
|
||||||
* that it will remain the same. Please do not use this API without consulting
|
* it will remain the same. Please do not use this API without consulting with
|
||||||
* with the <a href="http://www.eclipse.org/dsdp/tm/">Target Management</a>
|
* the <a href="http://www.eclipse.org/dsdp/tm/">Target Management</a> team.
|
||||||
* team.
|
|
||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @author Michael Scharf
|
* @author Michael Scharf
|
||||||
* @noimplement This interface is not intended to be implemented by clients.
|
* @noimplement This interface is not intended to be implemented by clients.
|
||||||
|
* @noextend This interface is not intended to be extended by clients.
|
||||||
*/
|
*/
|
||||||
public interface ITerminalControl {
|
public interface ITerminalControl {
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* Copyright (c) 2007, 2008 Wind River Systems, Inc. and others.
|
* Copyright (c) 2007, 2009 Wind River Systems, Inc. and others.
|
||||||
* All rights reserved. This program and the accompanying materials
|
* All rights reserved. This program and the accompanying materials
|
||||||
* are made available under the terms of the Eclipse Public License v1.0
|
* are made available under the terms of the Eclipse Public License v1.0
|
||||||
* which accompanies this distribution, and is available at
|
* which accompanies this distribution, and is available at
|
||||||
|
@ -7,18 +7,20 @@
|
||||||
*
|
*
|
||||||
* Contributors:
|
* Contributors:
|
||||||
* Michael Scharf (Wind River) - initial API and implementation
|
* Michael Scharf (Wind River) - initial API and implementation
|
||||||
|
* Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.eclipse.tm.terminal.model;
|
package org.eclipse.tm.terminal.model;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A writable matrix of characters and {@link Style}. This is intended to be
|
* A writable matrix of characters and {@link Style}. This is intended to be the
|
||||||
* the low level representation of the text of a Terminal. Higher layers are
|
* low level representation of the text of a Terminal. Higher layers are
|
||||||
* responsible to fill the text and styles into this representation.
|
* responsible to fill the text and styles into this representation.
|
||||||
* <p>
|
* <p>
|
||||||
* <b>Note: </b> Implementations of this interface has to be thread safe.
|
* <b>Note: </b> Implementations of this interface has to be thread safe.
|
||||||
* </p>
|
* </p>
|
||||||
|
*
|
||||||
* @noimplement This interface is not intended to be implemented by clients.
|
* @noimplement This interface is not intended to be implemented by clients.
|
||||||
|
* @noextend This interface is not intended to be extended by clients.
|
||||||
*/
|
*/
|
||||||
public interface ITerminalTextData extends ITerminalTextDataReadOnly {
|
public interface ITerminalTextData extends ITerminalTextDataReadOnly {
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* Copyright (c) 2007 Wind River Systems, Inc. and others.
|
* Copyright (c) 2007, 2009 Wind River Systems, Inc. and others.
|
||||||
* All rights reserved. This program and the accompanying materials
|
* All rights reserved. This program and the accompanying materials
|
||||||
* are made available under the terms of the Eclipse Public License v1.0
|
* are made available under the terms of the Eclipse Public License v1.0
|
||||||
* which accompanies this distribution, and is available at
|
* which accompanies this distribution, and is available at
|
||||||
|
@ -7,10 +7,14 @@
|
||||||
*
|
*
|
||||||
* Contributors:
|
* Contributors:
|
||||||
* Michael Scharf (Wind River) - initial API and implementation
|
* Michael Scharf (Wind River) - initial API and implementation
|
||||||
|
* Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.eclipse.tm.terminal.model;
|
package org.eclipse.tm.terminal.model;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @noimplement This interface is not intended to be implemented by clients.
|
||||||
|
* @noextend This interface is not intended to be extended by clients.
|
||||||
|
*/
|
||||||
public interface ITerminalTextDataReadOnly {
|
public interface ITerminalTextDataReadOnly {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* Copyright (c) 2007, 2008 Wind River Systems, Inc. and others.
|
* Copyright (c) 2007, 2009 Wind River Systems, Inc. and others.
|
||||||
* All rights reserved. This program and the accompanying materials
|
* All rights reserved. This program and the accompanying materials
|
||||||
* are made available under the terms of the Eclipse Public License v1.0
|
* are made available under the terms of the Eclipse Public License v1.0
|
||||||
* which accompanies this distribution, and is available at
|
* which accompanies this distribution, and is available at
|
||||||
|
@ -7,6 +7,7 @@
|
||||||
*
|
*
|
||||||
* Contributors:
|
* Contributors:
|
||||||
* Michael Scharf (Wind River) - initial API and implementation
|
* Michael Scharf (Wind River) - initial API and implementation
|
||||||
|
* Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.eclipse.tm.terminal.model;
|
package org.eclipse.tm.terminal.model;
|
||||||
|
|
||||||
|
@ -27,16 +28,16 @@ package org.eclipse.tm.terminal.model;
|
||||||
*
|
*
|
||||||
* This might fail because the background thread could change the dimensions of
|
* This might fail because the background thread could change the dimensions of
|
||||||
* the {@link ITerminalTextData} while you iterate the loop. One solution would
|
* the {@link ITerminalTextData} while you iterate the loop. One solution would
|
||||||
* be to put a <code>synchronized(term){}</code> statement around the code.
|
* be to put a <code>synchronized(term){}</code> statement around the code. This
|
||||||
* This has two problems: 1. you would have to know about the internals of the
|
* has two problems: 1. you would have to know about the internals of the
|
||||||
* synchronisation of {@link ITerminalTextData}. 2. The other thread that
|
* synchronisation of {@link ITerminalTextData}. 2. The other thread that
|
||||||
* changes {@link ITerminalTextData} is blocked while the potentially slow
|
* changes {@link ITerminalTextData} is blocked while the potentially slow
|
||||||
* drawing is done.
|
* drawing is done.
|
||||||
* <p>
|
* <p>
|
||||||
* <b>Solution:</b> Take a snapshot of the terminal and use the snapshot to
|
* <b>Solution:</b> Take a snapshot of the terminal and use the snapshot to draw
|
||||||
* draw the content. There is no danger that the data structure get changed
|
* the content. There is no danger that the data structure get changed while you
|
||||||
* while you draw. There are also methods to find out what has changed to
|
* draw. There are also methods to find out what has changed to minimize the
|
||||||
* minimize the number of lines that get redrawn.
|
* number of lines that get redrawn.
|
||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* <p>
|
* <p>
|
||||||
|
@ -54,11 +55,11 @@ package org.eclipse.tm.terminal.model;
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
* <p>
|
* <p>
|
||||||
* <b>Scroll optimization:</b> Often new lines are appended at the bottom of
|
* <b>Scroll optimization:</b> Often new lines are appended at the bottom of the
|
||||||
* the terminal and the rest of the lines are scrolled up. In this case all
|
* terminal and the rest of the lines are scrolled up. In this case all lines
|
||||||
* lines would be marked as changed. To optimize for this case,
|
* would be marked as changed. To optimize for this case,
|
||||||
* {@link #updateSnapshot(boolean)} can be called with <code>true</code> for
|
* {@link #updateSnapshot(boolean)} can be called with <code>true</code> for the
|
||||||
* the <code>detectScrolling</code> parameter. The object will keep track of
|
* <code>detectScrolling</code> parameter. The object will keep track of
|
||||||
* scrolling. The UI must <b>first</b> handle the scrolling and then use the
|
* scrolling. The UI must <b>first</b> handle the scrolling and then use the
|
||||||
* {@link #hasLineChanged(int)} method to determine scrolling:
|
* {@link #hasLineChanged(int)} method to determine scrolling:
|
||||||
*
|
*
|
||||||
|
@ -72,6 +73,7 @@ package org.eclipse.tm.terminal.model;
|
||||||
* for (int column = 0; column < snap.getWidth(); column++)
|
* for (int column = 0; column < snap.getWidth(); column++)
|
||||||
* drawCharacter(column, line, snap.getChar(column, line), snap.getStyle(column, line));
|
* drawCharacter(column, line, snap.getChar(column, line), snap.getStyle(column, line));
|
||||||
* </pre>
|
* </pre>
|
||||||
|
*
|
||||||
* </p>
|
* </p>
|
||||||
* <p>
|
* <p>
|
||||||
* <b>Threading Note</b>: This class is not thread safe! All methods have to be
|
* <b>Threading Note</b>: This class is not thread safe! All methods have to be
|
||||||
|
@ -80,6 +82,7 @@ package org.eclipse.tm.terminal.model;
|
||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @noimplement This interface is not intended to be implemented by clients.
|
* @noimplement This interface is not intended to be implemented by clients.
|
||||||
|
* @noextend This interface is not intended to be extended by clients.
|
||||||
*/
|
*/
|
||||||
public interface ITerminalTextDataSnapshot extends ITerminalTextDataReadOnly {
|
public interface ITerminalTextDataSnapshot extends ITerminalTextDataReadOnly {
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Add table
Reference in a new issue