![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /usr/share/GNUstep/Documentation/Developer/Gui/Reference/ |
Upload File : |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>NSTextContainer</title> </head> <body> <font face="serif"> <a href="Gui.html">Up</a> <br /> <h1><a name="title$NSTextContainer">NSTextContainer</a></h1> <h3>Authors</h3> <dl> <dt>Alexander Malmberg (<a href="mailto:alexander@malmberg.org"><code>alexander@malmberg.org</code></a>)</dt> <dd> </dd> <dt>Jonathan Gapen (<a href="mailto:jagapen@smithlab.chem.wisc.edu"><code>jagapen@smithlab.chem.wisc.edu</code></a>)</dt> <dd> </dd> </dl> <p><b>Copyright:</b> (C) 1999 Free Software Foundation, Inc.</p> <div> </div> <h1><a name="001000000000"> Software documentation for the NSTextContainer class </a></h1> <h2><a name="class$NSTextContainer">NSTextContainer</a> : <a rel="gsdoc" href="/usr/share/GNUstep/Documentation/Developer/Base/Reference/NSObject.html#class$NSObject">NSObject</a></h2> <blockquote class="declared"> <dl> <dt><b>Declared in:</b></dt> <dd>AppKit/NSTextContainer.h</dd> </dl> </blockquote> <div class="availability"> <b>Availability:</b> Gui 10.0.0<br /> </div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="50%" align="left" /> <a href="#_NSTextContainer_ivars">Instance Variables</a> <br/><br/> <b>Method summary</b> <ul> <li><a rel="gsdoc" href="NSTextContainer.html#method$NSTextContainer-containerSize">-containerSize</a></li> <li><a rel="gsdoc" href="NSTextContainer.html#method$NSTextContainer-containsPoint$">-containsPoint:</a></li> <li><a rel="gsdoc" href="NSTextContainer.html#method$NSTextContainer-heightTracksTextView">-heightTracksTextView</a></li> <li><a rel="gsdoc" href="NSTextContainer.html#method$NSTextContainer-initWithContainerSize$">-initWithContainerSize:</a></li> <li><a rel="gsdoc" href="NSTextContainer.html#method$NSTextContainer-isSimpleRectangularTextContainer">-isSimpleRectangularTextContainer</a></li> <li><a rel="gsdoc" href="NSTextContainer.html#method$NSTextContainer-layoutManager">-layoutManager</a></li> <li><a rel="gsdoc" href="NSTextContainer.html#method$NSTextContainer-lineFragmentPadding">-lineFragmentPadding</a></li> <li><a rel="gsdoc" href="NSTextContainer.html#method$NSTextContainer-lineFragmentRectForProposedRect$sweepDirection$movementDirection$remainingRect$">-lineFragmentRectForProposedRect:sweepDirection:movementDirection:remainingRect:</a></li> <li><a rel="gsdoc" href="NSTextContainer.html#method$NSTextContainer-replaceLayoutManager$">-replaceLayoutManager:</a></li> <li><a rel="gsdoc" href="NSTextContainer.html#method$NSTextContainer-setContainerSize$">-setContainerSize:</a></li> <li><a rel="gsdoc" href="NSTextContainer.html#method$NSTextContainer-setHeightTracksTextView$">-setHeightTracksTextView:</a></li> <li><a rel="gsdoc" href="NSTextContainer.html#method$NSTextContainer-setLayoutManager$">-setLayoutManager:</a></li> <li><a rel="gsdoc" href="NSTextContainer.html#method$NSTextContainer-setLineFragmentPadding$">-setLineFragmentPadding:</a></li> <li><a rel="gsdoc" href="NSTextContainer.html#method$NSTextContainer-setTextView$">-setTextView:</a></li> <li><a rel="gsdoc" href="NSTextContainer.html#method$NSTextContainer-setWidthTracksTextView$">-setWidthTracksTextView:</a></li> <li><a rel="gsdoc" href="NSTextContainer.html#method$NSTextContainer-textView">-textView</a></li> <li><a rel="gsdoc" href="NSTextContainer.html#method$NSTextContainer-widthTracksTextView">-widthTracksTextView</a></li> </ul> <hr width="50%" align="left" /> <div class="method"> <h3><a name="method$NSTextContainer-containerSize">containerSize </a></h3> - (<a rel="gsdoc" href="/usr/share/GNUstep/Documentation/Developer/Base/Reference/TypesAndConstants.html#type$NSSize">NSSize</a>) <b>containerSize</b>;<br /> <div class="availability"> <b>Availability:</b> Gui 10.0.0<br /> </div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> </div> <div class="method"> <h3><a name="method$NSTextContainer-containsPoint$">containsPoint: </a></h3> - (BOOL) <b>containsPoint:</b> (<a rel="gsdoc" href="/usr/share/GNUstep/Documentation/Developer/Base/Reference/TypesAndConstants.html#type$NSPoint">NSPoint</a>)aPoint;<br /> <div class="availability"> <b>Availability:</b> Gui 10.0.0<br /> </div> <br /> <div class="desc"> Returns <code>YES</code> if <var>aPoint</var> is inside the region. Subclasses define regions by overriding this method. </div> <hr width="25%" align="left" /> </div> <div class="method"> <h3><a name="method$NSTextContainer-heightTracksTextView">heightTracksTextView </a></h3> - (BOOL) <b>heightTracksTextView</b>;<br /> <div class="availability"> <b>Availability:</b> Gui 10.0.0<br /> </div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> </div> <div class="method"> <h3><a name="method$NSTextContainer-initWithContainerSize$">initWithContainerSize: </a></h3> - (id) <b>initWithContainerSize:</b> (<a rel="gsdoc" href="/usr/share/GNUstep/Documentation/Developer/Base/Reference/TypesAndConstants.html#type$NSSize">NSSize</a>)aSize;<br /> <div class="availability"> <b>Availability:</b> Gui 10.0.0<br /> </div> <br /> <div class="desc"> Initializes a new instance and sets the container size to <var>aSize</var>. </div> <hr width="25%" align="left" /> </div> <div class="method"> <h3><a name="method$NSTextContainer-isSimpleRectangularTextContainer">isSimpleRectangularTextContainer </a></h3> - (BOOL) <b>isSimpleRectangularTextContainer</b>;<br /> <div class="availability"> <b>Availability:</b> Gui 10.0.0<br /> </div> <br /> <div class="desc"> Querying the region <br /> Returns <code>YES</code> if the region for this container is a rectangle as large as the container size, otherwise <code>NO</code>. For simple rectangular regions, the text system can apply certain optimizations. NSTextContainer always returns <code>YES</code>. Subclasses that define more complex regions must return <code>NO</code>. </div> <hr width="25%" align="left" /> </div> <div class="method"> <h3><a name="method$NSTextContainer-layoutManager">layoutManager </a></h3> - (GSLayoutManager*) <b>layoutManager</b>;<br /> <div class="availability"> <b>Availability:</b> Gui 10.0.0<br /> </div> <br /> <div class="desc"> Returns the layout manager of this text container. </div> <hr width="25%" align="left" /> </div> <div class="method"> <h3><a name="method$NSTextContainer-lineFragmentPadding">lineFragmentPadding </a></h3> - (<a rel="gsdoc" href="/usr/share/GNUstep/Documentation/Developer/Base/Reference/TypesAndConstants.html#type$CGFloat">CGFloat</a>) <b>lineFragmentPadding</b>;<br /> <div class="availability"> <b>Availability:</b> Gui 10.0.0<br /> </div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> </div> <div class="method"> <h3><a name="method$NSTextContainer-lineFragmentRectForProposedRect$sweepDirection$movementDirection$remainingRect$">lineFragmentRectForProposedRect: sweepDirection: movementDirection: remainingRect: </a></h3> - (<a rel="gsdoc" href="/usr/share/GNUstep/Documentation/Developer/Base/Reference/TypesAndConstants.html#type$NSRect">NSRect</a>) <b>lineFragmentRectForProposedRect:</b> (<a rel="gsdoc" href="/usr/share/GNUstep/Documentation/Developer/Base/Reference/TypesAndConstants.html#type$NSRect">NSRect</a>)proposedRect<b> sweepDirection:</b> (<a rel="gsdoc" href="TypesAndConstants.html#type$NSLineSweepDirection">NSLineSweepDirection</a>)sweepDir<b> movementDirection:</b> (<a rel="gsdoc" href="TypesAndConstants.html#type$NSLineMovementDirection">NSLineMovementDirection</a>)moveDir<b> remainingRect:</b> (<a rel="gsdoc" href="/usr/share/GNUstep/Documentation/Developer/Base/Reference/TypesAndConstants.html#type$NSRect">NSRect</a>*)remainingRect;<br /> <div class="availability"> <b>Availability:</b> Gui 10.0.0<br /> </div> <br /> <div class="desc"> This is the main method used by the text system for querying the region and flowing text in it. It takes a proposed line fragment rectangle and, if possible, splits it into a valid line fragment rectangle, and a remaining rectangle that can be used in subsequent calls to this method. <var>sweepDir</var> is the direction that text moves inside the lines, and <var>moveDir</var> is the direction lines move in, or NSLineDoesntMove if the line may not move. The line sweep and line movement may not both be in the same dimension, ie. both be vertical, or both be horizontal. The method returns the first (according to the sweep direction) valid line fragment rectangle in the proposed rectangle. This line fragment rectangle is a sub-rectangle of the proposed rectangle in the sweep direction, and has the same size in the other direction. (Ie. if the sweep direction is left, the line fragment rectangle must have the same height as the proposed rectangle.) If there is no valid line fragment rectangle in the proposed rectangle, the proposed rectangle may be moved in the line movement direction until there is one. If no valid line fragment rectangle can be returned, the method returns NSZeroRect. The remaining rectangle should be set to the potentially valid part of the proposed rectangle, after moving in the line movement direction, that remains after the first line fragment rectangle. The proposed rectangle may be any rectangle; in particular, it may extend outside the container size. The remaining rectangle does not have to be or contain a valid line fragment rectangle. Subclasses define regions by overriding this method. Note: The TextContainerExample in the text system example collection (TODO: link) contains an example implementation of an NSTextContainer subclass that defiens a non-trivial region, as well as an interactive demonstration of this method. It can also be used as a simple test of custom subclasses. Note: Although a correct NSTextContainer implementation must handle all line sweep and movement directions, the current standard typesetter will only call this method with sweep right, and no movement or movement down. Relying on this makes writing a subclass easier, but it is <em>not</em> safe. </div> <hr width="25%" align="left" /> </div> <div class="method"> <h3><a name="method$NSTextContainer-replaceLayoutManager$">replaceLayoutManager: </a></h3> - (void) <b>replaceLayoutManager:</b> (GSLayoutManager*)aLayoutManager;<br /> <div class="availability"> <b>Availability:</b> Gui 10.0.0<br /> </div> <br /> <div class="desc"> Managing the text network <br /> A text container may be attached to one layout manager and one text view. The text container is retained by the layout manager, and retains the text view. <br /> Replaces the layout manager of this text container with <var>aLayoutManager</var>. This is done without changing the rest of the text network, so <var>aLayoutManager</var> will be connected to the text storage and text containers that the current layout manager is connected to. </div> <hr width="25%" align="left" /> </div> <div class="method"> <h3><a name="method$NSTextContainer-setContainerSize$">setContainerSize: </a></h3> - (void) <b>setContainerSize:</b> (<a rel="gsdoc" href="/usr/share/GNUstep/Documentation/Developer/Base/Reference/TypesAndConstants.html#type$NSSize">NSSize</a>)aSize;<br /> <div class="availability"> <b>Availability:</b> Gui 10.0.0<br /> </div> <br /> <div class="desc"> The container size <br /> A text container has a container size. The region defined by the text container must be a subset of the rectangle of this size with it's top-left corner in the origin. Subclasses do not have to support arbitrary sizes, and may choose to ignore <a rel="gsdoc" href="#method$NSTextContainer-setContainerSize$"> -setContainerSize: </a> completely. However, the size returned by <a rel="gsdoc" href="#method$NSTextContainer-containerSize"> -containerSize </a> must be valid. </div> <hr width="25%" align="left" /> </div> <div class="method"> <h3><a name="method$NSTextContainer-setHeightTracksTextView$">setHeightTracksTextView: </a></h3> - (void) <b>setHeightTracksTextView:</b> (BOOL)flag;<br /> <div class="availability"> <b>Availability:</b> Gui 10.0.0<br /> </div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> </div> <div class="method"> <h3><a name="method$NSTextContainer-setLayoutManager$">setLayoutManager: </a></h3> - (void) <b>setLayoutManager:</b> (GSLayoutManager*)aLayoutManager;<br /> <div class="availability"> <b>Availability:</b> Gui 10.0.0<br /> </div> <br /> <div class="desc"> This method should not be called directly. It is called by the layout manager when the layout manager of a text container changes. </div> <hr width="25%" align="left" /> </div> <div class="method"> <h3><a name="method$NSTextContainer-setLineFragmentPadding$">setLineFragmentPadding: </a></h3> - (void) <b>setLineFragmentPadding:</b> (<a rel="gsdoc" href="/usr/share/GNUstep/Documentation/Developer/Base/Reference/TypesAndConstants.html#type$CGFloat">CGFloat</a>)aFloat;<br /> <div class="availability"> <b>Availability:</b> Gui 10.0.0<br /> </div> <br /> <div class="desc"> Line fragment padding <br /> The line fragment padding is an amount of space left empty at each end of a line fragment rectangle by the standard typesetter. The default is 0.0. </div> <hr width="25%" align="left" /> </div> <div class="method"> <h3><a name="method$NSTextContainer-setTextView$">setTextView: </a></h3> - (void) <b>setTextView:</b> (<a rel="gsdoc" href="NSTextView.html#class$NSTextView">NSTextView</a>*)aTextView;<br /> <div class="availability"> <b>Availability:</b> Gui 10.0.0<br /> </div> <br /> <div class="desc"> Sets the NSTextView for this text container. Note that a text view should be attached to a text container only if the text container is attached to a layout manager that can handle text views (eg. NSLayoutManager). The text view is retained by the text container. </div> <hr width="25%" align="left" /> </div> <div class="method"> <h3><a name="method$NSTextContainer-setWidthTracksTextView$">setWidthTracksTextView: </a></h3> - (void) <b>setWidthTracksTextView:</b> (BOOL)flag;<br /> <div class="availability"> <b>Availability:</b> Gui 10.0.0<br /> </div> <br /> <div class="desc"> Automatic resizing <br /> A text container can be set to automatically track the width and/or height of its NSTextView (TODO: frame? bounds?). For more information, see the documentation on automatic resizing in NSTextView. (TODO: link) When enabled, the automatic resizing is done by calling <a rel="gsdoc" href="#method$NSTextContainer-setContainerSize$">[NSTextContainer -setContainerSize:]</a> with the new size whenever the text view is resized. </div> <hr width="25%" align="left" /> </div> <div class="method"> <h3><a name="method$NSTextContainer-textView">textView </a></h3> - (<a rel="gsdoc" href="NSTextView.html#class$NSTextView">NSTextView</a>*) <b>textView</b>;<br /> <div class="availability"> <b>Availability:</b> Gui 10.0.0<br /> </div> <br /> <div class="desc"> Returns the NSTextView attached to this text container, or <code>nil</code> if there is none. </div> <hr width="25%" align="left" /> </div> <div class="method"> <h3><a name="method$NSTextContainer-widthTracksTextView">widthTracksTextView </a></h3> - (BOOL) <b>widthTracksTextView</b>;<br /> <div class="availability"> <b>Availability:</b> Gui 10.0.0<br /> </div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> </div> <a name="_NSTextContainer_ivars"/> <br/><hr width="50%" align="left" /> <h2>Instance Variables for NSTextContainer Class</h2> <h3><a name="ivariable$NSTextContainer*_containerRect">_containerRect</a></h3> @protected NSRect <b>_containerRect</b>;<br /> <div class="availability"> <b>Availability:</b> Gui 10.0.0<br /> </div> <br /> <div class="desc"> <em>Warning</em> the underscore at the start of the name of this instance variable indicates that, even though it is not technically <em>private</em>, it is intended for internal use within the package, and you should not use the variable in other code. </div> <hr width="25%" align="left" /> <h3><a name="ivariable$NSTextContainer*_heightTracksTextView">_heightTracksTextView</a></h3> @protected BOOL <b>_heightTracksTextView</b>;<br /> <div class="availability"> <b>Availability:</b> Gui 10.0.0<br /> </div> <br /> <div class="desc"> <em>Warning</em> the underscore at the start of the name of this instance variable indicates that, even though it is not technically <em>private</em>, it is intended for internal use within the package, and you should not use the variable in other code. </div> <hr width="25%" align="left" /> <h3><a name="ivariable$NSTextContainer*_layoutManager">_layoutManager</a></h3> @protected id <b>_layoutManager</b>;<br /> <div class="availability"> <b>Availability:</b> Gui 10.0.0<br /> </div> <br /> <div class="desc"> <em>Warning</em> the underscore at the start of the name of this instance variable indicates that, even though it is not technically <em>private</em>, it is intended for internal use within the package, and you should not use the variable in other code. </div> <hr width="25%" align="left" /> <h3><a name="ivariable$NSTextContainer*_lineFragmentPadding">_lineFragmentPadding</a></h3> @protected CGFloat <b>_lineFragmentPadding</b>;<br /> <div class="availability"> <b>Availability:</b> Gui 10.0.0<br /> </div> <br /> <div class="desc"> <em>Warning</em> the underscore at the start of the name of this instance variable indicates that, even though it is not technically <em>private</em>, it is intended for internal use within the package, and you should not use the variable in other code. </div> <hr width="25%" align="left" /> <h3><a name="ivariable$NSTextContainer*_observingFrameChanges">_observingFrameChanges</a></h3> @protected BOOL <b>_observingFrameChanges</b>;<br /> <div class="availability"> <b>Availability:</b> Gui 10.0.0<br /> </div> <br /> <div class="desc"> <em>Warning</em> the underscore at the start of the name of this instance variable indicates that, even though it is not technically <em>private</em>, it is intended for internal use within the package, and you should not use the variable in other code. </div> <hr width="25%" align="left" /> <h3><a name="ivariable$NSTextContainer*_textView">_textView</a></h3> @protected id <b>_textView</b>;<br /> <div class="availability"> <b>Availability:</b> Gui 10.0.0<br /> </div> <br /> <div class="desc"> <em>Warning</em> the underscore at the start of the name of this instance variable indicates that, even though it is not technically <em>private</em>, it is intended for internal use within the package, and you should not use the variable in other code. </div> <hr width="25%" align="left" /> <h3><a name="ivariable$NSTextContainer*_widthTracksTextView">_widthTracksTextView</a></h3> @protected BOOL <b>_widthTracksTextView</b>;<br /> <div class="availability"> <b>Availability:</b> Gui 10.0.0<br /> </div> <br /> <div class="desc"> <em>Warning</em> the underscore at the start of the name of this instance variable indicates that, even though it is not technically <em>private</em>, it is intended for internal use within the package, and you should not use the variable in other code. </div> <hr width="25%" align="left" /> <br/><hr width="50%" align="left" /><br/> <br /> <a href="Gui.html">Up</a> </font> </body> </html>