Пример: Как создать новый графический объект.

<< Click to Display Table of Contents >>

Навигация  Проект > Экраны > Пользовательские библиотеки >

Пример: Как создать новый графический объект.

Previous pageReturn to chapter overviewNext page

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

 

Давайте создадим объект насоса, состоящий из двух простых объектов: Эллипс и Полигон:

 

ellipseandpolygon

Сгруппируем данные объекты:

pumpgroup

Добавим 3 тега в наш проект:

tagsellipse

 

Мы хотим, чтобы цвет эллипса был привязан к тегу с таким именем: Pump{number}State, где {number} - номер экземпляра графического объекта.

 

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

Создадим всплывающее окно (экран):

 

clip0047

 

Добавим графические объекты на экран:

pumppopupwindow

Где объекты с именами PumpState и PumpDescription отобразят информацию о состоянии насоса и его описание.

 

clip0050

clip0051

 

Для объекта эллипса создадим определяемые пользователем свойства (пользовательскте свойства) - number и description. Для этого нужно дважды щелкнуть мышью по объекту Ellipse. (или выберите пункт меню Свойства объекта из контекстного меню) в Окне экрана. Появится окно Свойств объекта:

 

ellipseproperties

 

Нажмите кнопку "Коллекция" свойства "Пользовательские" и добавьте наши свойства:

 

ellipseudproperties

 

 

Затем закройте это окно и окно Свойства объекта нажав "OK", для того чтобы подтвердить эти изменения. Затем откройте окно со свойствами Эллипса и откройте закладку Цвет заливки:

 

ellipsefillcolortab

 

Для того чтобы привязать тег к данному свойству нажмите "..." и запишите Pump{number}State, где {number} - наше пользовательское свойство:

 

indirectagname

 

Нажмите "OK" и закройте окно выбора тега. Т.к. пользовательское свойство "number" равно 1, свойство Цвет заливки будет привязано к тегу Pump1State. Остальные параметры оставим по умолчанию (Значение тега = 0 (false) :  цвет заливки красный; Значение тега != 0 (true) :  цвет заливки зеленый)

 

fillcolorellipse

 

Нажмите "OK", для того чтобы закрыть окно свойств объекта. Давайте проверим функциональность. Запустите имитацию и измените значение тега Pump1State с false на true:

 

testfunctionality1

 

Для того чтобы вызвать всплывающее окно давайте создадим скрипт:

 

callpopupscript

 

Данный скрипт добавим к скриптам объекта Эллипс:

 

clip0046

addscripts

 

Текст скрипта выглядит следующим образом:

 

scripttextexample

 

После того как записали скрипт обязательно запустите его путем нажатия кнопки на панели инструментов: clip0048

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

 

popupwindowrun

 

Вы можете создать другой экземпляр насоса и изменить определяемое пользователем свойство number на 2 или 3, для того чтобы привязать насосы к тегам Pump2State и Pump3State. Вы также можете изменить свойство description для каждого эллипса насоса:

 

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

Теперь мы можем добавить этот графический объект в нашу библиотеку. Сначала надо создать библиотеку: откройте окно "Добавить графический объект", выберите "Пользовательские" и по щелчку правой кнопки мыши выберите "Новая библиотека":

 

clip0049

 

Задайте имя для библиотеки, например, "Насосы". Добавим объект в библиотеку:

 

addtolibrary3

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

Важно! В новом проекте Вам нужно создать такие же имена тегов.

 

Вы можете скачать проект из примера здесь.