EnglishУкраїнськаmRussian
Login/New
Topic with no new replies

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


Author Message
Written on: 31. 08. 2009 [03:21]
Unaie
Unai Ezta
Topic creator
registered since: 30.06.2009
Posts: 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.





[This article was edited 6 times, at last 31.08.2009 at 03:27.]
Written on: 31. 08. 2009 [15:12]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
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.
Written on: 31. 08. 2009 [21:45]
Unaie
Unai Ezta
Topic creator
registered since: 30.06.2009
Posts: 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.
Written on: 03. 09. 2009 [19:15]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
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.
Written on: 07. 09. 2009 [23:45]
Unaie
Unai Ezta
Topic creator
registered since: 30.06.2009
Posts: 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");

Written on: 08. 09. 2009 [08:40]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
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.



1451