Commit ed6416af authored by Claes Sjofors's avatar Claes Sjofors

Functionality to view configuration status added

parent 3a34d908
......@@ -1038,6 +1038,7 @@ int CnvWblToH::check_typename( char *type_volume, char *type_name)
"pwr_tPrivMask",
"pwr_tProString40",
"pwr_tDataRef",
"pwr_tConfigStatusEnum",
""};
for ( name = valid_names[0]; strcmp(name,"") != 0;
......
......@@ -597,6 +597,11 @@ struct pwr_s_ParInfo {
*/
typedef pwr_tMask pwr_tPrivMask;
/*_*
@aref configstatusenum ConfigStatusEnum
*/
typedef pwr_tEnum pwr_tConfigStatusEnum;
/* Operating system. */
/*_*
@aref opsys OpSys
......@@ -1015,6 +1020,7 @@ struct pwr_s_PlantHier {
pwr_tURL DataSheet pwr_dAlignW;
pwr_tURL CircuitDiagram pwr_dAlignW;
pwr_tURL Photo pwr_dAlignW;
pwr_tConfigStatusEnum ConfigurationStatus pwr_dAlignW;
};
/* Node defining classes. */
......@@ -1037,7 +1043,7 @@ struct pwr_s_Node {
pwr_tUInt32 Restarts pwr_dAlignW;
pwr_tTime RestartTime pwr_dAlignLW;
pwr_tDeltaTime RestartStallTime pwr_dAlignLW;
pwr_tTime SystemTime pwr_dAlignW;
pwr_tTime SystemTime pwr_dAlignLW;
pwr_tNetStatus SystemStatus pwr_dAlignW;
pwr_tStatus ProcStatus[40] pwr_dAlignW;
pwr_tStatus ProcMsgSeverity[40] pwr_dAlignW;
......@@ -1081,10 +1087,10 @@ struct pwr_s_LibHier {
pwr_tString80 Description;
};
struct pwr_s_NodeHier
{
pwr_tString80 Description;
};
struct pwr_s_NodeHier {
pwr_tString80 Description pwr_dAlignW;
pwr_tConfigStatusEnum ConfigurationStatus pwr_dAlignW;
};
struct pwr_s_RootVolume {
pwr_tString80 Description;
......@@ -1096,6 +1102,7 @@ struct pwr_s_RootVolume {
pwr_tUInt32 RtBodySize pwr_dAlignW;
pwr_mOpSys OperatingSystem pwr_dAlignW;
pwr_tTime Modified pwr_dAlignLW;
pwr_tConfigStatusEnum ConfigurationStatus pwr_dAlignW;
};
struct pwr_s_SubVolume {
......@@ -1108,6 +1115,7 @@ struct pwr_s_SubVolume {
pwr_tUInt32 RtBodySize pwr_dAlignW;
pwr_mOpSys OperatingSystem pwr_dAlignW;
pwr_tTime Modified pwr_dAlignLW;
pwr_tConfigStatusEnum ConfigurationStatus pwr_dAlignW;
};
struct pwr_s_SharedVolume {
......@@ -1119,6 +1127,7 @@ struct pwr_s_SharedVolume {
pwr_tUInt32 RtCardinality pwr_dAlignW;
pwr_tUInt32 RtBodySize pwr_dAlignW;
pwr_tTime Modified pwr_dAlignLW;
pwr_tConfigStatusEnum ConfigurationStatus pwr_dAlignW;
};
struct pwr_s_DynamicVolume {
......@@ -1152,6 +1161,7 @@ struct pwr_s_ClassVolume {
pwr_tObjectIx NextCix pwr_dAlignW; /* Next free class index. */
pwr_tObjectIx NextTix[pwr_cMaxTyg + 1] pwr_dAlignW; /* Next free type index. */
pwr_tUInt32 DvVersion pwr_dAlignW;
pwr_tConfigStatusEnum ConfigurationStatus pwr_dAlignW;
};
struct pwr_s_WorkBenchVolume {
......
......@@ -77,6 +77,20 @@ SObject pwrb:Class
Attr TypeRef = "pwrs:Type-$Objid"
EndBody
EndObject
!/**
! @Summary Configuration status.
! Configuration status.
! Status in the development environment for an hierarchy,
! plcprogram or process graph, set by the designer to indicate
! the current state. If a status is set for an object, it is
! marked red, yellow or green in the configurator. Also the
! status text if viewed surrounded by angel brackets.
!*/
Object ConfigurationStatus $Intern 3
Body SysBody
Attr TypeRef = "pwrs:Type-$ConfigStatusEnum"
EndBody
EndObject
EndObject
Object DevBody $ObjBodyDef 2
Object ScanTime $Intern 1
......
......@@ -82,6 +82,20 @@ SObject pwrb:Class
Attr TypeRef = "pwrb:Type-WebTargetEnum"
EndBody
EndObject
!/**
! @Summary Configuration status.
! Configuration status.
! Status in the development environment for an hierarchy,
! plcprogram or process graph, set by the designer to indicate
! the current state. If a status is set for an object, it is
! marked red, yellow or green in the configurator. Also the
! status text if viewed surrounded by angel brackets.
!*/
Object ConfigurationStatus $Attribute 4
Body SysBody
Attr TypeRef = "pwrs:Type-$ConfigStatusEnum"
EndBody
EndObject
EndObject
Object NavigatorPosnn $Menu
Object Pointed $Menu
......
......@@ -176,6 +176,20 @@ SObject pwrb:Class
Attr Flags = 0
EndBody
EndObject
!/**
! @Summary Configuration status.
! Configuration status.
! Status in the development environment for an hierarchy,
! plcprogram or process graph, set by the designer to indicate
! the current state. If a status is set for an object, it is
! marked red, yellow or green in the configurator. Also the
! status text if viewed surrounded by angel brackets.
!*/
Object ConfigurationStatus $Attribute 14
Body SysBody
Attr TypeRef = "pwrs:Type-$ConfigStatusEnum"
EndBody
EndObject
EndObject
Object Template XttGraph
Body RtBody
......
......@@ -162,6 +162,20 @@ SObject pwrs:Class
Attr TypeRef = "pwrs:Type-$UInt32"
EndBody
EndObject
!/**
! @Summary Configuration status.
! Configuration status.
! Status in the development environment for an hierarchy,
! plcprogram or process graph, set by the designer to indicate
! the current state. If a status is set for an object, it is
! marked red, yellow or green in the configurator. Also the
! status text if viewed surrounded by angel brackets.
!*/
Object ConfigurationStatus $Attribute 11
Body SysBody
Attr TypeRef = "pwrs:Type-$ConfigStatusEnum"
EndBody
EndObject
EndObject
Object Template $ClassVolume
Body SysBody
......
......@@ -71,6 +71,20 @@ SObject pwrs:Class
Attr TypeRef = "pwrs:Type-$String80"
EndBody
EndObject
!/**
! @Summary Configuration status.
! Configuration status.
! Status in the development environment for an hierarchy,
! plcprogram or process graph, set by the designer to indicate
! the current state. If a status is set for an object, it is
! marked red, yellow or green in the configurator. Also the
! status text if viewed surrounded by angel brackets.
!*/
Object ConfigurationStatus $Attribute 2
Body SysBody
Attr TypeRef = "pwrs:Type-$ConfigStatusEnum"
EndBody
EndObject
EndObject
Object NavigatorPosnn $Menu
Object Pointed $Menu
......
......@@ -121,10 +121,23 @@ SObject pwrs:Class
!*/
Object Photo $Attribute 7
Body SysBody
Attr PgmName = "Photo"
Attr TypeRef = "pwrs:Type-$URL"
EndBody
EndObject
!/**
! @Summary Configuration status.
! Configuration status.
! Status in the development environment for an hierarchy,
! plcprogram or process graph, set by the designer to indicate
! the current state. If a status is set for an object, it is
! marked red, yellow or green in the configurator. Also the
! status text if viewed surrounded by angel brackets.
!*/
Object ConfigurationStatus $Attribute 8
Body SysBody
Attr TypeRef = "pwrs:Type-$ConfigStatusEnum"
EndBody
EndObject
EndObject
Object NavigatorPosnn $Menu
Object Pointed $Menu
......
......@@ -110,6 +110,20 @@ SObject pwrs:Class
Attr Flags |= PWR_MASK_NOEDIT
EndBody
EndObject
!/**
! @Summary Configuration status.
! Configuration status.
! Status in the development environment for an hierarchy,
! plcprogram or process graph, set by the designer to indicate
! the current state. If a status is set for an object, it is
! marked red, yellow or green in the configurator. Also the
! status text if viewed surrounded by angel brackets.
!*/
Object ConfigurationStatus $Attribute 10
Body SysBody
Attr TypeRef = "pwrs:Type-$ConfigStatusEnum"
EndBody
EndObject
EndObject
Object Template $RootVolume
Body SysBody
......
......@@ -99,6 +99,20 @@ SObject pwrs:Class
Attr Flags |= PWR_MASK_NOEDIT
EndBody
EndObject
!/**
! @Summary Configuration status.
! Configuration status.
! Status in the development environment for an hierarchy,
! plcprogram or process graph, set by the designer to indicate
! the current state. If a status is set for an object, it is
! marked red, yellow or green in the configurator. Also the
! status text if viewed surrounded by angel brackets.
!*/
Object ConfigurationStatus $Attribute 9
Body SysBody
Attr TypeRef = "pwrs:Type-$ConfigStatusEnum"
EndBody
EndObject
EndObject
Object Template $SharedVolume
Body SysBody
......
......@@ -116,6 +116,20 @@ SObject pwrs:Class
Attr Flags |= PWR_MASK_NOEDIT
EndBody
EndObject
!/**
! @Summary Configuration status.
! Configuration status.
! Status in the development environment for an hierarchy,
! plcprogram or process graph, set by the designer to indicate
! the current state. If a status is set for an object, it is
! marked red, yellow or green in the configurator. Also the
! status text if viewed surrounded by angel brackets.
!*/
Object ConfigurationStatus $Attribute 10
Body SysBody
Attr TypeRef = "pwrs:Type-$ConfigStatusEnum"
EndBody
EndObject
EndObject
Object Template $SubVolume
Body SysBody
......
......@@ -152,3 +152,5 @@
091218 cs wb Bugfix for next cix and next oix in ced.
091218 cs wb Bugfix in wb_vrepdb:child().
100111 cs wb Mysql classvolume databases.
100118 cs plc Toggle button in plc editor for feedback connections.
100120 cs wb Functionality to view configuration status added.
\ No newline at end of file
......@@ -448,7 +448,7 @@ ldh_DeleteObjectTree(ldh_tSession session, pwr_tOid oid, int storeix)
pwr_tStatus
ldh_GetAttrDef(ldh_tSession session, pwr_tCid cid, char *bname, char *aname, ldh_sParDef *adef)
ldh_GetAttrDef(ldh_tSession session, pwr_tCid cid, const char *bname, const char *aname, ldh_sParDef *adef)
{
wb_session *sp = (wb_session *)session;
......
......@@ -622,8 +622,8 @@ pwr_tStatus ldh_EvalObject (
pwr_tStatus ldh_GetAttrDef (
ldh_tSession Session,
pwr_tClassId Class,
char *BodyName,
char *AttrName,
const char *BodyName,
const char *AttrName,
ldh_sParDef *AttrDef
);
pwr_tStatus ldh_GetAttrRef (
......
......@@ -1027,6 +1027,120 @@ void WNavBrow::create_nodeclasses()
1);
brow_AddFrame( nc_multiobject, 0, 0, 20, 0.83, flow_eDrawType_LineGray, -1, 1);
// Create multi object class with red indication
brow_CreateNodeClass( ctx, "NavigatorObjectRed",
flow_eNodeGroup_Common, &nc_multiobject_red);
brow_AddAnnotPixmap( nc_multiobject_red, 0, 0.2, 0.1, flow_eDrawType_Line, 2, 0);
brow_AddAnnotPixmap( nc_multiobject_red, 1, 1.1, 0.1, flow_eDrawType_Line, 2, 0);
brow_AddFilledRect( nc_multiobject_red, 1.3, 0.15, 0.4, 0.4, flow_eDrawType_LineRed);
brow_AddRect( nc_multiobject_red, 1.3, 0.15, 0.4, 0.4, flow_eDrawType_Line, 0, 0);
brow_AddAnnot( nc_multiobject_red, 2, 0.6, 0,
flow_eDrawType_TextHelvetica, 2, flow_eAnnotType_OneLine,
0);
brow_AddAnnot( nc_multiobject_red, 7, 0.6, 1,
flow_eDrawType_TextHelvetica, 2, flow_eAnnotType_OneLine,
1);
brow_AddAnnot( nc_multiobject_red, 11, 0.6, 2,
flow_eDrawType_TextHelvetica, 2, flow_eAnnotType_OneLine,
1);
brow_AddAnnot( nc_multiobject_red, 15, 0.6, 3,
flow_eDrawType_TextHelvetica, 2, flow_eAnnotType_OneLine,
1);
brow_AddAnnotPixmap( nc_multiobject_red, 2, 12.2, 0.1, flow_eDrawType_Line, 2, 1);
brow_AddAnnot( nc_multiobject_red, 12.7, 0.6, 4,
flow_eDrawType_TextHelvetica, 2, flow_eAnnotType_OneLine,
1);
brow_AddAnnotPixmap( nc_multiobject_red, 3, 14.2, 0.1, flow_eDrawType_Line, 2, 1);
brow_AddAnnot( nc_multiobject_red, 14.7, 0.6, 5,
flow_eDrawType_TextHelvetica, 2, flow_eAnnotType_OneLine,
1);
brow_AddAnnotPixmap( nc_multiobject_red, 4, 16.2, 0.1, flow_eDrawType_Line, 2, 1);
brow_AddAnnot( nc_multiobject_red, 16.7, 0.6, 6,
flow_eDrawType_TextHelvetica, 2, flow_eAnnotType_OneLine,
1);
brow_AddAnnotPixmap( nc_multiobject_red, 5, 18.2, 0.1, flow_eDrawType_Line, 2, 1);
brow_AddAnnot( nc_multiobject_red, 18.7, 0.6, 7,
flow_eDrawType_TextHelvetica, 2, flow_eAnnotType_OneLine,
1);
brow_AddFrame( nc_multiobject_red, 0, 0, 20, 0.83, flow_eDrawType_LineGray, -1, 1);
// Create multi object class with yellow indication
brow_CreateNodeClass( ctx, "NavigatorObjectYellow",
flow_eNodeGroup_Common, &nc_multiobject_yellow);
brow_AddAnnotPixmap( nc_multiobject_yellow, 0, 0.2, 0.1, flow_eDrawType_Line, 2, 0);
brow_AddAnnotPixmap( nc_multiobject_yellow, 1, 1.1, 0.1, flow_eDrawType_Line, 2, 0);
brow_AddFilledRect( nc_multiobject_yellow, 1.3, 0.15, 0.4, 0.4, flow_eDrawType_Yellow);
brow_AddRect( nc_multiobject_yellow, 1.3, 0.15, 0.4, 0.4, flow_eDrawType_Line, 0, 0);
brow_AddAnnot( nc_multiobject_yellow, 2, 0.6, 0,
flow_eDrawType_TextHelvetica, 2, flow_eAnnotType_OneLine,
0);
brow_AddAnnot( nc_multiobject_yellow, 7, 0.6, 1,
flow_eDrawType_TextHelvetica, 2, flow_eAnnotType_OneLine,
1);
brow_AddAnnot( nc_multiobject_yellow, 11, 0.6, 2,
flow_eDrawType_TextHelvetica, 2, flow_eAnnotType_OneLine,
1);
brow_AddAnnot( nc_multiobject_yellow, 15, 0.6, 3,
flow_eDrawType_TextHelvetica, 2, flow_eAnnotType_OneLine,
1);
brow_AddAnnotPixmap( nc_multiobject_yellow, 2, 12.2, 0.1, flow_eDrawType_Line, 2, 1);
brow_AddAnnot( nc_multiobject_yellow, 12.7, 0.6, 4,
flow_eDrawType_TextHelvetica, 2, flow_eAnnotType_OneLine,
1);
brow_AddAnnotPixmap( nc_multiobject_yellow, 3, 14.2, 0.1, flow_eDrawType_Line, 2, 1);
brow_AddAnnot( nc_multiobject_yellow, 14.7, 0.6, 5,
flow_eDrawType_TextHelvetica, 2, flow_eAnnotType_OneLine,
1);
brow_AddAnnotPixmap( nc_multiobject_yellow, 4, 16.2, 0.1, flow_eDrawType_Line, 2, 1);
brow_AddAnnot( nc_multiobject_yellow, 16.7, 0.6, 6,
flow_eDrawType_TextHelvetica, 2, flow_eAnnotType_OneLine,
1);
brow_AddAnnotPixmap( nc_multiobject_yellow, 5, 18.2, 0.1, flow_eDrawType_Line, 2, 1);
brow_AddAnnot( nc_multiobject_yellow, 18.7, 0.6, 7,
flow_eDrawType_TextHelvetica, 2, flow_eAnnotType_OneLine,
1);
brow_AddFrame( nc_multiobject_yellow, 0, 0, 20, 0.83, flow_eDrawType_LineGray, -1, 1);
// Create multi object class with green indication
brow_CreateNodeClass( ctx, "NavigatorObjectGreen",
flow_eNodeGroup_Common, &nc_multiobject_green);
brow_AddAnnotPixmap( nc_multiobject_green, 0, 0.2, 0.1, flow_eDrawType_Line, 2, 0);
brow_AddAnnotPixmap( nc_multiobject_green, 1, 1.1, 0.1, flow_eDrawType_Line, 2, 0);
brow_AddFilledRect( nc_multiobject_green, 1.3, 0.15, 0.4, 0.4, flow_eDrawType_Green);
brow_AddRect( nc_multiobject_green, 1.3, 0.15, 0.4, 0.4, flow_eDrawType_Line, 0, 0);
brow_AddAnnot( nc_multiobject_green, 2, 0.6, 0,
flow_eDrawType_TextHelvetica, 2, flow_eAnnotType_OneLine,
0);
brow_AddAnnot( nc_multiobject_green, 7, 0.6, 1,
flow_eDrawType_TextHelvetica, 2, flow_eAnnotType_OneLine,
1);
brow_AddAnnot( nc_multiobject_green, 11, 0.6, 2,
flow_eDrawType_TextHelvetica, 2, flow_eAnnotType_OneLine,
1);
brow_AddAnnot( nc_multiobject_green, 15, 0.6, 3,
flow_eDrawType_TextHelvetica, 2, flow_eAnnotType_OneLine,
1);
brow_AddAnnotPixmap( nc_multiobject_green, 2, 12.2, 0.1, flow_eDrawType_Line, 2, 1);
brow_AddAnnot( nc_multiobject_green, 12.7, 0.6, 4,
flow_eDrawType_TextHelvetica, 2, flow_eAnnotType_OneLine,
1);
brow_AddAnnotPixmap( nc_multiobject_green, 3, 14.2, 0.1, flow_eDrawType_Line, 2, 1);
brow_AddAnnot( nc_multiobject_green, 14.7, 0.6, 5,
flow_eDrawType_TextHelvetica, 2, flow_eAnnotType_OneLine,
1);
brow_AddAnnotPixmap( nc_multiobject_green, 4, 16.2, 0.1, flow_eDrawType_Line, 2, 1);
brow_AddAnnot( nc_multiobject_green, 16.7, 0.6, 6,
flow_eDrawType_TextHelvetica, 2, flow_eAnnotType_OneLine,
1);
brow_AddAnnotPixmap( nc_multiobject_green, 5, 18.2, 0.1, flow_eDrawType_Line, 2, 1);
brow_AddAnnot( nc_multiobject_green, 18.7, 0.6, 7,
flow_eDrawType_TextHelvetica, 2, flow_eAnnotType_OneLine,
1);
brow_AddFrame( nc_multiobject_green, 0, 0, 20, 0.83, flow_eDrawType_LineGray, -1, 1);
// Create attribute nodeclass
brow_CreateNodeClass( ctx, "NavigatorAttr",
......
......@@ -57,6 +57,9 @@ class WNavBrow {
void *userdata;
brow_tNodeClass nc_object;
brow_tNodeClass nc_multiobject;
brow_tNodeClass nc_multiobject_red;
brow_tNodeClass nc_multiobject_yellow;
brow_tNodeClass nc_multiobject_green;
brow_tNodeClass nc_attr;
brow_tNodeClass nc_attr_full;
brow_tNodeClass nc_attr_input;
......
......@@ -72,11 +72,15 @@ WItemObject::WItemObject( WNav *wnav, pwr_tObjid item_objid,
char segname[120];
pwr_tObjid child;
pwr_tClassId classid;
pwr_tEnum *config_status;
char *descr;
char descr_str[200];
int size;
int next_annot, next_pixmap;
ldh_sRefInfo ref_info;
char buf[80];
brow_tNodeClass nc;
pwr_tObjName body;
type = wnav_eItemType_Object;
......@@ -87,8 +91,76 @@ WItemObject::WItemObject( WNav *wnav, pwr_tObjid item_objid,
sts = ldh_GetObjectClass( wnav->ldhses, objid, &classid);
sts = ldh_ObjidToName( wnav->ldhses, objid, ldh_eName_Object,
segname, sizeof(segname), &size);
brow_CreateNode( wnav->brow->ctx, segname, wnav->brow->nc_multiobject,
dest, dest_code, (void *) this, 1, &node);
// Get ConfigStatus
for ( int i = 0; i < 3; i++) {
switch ( i) {
case 0:
strcpy( body, "DevBody");
break;
case 1:
strcpy( body, "SysBody");
break;
case 2:
strcpy( body, "RtBody");
break;
}
sts = ldh_GetObjectPar( wnav->ldhses, objid, body, "ConfigurationStatus",
(char **)&config_status, &size);
if ( ODD(sts)) break;
}
if ( EVEN(sts)) {
nc = wnav->brow->nc_multiobject;
strcpy( descr_str, "");
}
else {
// Evaluate config status
if ( *config_status == 0) {
nc = wnav->brow->nc_multiobject;
strcpy( descr_str, "");
}
else {
// Get enum text
ldh_sParDef adef;
ldh_sValueDef *vd;
int rows;
sts = ldh_GetAttrDef( wnav->ldhses, classid, body, "ConfigurationStatus", &adef);
if ( EVEN(sts)) return;
sts = ldh_GetEnumValueDef( wnav->ldhses, adef.Par->Param.TypeRef, &vd, &rows);
if ( EVEN(sts)) return;
bool found = false;
int i;
for ( i = 0; i < rows; i++) {
if ( vd[i].Value.Value == *config_status) {
found = true;
break;
}
}
if ( found) {
if ( *config_status < 100)
nc = wnav->brow->nc_multiobject_red;
else if ( *config_status < 200)
nc = wnav->brow->nc_multiobject_yellow;
else
nc = wnav->brow->nc_multiobject_green
;
sprintf( descr_str, "<%s> ", vd[i].Value.Text);
}
else {
nc = wnav->brow->nc_multiobject_red;
strcpy( descr_str, "<Unknown status> ");
}
free( (char *)vd);
}
free((char *) config_status);
}
brow_CreateNode( wnav->brow->ctx, segname, nc, dest, dest_code, (void *) this,
1, &node);
// Set pixmap
sts = ldh_GetChildMnt( wnav->ldhses, objid, &child);
......@@ -132,9 +204,11 @@ WItemObject::WItemObject( WNav *wnav, pwr_tObjid item_objid,
&descr, &size);
if ( ODD(sts))
{
brow_SetAnnotation( node, next_annot++, descr, strlen(descr));
strcat( descr_str, descr);
free( descr);
}
if ( strcmp( descr_str, "") != 0)
brow_SetAnnotation( node, next_annot++, descr_str, strlen(descr_str));
}
if ( wnav->gbl.show_alias && classid == pwr_eClass_Alias)
{
......
......@@ -815,6 +815,55 @@ int Wtt::set_edit()
appl.set_editmode( editmode, ldhses);
if ( utedctx)
utedctx->set_editmode( editmode, ldhses);
if ( first_edit_session) {
// Check configuration status
pwr_tObjid oid;
oid.vid = volid;
oid.oix = 0;
pwr_tEnum *config_status;
int size;
first_edit_session = 0;
sts = ldh_GetObjectPar( ldhses, oid, "SysBody", "ConfigurationStatus",
(char **)&config_status, &size);
if ( ODD(sts)) {
ldh_sParDef adef;
ldh_sValueDef *vd;
int rows;
pwr_tCid cid;
sts = ldh_GetObjectClass( ldhses, oid, &cid);
if ( EVEN(sts)) return 1;
sts = ldh_GetAttrDef( ldhses, cid, "SysBody", "ConfigurationStatus", &adef);
if ( EVEN(sts)) return 1;
sts = ldh_GetEnumValueDef( ldhses, adef.Par->Param.TypeRef, &vd, &rows);
if ( EVEN(sts)) return 1;
bool found = false;
int i;
for ( i = 0; i < rows; i++) {
if ( vd[i].Value.Value == *config_status) {
found = true;
break;
}
}
if ( found) {
if ( *config_status < 100)
MsgWindow::message( 'E', "Volume Configuration status: ", vd[i].Value.Text);
else if ( *config_status < 200)
MsgWindow::message( 'W', "Volume Configuration status: ", vd[i].Value.Text);
else
MsgWindow::message( 'I', "Volume Configuration status: ", vd[i].Value.Text);
}
free( (char *)config_status);
free( (char *)vd);
}
}
return 1;
}
......@@ -2178,7 +2227,7 @@ Wtt::Wtt(
select_attr(0), select_type(0),
wnav_mapped(0), wnavnode_mapped(0), utedctx(0), wpkg(0),
close_cb(0), open_volume_cb(0), open_project_volume_cb(0), time_to_exit_cb(0),
mcp(0), disable_w2(0), keep_input_open(0)
mcp(0), disable_w2(0), keep_input_open(0), first_edit_session(1)
{
strcpy( name, wt_name);
*status = 1;
......
......@@ -184,6 +184,7 @@ class Wtt : public WUtility {
ldh_sMenuCall *mcp;
int disable_w2;
int keep_input_open;
int first_edit_session;
int restore_settings();
int save_settings();
......
......@@ -818,6 +818,13 @@ static int xnav_set_func( void *client_data,
// Command is "SET NORATIO"
xnav->gbl.no_graph_ratio = 1;
}
else if ( cdh_NoCaseStrcmp( arg1_str, "crashtest") == 0)
{
// Command is "SET CRASHTEST"
char *p = 0;
char c;
c = *p;
}
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