Книга: Описание языка PascalABC.NET

Режим с динамической компоновкой

Режим с динамической компоновкой

Особенности режима с динамической компоновкой

Как было отмечено выше, с помощью кнопки быстрого доступа Режим" и связанной с ней клавиши F4 можно осуществлять переключение между двумя режимами окна задачника: традиционного режима с фиксированной компоновкой, в котором разделы с формулировкой, исходными данными и результатами имеют фиксированный размер (5 экранных строк) и допускают независимую прокрутку, и появившегося в версии 4.11 режима с динамической компоновкой (в стиле окна задачника для веб-среды ProgrammingABC.NET WDE), в котором размеры разделов определяются содержащимися в них данными, состав разделов зависит от результата тестового запуска, и для всего содержимого окна выполняется, при необходимости, общая прокрутка.

Подобно цветовой схеме и другим настройкам окна, выбранный вариант режима запоминается в файле pt4.ini, и при последующих запусках программ автоматически восстанавливается. Начиная с версии 4.11, в качестве режима по умолчанию установлен режим с динамической компоновкой.

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

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


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

При обнаружении ошибки ввода-вывода заголовок соответствующего раздела выводится цветом, соответствующим цвету этой ошибки, как на приведенном ниже рисунке.


Режим с динамической компоновкой особенно удобен для заданий с большими формулировками и большими наборами данных. В качестве примера приведем окно в данном режиме для задания Align31 (при демонстрационном запуске).


В приведенном ниже окне с фиксированной компоновкой для этого же задания требуется прокрутка как для формулировки, так и для раздела исходных данных.


Если часть разделов с заданием не умещается на экране, то у правой границы окна отображается полоса прокрутки, а нижняя граница окна автоматически подстраивается под размеры экрана и располагается выше панели задач. При перемещении окна вверх в данной ситуации высота окна автоматически увеличивается до тех пор, пока все его содержимое не будет отображаться в окне; при этом полоса прокрутки опять будет скрыта. Для перемещения верхней границы окна вверх и вниз можно использовать клавиатурные комбинации Ctrl+Up и Ctrl+Down соответственно.

Если в режиме с динамической компоновкой отображается полоса прокрутки, то прокручивать данные можно как с ее помощью, так и с помощью колесика мыши, а также клавишами Home, End, PgUp, PgDn, Up и Down.

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


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

Оглавление книги


Генерация: 0.069. Запросов К БД/Cache: 0 / 0
поделиться
Вверх Вниз