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

<< Click to Display Table of Contents >>

Navigation:  Проект > Экраны > Пользовательские библиотеки >

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

Previous pageReturn to chapter overviewNext page

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

ellipseandpolygon

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

pumpgroup

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

tagsellipse

Мы хотим, чтобы цвет эллипса был привязан к тегу с таким именем: Pump{number}State. Где {number} номер экземпляра. А также мы хотим, чтобы при нажатии пользователем на объект появлялось всплывающее окно с информацией о состоянии и описанием. Всплывающее окно выглядит так:

pumppopupwindow

Где объекты с именами PumpState и PumpDescription (тексты этих объектов аналогичны названию объектов)отобразит информацию о состоянии насоса и его описание.

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

openellipse

Появится окно свойств объекта:

ellipseproperties

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

ellipseudproperties

 

 

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

ellipsefillcolortab

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

indirectagname

Нажмите OK и закройте окно Выбора тега. Т.к. пользовательское свойство "number" равно 1 свойство Цвет заливки будет привязано к тегу Pump1State:

fillcolorellipse

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

testfunctionality

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

callpopupscript

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

addscripts

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

scripttextexample

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

popupwindowrun

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

Теперь мы можем добавить этот графический объект в нашу библиотеку.:

addtolibrary2

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

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