УкраїнськаEnglishmRussian
Вход/Новый
В теме нет новых постов

Динамическое добавление страницы в логический контейнер


Автор Сообщение
Сообщение создано: 31. 01. 2012 [10:21]
yozhik
Алексей Николаев
Создатель темы
Зарегистрирован(а) с: 29.11.2010
Сообщения: 127
Есть задача в рантайме скриптом страницы RootSo добаить мнемосхему (из библиотеки) в /pg_so/pg_mn. Подходящая на первый взляд конструкция
JAVASCRIPT
nw = this["pg_mn"].wdgAdd( "pg_1", "mnemo", "/wlb_project/wdg_mnemo" );
SYS.messDebug( "nw", nw );
, однако, не работает. Работает, однако,
JAVASCRIPT
nw = this.wdgAdd( "pg_1", "mnemo", "/wlb_project/wdg_mnemo" );
SYS.messDebug( "nw", nw );

В самом логическом контейнере скрипт не написать (хотя это решило бы проблему). В связи с этим вопрос: а как добавить в рантайме страницу в логический контейнер?
Сообщение создано: 31. 01. 2012 [10:38]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3742
"yozhik" wrote:

Есть задача в рантайме скриптом страницы RootSo добаить мнемосхему (из библиотеки) в /pg_so/pg_mn.

И зачем?

"yozhik" wrote:

Подходящая на первый взляд конструкция
JAVASCRIPT
nw = this["pg_mn"].wdgAdd( "pg_1", "mnemo", "/wlb_project/wdg_mnemo" );
SYS.messDebug( "nw", nw );
, однако, не работает.

Естественно потому как страницы-"логический контейнер" не может иметь виджетов, который таким образом Вы пытаетесь добавить! А добавлять нужно страницу в логический контейнер, что не имеет смысла!

"yozhik" wrote:

Работает, однако,
JAVASCRIPT
nw = this.wdgAdd( "pg_1", "mnemo", "/wlb_project/wdg_mnemo" );
SYS.messDebug( "nw", nw );


Естественно.

"yozhik" wrote:

В самом логическом контейнере скрипт не написать (хотя это решило бы проблему). В связи с этим вопрос: а как добавить в рантайме страницу в логический контейнер?

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

Learn, learn and learn better than work, work and work.
Сообщение создано: 31. 01. 2012 [11:14]
yozhik
Алексей Николаев
Создатель темы
Зарегистрирован(а) с: 29.11.2010
Сообщения: 127
"roman" wrote:

И зачем?

Не для задания видимости. Есть несколько проектов с одинаковой структурой (проектом) визуализации, но разным содержанием мнемосхем. Так вот хочется проект визуализации хранить в одной БД, а библиотека мнемосхем у каждого проекта своя. Тогда в конфигурационном xml файле при загрузке можно цеплять к проекту нужную БД с мнемосхемами и, соответственно, добавлять в проект мнемосхему при старте скрипта. Может есть способ этого достичь лучше?

"roman" wrote:

А добавлять нужно страницу в логический контейнер, что не имеет смысла!

Почему не имеет смысла добавлять страницы в логический контейнер? Он ведь и создан для того чтобы быть контейнером для страниц. Если это делается из Vision-разработка, то и в рантайме значит можно было бы сделать добавление.

[Сообщение редактировалось 1 раз(а), в последний раз 31.01.2012 в 11:20.]
Сообщение создано: 01. 02. 2012 [06:53]
yozhik
Алексей Николаев
Создатель темы
Зарегистрирован(а) с: 29.11.2010
Сообщения: 127
Изменил тип с Logical container на Container. Виджет, соответственно, добавился, но как виджет (wdg_), а не как страница (pg_). И реализованная в скрипте RootSo навигация не осуществляется.

Роман, Вы не видите смысла в добавлении методов pgAdd и pgDel (по аналогии с wdgAdd и wdgDel) в OpenSCADA?
Сообщение создано: 01. 02. 2012 [09:38]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3742
"yozhik" wrote:

Роман, Вы не видите смысла в добавлении методов pgAdd и pgDel (по аналогии с wdgAdd и wdgDel) в OpenSCADA?

Не вижу и об этом я говорил выше.

Learn, learn and learn better than work, work and work.



5259