Выбрать главу

Окно в режиме с динамической компоновкой (в отличие от окна в режиме с фиксированной компоновкой) можно масштабировать, изменяя размер шрифта в его основных разделах (с формулировкой задания, исходными данными, результатами и примером правильного решения). Для масштабирования можно использовать команды контекстного меню или клавиши Ctrl+[+] и Ctrl+[-]. Ниже приведен вид окна с минимальным размером шрифта (равным 8 пунктам). В режиме с динамической компоновкой сохраняется возможность изменения шрифта в разделе отладки (с помощью команд контекстного меню или клавиш Alt+[+] и Alt+[-]); подобное изменение не влияет на размеры окна.

Текущая позиция верхней границы окна в режиме с динамической компоновкой и текущие размеры шрифта сохраняются в файле настроек pt4.ini и при последующем запуске автоматически восстанавливаются. Однако это сохранение производится только в случае, если при закрытии окна оно находилось в режиме с динамической компоновкой. В противном случае (если при запуске программы окно отображается в режиме с фиксированной компоновкой) для позиции верхней границы окна и размера шрифта в основных разделах устанавливаются стандартные значения, принятые для режима с фиксированной компоновкой.

Дополнительная настройка разделов с заданием

В режиме с динамической компоновкой можно скрыть формулировку задания, чтобы обеспечить отображение других элементов задания в окне меньшей высоты. Для скрытия формулировки задания достаточно щелкнуть мышью в любом месте раздела с формулировкой задания или нажать клавишу Del. Если формулировка задания скрыта, то раздел с формулировкой уменьшается до одной (пустой) экранной строки, причем в правой части этого раздела отображается кнопка, позволяющая вновь отобразить формулировку задания (с данной кнопкой связана всплывающая подсказка Показать формулировку задания (Del)"):

Для восстановления формулировки, помимо нажатия на кнопку, доступны те же действия, которые обеспечивают ее скрытие: щелчок в любом месте раздела с формулировкой и нажатие клавиши Del.

Как правило, необходимость в скрытии формулировки задания возникает в ситуации, когда часть данных, связанных с заданием, не отображается на экране (при этом окно снабжается полосой прокрутки). В подобной ситуации предусмотрен еще один способ скрытия раздела с формулировкой: с помощью кнопки, отображаемой в правом верхнем углу этого раздела (рядом с полосой прокрутки). На кнопке отображается символ x", и с ней связывается всплывающая подсказка "Скрыть формулировку задания (Del)":

Если закрыть окно (не в демо-режиме) при скрытой формулировке, то при последующем запуске (также не в демо-режиме) формулировка останется скрытой. При начальном отображении каждого задания в демо-режиме формулировка всегда выводится; если ее скрыть, то она будет оставаться скрытой при последующих просмотрах других вариантов исходных и контрольных данных для этого задания (варианты перебираются кнопкой Новые данные").

В режиме с динамической компоновкой все прокручиваемые элементы данных (формулировка, элементы двоичных файлов, элементы бинарных деревьев, разделы исходных и результирующих данных, содержащие более 5 строк) отображаются полностью. Частично отображаются только элементы текстовых файлов. По умолчанию выводится столько же строк текстового файла, сколько и в режиме с фиксированной компоновкой; при этом первая строка файла снабжается номером, равным 1. Такой подход позволяет ознакомиться с заданием, отобразив его в окне сравнительно небольшого размера:

Если в режиме с динамической компоновкой отображается только часть данных из текстовых файлов, то в правом верхнем углу раздела с исходными данными появляется кнопка со стилизованной стрелкой, направленной вниз. С ней связывается подсказка Развернуть содержимое текстовых файлов (Ins)". Щелкнув на этой кнопке, нажав клавишу Ins или выполнив щелчок мышью на одном из разделов, связанных с заданием (кроме раздела с формулировкой), можно отобразить файловые данные в полном объеме; при этом около каждой файловой строки появится ее номер, а на кнопке изменится изображение: вместо стрелки, направленной вниз, будет изображена стрелка, направленная вверх:

Режим полного отображения текстовых файлов удобен для более тщательного изучения особенностей исходных и полученных файлов, а также для сравнения полученного ошибочного файла с файлом, указанным в примере правильного решения.

Если закрыть окно задачника (не в демо-режиме) при развернутом содержимом текстовых файлов, то при последующем запуске (также не в демо-режиме) это содержимое будет развернуто автоматически. При начальном отображении каждого задания в демо-режиме данные текстовых файлов всегда выводятся в свернутом виде; если их развернуть, то режим развернутого отображения будет сохраняться при последующих просмотрах других вариантов исходных и контрольных данных для этого задания (варианты перебираются кнопкой Новые данные").

Действия по разворачиванию/сворачиванию содержимого текстовых файлов можно выполнять и для файлов небольшого размера, когда даже в свернутом режиме на экране отображаются все файловые строки. Однако в этом случае кнопка со стрелкой в окне задачника не появляется, и для переключения между режимами свернутого и развернутого отображения файловых данных следует нажимать клавишу Ins или выполнять щелчок мышью на разделе с заданием. Перейти в режим развернутого отображения содержимого для небольших файлов может потребоваться, например, для того, чтобы этот режим автоматически восстановился при следующем тестовом запуске программы.

"Интеллектуальная" прокрутка

В ситуации, когда разделы с исходными, результирующими или контрольными данными имеют большую высоту (например, при отображении в полном объеме содержимого текстовых файлов), с помощью стандартной прокрутки сложно обеспечить быстрый переход к началу требуемого раздела. Кроме того, при большом объеме результирующих данных затрудняется их сравнение с контрольными данными. Чтобы решить эти проблемы, в режиме с динамической компоновкой реализована возможность интеллектуальной" прокрутки. Данная возможность доступна, если основные разделы окна (разделы с формулировкой, исходными данными, результатами и примером правильного решения) имеют суммарную высоту, превышающую размер окна. При этом в левом верхнем углу области окна, отводимой для отображения разделов задания, отображаются три дополнительные кнопки с символами "-", "+" и "/":

Прокрутка содержимого окна не влияет на положение этих кнопок. Нажатие на кнопку -" или нажатие клавиши [-] обеспечивает прокрутку к началу предыдущего раздела задания, нажатие на кнопку "+" или нажатие клавиши [+] обеспечивает прокрутку к началу следующего раздела задания; при этом перебор разделов выполняется циклически. Если раздел с формулировкой является скрытым, то он при переборе разделов не учитывается.

Нажатие на кнопку /" или нажатие клавиши [/] обеспечивает переход к началу раздела с результатами или раздела с примером правильного решения, если в окне присутствует только один из этих разделов. Если же окно содержит оба этих раздела, то данная кнопка и связанная с ней клавиша обеспечивают в дальнейшем переключение между этими разделами. При этом выполняется дополнительная синхронизация разделов: новый раздел отображается с той строки, которая соответствует верхней отображаемой строке прежнего раздела. Подобная синхронизация в еще большей степени упрощает сравнение полученных и правильных результатов.

Клавиши [-], [+], [/], связанные с интеллектуальной" прокруткой (как и клавиши Ins и Del, связанные с дополнительной настройкой внешнего вида разделов с заданием), располагаются в правой части цифровой клавиатуры и не зависят от режима NumLock; подобное расположение делает их удобными для использования в качестве горячих клавиш. Однако при отсутствии цифровой клавиатуры (например, на некоторых моделях ноутбуков) применение данных клавиш становится менее удобным. Чтобы и в этой ситуации упростить выполнение команд с помощью горячих клавиш, предусмотрены их альтернативные варианты: Ctrl+PgDn вместо [+], Ctrl+PgUp вместо [-] и Ctrl+Tab вместо [/]. Заметим, что подобный способ использования комбинации Ctrl+Tab соответствует способу ее использования в режиме с фиксированной компоновкой, в котором она также обеспечивает переключение между полученными результатами и примером правильного решения. Все указанные клавиатурные комбинации приводятся во всплывающих подсказках, которые отображаются на экране при наведении курсора мыши на соответствующие кнопки: