declare namespace javax { namespace swing { namespace text { /** * Component decorator that implements the view interface. The * entire element is used to represent the component. This acts * as a gateway from the display-only View implementations to * interactive lightweight components (ie it allows components * to be embedded into the View hierarchy). *

* The component is placed relative to the text baseline * according to the value returned by * Component.getAlignmentY. For Swing components * this value can be conveniently set using the method * JComponent.setAlignmentY. For example, setting * a value of 0.75 will cause 75 percent of the * component to be above the baseline, and 25 percent of the * component to be below the baseline. *

* This class is implemented to do the extra work necessary to * work properly in the presence of multiple threads (i.e. from * asynchronous notification of model changes for example) by * ensuring that all component access is done on the event thread. *

* The component used is determined by the return value of the * createComponent method. The default implementation of this * method is to return the component held as an attribute of * the element (by calling StyleConstants.getComponent). A * limitation of this behavior is that the component cannot * be used by more than one text component (i.e. with a shared * model). Subclasses can remove this constraint by implementing * the createComponent to actually create a component based upon * some kind of specification contained in the attributes. The * ObjectView class in the html package is an example of a * ComponentView implementation that supports multiple component * views of a shared model. * @author Timothy Prinzing */ // @ts-ignore class ComponentView extends javax.swing.text.View { /** * Creates a new ComponentView object. * @param elem the element to decorate */ // @ts-ignore constructor(elem: javax.swing.text.Element) /** * Create the component that is associated with * this view. This will be called when it has * been determined that a new component is needed. * This would result from a call to setParent or * as a result of being notified that attributes * have changed. */ // @ts-ignore createComponent(): java.awt.Component /** * Fetch the component associated with the view. */ // @ts-ignore public getComponent(): java.awt.Component /** * The real paint behavior occurs naturally from the association * that the component has with its parent container (the same * container hosting this view). This is implemented to do nothing. * @param g the graphics context * @param a the shape * @see View#paint */ // @ts-ignore public paint(g: java.awt.Graphics, a: java.awt.Shape): void /** * Determines the preferred span for this view along an * axis. This is implemented to return the value * returned by Component.getPreferredSize along the * axis of interest. * @param axis may be either View.X_AXIS or View.Y_AXIS * @return the span the view would like to be rendered into >=0. * Typically the view is told to render into the span * that is returned, although there is no guarantee. * The parent may choose to resize or break the view. * @exception IllegalArgumentException for an invalid axis */ // @ts-ignore public getPreferredSpan(axis: number /*int*/): number /*float*/ /** * Determines the minimum span for this view along an * axis. This is implemented to return the value * returned by Component.getMinimumSize along the * axis of interest. * @param axis may be either View.X_AXIS or View.Y_AXIS * @return the span the view would like to be rendered into >=0. * Typically the view is told to render into the span * that is returned, although there is no guarantee. * The parent may choose to resize or break the view. * @exception IllegalArgumentException for an invalid axis */ // @ts-ignore public getMinimumSpan(axis: number /*int*/): number /*float*/ /** * Determines the maximum span for this view along an * axis. This is implemented to return the value * returned by Component.getMaximumSize along the * axis of interest. * @param axis may be either View.X_AXIS or View.Y_AXIS * @return the span the view would like to be rendered into >=0. * Typically the view is told to render into the span * that is returned, although there is no guarantee. * The parent may choose to resize or break the view. * @exception IllegalArgumentException for an invalid axis */ // @ts-ignore public getMaximumSpan(axis: number /*int*/): number /*float*/ /** * Determines the desired alignment for this view along an * axis. This is implemented to give the alignment of the * embedded component. * @param axis may be either View.X_AXIS or View.Y_AXIS * @return the desired alignment. This should be a value * between 0.0 and 1.0 where 0 indicates alignment at the * origin and 1.0 indicates alignment to the full span * away from the origin. An alignment of 0.5 would be the * center of the view. */ // @ts-ignore public getAlignment(axis: number /*int*/): number /*float*/ /** * Sets the parent for a child view. * The parent calls this on the child to tell it who its * parent is, giving the view access to things like * the hosting Container. The superclass behavior is * executed, followed by a call to createComponent if * the parent view parameter is non-null and a component * has not yet been created. The embedded components parent * is then set to the value returned by getContainer. * If the parent view parameter is null, this view is being * cleaned up, thus the component is removed from its parent. *

* The changing of the component hierarchy will * touch the component lock, which is the one thing * that is not safe from the View hierarchy. Therefore, * this functionality is executed immediately if on the * event thread, or is queued on the event queue if * called from another thread (notification of change * from an asynchronous update). * @param p the parent */ // @ts-ignore public setParent(p: javax.swing.text.View): void /** * Provides a mapping from the coordinate space of the model to * that of the view. * @param pos the position to convert >=0 * @param a the allocated region to render into * @return the bounding box of the given position is returned * @exception BadLocationException if the given position does not * represent a valid location in the associated document * @see View#modelToView */ // @ts-ignore public modelToView(pos: number /*int*/, a: java.awt.Shape, b: javax.swing.text.Position.Bias): java.awt.Shape /** * Provides a mapping from the view coordinate space to the logical * coordinate space of the model. * @param x the X coordinate >=0 * @param y the Y coordinate >=0 * @param a the allocated region to render into * @return the location within the model that best represents * the given point in the view * @see View#viewToModel */ // @ts-ignore public viewToModel(x: number /*float*/, y: number /*float*/, a: java.awt.Shape, bias: javax.swing.text.Position.Bias[]): number /*int*/ } } } }