<!DOCTYPE html PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN> <html> <head> <title>place</title> </head> <body> <h1>place</h1> <p>Геометрический менеджер, обеспечивающий размещение виджетов в абсолютных или относительных координатах.</p> <h2><a name=СИНТАКСИС></a>СИНТАКСИС</h2> <pre> <strong>place</strong> <em>window option value</em> ?<em>option value ...</em>? <strong>place configure</strong> <em>window option value</em> ?<em>option value ...</em>? <strong>place forget</strong> <em>window</em> <strong>place info</strong> <em>window</em> <strong>place slaves</strong> <em>window</em> </pre> <h2><a name=ОПИСАНИЕ></a>ОПИСАНИЕ</h2> <p>Геометрический менеджер <strong>place</strong> позволяет размещать виджеты в их мастер-окнах, используя прямые указания о размерах и размещении виджета. Кроме того, с его помощью можно добиваться режима "резинового листа", указывая размеры и размещение виджета в долях размера мастер-окна. При этом виджеты изменяют свои размеры при изменении размеров мастер окна. И, наконец, менеджер place позволяет сочетать оба этих метода, размещая, например, виджет определенного размера в центре мастер-окна.</p> <p>Команда <strong>place</strong> используется для управления соответствующим геометрическим менеджером и для получения от него справочной информации. Команда может иметь перечисленные ниже формы.</p> <dl> <dt><strong>place</strong> <em>window option value</em> ?<em>option value ...</em></dt> <dd>Если первый аргумент команды является именем окна (любая величина, начинающаяся с "."), команда выполняется точно так же, как команда <strong>place configure</strong>.</dd> <dt><strong>place configure</strong> <em>window option value</em> ?<em>option value ...</em></dt> <dd><p>Аргумент команды состоит из имени размещаемого виджета, после которого идут пары аргументов, состоящих из имени опции и ее значения. Если виджет уже обрабатывался с помощью команды <strong>place</strong>, то для не определенных в команде опций будут использоваться старые значения, а не значения по умолчанию. Команда возвращает пустую строку</p> <p>Ниже перечислены возможные опции.</p> <dl> <dt><strong>-in</strong> <em>master</em></dt> <dd>Аргумент <em>master</em> определяет полное имя виджета (мастер-окна), относительно которого будет размещаться виджет window. Мастер-окно должно быть непосредственным предком виджета, или потомком этого предка. При этом они оба должны быть потомками одного и того же toplevel-окна. Эти ограничения необходимы, чтобы гарантировать, что виджет будет виден, когда видно мастер-окно. По умолчанию виджет размещается в своем непосредственном предке.</dd> <dt><strong>-x</strong> <em>location</em></dt> <dd><p>Аргумент <em>location</em> определяет <em>x</em>-координату в мастер-окне для якорной точки виджета. Координата указывается на экране в одной из следующих форм:</p> <ul> <li>в пикселях (число),</li> <li>в сантиметрах (число с буквой <strong>c</strong> на конце),</li> <li>в миллиметрах (число с буквой <strong>m</strong> на конце),</li> <li>в дюймах (число с буквой <strong>i</strong> на конце)</li> <li>в точках (число с буквой <strong>p</strong>на конце, точка равна 1/72 дюйма).</li> </ul> <p>Якорная точка не обязана находиться внутри мастер-окна.</p> </dd> <dt><strong>-relx</strong> <em>location</em></dt> <dd>Аргумент <em>location</em> определяет <em>x</em>-координату в мастер окне для якорной точки виджета. Координата указывается на экране в виде десятичного числа в долях соответствующего размера мастер-окна. Так "0.0" соответствует левому краю мастер окна, "1.0" правому краю. Если указаны обе опции, <strong>-x</strong> и <strong>-relx</strong>, то соответствующие величины складываются. Например, <strong>-relx 0.5 -x -2</strong> помещает якорную точку на два пикселя левее центра мастер-окна.</dd> <dt><strong>-y</strong> <em>location</em></dt> <dd><p>Аргумент <em>location</em> определяет y-координату в мастер-окне для якорной точки виджета. Координата указывается на экране в одной из следующих форм:</p> <ul> <li>в пикселях (число),</li> <li>в сантиметрах (число с буквой <strong>c</strong> на конце),</li> <li>в миллиметрах (число с буквой <strong>m</strong> на конце),</li> <li>в дюймах (число с буквой <strong>i</strong> на конце),</li> <li>в точках (число с буквой <strong>i</strong> на конце, точка равна 1/72 дюйма).</li> </ul> <p>Якорная точка не обязана находиться внутри мастер-окна.</p> </dd> <dt><strong>-rely</strong> <em>location</em></dt> <dd>Аргумент <em>location</em> определяет <em>y</em>-координату в мастер-окне для якорной точки виджета. Координата указывается на экране в виде десятичного числа в долях соответствующего размера мастер-окна. Так "0.0" соответствует верхнему краю мастер-окна, "1.0" нижнему краю. Если указаны обе опции, <strong>-y</strong> и <strong>-rely</strong>, то соответствующие величины складываются. Например, <strong>-rely 0.5 -y -3</strong> помещает якорную точку на три пикселя ниже центра мастер-окна.</dd> <dt><strong>-anchor</strong> <em>where</em></dt> <dd>Аргумент <em>where</em> определяет, какая точка виджета будет помещена в якорной точке, заданной с помощью опций <strong>-x</strong>, <strong>-y</strong>, <strong>-relx</strong> и <strong>-rely</strong>. В якорную точку помещается крайняя точка виджета (включая границу, если она задана). Так значение <strong>se</strong> означает, что в якорную точку будет помещен нижний правый угол виджета. Значение по умолчанию <strong>nw</strong>.</dd> <dt><strong>-width</strong> <em>size</em></dt> <dd>Аргумент <em>size</em> определяет ширину виджета на экране (допустимы те же формы, что и для опций <strong>-x</strong>и <strong>-y</strong>). Ширина это внешняя ширина виджета, включая его границу (если она задана). Если аргумент представляет собой пустую строку или если ни опция <strong>-width</strong>, ни опция <strong>-relwidth</strong> не определены, ширина виджета определяется исходя из его собственных запросов.</dd> <dt><strong>-relwidth</strong> <em>size</em></dt> <dd>Аргумент <em>size</em> определяет ширину виджета на экране. Ширина указывается в виде десятичного числа в долях соответствующего размера мастер-окна. Так 0.5 соответствует ширине в половину ширины мастер-окна. Если указаны обе опции, <strong>-width</strong> и <strong>-relwidth</strong>, то соответствующие величины складываются. Например, <strong>-relwidth 1.0 -width 5</strong> делает виджет на 5 пикселей шире мастер-окна.</dd> <dt><strong>-height</strong> <em>size</em></dt> <dd>Аргумент <em>size</em> определяет высоту виджета на экране (допустимы те же формы, что и для опций <strong>-x</strong>и <strong>-y</strong>). Высота это внешняя высота виджета, включая его границу (если она задана). Если аргумент представляет собой пустую строку или если ни опция <strong>-height</strong>, ни опция <strong>-relheight</strong> не определены, высота виджета определяется исходя из его собственных запросов.</dd> <dt><strong>-relheight</strong> <em>size</em></dt> <dd>Аргумент <em>size</em> определяет высоту виджета на экране. Высота указывается в виде десятичного числа в долях соответствующего размера мастер-окна. Так "0.5" соответствует высоте в половину высоты мастер-окна. Если указаны обе опции, <strong>-height</strong> и <strong>-relheight</strong>, то соответствующие величины складываются. Например, <strong>-relheight 1.0 -height -2</strong> делает виджет на 2 пикселя ниже мастер-окна.</dd> <dt><strong>-bordermode</strong> <em>mode</em></dt> <dd><p>Аргумент <em>mode</em> определяет, используются ли границы мастер-окна при определении положения размещаемого виджета.</p> <p>Значение по умолчанию, которое используется наиболее часто, <strong>inside</strong>. Оно означает, что менеджер рассматривает в качестве мастер-окна его внутреннюю часть без границы. Опция <strong>-x 0</strong> означает при этом точку внутри границы мастер-окна. А опция <strong>-relwidth 1.0</strong> означает, что виджет будет размещен внутри соответствующих границ мастер-окна.</p> <p>Значение <strong>outside</strong> означает, что менеджер включает границу мастер-окна в его состав. Это значение используется обычно, когда нужно разместить виджет вне его мастер-окна (но в пределах границы мастер-окна), например, как при опциях <strong>-x 0 -y 0 -anchor ne</strong>.</p> <p>Значение <strong>ignore</strong> означает, что менеджер включает в состав окна все внутренние границы, но не внешние границы (его официальное X-определение). Это значение используется, вероятно, реже остальных.</p> </dd> </dl> </dd> </dl> <h2><a name=ЗАМЕЧАНИЕ></a>ЗАМЕЧАНИЕ</h2> <p>Если значение одной и той же величины определено дважды с использованием различных опций, например, если x-координата виджета определена сначала с использованием опции <strong>-x</strong>, а позднее повторно определена с использованием опции <strong>-relx</strong>, то используется только более позднее определение.</p> <pre> <strong>place slaves</strong> <em>window</em> </pre> <p>Эта команда возвращает список всех виджетов, размещенных в мастер-окне. Если в нем не размещены виджеты, команда возвращает пустой список.</p> <pre> <strong>place forget</strong> <em>window</em> </pre> <p>Окно <em>window</em> больше не управляется менеджером <strong>place</strong>. Как следствие, оно удаляется с экрана. Если окно не управлялось менеджером <strong>place</strong>, команда не имеет никакого эффекта.</p> <p>Команда возвращает пустую строку.</p> <pre> <strong>place info</strong> <em>window</em> </pre> <p>Возвращает список опций и их значений для окна <em>window</em> в той же форме, в какой они задаются в команде <strong>place configure</strong>. Если конфигурацию виджета, полученную с помощью этой команды, предполагается впоследствии восстановить, то перед этим необходимо будет использовать команду <strong>place forget</strong>, чтобы удалить текущую конфигурацию, а затем <strong>place configure</strong> с сохраненной конфигурацией.</p> <p>В отличие от многих других геометрических менеджеров <strong>place</strong> не пытается манипулировать геометрией мастер-окна (например, переустанавливать их размер "по потребности"). Чтобы управлять размерами этих окон, для них желательно использовать такие виджеты, как <a href=frame.html><strong>frame</strong></a> или <a href=canvas.html><strong>canvas</strong></a>.</p> </body> </html>