Навигация:
<< >> Оглавление Указатель

Описание пользователя

Глава 3. Использование стандартных модулей автокомпиляции

§3.5. Окно редактора модели

Рассматривается окно редактора модели и действия, которые в нем можно выполнить.

§3.5.1. Элементы и меню окна редактора модели

Описываются меню, кнопки и панели окна редактора модели. Перечисляются все пункты меню редактора с их краткими описаниями.

Окно редактора модели – не модальное, то есть, будучи открытым, оно не блокирует работу других окон RDS. Пользователь может свободно переключаться между несколькими открытыми окнами редактора, окнами подсистем и другими окнами RDS, щелкая по ним мышью, выбирая их названия в пункте главного меню «окна», или нажимая соответствующие этим окнам кнопки на панели открытых окон. В отличие от большинства остальных окон RDS, окно редактора модели имеет свою собственную строку меню, пункты которого относятся к конкретному файлу модели, открытому в данном окне редактора (рис. 332). Часть функций меню продублирована кнопками на панели, расположенной непосредственно под этим меню. В нижней части окна редактора находится строка состояния, в которой отображается положение текстового курсора на вкладке фрагмента программы и сообщение о результатах последней компиляции.

Элементы окна редактора модели

Рис. 332. Элементы окна редактора модели

Основная площадь окна, как правило, разделена по вертикали на две неравные части. Слева находится отключаемая дополнительная панель, с четырьмя вкладками, на которых задаются:

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

Справа находится панель с вкладками, каждая из которых соответствует тому или иному фрагменту программы модели: реакции на событие, реакции на вызов функции, добавляемому в программу описанию и т.п. Эти вкладки можно открывать и закрывать по желанию пользователя: открываются они при помощи вкладки «события» дополнительной панели, а закрываются кнопкой с крестиком в правой верхней части самой вкладки. На каждой вкладке находится большое многострочное поле ввода, в которое пользователь записывает фрагмент программы, выполняющийся при наступлении соответствующего события. Например, на рис. 332 открыта вкладка «модель», соответствующая циклическому вызову блока в режиме расчета (это самая часто используемая реакция блока, определяющая его поведение в схеме), и на ней введен текст программы, которая будет вызываться в каждом такте. В верхней части вкладки находится краткий комментарий, описывающий назначение события, которому эта вкладка соответствует. Комментарий записан в формате языка C и, в некоторых случаях, под ним указывается заголовок функции, которую модуль автокомпиляции создаст для данного события. Например, на вкладке «модель» на рис. 332 функция будет называться «void rdsbcppBlockClass::rdsbcppModel(void)» (то есть функция rdsbcppModel класса rdsbcppBlockClass, не принимающая параметров и не возвращающая значений). Текст заголовка функции можно выделить и скопировать в буфер обмена. Все эти описания полезны для программистов, создающих сложные модели – например, зная, какие параметры принимает функция, можно использовать их внутри текста фрагмента программы. Все функции, создаваемые для всех возможных событий, описаны в §3.7. В большинстве случаев, обычные пользователи, имеющие дело с простыми моделями, могут не обращать внимания на описание функции в заголовке вкладки.

Если при последней компиляции в программе модели были обнаружены ошибки, список этих ошибок выводится в правой части окна под вкладками фрагментов программы. Высоту списка можно изменять, перетаскивая его верхнюю границу левой кнопкой мыши. Двойной щелчок на строчке в этом списке открывает вкладку с текстом программы, в котором обнаружена ошибка, и устанавливает курсор на строчку с этой ошибкой. На рис. 332 в программе была специально допущена ошибка (отсутствует точка с запятой в конце оператора присваивания «t0=DynTime» в предпоследней строчке). Можно видеть, что в списке ошибок при этом появилась не одна, а сразу три строчки – так часто бывает при работе с C/C++, поскольку одна ошибка может проявиться несколько раз. В приведенном на рисунке примере первая строчка («statement missing ; in function...») описывает допущенную ошибку, то есть отсутствие в конце оператора точки с запятой, и при двойном щелчке на ней, курсор установится на строчку «t0=DynTime» на вкладке «модель». Вторая строчка в списке – это сообщение редактора связей о том, что он не может открыть объектный файл: из-за ошибки в тексте фрагмента программы компилятор не смог сформировать это файл, так что это – следствие все той же ошибки. Наконец, третья строчка добавлена самим модулем автокомпиляции и сообщает об отсутствии файла DLL: поскольку редактор связей не нашел объектный файл, ему не из чего было создать исполняемый файл библиотеки. Таким образом, если в списке ошибок содержится несколько строчек, искать ошибку нужно начиная с самой первой из них – после ее исправления остальные ошибки могут исчезнуть сами.

Рассмотрим пункты меню окна редактора модели.

Непосредственно под меню находится панель с кнопками, дублирующими основные его пункты:

Кнопка Выполняемое действие и пункт меню Клавиши
Кнопка: сохранить Сохранение изменений в модели (пункт меню «файл | сохранить») Ctrl + S
Кнопка: вырезать Переместить выделенный текст в буфер обмена (пункт меню «редактирование | вырезать») Ctrl + X
Кнопка: копировать Копировать выделенный текст или имя переменной в буфер обмена (пункт меню «редактирование | копировать») Ctrl + C
Кнопка: вставить Вставить текст из буфера обмена (пункт меню «редактирование | вставить») Ctrl + V
Кнопка: вставить Отмена последнего изменения на текущей вкладке редактора (пункт меню «редактирование | отменить») Ctrl + Z
Кнопка: переменные, события и функции Включает/выключает боковую панель редактора (пункт меню «вид | переменные и события») нет
Кнопка: список ошибок Показывает/скрывает список ошибок компиляции (пункт меню «вид | список ошибок») нет
Кнопка: параметры блоков Вызывает групповую установку параметров блоков, связанных с этой моделью (пункт меню «модель | установка параметров блоков») нет
Кнопка: параметры модели Открывает окно параметров модели (пункт меню «модель | параметры модели») нет
Кнопка: компилировать Запускает компиляцию модели, если в нее были внесены изменения (пункт меню «модель | компилировать») Alt + F9
Кнопка: показать текст C++ Открывает на отдельной вкладке текст программы, автоматически формируемой модулем, который передается компилятору при каждой компиляции модели (пункт меню «модель | показать текст C++») нет

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


<< >> Оглавление Указатель