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

How to open a page programatically and with parent as caller?


Автор Повідомлення
Повідомлення створено: 31. 08. 2009 [03:21]
Unaie
Unai Ezta
Автор теми
Зареєстрован(а) с: 30.06.2009
Повідомлення: 42
I have boxes inside of a widget. I want to call control pages when boxes are pressed,
but I cannot use events attribute "wsFocusIn:: open:/pg_...." , because of dynamic linkage. The source (caller) must be the parent.

Something like this:

JAVASCRIPT
//events
if (evrez=="wsFocusIn:/b1") OPEN(Page Path 1, Caller Id);
else if (evrez=="wsFocusIn:/b2") OPEN(Page path 2, Caller Id);


Where "caller id" is id field from this widget.





[Повідомлення редагувалось 6 раз(ів), останній раз 31.08.2009 в 03:27.]
Повідомлення створено: 31. 08. 2009 [15:12]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3777
It is incorrect. For open page you can use command like:

vcaAttrSet(pgOpenAddr+"/a_pgOpenSrc",surcePageAddr);


Learn, learn and learn better than work, work and work.
Повідомлення створено: 31. 08. 2009 [21:45]
Unaie
Unai Ezta
Автор теми
Зареєстрован(а) с: 30.06.2009
Повідомлення: 42
I use:

JAVASCRIPT
if( ev_cur == "ws_FocusIn:/b1")  vcaAttrSet("/pg_control/pg_ElCadr"+"/a_pgOpenSrc",path);


This does not open ElCadr, so I put in b1 attribute "event process":

JAVASCRIPT
ws_FocusIn:: open:/pg_control/pg_ElCadr


But .... apparently it does nothing, because when ElCadr opens, his pgOpenSr is:
/ses_MYP/pg_so/.../wdg_w1/wdg_b1

And I Need it to be:
/ses_MYP/pg_so/.../wdg_w1

Because only w1 has links for dynamic linkage with ElCadr.


Basically the issue is I want to control 30 equal systems, then I make a widget to control and visualize one and I put 30 widgets on Screen. Each widget has internal buttons to call external lateral controls like ElCadr. All linkage is in this widget, and his internal widgets are hidden at this level. The problem is ElCard gets pgOpenSrc from childs, not for Parent, then Dynamic Linkage Fails.
Повідомлення створено: 03. 09. 2009 [19:15]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3777
Unaie wrote:

I use:

JAVASCRIPT
if( ev_cur == "ws_FocusIn:/b1")  vcaAttrSet("/pg_control/pg_ElCadr"+"/a_pgOpenSrc",path);


Perhaps you set path to "OpenSrc" attribute incorrect.

Unaie wrote:

This does not open ElCadr, so I put in b1 attribute "event process":

JAVASCRIPT
ws_FocusIn:: open:/pg_control/pg_ElCadr


See to creation user's signals for like reason into ElCadr for button "PID" process.

Learn, learn and learn better than work, work and work.
Повідомлення створено: 07. 09. 2009 [23:45]
Unaie
Unai Ezta
Автор теми
Зареєстрован(а) с: 30.06.2009
Повідомлення: 42
roman wrote:

See to creation user's signals for like reason into ElCadr for button "PID" process.


Thanks. User events was the answer.


A question. Which is the project rootpage path?

path="/ses_MYP/pg_so" is OK, but it is session dependant.

is there any keyword? something similar to: path=/ProjectRoot/pg_so?

I put global variables in pg_so attributes, and when I want to get them I need to do this "trick" in each widget in order to avoid session dependant paths.

JAVASCRIPT
GlobalVar=vcaAttrGet(Special.FLibSYS.strParsePath(path,0)+"/pg_so/a_GlobalVar");

Повідомлення створено: 08. 09. 2009 [08:40]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3777
Unaie wrote:

A question. Which is the project rootpage path?

path="/ses_MYP/pg_so" is OK, but it is session dependant.

is there any keyword? something similar to: path=/ProjectRoot/pg_so?

No special keywords present.

Unaie wrote:

I put global variables in pg_so attributes, and when I want to get them I need to do this "trick" in each widget in order to avoid session dependant paths.

JAVASCRIPT
GlobalVar=vcaAttrGet(Special.FLibSYS.strParsePath(path,0)+"/pg_so/a_GlobalVar");


It is correct now.

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



5055