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:
//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:
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":
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:
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":
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.
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.
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.
|