Панель ввода отношений

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

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

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

Каждая диалоговая панель ввод отношений подразделяется на четыре секции.

Секция, предназначенная для ввода имен выходных параметров отношения.

Имена переменных, записываемых в текстовых полях выпадающих списков, отображаются бордовым цветом.

Секция, предназначенная для ввода языковых конструкций, формирующих состав входных параметров отношения.

Текст языковых конструкций в текстовых панелях ввода отображается темно синим цветом.

Секция, предназначенная для назначения вида согласования параметров.

Секция, предназначенная для подтверждения окончания формирования состава отношения и вызова исполнительной подсистемы для расчета значений объектов алгоритма.

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

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

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

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

Вызов панели ввода отношения может быть осуществлен одним из следующих способов:

Путем выбора пункта основного меню системы, отвечающего за формирование той или иной команды;

Путем нажатия комбинации «горячих клавиш» клавиатуры, сопоставленных с соответственной командой. Полный перечень клавиатурных сокращений можно получить из справочной системы через обращение к пункту меню Справка/Клавиатурные сокращения. Мнемонические обозначения клавиатурных сокращений приводятся в правой части пунктов меню, отвечающих за вызов соответственных функций.

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

В основном, их размещение продиктовано соображением соотнесения типа выходного параметра, порождающего отношения, с названием закладки. Однако, в тех отношениях, которые порождают множество разнотипных объектов, этот принцип соблюсти полностью не удается.

Путем выделения изображения, соответствующего объекту, в окне отображения построения алгоритма (наведением курсора-стрелки на изображение объекта и нажатием левой кнопки мыши), и вызова пункта всплывающего контекстного меню Редактировать правой кнопкой мыши. Того же действия можно достичь, если после выделения объекта нажать клавиатурное сокращение Alt+E.

Этот режим предназначен для коррекции уже существующей, т.е. введенной ранее и исполненной команды.

В том случае, если предварительно было выделено более одного объекта, система выводит дополнительное окно с перечнем имен выделенных объектов, в котором следует уточнить, какое из отношений подлежит редактированию.

В том случае, если в списке будут выделены объекты, порождаемые однотипным отношением, то для коррекции этих отношений будет вызвана единая панель.

Путем вызова соответственных пунктов меню из других сервисных панелей системы.

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

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

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

При вызове панели для ввода нового отношения система автоматически подставляет в выходные параметры предопределенные имена выходных объектов отношения. Как правило, но не всегда, функция, реализующая отношение, формирует выходные объекты определенного типа.

С каждым типом объекта, предопределенным в системе, ассоциирована некоторая строка, обычно состоящая из одного символа, соответствующего внутрисистемному обозначению этого типа. Так, например, величины условно обозначаются символом c, точки – p, окружности – d и т.п.

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

Если по какой-то причине пользователя не устраивает префикс, принятый по умолчанию, то он может заменить его на другой, вызвав диалоговую панель Настройки системы, воспользовавшись пунктами основного меню Сервис/Умолчания (F11) и перейдя в закладку Проект. Секция панели Переменные содержит поля с префиксами для всех имеющихся в текущей версии системы типов объектов. Изменение префиксов с последующим подтверждением сделанных изменений нажатием на кнопку Ввод повлечет за собой соответственное изменение в назначении имен в панелях ввода отношений. Разумеется, необходимо проследить за тем, чтобы внесенные изменения обеспечивали порождение синтаксически корректных имен переменных.

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

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

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

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

Нажатие на кнопку Shift+Tab перемещает фокус ввода в обратном направлении.

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

  1. Вводом текстом с клавиатуры
  2. Использованием операций буфера Clipboard
  3. Указанием курсором стрелкой на изображения объектов в окнах отображения чертежей алгоритмов или на заменяющие их условные метки. Если какой-либо объект указан, то его имя передается в текущее активное поле ввода, после чего фокус ввода перемещается в поле ввода следующего по порядку параметра (при этом текст следующего параметра, как уже было отмечено выше, выделяется, чтобы быть готовым к возможной следующей замене).
  4. Предварительным выделением (еще до вызова диалоговой панели) упорядоченного множества объектов с последующим вызовом панели и передачи в поля входных параметров имен выделенных объектов путем вызова правой кнопкой мыши всплывающего меню окна отображения чертежа и выбора в нем пунктов Выделенное в параметр или Выделенное в параметры. В первом случае имена объектов в порядке их выделения через запятую будут помещены в поле параметра диалоговой панели, в котором размещен фокус ввода. Во втором случае имена переменных будут последовательно по одному размещены по полям параметров до их полного заполнения, начиная с того поля, в котором в данный момент находится фокус ввода.
  5. Выбором соответственных пунктов контекстного меню панели, предназначенные для занесения в поля ввода параметров стандартных записей и констант.

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

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

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

Завершение ввода команды можно выполнить из всплывающего контекстного меню окна геометрического построения, выбрав соответственный пункт этого меню. Такой прием позволяет отказаться от непроизводительного перемещения курсора мышью к кнопке Ввод панели ввода команд. Нажатие на клавиатуре клавиши Enter также приведет к завершению ввода команды.
Отказ от введенной команды (т.е. возврат алгоритма к предыдущему состоянию) выполняется вызовом команды восстановления из пункта основного меню Редакция/Восстановить (Ctrl+Z).
При вводе информации в поля входных параметров посредством указания курсором на изображения объектов возможны некоторые варианты этого действия.

  1. При удерживании нажатой клавиши Shift, фокус ввода в следующее поле не передается, а вновь указанный курсором объект добавляется к уже имеющемуся в текущем поле тексту через запятую, чем обеспечивается возможность создания на этапе ввода списочных структур.
  2. Удерживание клавиши Alt при вводе позволяет внести в поле параметра не списочную переменную, а только ее элемент с индексным номером, соответствующим номеру индекса элемента, на который было произведено указание курсором.
  3. Удерживание клавиши Ctrl при вводе позволяет внести в поле параметра имя списочной переменной, соответствующей объекту, на который было осуществлено указание. При этом поле ввода переходит в режим «заморозки», что обозначается серым цветом фона этого поля. «Замороженное» поле отличается от обычных полей тем, что оно не будет в течение текущего сеанса получать фокус ввода при заполнении полей панели данными, вследствие чего будет пропускаться, и сохранять свое содержание при вводе каждого нового отношения. Этот режим в отличие от обычного позволяет более оперативно формировать отношения для порождения одной функцией различных объектов, среди входных параметров которых имеются одни и те же данные. Фиксация таких данных в «замороженных» полях позволяет пользователю не тратить время и внимание на ввод одной и той же информации, а осуществлять подстановку переменных только в те поля, которые действительно изменяются. Это актуально в особенности, когда функция имеет много входных параметров, причем многие из них общие для отношений, порождающих различные объекты. При назначении в панели «замороженных» полей система образует т.н. отношение-прототип, которое впоследствии можно применять с целью образования команд многократно. Кнопка для вызова такого отношения в инструментальную панель в секцию под закладкой прототипы. Кнопка отношения-прототипа имеет ту же иконку, что и отношение, от которого оно образовано. Во всплывающей подсказке к этой кнопке располагается текстовая подсказка, позволяющая различать прототипы одного отношения, если таковых прототипов образовано несколько. В подсказке содержится информация о содержании неизменяемых (т.е. замороженных) параметров. Отношения прототипы позволяют возвращаться к условиям, сформированным ранее при «замораживании» параметров отношения повторно уже после завершения сеанса, в котором была выполнена первичная «заморозка» параметров.

К стандартным записям, вносимым в поля с помощью пунктов всплывающего меню Внести…, относятся следующие языковые конструкции: break, false, iline, nil, null, ox, oy, pi, rect, true, 0, 90. Заметим, что текстовые эквиваленты значений 0 и 90 – null и rect следует использовать в тех случаях, когда объект, формируемый командой, не должен допускать динамического редактирования параметра, в котором использованы эти конструкции. Поскольку величины 0 и 90 являются числовыми константами, то параметры, в которых они использованы, могут быть изменены в процессе динамического редактирования и на их месте могут образоваться иные числа. Текстовые же эквиваленты числовой замене не подлежат, поэтому объекты, к которым будет применена попытка динамического редактирования, данный параметр не изменят.

Среди функций системы Симплекс имеется специальная функция для создания именованных наборов данных (или, иными словами, групп). Вызов панели для формирования такой команды осуществляется либо с помощью кнопки __ в единственном параметре которой через запятую перечисляются имена объектов, составляющих группу, либо выделением упорядоченного набора объектов с помощью курсора (с удержанием кнопки Shift) и нажатием на клавиатуре клавиши с символом G (верхний регистр). Такие наборы разумно формировать, для того чтобы с их помощью семантически объединять под единым именем совокупность таких данных, которые в своем единстве представляют собой какой-либо сложный производный объект. Набор данных никак не отображается на чертеже, но с ним сопоставляется метка фиолетового цвета в правой части окна построения. Если во время заполнения полей входных параметров диалоговой панели формирования команды сослаться на метку группы, то имя группы не будет размещено в текущем активном поле ввода, а вместо него, начиная с текущего поля и во все последующие по одному, будут помещены имена переменных, являющихся компонентами этой группы. Такой подход позволяет автоматизировать процесс заполнения полей необходимыми данными, в особенности в тех случаях, когда эти данные мыслятся в контексте некоторого единства. Разумеется, функции, в особенности те, которые могут быть самостоятельно спроектированы пользователем, должны создаваться с учетом такой возможности, существенно упрощающей ввод сложно структурированных данных

Объектная группа, состоящая из имен выходных параметров отношения, может быть сформирована прямо из диалоговой панели, формирующей это отношение. Такая группа будет создана, если во время нажатия на кнопку Ввод удерживается нажатой клавиша Shift. При этом система выведет дополнительное диалоговое окно, в котором предложит сформировать именованную группу, включающую в свой состав имена только что образованных переменных. После перехода в режим дополнительного формирования групп текст на кнопке Ввод отображается красным цветом. До окончания сеанса работы с панелью нажатие на кнопку Ввод будет автоматически вызывать окно формирования групп, поэтому удержание клавиши Shift до завершения сеанса более не требуется.
В том случае, если сеанс работы с диалоговой панелью завершен и она уже удалена с экрана, имеется возможность создания группы из выходных объектов последнего обработанного отношения. Для создания группы из таких объектов нужно воспользоваться комбинацией клавиш Alt+F12.

Диалоговая панель ввода параметров отношений позволяет единовременно вводить несколько однотипных команд с единым набором не изменяющихся параметров, за исключением одного, который называется ведущим. Этот режим функционирования панели полезен в тех случаях, когда за один раз для множества разноименных выходных объектов требуется ввести множество практически не отличающихся друг команд за исключением только одного параметра. В этом случае все общие для группы отношений поля заранее заполняются необходимыми данными, а затем поле с изменяющимися данными помечается левым флажком и в него с предварительно нажатой клавишей Shift путем указания курсором мыши на изображения объектов последовательно заносятся имена переменных, содержащих эти объекты. При этом имена выходных объектов генерируются автоматически, текст в выходных параметрах отношений отображается серым цветом, а сами имена отделяются друг от друга символом «точка с запятой». При этом поля ввода выходных имен объектов становятся недоступными для прямого редактирования. Формирование совокупности команд завершается нажатием кнопки Ввод. Кнопка Тест в данном режиме работы панели является недоступной.

Возврат к предыдущему состоянию алгоритма, выполняемый с помощью команды основного меню Редакция/Восстановить (Ctrl+Z), единовременно отменяет действие сразу всех команд группы, которые были внесены в алгоритм после нажатия кнопки Ввод.

Диалоговая панель позволяет также осуществить групповое редактирование команд, образованных единой функцией. Пусть в окне реализации алгоритма выделены несколько объектов, которые образованы одной и той же функцией. Это означает, что все команды, порождающие выделенные объекты имеют одинаковое количество выходных параметров и одинаковое количество выходных параметров. Содержание соответственных входных параметров во всех командах может быть одинаковым, но может и отличаться хотя бы в одной из команд. Вызов команды Редактировать из всплывающего контекстного меню этого окна, приведет к выводу на экран диалоговой панели, предназначенной для избирательного выбора объектов, подлежащих редактированию. В том случае, если будет сделан выбор двух или более объектов, то диалоговая панель перейдет в режим группового редактирования. В этом режиме поля выходных параметров заполнятся именами редактируемых объектов, разделенными символом «точка с запятой». Цвет текста, выводимого в этих полях, будет серым, символизирующим неактивность данных интерфейсных элементов ввода, вследствие чего изменение этого текста будет невозможным. Поля входных параметров будут заполнены следующим образом:

  1. Если соответственные параметры всех редактируемых объектов совершенно одинаковы, то тогда текст этого параметра будет выведен в соответственном элементе ввода.
  2. Если хотя бы один из соответственных параметров всех редактируемых объектов отличен от остальных, то тогда соответственное ему поле остается незаполненным. Незаполненность поля означает, что за каждым параметром закрепляется то значение, которое у него было до момента редактирования.

Если в незаполненное поле вносятся какие-либо данные, то это будет означать, что при нажатии на кнопку Ввод соответственные параметры всех подвергаемых редактированию команд примут это значение, в то время как незаполненные поля оставят соответственные поля у редактируемых команд прежними.

Групповое редактирование команд позволяет присвоить какому-либо параметру всех редактируемых объектов общее значение, не затрагивая при этом остальных параметров оставленных незаполненными. Независимо от того, что некоторые поля входных параметров диалоговой панели не заполнены текстом, кнопка Ввод является активной и при нажатии на нее исполнительная подсистема Симплекса внесет изменения в общий состав команд алгоритма с учетом изменений всех команд редактируемой группы и запустит алгоритм на исполнение. Кнопка Тест этой диалоговой панели в данном режиме неактивна.

Возврат к предыдущему состоянию алгоритма, выполняемый с помощью команды основного меню Редакция/Восстановить (Ctrl+Z), единовременно отменяет действие сразу всех команд группы, которые были внесены в алгоритм после нажатия кнопки Ввод.

Арифметические выражения в полях входных параметров.

Помимо имен списочных переменных, поля входных параметров могут содержать арифметические выражения, начинающиеся со знака равенства =.

В арифметических операциях могут использоваться числовые константы, списочные переменные симплекса и предопределенные математические функции.

Определены следующие математические операции:
сложение (простое согласование - знак +; множественное согласование - знаки ++);
вычитание (простое согласование - знак -; множественное согласование - знаки --);
умножение (простое согласование - знак *; множественное согласование - знаки **);
деление (простое согласование - знак /; множественное согласование - знаки //).
возведение в степень (простое согласование - знак ^).

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

Перечень функций, предопределенных в системе:

sin - синус угла в градусах;
cos - косинус угла в градусах;
tg - тангенс угла в градусах;
abs - абсолютная величина;
ln - логарифм натуральный;
lg - логарифм десятичный;
exp - экспонента;
sqr - возведение в квадрат;
sqrt - извлечение квадратного корня.

Команда может поступать через панель, считываться из файла, формироваться исполнительной системой Пролог. Динамическое редактирование.

Использование конструктора.
В ряде случаев для задания значений параметров пользователю приходится использовать достаточно сложные конструкции и записи. Некоторые из таких записей имеют достаточно сложную структуру, поэтому они могут становиться источником не только синтаксических, но и логических ошибок, которые могут существенно затруднять работу пользователя. Для упрощения ввода подобных конструкций в системе Симплекс имеется специальное диалоговое окно, которое автоматически синтезирует сложные записи, а на долю пользователя остается работа по корректному заполнению лишь некоторых текстовых полей. Некоторые записи требуют выполнения определенных математических расчетов, поэтому среди команд данной диалоговой панели есть такие, которые выполняют некоторые типовые расчеты, получают числовые значения и передают их в поля выходных параметров панели формирования команды.
Для вызова диалоговой панели-конструктора необходимо воспользоваться кнопкой K, которая расположена справа от поля ввода каждого из входных параметров. Работа в диалоговой панели завершается нажатием на кнопки Добавить и Внести.
Двойной щелчок левой кнопкой мыши над полем ввода входного параметра приводит к вызову диалоговой панели формирования команды, которая продуцирует объекты переменной, записанной в этом поле. Если поле содержит не одну переменную, а некоторое выражение, то двойной щелчок не вызывает каких-либо действий системы. Данный режим работы системы позволяет оперативно находить команды, объявляющие предков объекта, который содержится в переменной, над полем которой был сделан первый двойной щелчок. Режим позволяет анализировать структуру алгоритма, исследовать влияние одних объектов на другие, исправлять найденные ошибки и проводить необходимую коррекцию состава отношений алгоритма.
При нажатии на кнопку Внести ___
При нажатии на кнопку Добавить ___
Фиксация. Принципы изменения выхода от нового входа.
Греческие буквы и индексные конструкции.
Двойной щелчок на поле входного параметра
Кнопка подсветки S
Флажок NIL
Время «жизни» панели запроса
Ввод команды с подтверждением и без него.
Вызовы по выделению. Редактирование последнего.
Подключенные и неподключенные панели редактирования.
Реакция на циклическую зависимость и рекурсия.
Сдвиговое изменение порядка параметров  (правые флажки)
Выпадающий список выходных параметров.
Двойной щелчок над входным параметром меняет текст на греческий.
Первый пробел в поле входного параметра заменяется на минус.
Команда Освободить (в параметре). При освобождении возможно исчезновение объектов-братьев.
Вставить, как текст. Добавление кавычек.
Заменить переменной.
Фиксация местоположения панели ввода
Действие команд переопределения (Ctrl+Световая кнопка ввода команды)
Двойной щелчок по метке входного параметра вызывает диалоговое окно ввода комментария.
Координатное и размерное автозаполнение полей при выходе курсора в рабочее поле окна. Виды функций, реагирующих на такой выход.
Временное сохранение значений параметров функций во время динамического редактирования. Такое редактирование команды возможно, причем многократно, в то же время имеется возможность возврата к значениям параметров до редактирования, поскольку они сохранены в панели.
Подсказка при наведении
Сохранность атрибутов при редактировании.
Формирование атрибутов команды при смене слоев в окне реализации алгоритма.
Формирование прототипа функции
Подсветка объектов при вызове производных функций.
Ctrl, Shift и Alt при вводе над правыми флажками. Частные случаи флажков при занятии позиций. Установка диапазона выделения флажков последовательным вводом Alt и Ctrl. GetKeyState
Циклически сдвинуть + Ctrl – выполнение сдвига, выполнение команды без подтверждения.
Редактирование “поверх” старых параметров. Перед сдвигом текст параметра выделяется.
Правила формирования конструкций согласования.

EString:='onenter('+EString+').'; Взаимодействие с логическим окном

Пункты контекстного меню:

Cодержимое группы Команда активна, если предварительно были выделены одна или несколько объектных групп. Команда предназначена для выделения объектов, включенных в исходные группы. После выполнения команды группы исключаются из списка выделенных объектов.
Редактировать

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

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

Если выделены два или более объекта, порожденные общей для всех функцией, то выводится то осуществляется вызов диалоговой панели ввода отношения, поля которой автоматически заполняются следующим образом:

Если значения входного параметра для всех объектов одинаковы, то поле такого параметра заполняется этим значением.

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

Выделить
Добавить к группе Команда предназначена для включения в состав предварительно выделенной группы объекта также находящегося в предварительном выделении.
Исключить из группы Команда предназначена для включения из состава предварительно выделенной группы объекта также находящегося в предварительном выделении.
Все В выделение включаются все объекты текущего алгоритма.
Избирательно
Все видимое в слое В выделение включаются все объекты, принадлежащие к текущему отображаемому слою визуализации алгоритма. Если режим навигации является активным, то выделению подлежат объекты, не превышающие позицию навигатора.
Только видимое в слое Команда предназначена для исключения имен объектов из текущего выделения, если эти объекты не видны в текущем слое.
Выключить невыделенное Команда предназначена для исключения из изображения объектов, которые не являются объектами текущего выделения. Для возврата к исходному состоянию применяется команда Включить все, которая заменяет исходный пункт меню.
С родителями Команда предназначена для поиска и включения в окончательное выделение объектов алгоритма непосредственно порождающих объекты предварительно выполненного выделения. Исходные объекты включаются в окончательное выделение.
Только родителей Команда предназначена для поиска и включения в окончательное выделение объектов алгоритма непосредственно порождающих объекты предварительно выполненного выделения. Исходные объекты не включаются в окончательное выделение.
С предками Команда предназначена для поиска и включения в окончательное выделение всех объектов алгоритма, являющихся предками объектов предварительно выполненного выделения. Исходные объекты включаются в окончательное выделение.
Только предков Команда предназначена для поиска и включения в окончательное выделение всех объектов алгоритма, являющихся предками объектов предварительно выполненного выделения. Исходные объекты не включаются в окончательное выделение.
С детьми Команда предназначена для поиска и включения в окончательное выделение объектов алгоритма непосредственно порождаемых объектами предварительно выполненного выделения. Исходные объекты включаются в окончательное выделение.
Только детей Команда предназначена для поиска и включения в окончательное выделение объектов алгоритма непосредственно порождаемых объектами предварительно выполненного выделения. Исходные объекты не включаются в окончательное выделение.
С потомками Команда предназначена для поиска и включения в окончательное выделение всех объектов алгоритма, являющихся потомками объектов предварительно выполненного выделения. Исходные объекты включаются в окончательное выделение.
Только потомков Команда предназначена для поиска и включения в окончательное выделение всех объектов алгоритма, являющихся потомками объектов предварительно выполненного выделения. Исходные объекты не включаются в окончательное выделение.
Братьев Команда предназначена для выделения объектов, порождаемых в тех же самых отношениях, которыми были порождены предварительно объекты предварительного выделения.
Семейство
Родство
Связь Команда подготавливает два предварительных списка объектов, в один из которых включены все потомки предварительно выделенных объектов (включая их самих), а в другой включены все предки предварительно выделенных объектов (включая их самих). В окончательное выделение включаются объекты одновременно представленные в первом и во втором списках. Тем самым осуществляется поиск всех прямых взаимосвязей между объектами предварительного выделения. Если общих элементов в обоих списках нет, то окончательное выделение пусто.
}Связь{ +
По связи
Группу объекта Команда предназначена для поиска и выделения объектных групп, к которым принадлежат предварительно выделенные объекты. После определения групп, исходные объекты исключаются из общего выделения.
Инверсно по отношениям
Инверсно по объектам
Поля объекта
Копировать объект как константу
По имени... В выделение включаются объекты алгоритма с именами, соответствующие маске типа wildcard, которая указывается в дополнительно вызываемом диалоговом окне. Специальные символы маски: * - любая последовательность символов; % - любой символ на соответственном знакоместе. При вызове команды с нажатой клавишей Shift выделение в соответствии с маской осуществляется среди объектов-точек, инцидентных с предварительно выделенными объектами. По завершении выбора предварительно выделенные объекты исключаются из состава окончательного выделения. Команда активизируется, если в предварительном выделении содержится хотя бы один объект.
По комментарию...
Бесконечное Команда осуществляет выделение всех объектов, имеющих атрибут бесконечного или инцидентностного начертания.
Смежные
По функции Команда выделяет все объекты, порождаемые теми же функциями, которыми были порождены объекты предварительного выделения.
Одноименные в окне
Контейнер
Инцидентные точки Команда предназначена для выделения объектов, инцидентных с предварительно выделенными объектами. Предварительно выделенные объекты исключаются из состава окончательного выделения.
Неопределенные Команда выделяет все объекты, значения которых не определены.
Раскладка по алфавиту Команда предназначена для сортировки всех объектов в списке выделения по расположению их имен в алфавитном порядке. Команда предназначается для упорядочения имен при переноси информации в текстовые редакторы или редакторы формул MathML. Команда активизируется, если в выделении содержится хотя бы один объект.
Блокировать выделение Команда предназначена для предотвращения изменений в списке предварительно выделенных объектов. Команда позволяет защитить выделение от случайных действий, способных стать причиной его изменений.
Окно процедуры

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

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

Без использования клавиши Ctrl исходное окно заменяется на окно порождающего алгоритма.

Ассоциировать
Изъять Команда предназначена для выполнения копирования отношений, порождающих предварительно выделенные объекты в буфер Clipboard с одновременным изъятием этих отношений из состава алгоритма. В процессе копирования выводятся дополнительные диалоговые панели для уточнения варианта копирования (все, с предками, с потомками и т.п.).
Копировать Команда предназначена для выполнения копирования отношений, порождающих предварительно выделенные объекты в буфер Clipboard. В процессе копирования выводятся дополнительные диалоговые панели для уточнения варианта копирования (все, с предками, с потомками и т.п.).
Вставить Команда предназначена для вставки в алгоритм отношений из буфера Clipboard, предварительно скопированных из того же или другого алгоритма в этот буфер. Если системой будет обнаружено совпадение имен, то пользователю будет выдан запрос на подтверждение замены уже имеющихся отношений с одноименными объектами или на выполнение вставки отношений с генерацией в новых не занятых в алгоритме имен.
Удалить Команда предназначена для удаления из состава отношений алгоритма отношений, порождающих объекты предварительного выделения. Следует обращать внимание на то, что вместе с выделенными объектами будут удаляться и другие объекты, если они порождались в тех же отношениях, что и объекты предварительного выделения.
Переименовать Команда предназначена для вызова менеджера переименования предварительно выделенных объектов.
Освободить Команда предназначена для замены отношения, порождающего выделенный объект, другим т.н. свободным отношением, которое формирует точно такое же значение, которое образовывало в этом объекте замененное отношение. Тем самым, выделенный объект теряет связь со своими предками и рассматривается как свободный объект, лишенный истории своего прежнего создания.
Копировать имена Команда предназначена для занесения в буфер Clipboard имен объектов, выделенных на момент вызова команды.
Активизировать группу
Редактировать группу
Копировать в Corel
Атрибуты Команда предназначена для вызова менеджера атрибутов для изменения визуальных характеристик предварительно выделенных объектов.
Чужие атрибуты
Слой Команда предназначена для вызова диалогового окна менеджера визуальных слоев.
Алгоритм Команда предназначена для вызова диалогового окна настройки параметров алгоритма. При вызове команды с нажатой клавишей Ctrl осуществляется вызов окна связи с алгоритмом
Проверочный алгоритм
Открыть базовый алгоритм Команда предназначена для вызова окна порождающего алгоритма, в отношении которого создавался проверочный алгоритм.
Метод Команда предназначена для вызова диалогового окна настройки параметров метода производного объекта.
Входной параметр Команда назначения выделенных объектов входными параметрами алгоритма. В процессе выполнения команды выводятся дополнительные панели для формирования названий входных параметров.
Выходной параметр Команда назначения выделенных объектов выходными параметрами алгоритма. В процессе выполнения команды выводятся дополнительные панели для формирования названий выходных параметров.
Окно Вызов диалоговой панели для изменения параметров отображения окна алгоритма и ввода параметров копирования изображений в систему CorelDraw!
Навигатор Команда предназначена для вызова подсистемы навигации
Отображение
Характеристика