IDocumentView Interface

com.bea.ide.document
IDocumentView Interface

public interface IDocumentView

    extends ICookieSupport, IDriverSupport, IPropertySupport

This interface defines the primary way that the DocumentSvc displays documents and document editors to the user. A document may define one or more views that allow the user to interact with the document in various ways. It is important to understand the relationship between document views and the document. There is only one document object for a given object, but there may be not only multiple IDocumentView objects, but multiple copies of the same IDocumentView object. The document is responsible for ownership of the actual contents of the object. The view is responsible for the user interface that reflects the documents contents. Changes made to the document, whether made internally through the IDocument or IDocumentElement objects or made by the user through the IDocumentView objects, should be visible in all IDocumentViews. The IDocumentView object is responsible only for storing the state of the user interface. The IDocumentView should create listeners either on the IDocumentElement tree, or on the ISourceModel to keep the user interface in sync with changes to the document. Similarly, changes that the user makes to the document should be performed through one of those mechanisms. The createView method of the IDocumentViewInfo is intended to create a new instance of the IDocumentView. Users of the IDE may choose to display two copies of the same IDocumentView (i.e. two source views in side-by-side windows). The state of these two views needs to be different, but the underlying IDocument object will be the same. As noted above, changes made in one view should be reflected in the other. However, each will have a different cursor location, scroll position, etc.... This requirement captures the essence of the IDocumentView. It is all state associated with the user interface for a document.


All Known Implementing Classes
DefaultDocumentView
All Superinterfaces
ICookieSupport, IDriverSupport, IPropertySupport
All Known Subinterfaces

IDesignView, ISourceView

Field Summary

public static final String
PROP_SelectedElement
This property indicates the currently selected element for the view.
public static final String
SOURCE_VIEW
Static string to represent the source view.
 

Method Summary

public IDocument
getDocument()
Get the underlying document object associated with this view.
public IElement
getDocumentElement(IElement el)
Given an IElement from this view, map it to an appropriate IElement from the element tree of a document.
public INavigationPoint
getNavigationPoint()
Gets a navigation point indicating the current position in the view.
public void
onActivate(Container c)
Called to indicate to this view that it should activate itself and display itself to the user.
public void
onClose()
Called to indicate to the view that the user is no longer interested in this view so it should go away.
public void
onDeactivate()
Called to indicate to the view that it should hide itself from the users view.
public boolean
requestViewFocus()
Set this view to have the focus
public boolean
setCurrentPoint(INavigationPoint np)
This method updates the document view so that its state matches the state specified by the navigation point.
 
Methods from interface com.bea.ide.core.ICookieSupport
addCookie, getCookie, removeCookie
 
Methods from interface com.bea.ide.core.IDriverSupport
getDriver
 
Methods from interface com.bea.ide.core.IPropertySupport
addPropertyChangeListener, addPropertyChangeListener, getProperty, removePropertyChangeListener, removePropertyChangeListener, setProperty
   

Field Detail

PROP_SelectedElement

public static final String PROP_SelectedElement
This property indicates the currently selected element for the view.


SOURCE_VIEW

public static final String SOURCE_VIEW
Static string to represent the source view. Sinc switching to source view is a common operation, this string should be used by all IDocumentView implementors to name their source view. It can then be used in DocumentSvc.I.displayDocument(IDocument, String) to display the source view for a particular document.

 

Method Detail

getDocument() Method

public IDocument getDocument()
Get the underlying document object associated with this view.

Returns

Document object over which this view is running

getDocumentElement(IElement) Method

public IElement getDocumentElement(IElement el)
Given an IElement from this view, map it to an appropriate IElement from the element tree of a document. If it is already an element from a document, the element may simply be returned. If this element has no corresponding element in the document tree, the implementation may return null. The returned element is not required to be from the document this view was created from. It may be from any document that is represented in the view. This method is used to provide a mapping for views that use some other type of element as their PROP_SelectedElement property.

Returns

An IElement in the document's tree that the given element represents; null if there is no such element

getNavigationPoint() Method

public INavigationPoint getNavigationPoint()
Gets a navigation point indicating the current position in the view.


onActivate(Container) Method

public void onActivate(Container c)
Called to indicate to this view that it should activate itself and display itself to the user.

Parameters

c
Container in which the view should place itself to be shown

onClose() Method

public void onClose()
Called to indicate to the view that the user is no longer interested in this view so it should go away. The view will never be called again. In addition, it is guaranteed that IDocumentView.onDeactivate() will always be called before this method.


onDeactivate() Method

public void onDeactivate()
Called to indicate to the view that it should hide itself from the users view. This is distinct from onClose in that it may be a temporary change.


requestViewFocus() Method

public boolean requestViewFocus()
Set this view to have the focus


setCurrentPoint(INavigationPoint) Method

public boolean setCurrentPoint(INavigationPoint np)
This method updates the document view so that its state matches the state specified by the navigation point. The document view should be in the active state (that is, its onActivate() method must have been called more recently than its onDeactivate() method).

Returns

true if the document view was successfully updated to be consistent with this navigation point; false otherwise