Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
P
proview
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Esteban Blanc
proview
Commits
bf3610bb
Commit
bf3610bb
authored
Sep 16, 2009
by
Claes Sjofors
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Operator window: new status bar and alarm time viewed
parent
3da6358f
Changes
17
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
445 additions
and
39 deletions
+445
-39
src/doc/man/en_us/man_opg.dat
src/doc/man/en_us/man_opg.dat
+7
-0
src/doc/man/src/opg_fig6.png
src/doc/man/src/opg_fig6.png
+0
-0
src/doc/man/sv_se/man_opg.dat
src/doc/man/sv_se/man_opg.dat
+7
-0
src/lib/rt/src/rt_errh.h
src/lib/rt/src/rt_errh.h
+5
-5
src/wbl/pwrb/src/pwrb_c_opplace.wb_load
src/wbl/pwrb/src/pwrb_c_opplace.wb_load
+4
-3
src/wbl/pwrb/src/pwrb_td_opwindlayoutmask.wb_load
src/wbl/pwrb/src/pwrb_td_opwindlayoutmask.wb_load
+21
-1
xtt/exe/rt_xtt/src/xtt_main.cpp
xtt/exe/rt_xtt/src/xtt_main.cpp
+16
-1
xtt/lib/xtt/gtk/xtt_op_gtk.cpp
xtt/lib/xtt/gtk/xtt_op_gtk.cpp
+201
-28
xtt/lib/xtt/gtk/xtt_op_gtk.h
xtt/lib/xtt/gtk/xtt_op_gtk.h
+5
-0
xtt/lib/xtt/src/xtt_evlist.cpp
xtt/lib/xtt/src/xtt_evlist.cpp
+5
-0
xtt/lib/xtt/src/xtt_evlist.h
xtt/lib/xtt/src/xtt_evlist.h
+5
-0
xtt/lib/xtt/src/xtt_op.cpp
xtt/lib/xtt/src/xtt_op.cpp
+117
-1
xtt/lib/xtt/src/xtt_op.h
xtt/lib/xtt/src/xtt_op.h
+38
-0
xtt/lib/xtt/src/xtt_xnav.cpp
xtt/lib/xtt/src/xtt_xnav.cpp
+5
-0
xtt/lib/xtt/src/xtt_xnav_command.cpp
xtt/lib/xtt/src/xtt_xnav_command.cpp
+7
-0
xtt/mmi/xtt/en_us/xtt_lng.dat
xtt/mmi/xtt/en_us/xtt_lng.dat
+1
-0
xtt/mmi/xtt/sv_se/xtt_lng.dat
xtt/mmi/xtt/sv_se/xtt_lng.dat
+1
-0
No files found.
src/doc/man/en_us/man_opg.dat
View file @
bf3610bb
...
...
@@ -274,6 +274,13 @@ pushbuttons to iconify and delete the window. It is divided in tree parts, to th
current alarms and messages are viewed, in the middle there are pushbuttons for some base
functions, and to the left there are pushbuttons configured for this operator place.
<h2>Status bar
The top row is a status bar. It shows who is logged in on on which node. For tha current
node, and for all nodes that there are node supervision configured, an indicator for system
status is viewed. Green states that everything is all right, yellow indicates warning, red
error and flashing red fatal error. If you click on a node, the status graph for the node
is opened.
<h2>Alarms and messages
In the left part of the operator window alarm and messages are displayed.
...
...
src/doc/man/src/opg_fig6.png
View replaced file @
3da6358f
View file @
bf3610bb
17.8 KB
|
W:
|
H:
30.4 KB
|
W:
|
H:
2-up
Swipe
Onion skin
src/doc/man/sv_se/man_opg.dat
View file @
bf3610bb
...
...
@@ -277,6 +277,13 @@ att ikonisera och ta bort f
larm och meddelanden, i mitten finns en meny och knappar för olika basfunktioner, och till
vänster knappar som är konfigurerade för just den här operatörsplatsen.
<h2>Statusfält
Den översta raden är ett statusfält. Här visas vem som är inloggad och på vilken nod. För
den aktuella noden, och för alla noder som det finns nod-övervakning på, visas en indikator
för nodens systemstatus. Grön innebär att allt fungerar som det ska, gult indikerar varning,
rött fel och blinkande rött fatalt fel. Om man klickar på en nod öppnas status-bilden för
noden.
<h2>Larm och meddelanden
I vänstra delen av operatörsfönstret visas larm och meddelanden.
...
...
src/lib/rt/src/rt_errh.h
View file @
bf3610bb
...
...
@@ -53,11 +53,11 @@ extern "C" {
return (((long int)(sts)?((*sts)=(lsts)):(EVEN(lsts)?(errh_Bugcheck(lsts, (str)),(lsts)):(lsts))),a)
#endif
#define errh_SeveritySuccess(sts) ((
sts) & 7
== 3)
#define errh_SeverityInfo(sts) ((
sts) & 7
== 1)
#define errh_SeverityWarning(sts) ((
sts) & 7
== 0)
#define errh_SeverityError(sts) ((
sts) & 7
== 2)
#define errh_SeverityFatal(sts) ((
sts) & 7
== 4)
#define errh_SeveritySuccess(sts) ((
(sts) & 7)
== 3)
#define errh_SeverityInfo(sts) ((
(sts) & 7)
== 1)
#define errh_SeverityWarning(sts) ((
(sts) & 7)
== 0)
#define errh_SeverityError(sts) ((
(sts) & 7)
== 2)
#define errh_SeverityFatal(sts) ((
(sts) & 7)
== 4)
typedef
enum
{
errh_eSeverity_Null
,
...
...
src/wbl/pwrb/src/pwrb_c_opplace.wb_load
View file @
bf3610bb
...
...
@@ -71,12 +71,13 @@ SObject pwrb:Class
EndBody
EndObject
!/**
! Only if the user has logged in to the operator system
! as this user he has authority to start this operator place.
! List of operator system users, separated by comma.
! Only if the user has logged in to the operator system as
! one of these user he has authority to start this operator place.
!*/
Object DedicatedOpsysUser $Attribute 29
Body SysBody
Attr TypeRef = "pwrs:Type-$String
32
"
Attr TypeRef = "pwrs:Type-$String
256
"
Attr Flags |= PWR_MASK_CONST
EndBody
EndObject
...
...
src/wbl/pwrb/src/pwrb_td_opwindlayoutmask.wb_load
View file @
bf3610bb
...
...
@@ -65,7 +65,7 @@ SObject pwrb:Type
EndBody
EndObject
!/**
! Close button.
!
Hide the
Close button.
!*/
Object HideCloseButton $Bit
Body SysBody
...
...
@@ -74,6 +74,26 @@ SObject pwrb:Type
Attr Value = 8
EndBody
EndObject
!/**
! Show the alarm time.
!*/
Object ShowAlarmTime $Bit
Body SysBody
Attr PgmName = "ShowAlarmTime"
Attr Text = "ShowAlarmTime"
Attr Value = 16
EndBody
EndObject
!/**
! Show the alarm time.
!*/
Object ShowAlarmDateAndTime $Bit
Body SysBody
Attr PgmName = "ShowAlarmDateAndTime"
Attr Text = "ShowAlarmDateAndTime"
Attr Value = 32
EndBody
EndObject
EndObject
EndSObject
...
...
xtt/exe/rt_xtt/src/xtt_main.cpp
View file @
bf3610bb
...
...
@@ -582,10 +582,25 @@ Xtt::Xtt( int *argc, char **argv[], int *return_sts) :
if
(
EVEN
(
sts
))
exit
(
sts
);
if
(
strcmp
(
opp
->
DedicatedOpsysUser
,
""
)
!=
0
)
{
int
duser_cnt
;
char
duser_array
[
10
][
40
];
int
found
=
0
;
sts
=
syi_UserName
(
opsys_user
,
sizeof
(
opsys_user
));
if
(
EVEN
(
sts
))
exit
(
sts
);
if
(
strcmp
(
opp
->
DedicatedOpsysUser
,
opsys_user
)
!=
0
)
{
duser_cnt
=
dcli_parse
(
opp
->
DedicatedOpsysUser
,
","
,
""
,
(
char
*
)
duser_array
,
sizeof
(
duser_array
)
/
sizeof
(
duser_array
[
0
]),
sizeof
(
duser_array
[
0
]),
0
);
for
(
int
i
=
0
;
i
<
duser_cnt
;
i
++
)
{
dcli_trim
(
duser_array
[
i
],
duser_array
[
i
]);
if
(
strcmp
(
duser_array
[
i
],
opsys_user
)
==
0
)
{
found
=
1
;
break
;
}
}
if
(
!
found
)
{
printf
(
"Operator place is dedicated for another user
\n
"
);
exit
(
0
);
}
...
...
xtt/lib/xtt/gtk/xtt_op_gtk.cpp
View file @
bf3610bb
This diff is collapsed.
Click to expand it.
xtt/lib/xtt/gtk/xtt_op_gtk.h
View file @
bf3610bb
...
...
@@ -64,8 +64,10 @@ class OpGtk : public Op {
GtkWidget
*
appl_form
;
GtkWidget
*
decr_button
;
GtkWidget
*
tools_close
;
GtkWidget
*
functions_close
;
GtkWidget
*
funcbox
[
5
];
GtkMenuBar
*
menu_bar
;
GtkWidget
*
title_label
;
int
a_height
;
int
a_exist
[
5
];
int
a_active
[
5
];
...
...
@@ -80,6 +82,8 @@ class OpGtk : public Op {
int
get_cmd
(
GtkWidget
*
w
,
char
*
cmd
);
int
create_menu_item
(
const
char
*
name
,
int
pixmap
,
int
append
,
const
char
*
cmd
);
int
delete_menu_item
(
const
char
*
name
);
void
change_sup_color
(
void
*
imagew
,
op_eSupColor
color
);
void
set_title
(
char
*
user
);
static
void
activate_exit
(
GtkWidget
*
w
,
gpointer
data
);
static
void
activate_aalarm_ack
(
GtkWidget
*
w
,
gpointer
data
);
...
...
@@ -104,6 +108,7 @@ class OpGtk : public Op {
static
void
activate_show_user
(
GtkWidget
*
w
,
gpointer
data
);
static
void
activate_logout
(
GtkWidget
*
w
,
gpointer
data
);
static
void
activate_cmd_menu_item
(
GtkWidget
*
w
,
gpointer
data
);
static
void
activate_sup_node
(
GtkWidget
*
w
,
gpointer
data
);
static
void
activate_graph
(
GtkWidget
*
w
,
gpointer
data
);
static
void
activate_appl1
(
GtkWidget
*
w
,
gpointer
data
);
static
void
activate_appl2
(
GtkWidget
*
w
,
gpointer
data
);
...
...
xtt/lib/xtt/src/xtt_evlist.cpp
View file @
bf3610bb
...
...
@@ -1546,6 +1546,7 @@ int EvList::get_alarm_info( evlist_sAlarmInfo *info)
sizeof
(
info
->
a_alarm_text
[
0
]));
strncpy
(
info
->
a_alarm_alias
[
a_cnt
],
object_item
->
alias
,
sizeof
(
info
->
a_alarm_alias
[
0
]));
info
->
a_alarm_time
[
a_cnt
]
=
object_item
->
time
;
info
->
a_alarm_active
[
a_cnt
]
=
object_item
->
status
&
mh_mEventStatus_NotRet
;
info
->
a_alarm_exist
[
a_cnt
]
=
1
;
a_cnt
++
;
...
...
@@ -1557,6 +1558,7 @@ int EvList::get_alarm_info( evlist_sAlarmInfo *info)
sizeof
(
info
->
b_alarm_text
[
0
]));
strncpy
(
info
->
b_alarm_alias
[
b_cnt
],
object_item
->
alias
,
sizeof
(
info
->
b_alarm_alias
[
0
]));
info
->
b_alarm_time
[
b_cnt
]
=
object_item
->
time
;
info
->
b_alarm_active
[
b_cnt
]
=
object_item
->
status
&
mh_mEventStatus_NotRet
;
info
->
b_alarm_exist
[
b_cnt
]
=
1
;
b_cnt
++
;
...
...
@@ -1568,6 +1570,7 @@ int EvList::get_alarm_info( evlist_sAlarmInfo *info)
sizeof
(
info
->
c_alarm_text
[
0
]));
strncpy
(
info
->
c_alarm_alias
[
c_cnt
],
object_item
->
alias
,
sizeof
(
info
->
c_alarm_alias
[
0
]));
info
->
c_alarm_time
[
c_cnt
]
=
object_item
->
time
;
info
->
c_alarm_active
[
c_cnt
]
=
object_item
->
status
&
mh_mEventStatus_NotRet
;
info
->
c_alarm_exist
[
c_cnt
]
=
1
;
c_cnt
++
;
...
...
@@ -1579,6 +1582,7 @@ int EvList::get_alarm_info( evlist_sAlarmInfo *info)
sizeof
(
info
->
d_alarm_text
[
0
]));
strncpy
(
info
->
d_alarm_alias
[
d_cnt
],
object_item
->
alias
,
sizeof
(
info
->
d_alarm_alias
[
0
]));
info
->
d_alarm_time
[
d_cnt
]
=
object_item
->
time
;
info
->
d_alarm_active
[
d_cnt
]
=
object_item
->
status
&
mh_mEventStatus_NotRet
;
info
->
d_alarm_exist
[
d_cnt
]
=
1
;
d_cnt
++
;
...
...
@@ -1598,6 +1602,7 @@ int EvList::get_alarm_info( evlist_sAlarmInfo *info)
sizeof
(
info
->
i_alarm_text
[
0
]));
strncpy
(
info
->
i_alarm_alias
[
i_cnt
],
object_item
->
alias
,
sizeof
(
info
->
i_alarm_alias
[
0
]));
info
->
i_alarm_time
[
i_cnt
]
=
object_item
->
time
;
info
->
i_alarm_active
[
i_cnt
]
=
object_item
->
status
&
mh_mEventStatus_NotRet
;
info
->
i_alarm_exist
[
i_cnt
]
=
1
;
i_cnt
++
;
...
...
xtt/lib/xtt/src/xtt_evlist.h
View file @
bf3610bb
...
...
@@ -60,22 +60,27 @@ class ItemAlarm;
typedef
struct
{
char
a_alarm_text
[
ALARM_INFO_A_SIZE
][
80
];
char
a_alarm_alias
[
ALARM_INFO_A_SIZE
][
40
];
pwr_tTime
a_alarm_time
[
ALARM_INFO_A_SIZE
];
int
a_alarm_active
[
ALARM_INFO_A_SIZE
];
int
a_alarm_exist
[
ALARM_INFO_A_SIZE
];
char
b_alarm_text
[
ALARM_INFO_B_SIZE
][
80
];
char
b_alarm_alias
[
ALARM_INFO_A_SIZE
][
40
];
pwr_tTime
b_alarm_time
[
ALARM_INFO_B_SIZE
];
int
b_alarm_active
[
ALARM_INFO_B_SIZE
];
int
b_alarm_exist
[
ALARM_INFO_B_SIZE
];
char
c_alarm_text
[
ALARM_INFO_C_SIZE
][
80
];
char
c_alarm_alias
[
ALARM_INFO_A_SIZE
][
40
];
pwr_tTime
c_alarm_time
[
ALARM_INFO_C_SIZE
];
int
c_alarm_active
[
ALARM_INFO_C_SIZE
];
int
c_alarm_exist
[
ALARM_INFO_C_SIZE
];
char
d_alarm_text
[
ALARM_INFO_D_SIZE
][
80
];
char
d_alarm_alias
[
ALARM_INFO_A_SIZE
][
40
];
pwr_tTime
d_alarm_time
[
ALARM_INFO_D_SIZE
];
int
d_alarm_active
[
ALARM_INFO_D_SIZE
];
int
d_alarm_exist
[
ALARM_INFO_D_SIZE
];
char
i_alarm_text
[
ALARM_INFO_I_SIZE
][
80
];
char
i_alarm_alias
[
ALARM_INFO_A_SIZE
][
40
];
pwr_tTime
i_alarm_time
[
ALARM_INFO_I_SIZE
];
int
i_alarm_active
[
ALARM_INFO_I_SIZE
];
int
i_alarm_exist
[
ALARM_INFO_I_SIZE
];
int
alarms_total
;
...
...
xtt/lib/xtt/src/xtt_op.cpp
View file @
bf3610bb
...
...
@@ -26,6 +26,7 @@
#include "co_cdh.h"
#include "co_time.h"
#include "co_syi.h"
#include "pwr_baseclasses.h"
#include "rt_gdh.h"
#include "rt_mh.h"
...
...
@@ -46,8 +47,9 @@ Op::Op( void *op_parent_ctx,
pwr_tStatus
*
status
)
:
parent_ctx
(
op_parent_ctx
),
start_jop
(
0
),
jop
(
NULL
),
command_cb
(
NULL
),
map_cb
(
NULL
),
help_cb
(
NULL
),
close_cb
(
NULL
),
get_alarm_info_cb
(
NULL
),
ack_last_cb
(
NULL
)
close_cb
(
NULL
),
get_alarm_info_cb
(
NULL
),
ack_last_cb
(
NULL
)
,
sup_timerid
(
0
)
{
sup_init
();
}
...
...
@@ -203,6 +205,20 @@ void Op::activate_cmd_menu_item( char *cmd)
command_cb
(
parent_ctx
,
cmd
);
}
void
Op
::
activate_sup_node
(
void
*
id
)
{
pwr_tCmd
cmd
;
for
(
unsigned
int
i
=
0
;
i
<
sup_vect
.
size
();
i
++
)
{
if
(
sup_vect
[
i
].
buttonw
==
id
)
{
sprintf
(
cmd
,
"open graph/class/inst=%s"
,
sup_vect
[
i
].
object_name
);
if
(
command_cb
)
command_cb
(
parent_ctx
,
cmd
);
break
;
}
}
}
void
Op
::
activate_help
()
{
if
(
help_cb
)
...
...
@@ -230,3 +246,103 @@ void Op::jop_command_cb( void *op, char *command)
if
(
((
Op
*
)
op
)
->
command_cb
)
((
Op
*
)
op
)
->
command_cb
(
((
Op
*
)
op
)
->
parent_ctx
,
command
);
}
int
Op
::
sup_init
()
{
pwr_tOid
node_oid
;
pwr_tOid
sup_oid
;
pwr_tAName
aname
;
pwr_tStatus
sts
;
// Index 0 is current node
sts
=
gdh_GetNodeObject
(
0
,
&
node_oid
);
if
(
EVEN
(
sts
))
return
sts
;
OpSup
sup
;
sup
.
node_oid
=
node_oid
;
sts
=
gdh_ObjidToName
(
node_oid
,
sup
.
object_name
,
sizeof
(
sup
.
object_name
),
cdh_mName_volumeStrict
);
if
(
EVEN
(
sts
))
return
sts
;
strcpy
(
aname
,
sup
.
object_name
);
strcat
(
aname
,
".SystemStatus"
);
sts
=
gdh_RefObjectInfo
(
aname
,
(
void
**
)
&
sup
.
p
,
&
sup
.
refid
,
sizeof
(
pwr_tStatus
));
if
(
EVEN
(
sts
))
return
sts
;
syi_NodeName
(
&
sts
,
sup
.
node_name
,
sizeof
(
sup
.
node_name
));
sup_vect
.
push_back
(
sup
);
// Add nodes in NodeLinkSup objects
for
(
sts
=
gdh_GetClassList
(
pwr_cClass_NodeLinkSup
,
&
sup_oid
);
ODD
(
sts
);
sts
=
gdh_GetNextObject
(
sup_oid
,
&
sup_oid
))
{
pwr_sClass_NodeLinkSup
*
sup_p
;
qcom_sNode
qnode
;
pwr_tNid
nid
;
sts
=
gdh_ObjidToPointer
(
sup_oid
,
(
void
**
)
&
sup_p
);
OpSup
nsup
;
nsup
.
node_oid
=
sup_p
->
Node
;
sts
=
gdh_ObjidToName
(
nsup
.
node_oid
,
nsup
.
object_name
,
sizeof
(
nsup
.
object_name
),
cdh_mName_volumeStrict
);
if
(
EVEN
(
sts
))
strcpy
(
nsup
.
object_name
,
""
);
sts
=
gdh_ObjidToName
(
sup_oid
,
aname
,
sizeof
(
aname
),
cdh_mName_volumeStrict
);
if
(
EVEN
(
sts
))
return
sts
;
strcat
(
aname
,
".SystemStatus"
);
sts
=
gdh_RefObjectInfo
(
aname
,
(
void
**
)
&
nsup
.
p
,
&
sup
.
refid
,
sizeof
(
pwr_tStatus
));
if
(
EVEN
(
sts
))
return
sts
;
int
found
=
0
;
for
(
nid
=
qcom_cNNid
;
qcom_NextNode
(
&
sts
,
&
qnode
,
nid
);
nid
=
qnode
.
nid
)
{
if
(
qnode
.
nid
==
nsup
.
node_oid
.
vid
)
{
strcpy
(
nsup
.
node_name
,
qnode
.
name
);
found
=
1
;
break
;
}
}
if
(
!
found
)
strcpy
(
nsup
.
node_name
,
"Unknown"
);
sup_vect
.
push_back
(
nsup
);
}
return
1
;
}
void
Op
::
sup_scan
(
void
*
data
)
{
Op
*
op
=
(
Op
*
)
data
;
int
time
=
1000
;
for
(
unsigned
int
i
=
0
;
i
<
op
->
sup_vect
.
size
();
i
++
)
{
op_eSupColor
color
;
pwr_tStatus
status
=
*
op
->
sup_vect
[
i
].
p
;
if
(
status
==
0
)
color
=
op_eSupColor_Gray
;
else
if
(
errh_SeveritySuccess
(
status
)
||
errh_SeverityInfo
(
status
))
color
=
op_eSupColor_Green
;
else
if
(
errh_SeverityWarning
(
status
))
color
=
op_eSupColor_Yellow
;
else
if
(
errh_SeverityError
(
status
))
color
=
op_eSupColor_Red
;
else
if
(
errh_SeverityFatal
(
status
))
{
if
(
op
->
sup_vect
[
i
].
old_color
==
op_eSupColor_Red
)
color
=
op_eSupColor_Black
;
else
color
=
op_eSupColor_Red
;
}
if
(
color
!=
op
->
sup_vect
[
i
].
old_color
)
{
op
->
sup_vect
[
i
].
old_color
=
color
;
op
->
change_sup_color
(
op
->
sup_vect
[
i
].
imagew
,
color
);
}
}
op
->
sup_timerid
->
add
(
time
,
sup_scan
,
op
);
}
xtt/lib/xtt/src/xtt_op.h
View file @
bf3610bb
...
...
@@ -22,6 +22,8 @@
/* xtt_op.h -- Operator window in xtt */
#include <vector>
#ifndef pwr_h
# include "pwr.h"
#endif
...
...
@@ -38,7 +40,35 @@
# include "xtt_evlist.h"
#endif
using
namespace
std
;
class
CoWow
;
class
CoWowTimer
;
class
Op
;
typedef
enum
{
op_eSupColor_Gray
,
op_eSupColor_Green
,
op_eSupColor_Yellow
,
op_eSupColor_Red
,
op_eSupColor_Black
}
op_eSupColor
;
class
OpSup
{
public:
OpSup
()
:
buttonw
(
0
),
imagew
(
0
),
p
(
0
),
old_color
(
op_eSupColor_Gray
),
flash
(
0
)
{
strcpy
(
node_name
,
""
);
strcpy
(
object_name
,
""
);}
pwr_tOid
node_oid
;
pwr_tOName
object_name
;
pwr_tObjName
node_name
;
void
*
buttonw
;
void
*
imagew
;
pwr_tStatus
*
p
;
pwr_tRefId
refid
;
op_eSupColor
old_color
;
int
flash
;
};
class
Op
{
public:
...
...
@@ -57,6 +87,9 @@ class Op {
int
(
*
get_alarm_info_cb
)(
void
*
,
evlist_sAlarmInfo
*
);
void
(
*
ack_last_cb
)(
void
*
,
unsigned
long
,
unsigned
long
);
CoWow
*
wow
;
pwr_tMask
layout_mask
;
vector
<
OpSup
>
sup_vect
;
CoWowTimer
*
sup_timerid
;
Op
(
void
*
op_parent_ctx
,
char
*
opplace
,
...
...
@@ -69,11 +102,14 @@ class Op {
virtual
void
add_close_button
()
{}
virtual
int
create_menu_item
(
const
char
*
name
,
int
pixmap
,
int
append
,
const
char
*
cmd
)
{
return
0
;}
virtual
int
delete_menu_item
(
const
char
*
name
)
{
return
0
;}
virtual
void
change_sup_color
(
void
*
imagew
,
op_eSupColor
color
)
{}
virtual
void
set_title
(
char
*
user
)
{}
void
set_jop_qid
(
int
qix
)
{
if
(
jop
)
jop
->
set_jop_qid
(
qix
);};
void
scan
();
int
appl_action
(
int
idx
);
int
jop_command
(
char
*
command
);
int
sup_init
();
void
activate_exit
();
void
activate_aalarm_ack
();
void
activate_balarm_ack
();
...
...
@@ -94,8 +130,10 @@ class Op {
void
activate_show_user
();
void
activate_logout
();
void
activate_cmd_menu_item
(
char
*
cmd
);
void
activate_sup_node
(
void
*
id
);
static
void
jop_command_cb
(
void
*
op
,
char
*
command
);
static
void
sup_scan
(
void
*
data
);
};
#endif
xtt/lib/xtt/src/xtt_xnav.cpp
View file @
bf3610bb
...
...
@@ -24,6 +24,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <float.h>
#include <vector>
#include "co_nav_help.h"
#include "pwr_privilege.h"
...
...
@@ -3436,6 +3437,10 @@ int XNav::login_from_opplace()
strcpy
(
user
,
username
);
strcpy
(
base_user
,
username
);
priv
=
base_priv
=
privilege
;
if
(
op
)
op
->
set_title
(
user
);
return
XNAV__SUCCESS
;
}
...
...
xtt/lib/xtt/src/xtt_xnav_command.cpp
View file @
bf3610bb
...
...
@@ -565,6 +565,8 @@ static void xnav_login_success_bc( void *ctx)
sprintf
(
msg
,
"User %s logged in"
,
xnav
->
user
);
xnav
->
cologin
=
0
;
xnav
->
message
(
'I'
,
msg
);
if
(
xnav
->
op
)
xnav
->
op
->
set_title
(
xnav
->
user
);
}
static
void
xnav_login_cancel_bc
(
void
*
xnav
)
...
...
@@ -611,6 +613,8 @@ static int xnav_login_func( void *client_data,
xnav
->
priv
=
priv
;
sprintf
(
msg
,
"User %s logged in"
,
arg1_str
);
xnav
->
message
(
'I'
,
msg
);
if
(
xnav
->
op
)
xnav
->
op
->
set_title
(
xnav
->
user
);
}
return
sts
;
}
...
...
@@ -637,6 +641,8 @@ static int xnav_logout_func( void *client_data,
}
strcpy
(
xnav
->
user
,
xnav
->
base_user
);
xnav
->
priv
=
xnav
->
base_priv
;
if
(
xnav
->
op
)
xnav
->
op
->
set_title
(
xnav
->
user
);
return
1
;
}
...
...
@@ -2817,6 +2823,7 @@ static int xnav_open_func( void *client_data,
if
(
closebutton
)
xnav
->
op
->
add_close_button
();
strcpy
(
xnav
->
opplace_name
,
opplace_str
);
xnav
->
op
->
set_title
(
xnav
->
user
);
// Load eventlist
if
(
xnav
->
ev
)
{
...
...
xtt/mmi/xtt/en_us/xtt_lng.dat
View file @
bf3610bb
...
...
@@ -261,6 +261,7 @@ E 1.13.26 "_User"
E 1.13.27 "S_witch User"
E 1.13.28 "_Show User"
E 1.13.29 "_Return"
E 1.13.30 " on "
#
# Postscript printing
E 2.1.1 "Contents"
...
...
xtt/mmi/xtt/sv_se/xtt_lng.dat
View file @
bf3610bb
...
...
@@ -261,6 +261,7 @@ E 1.13.26 "_Anv
E 1.13.27 "_Byt Anvndare"
E 1.13.28 "_Visa Anvndare"
E 1.13.29 "_terg"
E 1.13.30 " p "
#
# Postscript printing
E 2.1.1 "Innehll"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment