Commit e34d1c99 authored by Claes Sjofors's avatar Claes Sjofors

Button to open parent object classgraph added

parent 74fdf60a
199
!/**
! MbSimulate
! Group Pushbuttons/Methodbuttons
!
! <image> pwr_mbsimulate_gs.gif
!
! <h1>Description
! Method button for object graphs, to activate method 'Simulate'.
!
! Used in object graphs with the following settings.
!
! Invisible.Attribute <t><t>$cmd(check method/method="Simulate"/object=$object)
! Invisible.Dimmed <t><t>0
! Command.Command <t><t>call method/method="Simulate"/object=$object
! ToolTip.Text <t><t>Simulate
!
! The method is executed on activation of the button, and the button is invisible
! if the method is not present for the current object or in the current
! environment.
!
! <h1>Default dynamics
! Invisible <link>GeDynInvisible, ,$pwr_lang/man_geref.dat
! Command <link>GeDynCommand, ,$pwr_lang/man_geref.dat
! Tooltip <link>GeDynTooltip, ,$pwr_lang/man_geref.dat
!
!*/
1
100 141.516
135 141.516
101 20
102 -175
103 -135
104 27.562
136 27.562
105 100
106 -34
107 -26
108 0.8
109 0
110 0.8
111 0
116 0
117 0
118 131
119 118
120 0
121 Claes context
122 0
126 0.05
127 0.05
128 1
129 0.3
130 1.5
131 0.8
132 3
133 2
137 4510
138 3
139 2
134
22
2200 0
2201 3
2202 pwr_mbup
2203 300
2205 0
2204
2206 0
2207
2208
2209 0
2210 0
2211 0
2212 0
2213 4
2214
pwrp_pop:
pwrp_exe:
ssab_exe:
pwr_exe:
2215 128
2236 8256
2216 0
2221 0
2237 0
2238 0
2239 0
2240 0
2241 0
2242 0
2217 0
2218 0
2219 1
2220
2230 0
2231 0
2222
2223 1
2224 0.5
2232 0.5
2225 0.5
2226 0
2227
2228 0
2229 0
2233 1
2234 1
2235 0
2243 0
2245 0
2244
1
100 1
101 1
102 65532
103 0
99
99
123
2
99
124
2
99
125
2
19
1904 O0
1900 0.8
1901 0
1902 0.8
1903 1.77636e-15
1908 0
1909 34
1910 34
1911 1
1915 1
1913 15
1916 2
1914 0
1918 0
1919 0
1920 0
1917 0
1921 0
1922 4
1923 0
1907 0
1906
1905
5
500 0
501 1
504 1
505 1
502
7
700 3.6
701 12
99
503
7
700 4.4
701 12.8
99
99
1912
28
2800 1
2801 0
2802 -3.6
2803 0
2804 1
2805 -12
2806 0
99
99
26
2604 O2
2600 0.65
2601 0.15
2602 0.55
2603 0.2
2605
25
2500 0
2501 1
2503 1
2504 0
2502
2
7
700 0.15
701 0.55
99
7
700 0.4
701 0.2
99
7
700 0.65
701 0.55
99
7
700 0.15
701 0.55
99
99
99
2608 0
2609 39
2610 39
2611 0
2616 0
2614 5
2617 2
2615 0
2618 1
2607 0
2606
2612
28
2800 1
2801 0
2802 0
2803 0
2804 1
2805 0
2806 0
99
2613 0
2619 0
2620 0
2621 0
2622 0
2623 0
2624 4
2625 1
99
99
99
123
2
3
300 pwr_mbup
301
2
19
1904 O0
1900 0.8
1901 0
1902 0.8
1903 1.77636e-15
1908 0
1909 34
1910 34
1911 1
1915 1
1913 15
1916 2
1914 0
1918 0
1919 0
1920 0
1917 0
1921 0
1922 4
1923 0
1907 0
1906
1905
5
500 0
501 1
504 1
505 1
502
7
700 3.6
701 12
99
503
7
700 4.4
701 12.8
99
99
1912
28
2800 1
2801 0
2802 -3.6
2803 0
2804 1
2805 -12
2806 0
99
99
26
2604 O2
2600 0.65
2601 0.15
2602 0.55
2603 0.2
2605
25
2500 0
2501 1
2503 1
2504 0
2502
2
7
700 0.15
701 0.55
99
7
700 0.4
701 0.2
99
7
700 0.65
701 0.55
99
7
700 0.15
701 0.55
99
99
99
2608 0
2609 39
2610 39
2611 0
2616 0
2614 5
2617 2
2615 0
2618 1
2607 0
2606
2612
28
2800 1
2801 0
2802 0
2803 0
2804 1
2805 0
2806 0
99
2613 0
2619 0
2620 0
2621 0
2622 0
2623 0
2624 4
2625 1
99
99
302 0
305 0
306
307
304 0
303
308 128
321 8256
309 0
313 0
322 0
323 0
324 0
325 0
326 0
327 0
310 0
311 0
312
314
315 1
316 1
317 0
318 0
319 0
320 0
328 0
329
1
100 1
101 1
102 65532
103 0
99
99
99
99
......@@ -229,7 +229,7 @@ dcli_tCmdTable xnav_command_table[] = {
"/SCROLLBAR", "/WIDTH", "/HEIGHT", "/MENU",
"/NAVIGATOR", "/CENTER", "/OBJECT", "/NEW",
"/INSTANCE", "/COLLECT", "/FOCUS", "/INPUTEMPTY",
"/ENTRY", "/TITLE", "/ACCESS", "/CLASSGRAPH", "/BYPASS",
"/ENTRY", "/TITLE", "/ACCESS", "/CLASSGRAPH", "/PARENT", "/BYPASS",
"/CLOSEBUTTON", "/TARGET", "/TRIGGER", "/TYPE", "/FTYPE", ""}
},
{
......@@ -1677,7 +1677,8 @@ static int xnav_show_func( void *client_data,
strcpy( block_title, Lng::translate( "Blocked Alarms"));
xnav->ev = xnav->ev_new( event_title, alarm_title, block_title,
xnav->gbl.OpObject, 0, 1, 0, xnav->gbl.AlarmReturn,
xnav->gbl.AlarmAck, xnav->gbl.AlarmBeep, xnav->gbl.op_wind_pop, &sts);
xnav->gbl.AlarmAck, xnav->gbl.AlarmBeep, xnav->gbl.op_wind_pop,
xnav->gbl.op_wind_eventname_seg, &sts);
if ( EVEN(sts))
{
delete xnav->ev;
......@@ -1744,7 +1745,8 @@ static int xnav_show_func( void *client_data,
strcpy( block_title, Lng::translate( "Blocked Alarms"));
xnav->ev = xnav->ev_new( event_title, alarm_title, block_title,
xnav->gbl.OpObject, 1, 0, 0, xnav->gbl.AlarmReturn,
xnav->gbl.AlarmAck, xnav->gbl.AlarmBeep, xnav->gbl.op_wind_pop, &sts);
xnav->gbl.AlarmAck, xnav->gbl.AlarmBeep, xnav->gbl.op_wind_pop,
xnav->gbl.op_wind_eventname_seg, &sts);
if ( EVEN(sts))
{
delete xnav->ev;
......@@ -1775,7 +1777,8 @@ static int xnav_show_func( void *client_data,
strcpy( block_title, Lng::translate( "Blocked Alarms"));
xnav->ev = xnav->ev_new( event_title, alarm_title, block_title,
xnav->gbl.OpObject, 0, 0, 1, xnav->gbl.AlarmReturn,
xnav->gbl.AlarmAck, xnav->gbl.AlarmBeep, xnav->gbl.op_wind_pop, &sts);
xnav->gbl.AlarmAck, xnav->gbl.AlarmBeep, xnav->gbl.op_wind_pop,
xnav->gbl.op_wind_eventname_seg, &sts);
if ( EVEN(sts))
{
delete xnav->ev;
......@@ -2043,7 +2046,8 @@ static int xnav_eventlist_func( void *client_data,
strcpy( block_title, Lng::translate( "Blocked Alarms"));
xnav->ev = xnav->ev_new( event_title, alarm_title, block_title,
xnav->gbl.OpObject, 0, 0, 0, xnav->gbl.AlarmReturn,
xnav->gbl.AlarmAck, xnav->gbl.AlarmBeep, xnav->gbl.op_wind_pop, &sts);
xnav->gbl.AlarmAck, xnav->gbl.AlarmBeep, xnav->gbl.op_wind_pop,
xnav->gbl.op_wind_eventname_seg, &sts);
if ( EVEN(sts))
{
delete xnav->ev;
......@@ -2415,8 +2419,11 @@ static int xnav_open_func( void *client_data,
pwr_tAName instance_str;
char *instance_p;
int classgraph;
int parent;
pwr_tStatus sts;
parent = ODD( dcli_get_qualifier( "/PARENT", 0, 0));
if ( ODD( dcli_get_qualifier( "/INSTANCE", instance_str, sizeof(instance_str)))) {
instance_p = instance_str;
......@@ -2474,6 +2481,14 @@ static int xnav_open_func( void *client_data,
return XNAV__HOLDCOMMAND;
}
}
if ( parent) {
// Replace instance object with parent object attribute
char *s;
if ( (s = strrchr( instance_str, '.')))
*s = 0;
else if ( (s = strrchr( instance_str, '-')))
*s = 0;
}
}
else
instance_p = 0;
......@@ -5038,6 +5053,21 @@ static int xnav_check_func( void *client_data,
xnav->priv, method_str);
return sts;
}
if ( cdh_NoCaseStrncmp( arg1_str, "ISATTRIBUTE", strlen( arg1_str)) == 0)
{
// Command is "CHECK ISATTRIBUTE"
pwr_tAName object_str;
if ( EVEN( dcli_get_qualifier( "/OBJECT", object_str, sizeof(object_str)))) {
xnav->message('E', "Enter object");
return XNAV__HOLDCOMMAND;
}
if ( strrchr( object_str, '.'))
return 1;
else
return 0;
}
else
xnav->message('E',"Syntax error");
return 1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment