Spec-Zone .ru
спецификации, руководства, описания, API
Spec-Zone .ru
спецификации, руководства, описания, API
Библиотека разработчика Mac Разработчик
Поиск

 

Эта страница руководства для  версии 10.9 Mac OS X

Если Вы выполняете различную версию  Mac OS X, просматриваете документацию локально:

Читать страницы руководства

Страницы руководства предназначаются как справочник для людей, уже понимающих технологию.

  • Чтобы изучить, как руководство организовано или узнать о синтаксисе команды, прочитайте страницу руководства для страниц справочника (5).

  • Для получения дополнительной информации об этой технологии, ищите другую документацию в Библиотеке Разработчика Apple.

  • Для получения общей информации о записи сценариев оболочки, считайте Shell, Пишущий сценарий Учебника для начинающих.



ntextIndent(n)                      ntext Indentation for the Text Widget                     ntextIndent(n)



____________________________________________________________________________________________________________

NAME
       ntextIndent - ntext Indentation for the Text Widget

SYNOPSIS
       package require Tcl  8.5

       package require Tk  8.5

       package require ntext  ?0.81?

____________________________________________________________________________________________________________

DESCRIPTION
       The  ntext package provides a binding tag named Ntext for use by text widgets in place of the default
       Text binding tag.

       Tk's text widget may be configured to wrap lines of text that are longer than the width of  the  text
       area,  a  feature  that  is  familiar from text editors and word processors.  A complete line of text
       (delimited by newlines, or by the beginning or end of the document) is called a "logical line".  When
       a logical line is wrapped onto more than one line of the display area, these fragments of the logical
       line are called "display lines".

       If a logical line begins with whitespace, then wrapped display lines begin further to the  left  than
       the first display line, which can make the text layout untidy and difficult to read.  The Ntext bind-ing binding
       ing tag provides facilities so that a text widget in -wrap word mode will automatically  indent  dis-play display
       play lines (other than the first) to match the initial whitespace of the first display line.

       This indentation is available to text widgets only in -wrap word mode.

CONFIGURATION OPTIONS
       The  behavior of Ntext may be configured application-wide by setting the values of a number of names-pace namespace
       pace variables:

       ::ntext::classicWrap

             0 - selects Ntext behaviour, i.e. display lines are indented to match the  initial  whitespace
              of the first display line of a logical line.

              No other action is required if this option, and the text widget's -wrap option, are set before
              any text is entered in the widget, and if text is entered and edited only  by  the  mouse  and
              keyboard.   If,  instead,  text  is  manipulated  by the script, or if the text widget's -wrap
              option or the value of ::ntext::classicWrap are changed while  the  widget  holds  text,  then
              calls  to ntext functions are needed to alter the indentation.  See the section INDENTING DIS-PLAY DISPLAY
              PLAY LINES for detailed instructions.

             1 - (default value) selects classic Text behaviour, i.e. no indentation.

       Advanced Use

       ::ntext::newWrapRegexp

             the value is a regexp pattern that determines the character of a logical line to which display
              lines  other  than the first will be aligned.  The default value, [^[:space:]], ensures align-ment alignment
              ment with the first non-whitespace character.


INDENTING DISPLAY LINES
       To use Ntext 's display line indentation:

       [1]    Set the variable ::ntext::classicWrap to 0 (default value is 1).  This enables  bindings  that
              will  preserve  indentation  whenever the user modifies the widget contents using the keyboard
              and mouse.  If the widget already holds text, call ::ntext::wrapIndent to initialise  indenta-tion. indentation.
              tion.

              Further  instructions  apply if the program changes the widget's contents, wrap configuration,
              or indent configuration.

       [2]    The program can change the text contents, e.g. by the .text insert  command.   Such  a  change
              does   not  trigger  a  window  binding,  so  the  program  should  explicitly  call  function
              ::ntext::wrapIndent after inserting text.

       [3]    Auto-indentation occurs only if the widget is in -wrap word mode.  If the program  changes  to
              or  from -wrap word when the widget is not empty, it should call ::ntext::wrapIndent to format
              the widget's text.

       [4]    If indentation is used, and then switched off by  setting  ::ntext::classicWrap  to  1,   call
              ::ntext::wrapIndent to remove indentation.


FUNCTIONS
       ::ntext::wrapIndent textWidget ?index1? ?index2?

             Adjust the indentation of a text widget.  Different cases are discussed below.

       ::ntext::wrapIndent textWidget

             Adjust the indentation of all the text in text widget textWidget.

       ::ntext::wrapIndent textWidget index1

             Adjust the indentation of a single logical line of a text widget - the line of textWidget that
              contains the index index1.

       ::ntext::wrapIndent textWidget index1 index2

             Adjust the indentation of a range of logical lines of a text widget - the lines of  textWidget
              that contain indices index1 to index2.

       Usage

             ::ntext::wrapIndent  should be called only if the script changes the widget's contents or dis-play display
              play properties.  If the contents of the widget have been modified by the keyboard  or  mouse,
              it  is  not necessary for the script to call ::ntext::wrapIndent because the appropriate calls
              are made automatically by the Ntext bindings.

             The script should normally call ::ntext::wrapIndent if, for example, the script changes one of
              the following when the widget is not empty: the value of ::ntext::classicWrap, or the widget's
              -wrap status, or the widget's tab spacing, or the font size, or the widget's contents.

             A call of the form ::ntext::wrapIndent textWidget will always  suffice,  but  if  changes  are
              needed  only  to  certain lines, it is more efficient to specify those lines with the optional
              arguments ?index1?, ?index2?.

             If the widget is in -word wrap mode, and if ::ntext::classicWrap is set to 0, ::ntext::wrapIn-dent ::ntext::wrapIndent
              dent  will apply indentation to the logical lines within the range specified by the function's
              arguments.

             In other cases, i.e. if the widget is in -word char or -word none mode, or  if  ::ntext::clas-sicWrap ::ntext::classicWrap
              sicWrap  is  set  to  1,  ::ntext::wrapIndent will remove the indentation of the logical lines
              within the range specified by the function's arguments.


EXAMPLES
       To switch on Ntext 's indentation and use it in widget .t:

       package require ntext
       set ::ntext::classicWrap 0
       text .t -wrap word
       bindtags .t {.t Ntext . all}

       To decide later to switch off Ntext 's indentation:

       set ::ntext::classicWrap 1
       ::ntext::wrapIndent .t

       To decide later to switch Ntext 's indentation back on:

       set ::ntext::classicWrap 0
       ::ntext::wrapIndent .t 1.0 end

       To inject some text into the widget:

       set foo [.t index end]
       ::ntext::wrapIndent .t $foo end

       To switch to -wrap char mode:

       ::ntext::wrapIndent .t


SEE ALSO
       bindtags, ntext, re_syntax, regexp, text

KEYWORDS
       bindtags, re_syntax, regexp, text



ntext                                               0.81                                      ntextIndent(n)

Сообщение о проблемах

Способ сообщить о проблеме с этой страницей руководства зависит от типа проблемы:

Ошибки содержания
Ошибки отчета в содержании этой документации со ссылками на отзыв ниже.
Отчеты об ошибках
Сообщите об ошибках в функциональности описанного инструмента или API через Генератор отчетов Ошибки.
Форматирование проблем
Отчет, форматирующий ошибки в интерактивной версии этих страниц со ссылками на отзыв ниже.