# place

Геометрический менеджер, обеспечивающий размещение виджетов в абсолютных или относительных координатах.

## СИНТАКСИС

          place window option value ?option value ...?
          place configure window option value ?option value ...?
          place forget window
          place info window
          place slaves window

## ОПИСАНИЕ

Геометрический менеджер place позволяет размещать виджеты в их мастер-окнах, используя прямые указания о размерах и размещении виджета. Кроме того, с его помощью можно добиваться режима "резинового листа", указывая размеры и размещение виджета в долях размера мастер-окна. При этом виджеты изменяют свои размеры при изменении размеров мастер окна. И, наконец, менеджер place позволяет сочетать оба этих метода, размещая, например, виджет определенного размера в центре мастер-окна.

Команда place используется для управления соответствующим геометрическим менеджером и для получения от него справочной информации. Команда может иметь перечисленные ниже формы.

place window option value ?option value ...
  Если первый аргумент команды является именем окна (любая величина, начинающаяся с "."), команда выполняется точно так же, как команда place configure.
place configure window option value ?option value ...

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

  Ниже перечислены возможные опции.

  -in master
    Аргумент master определяет полное имя виджета (мастер-окна), относительно которого будет размещаться виджет window. Мастер-окно должно быть непосредственным предком виджета, или потомком этого предка. При этом они оба должны быть потомками одного и того же toplevel-окна. Эти ограничения необходимы, чтобы гарантировать, что виджет будет виден, когда видно мастер-окно. По умолчанию виджет размещается в своем непосредственном предке.
  -x location

    Аргумент location определяет x-координату в мастер-окне для якорной точки виджета. Координата указывается на экране в одной из следующих форм:

    - в пикселях (число),
    - в сантиметрах (число с буквой c на конце),
    - в миллиметрах (число с буквой m на конце),
    - в дюймах (число с буквой i на конце)
    - в точках (число с буквой pна конце, точка равна 1/72 дюйма).

    Якорная точка не обязана находиться внутри мастер-окна.

  -relx location
    Аргумент location определяет x-координату в мастер окне для якорной точки виджета. Координата указывается на экране в виде десятичного числа в долях соответствующего размера мастер-окна. Так "0.0" соответствует левому краю мастер окна, "1.0" правому краю. Если указаны обе опции, -x и -relx, то соответствующие величины складываются. Например, -relx 0.5 -x -2 помещает якорную точку на два пикселя левее центра мастер-окна.
  -y location

    Аргумент location определяет y-координату в мастер-окне для якорной точки виджета. Координата указывается на экране в одной из следующих форм:

    - в пикселях (число),
    - в сантиметрах (число с буквой c на конце),
    - в миллиметрах (число с буквой m на конце),
    - в дюймах (число с буквой i на конце),
    - в точках (число с буквой i на конце, точка равна 1/72 дюйма).

    Якорная точка не обязана находиться внутри мастер-окна.

  -rely location
    Аргумент location определяет y-координату в мастер-окне для якорной точки виджета. Координата указывается на экране в виде десятичного числа в долях соответствующего размера мастер-окна. Так "0.0" соответствует верхнему краю мастер-окна, "1.0" нижнему краю. Если указаны обе опции, -y и -rely, то соответствующие величины складываются. Например, -rely 0.5 -y -3 помещает якорную точку на три пикселя ниже центра мастер-окна.
  -anchor where
    Аргумент where определяет, какая точка виджета будет помещена в якорной точке, заданной с помощью опций -x, -y, -relx и -rely. В якорную точку помещается крайняя точка виджета (включая границу, если она задана). Так значение se означает, что в якорную точку будет помещен нижний правый угол виджета. Значение по умолчанию nw.
  -width size
    Аргумент size определяет ширину виджета на экране (допустимы те же формы, что и для опций -xи -y). Ширина это внешняя ширина виджета, включая его границу (если она задана). Если аргумент представляет собой пустую строку или если ни опция -width, ни опция -relwidth не определены, ширина виджета определяется исходя из его собственных запросов.
  -relwidth size
    Аргумент size определяет ширину виджета на экране. Ширина указывается в виде десятичного числа в долях соответствующего размера мастер-окна. Так 0.5 соответствует ширине в половину ширины мастер-окна. Если указаны обе опции, -width и -relwidth, то соответствующие величины складываются. Например, -relwidth 1.0 -width 5 делает виджет на 5 пикселей шире мастер-окна.
  -height size
    Аргумент size определяет высоту виджета на экране (допустимы те же формы, что и для опций -xи -y). Высота это внешняя высота виджета, включая его границу (если она задана). Если аргумент представляет собой пустую строку или если ни опция -height, ни опция -relheight не определены, высота виджета определяется исходя из его собственных запросов.
  -relheight size
    Аргумент size определяет высоту виджета на экране. Высота указывается в виде десятичного числа в долях соответствующего размера мастер-окна. Так "0.5" соответствует высоте в половину высоты мастер-окна. Если указаны обе опции, -height и -relheight, то соответствующие величины складываются. Например, -relheight 1.0 -height -2 делает виджет на 2 пикселя ниже мастер-окна.
  -bordermode mode

    Аргумент mode определяет, используются ли границы мастер-окна при определении положения размещаемого виджета.

    Значение по умолчанию, которое используется наиболее часто, inside. Оно означает, что менеджер рассматривает в качестве мастер-окна его внутреннюю часть без границы. Опция -x 0 означает при этом точку внутри границы мастер-окна. А опция -relwidth 1.0 означает, что виджет будет размещен внутри соответствующих границ мастер-окна.

    Значение outside означает, что менеджер включает границу мастер-окна в его состав. Это значение используется обычно, когда нужно разместить виджет вне его мастер-окна (но в пределах границы мастер-окна), например, как при опциях -x 0 -y 0 -anchor ne.

    Значение ignore означает, что менеджер включает в состав окна все внутренние границы, но не внешние границы (его официальное X-определение). Это значение используется, вероятно, реже остальных.

## ЗАМЕЧАНИЕ

Если значение одной и той же величины определено дважды с использованием различных опций, например, если x-координата виджета определена сначала с использованием опции -x, а позднее повторно определена с использованием опции -relx, то используется только более позднее определение.

          place slaves window

Эта команда возвращает список всех виджетов, размещенных в мастер-окне. Если в нем не размещены виджеты, команда возвращает пустой список.

          place forget window

Окно window больше не управляется менеджером place. Как следствие, оно удаляется с экрана. Если окно не управлялось менеджером place, команда не имеет никакого эффекта.

Команда возвращает пустую строку.

          place info window

Возвращает список опций и их значений для окна window в той же форме, в какой они задаются в команде place configure. Если конфигурацию виджета, полученную с помощью этой команды, предполагается впоследствии восстановить, то перед этим необходимо будет использовать команду place forget, чтобы удалить текущую конфигурацию, а затем place configure с сохраненной конфигурацией.

В отличие от многих других геометрических менеджеров place не пытается манипулировать геометрией мастер-окна (например, переустанавливать их размер "по потребности"). Чтобы управлять размерами этих окон, для них желательно использовать такие виджеты, как frame или canvas.