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
2657bab8
Commit
2657bab8
authored
Jun 17, 2004
by
claes
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Extern function to format selection
parent
7a35af90
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
283 additions
and
224 deletions
+283
-224
wb/lib/wb/src/wb_wnav_selformat.cpp
wb/lib/wb/src/wb_wnav_selformat.cpp
+223
-0
wb/lib/wb/src/wb_wnav_selformat.h
wb/lib/wb/src/wb_wnav_selformat.h
+45
-0
wb/lib/wb/src/wb_wtt.cpp
wb/lib/wb/src/wb_wtt.cpp
+14
-217
wb/lib/wb/src/wb_wtt.h
wb/lib/wb/src/wb_wtt.h
+1
-7
No files found.
wb/lib/wb/src/wb_wnav_selformat.cpp
0 → 100644
View file @
2657bab8
#include <string.h>
#include "wb_wnav_selformat.h"
typedef
struct
{
char
*
TypeStr
;
pwr_eType
Type
;
pwr_tInt16
Size
;
}
wnav_sTypeStr
;
static
int
wnav_type_to_string
(
pwr_eType
type
,
char
*
type_buf
,
int
*
size
)
{
int
i
;
static
const
wnav_sTypeStr
type_table
[]
=
{
{
"Boolean"
,
pwr_eType_Boolean
,
sizeof
(
pwr_tBoolean
)},
{
"Float32"
,
pwr_eType_Float32
,
sizeof
(
pwr_tFloat32
)},
{
"Float64"
,
pwr_eType_Float64
,
sizeof
(
pwr_tFloat64
)},
{
"Char"
,
pwr_eType_Char
,
sizeof
(
pwr_tChar
)},
{
"Int8"
,
pwr_eType_Int8
,
sizeof
(
pwr_tInt8
)},
{
"Int16"
,
pwr_eType_Int16
,
sizeof
(
pwr_tInt16
)},
{
"Int32"
,
pwr_eType_Int32
,
sizeof
(
pwr_tInt32
)},
{
"UInt8"
,
pwr_eType_UInt8
,
sizeof
(
pwr_tUInt8
)},
{
"UInt16"
,
pwr_eType_UInt16
,
sizeof
(
pwr_tUInt16
)},
{
"UInt32"
,
pwr_eType_UInt32
,
sizeof
(
pwr_tUInt32
)},
{
"Objid"
,
pwr_eType_Objid
,
sizeof
(
pwr_tObjid
)},
{
"Time"
,
pwr_eType_Time
,
sizeof
(
pwr_tTime
)},
{
"DeltaTime"
,
pwr_eType_DeltaTime
,
sizeof
(
pwr_tDeltaTime
)},
{
"AttrRef"
,
pwr_eType_AttrRef
,
sizeof
(
pwr_sAttrRef
)}
};
for
(
i
=
0
;
i
<
int
(
sizeof
(
type_table
)
/
sizeof
(
type_table
[
0
]));
i
++
)
{
if
(
type_table
[
i
].
Type
==
type
)
{
strcpy
(
type_buf
,
type_table
[
i
].
TypeStr
);
if
(
size
)
*
size
=
type_table
[
i
].
Size
;
return
1
;
}
}
if
(
type
==
pwr_eType_String
)
{
strcpy
(
type_buf
,
"String"
);
if
(
size
)
*
size
=
1
;
/* This is not the real size */
return
1
;
}
return
0
;
}
pwr_tBoolean
wnav_format_selection
(
ldh_tSesContext
ldhses
,
pwr_sAttrRef
attrref
,
pwr_tBoolean
is_class
,
pwr_tBoolean
is_attr
,
int
select_syntax
,
int
select_volume
,
int
select_attr
,
int
select_type
,
char
*
buff
)
{
pwr_sAttrRef
attr_ref
;
int
ret_len
,
i
,
j
,
size
,
sts
;
char
name
[
256
];
char
attr_name
[
128
],
type_buff
[
80
];
pwr_tClassId
classid
,
body_class
;
pwr_sGraphPlcNode
*
graph_body
;
ldh_sParDef
attr_def
;
char
*
p1
,
*
p2
;
char
hyphen
[
8
],
dot
[
8
],
colon
[
8
];
char
*
name_ptr
;
pwr_tObjid
object
=
attrref
.
Objid
;
char
*
s
;
if
(
select_syntax
==
wnav_eSelectionMode_Extern
&&
!
select_attr
)
{
sts
=
ldh_ObjidToName
(
ldhses
,
object
,
ldh_eName_Objid
,
name
,
sizeof
(
name
),
&
ret_len
);
if
(
EVEN
(
sts
))
return
FALSE
;
strcpy
(
buff
,
name
);
return
TRUE
;
}
else
if
(
select_syntax
==
wnav_eSelectionMode_Extern
&&
select_attr
)
{
sts
=
ldh_ObjidToName
(
ldhses
,
object
,
ldh_eName_Default
,
name
,
sizeof
(
name
),
&
ret_len
);
if
(
EVEN
(
sts
))
return
FALSE
;
}
else
if
(
select_volume
)
{
sts
=
ldh_ObjidToName
(
ldhses
,
object
,
ldh_eName_VolPath
,
name
,
sizeof
(
name
),
&
ret_len
);
if
(
EVEN
(
sts
))
return
FALSE
;
}
else
{
sts
=
ldh_ObjidToName
(
ldhses
,
object
,
ldh_eName_Hierarchy
,
name
,
sizeof
(
name
),
&
ret_len
);
if
(
EVEN
(
sts
))
return
FALSE
;
}
if
(
select_syntax
==
wnav_eSelectionMode_GMS
)
{
strcpy
(
hyphen
,
"
\\
-"
);
strcpy
(
dot
,
"
\\
."
);
strcpy
(
colon
,
"
\\
:"
);
}
else
{
strcpy
(
hyphen
,
"-"
);
strcpy
(
dot
,
"."
);
strcpy
(
colon
,
":"
);
}
for
(
i
=
0
,
j
=
0
;
i
<
ret_len
+
1
;
i
++
)
{
if
(
name
[
i
]
==
'-'
)
{
strcpy
(
&
buff
[
j
],
hyphen
);
j
+=
strlen
(
hyphen
);
}
else
if
(
name
[
i
]
==
':'
)
{
strcpy
(
&
buff
[
j
],
colon
);
j
+=
strlen
(
colon
);
}
else
{
buff
[
j
]
=
name
[
i
];
j
++
;
}
}
// Fetch and add attribute name if necessary
if
(
select_attr
&&
!
is_class
)
{
sts
=
ldh_GetObjectClass
(
ldhses
,
object
,
&
classid
);
if
(
EVEN
(
sts
))
return
FALSE
;
if
(
!
is_attr
)
{
// Get the debugparameter if there is one, else add ActualValue
sts
=
ldh_GetClassBody
(
ldhses
,
classid
,
"GraphPlcNode"
,
&
body_class
,
(
char
**
)
&
graph_body
,
&
size
);
if
(
ODD
(
sts
)
)
strcpy
(
attr_name
,
graph_body
->
debugpar
);
else
strcpy
(
attr_name
,
"ActualValue"
);
strcat
(
name
,
"."
);
strcat
(
name
,
attr_name
);
// Check if attribute exists
sts
=
ldh_NameToAttrRef
(
ldhses
,
name
,
&
attr_ref
);
if
(
ODD
(
sts
))
{
if
(
select_syntax
==
wnav_eSelectionMode_Extern
&&
select_attr
)
{
sts
=
ldh_AttrRefToName
(
ldhses
,
&
attr_ref
,
ldh_eName_ArefExport
,
&
name_ptr
,
&
ret_len
);
if
(
EVEN
(
sts
))
return
FALSE
;
strcpy
(
buff
,
name_ptr
);
return
TRUE
;
}
}
}
else
{
sts
=
ldh_AttrRefToName
(
ldhses
,
&
attrref
,
ldh_eName_Aref
,
&
name_ptr
,
&
ret_len
);
if
(
EVEN
(
sts
))
return
FALSE
;
if
(
(
s
=
strrchr
(
name_ptr
,
'.'
)))
strcpy
(
attr_name
,
s
+
1
);
else
strcpy
(
attr_name
,
""
);
}
strcat
(
buff
,
dot
);
strcat
(
buff
,
attr_name
);
if
(
select_type
)
{
// If attribute is an array element
// Get attribute definition for the array.
if
(
(
p1
=
strstr
(
attr_name
,
"["
)))
*
p1
=
'\0'
;
sts
=
ldh_GetAttrDef
(
ldhses
,
classid
,
"RtBody"
,
attr_name
,
&
attr_def
);
if
(
EVEN
(
sts
))
sts
=
ldh_GetAttrDef
(
ldhses
,
classid
,
"SysBody"
,
attr_name
,
&
attr_def
);
if
(
ODD
(
sts
)
&&
wnav_type_to_string
(
attr_def
.
Par
->
Input
.
Info
.
Type
,
type_buff
,
NULL
))
{
char
num
[
8
];
if
(
(
p2
=
strstr
(
buff
,
"["
)))
*
p2
=
'\0'
;
if
(
attr_def
.
Par
->
Input
.
Info
.
Type
==
pwr_eType_String
)
{
sprintf
(
num
,
"%d"
,
attr_def
.
Par
->
Input
.
Info
.
Size
/
attr_def
.
Par
->
Input
.
Info
.
Elements
);
strcat
(
type_buff
,
num
);
}
strcat
(
buff
,
"##"
);
strcat
(
buff
,
type_buff
);
// Check if array
if
(
p1
)
{
sprintf
(
&
buff
[
strlen
(
buff
)],
"#%d"
,
attr_def
.
Par
->
Input
.
Info
.
Elements
);
*
p1
=
'['
;
strcat
(
buff
,
p1
);
}
else
if
(
attr_def
.
Par
->
Input
.
Info
.
Elements
>
1
)
{
sprintf
(
&
buff
[
strlen
(
buff
)],
"#%d"
,
attr_def
.
Par
->
Input
.
Info
.
Elements
);
}
}
}
}
if
(
select_syntax
==
wnav_eSelectionMode_Extern
&&
select_attr
)
{
sts
=
ldh_NameToAttrRef
(
ldhses
,
buff
,
&
attr_ref
);
if
(
EVEN
(
sts
))
return
FALSE
;
sts
=
ldh_AttrRefToName
(
ldhses
,
&
attr_ref
,
ldh_eName_ArefExport
,
&
p1
,
&
size
);
if
(
EVEN
(
sts
))
return
FALSE
;
strcpy
(
buff
,
p1
);
}
return
TRUE
;
}
wb/lib/wb/src/wb_wnav_selformat.h
0 → 100644
View file @
2657bab8
#ifndef wb_wnav_selformat_h
#define wb_wnav_selformat_h
/* wb_wtt.h -- Simple navigator
PROVIEW/R
Copyright (C) 1996 by Comator Process AB.
<Description>. */
#if defined __cplusplus
extern
"C"
{
#endif
#ifndef pwr_h
# include "pwr.h"
#endif
#ifndef wb_ldh_h
# include "wb_ldh.h"
#endif
// Defines for primary selection mode
typedef
enum
{
wnav_eSelectionMode_GMS
,
wnav_eSelectionMode_Normal
,
wnav_eSelectionMode_Extern
}
wnav_eSelectionMode
;
pwr_tBoolean
wnav_format_selection
(
ldh_tSesContext
ldhses
,
pwr_sAttrRef
attrref
,
pwr_tBoolean
is_class
,
pwr_tBoolean
is_attr
,
int
select_syntax
,
int
select_volume
,
int
select_attr
,
int
select_type
,
char
*
buff
);
#if defined __cplusplus
}
#endif
#endif
wb/lib/wb/src/wb_wtt.cpp
View file @
2657bab8
...
...
@@ -64,6 +64,7 @@ extern "C" {
#include "wb_env.h"
#include "wb_wpkg.h"
#include "co_msgwindow.h"
#include "wb_wnav_selformat.h"
#define MESSAGE_RETURN_STS(sts)\
...
...
@@ -82,12 +83,6 @@ extern "C" {
//
//
//
typedef
struct
{
char
*
TypeStr
;
pwr_eType
Type
;
pwr_tInt16
Size
;
}
wtt_sTypeStr
;
static
int
wtt_get_wbctx
(
void
*
ctx
,
ldh_tWBContext
*
wbctx
);
static
int
wtt_set_focus_cb
(
void
*
ctx
,
void
*
comp
);
...
...
@@ -2683,7 +2678,7 @@ static void wtt_activate_selmode( Widget w, Wtt *wtt,
XmToggleButtonSetState
(
wtt
->
copy_mode
.
add_type
,
0
,
0
);
wtt
->
select_type
=
0
;
XtSetSensitive
(
wtt
->
copy_mode
.
add_volume
,
1
);
wtt
->
select_syntax
=
w
tt
_eSelectionMode_Normal
;
wtt
->
select_syntax
=
w
nav
_eSelectionMode_Normal
;
}
else
if
(
!
strcmp
(
name
,
"gmsSyntax"
))
{
...
...
@@ -2696,7 +2691,7 @@ static void wtt_activate_selmode( Widget w, Wtt *wtt,
XmToggleButtonSetState
(
wtt
->
copy_mode
.
extern_syntax
,
0
,
0
);
XtSetSensitive
(
wtt
->
copy_mode
.
add_type
,
1
);
XtSetSensitive
(
wtt
->
copy_mode
.
add_volume
,
1
);
wtt
->
select_syntax
=
w
tt
_eSelectionMode_GMS
;
wtt
->
select_syntax
=
w
nav
_eSelectionMode_GMS
;
}
else
if
(
!
strcmp
(
name
,
"externSyntax"
))
{
...
...
@@ -2712,7 +2707,7 @@ static void wtt_activate_selmode( Widget w, Wtt *wtt,
XtSetSensitive
(
wtt
->
copy_mode
.
add_volume
,
0
);
wtt
->
select_type
=
0
;
XmToggleButtonSetState
(
wtt
->
copy_mode
.
add_volume
,
0
,
0
);
wtt
->
select_syntax
=
w
tt
_eSelectionMode_Extern
;
wtt
->
select_syntax
=
w
nav
_eSelectionMode_Extern
;
wtt
->
select_volume
=
0
;
}
else
if
(
!
strcmp
(
name
,
"addVolume"
))
...
...
@@ -3118,51 +3113,6 @@ void wtt_options_hier_tog_cr( Widget w, Wtt *wtt)
}
/* wtt_options_hier_tog_cr */
static
int
wtt_type_to_string
(
pwr_eType
type
,
char
*
type_buf
,
int
*
size
)
{
int
i
;
static
const
wtt_sTypeStr
type_table
[]
=
{
{
"Boolean"
,
pwr_eType_Boolean
,
sizeof
(
pwr_tBoolean
)},
{
"Float32"
,
pwr_eType_Float32
,
sizeof
(
pwr_tFloat32
)},
{
"Float64"
,
pwr_eType_Float64
,
sizeof
(
pwr_tFloat64
)},
{
"Char"
,
pwr_eType_Char
,
sizeof
(
pwr_tChar
)},
{
"Int8"
,
pwr_eType_Int8
,
sizeof
(
pwr_tInt8
)},
{
"Int16"
,
pwr_eType_Int16
,
sizeof
(
pwr_tInt16
)},
{
"Int32"
,
pwr_eType_Int32
,
sizeof
(
pwr_tInt32
)},
{
"UInt8"
,
pwr_eType_UInt8
,
sizeof
(
pwr_tUInt8
)},
{
"UInt16"
,
pwr_eType_UInt16
,
sizeof
(
pwr_tUInt16
)},
{
"UInt32"
,
pwr_eType_UInt32
,
sizeof
(
pwr_tUInt32
)},
{
"Objid"
,
pwr_eType_Objid
,
sizeof
(
pwr_tObjid
)},
{
"Time"
,
pwr_eType_Time
,
sizeof
(
pwr_tTime
)},
{
"DeltaTime"
,
pwr_eType_DeltaTime
,
sizeof
(
pwr_tDeltaTime
)},
{
"AttrRef"
,
pwr_eType_AttrRef
,
sizeof
(
pwr_sAttrRef
)}
};
for
(
i
=
0
;
i
<
int
(
sizeof
(
type_table
)
/
sizeof
(
type_table
[
0
]));
i
++
)
{
if
(
type_table
[
i
].
Type
==
type
)
{
strcpy
(
type_buf
,
type_table
[
i
].
TypeStr
);
if
(
size
)
*
size
=
type_table
[
i
].
Size
;
return
1
;
}
}
if
(
type
==
pwr_eType_String
)
{
strcpy
(
type_buf
,
"String"
);
if
(
size
)
*
size
=
1
;
/* This is not the real size */
return
1
;
}
return
0
;
}
static
pwr_tBoolean
wtt_format_selection
(
void
*
ctx
,
pwr_sAttrRef
attrref
,
...
...
@@ -3173,19 +3123,8 @@ static pwr_tBoolean wtt_format_selection(
wnav_eSelectionFormat
format
)
{
int
ret_len
,
i
,
j
,
size
,
sts
;
char
name
[
256
];
char
buff
[
256
],
attr_name
[
128
],
type_buff
[
80
];
pwr_tClassId
classid
,
body_class
;
pwr_sGraphPlcNode
*
graph_body
;
pwr_sAttrRef
attr_ref
;
ldh_sParDef
attr_def
;
char
*
p1
,
*
p2
;
char
hyphen
[
8
],
dot
[
8
],
colon
[
8
];
char
*
name_ptr
;
char
buff
[
256
];
Wtt
*
wtt
=
(
Wtt
*
)
ctx
;
pwr_tObjid
object
=
attrref
.
Objid
;
char
*
s
;
int
select_syntax
;
int
select_volume
,
select_attr
,
select_type
;
...
...
@@ -3197,174 +3136,32 @@ static pwr_tBoolean wtt_format_selection(
select_type
=
wtt
->
select_type
;
break
;
case
wnav_eSelectionFormat_Graph
:
select_syntax
=
w
tt
_eSelectionMode_Normal
;
select_syntax
=
w
nav
_eSelectionMode_Normal
;
select_volume
=
0
;
select_attr
=
1
;
select_type
=
1
;
break
;
case
wnav_eSelectionFormat_Objid
:
select_syntax
=
w
tt
_eSelectionMode_Normal
;
select_syntax
=
w
nav
_eSelectionMode_Normal
;
select_volume
=
1
;
select_attr
=
0
;
select_type
=
0
;
break
;
case
wnav_eSelectionFormat_Attrref
:
select_syntax
=
w
tt
_eSelectionMode_Normal
;
select_syntax
=
w
nav
_eSelectionMode_Normal
;
select_volume
=
1
;
select_attr
=
1
;
select_type
=
0
;
break
;
}
if
(
select_syntax
==
wtt_eSelectionMode_Extern
&&
!
select_attr
)
{
sts
=
ldh_ObjidToName
(
wtt
->
ldhses
,
object
,
ldh_eName_Objid
,
name
,
sizeof
(
name
),
&
ret_len
);
if
(
EVEN
(
sts
))
return
FALSE
;
*
value_return
=
XtNewString
(
name
);
*
length_return
=
strlen
(
name
)
+
1
;
if
(
wnav_format_selection
(
wtt
->
ldhses
,
attrref
,
is_class
,
is_attr
,
select_syntax
,
select_volume
,
select_attr
,
select_type
,
buff
))
{
*
value_return
=
XtNewString
(
buff
);
*
length_return
=
strlen
(
buff
)
+
1
;
return
TRUE
;
}
else
if
(
select_syntax
==
wtt_eSelectionMode_Extern
&&
select_attr
)
{
sts
=
ldh_ObjidToName
(
wtt
->
ldhses
,
object
,
ldh_eName_Default
,
name
,
sizeof
(
name
),
&
ret_len
);
if
(
EVEN
(
sts
))
return
FALSE
;
}
else
if
(
select_volume
)
{
sts
=
ldh_ObjidToName
(
wtt
->
ldhses
,
object
,
ldh_eName_VolPath
,
name
,
sizeof
(
name
),
&
ret_len
);
if
(
EVEN
(
sts
))
return
FALSE
;
}
else
{
sts
=
ldh_ObjidToName
(
wtt
->
ldhses
,
object
,
ldh_eName_Hierarchy
,
name
,
sizeof
(
name
),
&
ret_len
);
if
(
EVEN
(
sts
))
return
FALSE
;
}
if
(
select_syntax
==
wtt_eSelectionMode_GMS
)
{
strcpy
(
hyphen
,
"
\\
-"
);
strcpy
(
dot
,
"
\\
."
);
strcpy
(
colon
,
"
\\
:"
);
}
else
{
strcpy
(
hyphen
,
"-"
);
strcpy
(
dot
,
"."
);
strcpy
(
colon
,
":"
);
}
for
(
i
=
0
,
j
=
0
;
i
<
ret_len
+
1
;
i
++
)
{
if
(
name
[
i
]
==
'-'
)
{
strcpy
(
&
buff
[
j
],
hyphen
);
j
+=
strlen
(
hyphen
);
}
else
if
(
name
[
i
]
==
':'
)
{
strcpy
(
&
buff
[
j
],
colon
);
j
+=
strlen
(
colon
);
}
else
{
buff
[
j
]
=
name
[
i
];
j
++
;
}
}
// Fetch and add attribute name if necessary
if
(
select_attr
&&
!
is_class
)
{
sts
=
ldh_GetObjectClass
(
wtt
->
ldhses
,
object
,
&
classid
);
if
(
EVEN
(
sts
))
return
FALSE
;
if
(
!
is_attr
)
{
// Get the debugparameter if there is one, else add ActualValue
sts
=
ldh_GetClassBody
(
wtt
->
ldhses
,
classid
,
"GraphPlcNode"
,
&
body_class
,
(
char
**
)
&
graph_body
,
&
size
);
if
(
ODD
(
sts
)
)
strcpy
(
attr_name
,
graph_body
->
debugpar
);
else
strcpy
(
attr_name
,
"ActualValue"
);
strcat
(
name
,
"."
);
strcat
(
name
,
attr_name
);
// Check if attribute exists
sts
=
ldh_NameToAttrRef
(
wtt
->
ldhses
,
name
,
&
attr_ref
);
if
(
ODD
(
sts
))
{
if
(
select_syntax
==
wtt_eSelectionMode_Extern
&&
select_attr
)
{
sts
=
ldh_AttrRefToName
(
wtt
->
ldhses
,
&
attr_ref
,
ldh_eName_ArefExport
,
&
name_ptr
,
&
ret_len
);
if
(
EVEN
(
sts
))
return
FALSE
;
*
value_return
=
XtNewString
(
name_ptr
);
*
length_return
=
strlen
(
name_ptr
)
+
1
;
return
TRUE
;
}
}
}
else
{
sts
=
ldh_AttrRefToName
(
wtt
->
ldhses
,
&
attrref
,
ldh_eName_Aref
,
&
name_ptr
,
&
ret_len
);
if
(
EVEN
(
sts
))
return
FALSE
;
if
(
(
s
=
strrchr
(
name_ptr
,
'.'
)))
strcpy
(
attr_name
,
s
+
1
);
else
strcpy
(
attr_name
,
""
);
}
strcat
(
buff
,
dot
);
strcat
(
buff
,
attr_name
);
if
(
select_type
)
{
// If attribute is an array element
// Get attribute definition for the array.
if
(
(
p1
=
strstr
(
attr_name
,
"["
)))
*
p1
=
'\0'
;
sts
=
ldh_GetAttrDef
(
wtt
->
ldhses
,
classid
,
"RtBody"
,
attr_name
,
&
attr_def
);
if
(
EVEN
(
sts
))
sts
=
ldh_GetAttrDef
(
wtt
->
ldhses
,
classid
,
"SysBody"
,
attr_name
,
&
attr_def
);
if
(
ODD
(
sts
)
&&
wtt_type_to_string
(
attr_def
.
Par
->
Input
.
Info
.
Type
,
type_buff
,
NULL
))
{
char
num
[
8
];
if
(
(
p2
=
strstr
(
buff
,
"["
)))
*
p2
=
'\0'
;
if
(
attr_def
.
Par
->
Input
.
Info
.
Type
==
pwr_eType_String
)
{
sprintf
(
num
,
"%d"
,
attr_def
.
Par
->
Input
.
Info
.
Size
/
attr_def
.
Par
->
Input
.
Info
.
Elements
);
strcat
(
type_buff
,
num
);
}
strcat
(
buff
,
"##"
);
strcat
(
buff
,
type_buff
);
// Check if array
if
(
p1
)
{
sprintf
(
&
buff
[
strlen
(
buff
)],
"#%d"
,
attr_def
.
Par
->
Input
.
Info
.
Elements
);
*
p1
=
'['
;
strcat
(
buff
,
p1
);
}
else
if
(
attr_def
.
Par
->
Input
.
Info
.
Elements
>
1
)
{
sprintf
(
&
buff
[
strlen
(
buff
)],
"#%d"
,
attr_def
.
Par
->
Input
.
Info
.
Elements
);
}
}
}
}
if
(
select_syntax
==
wtt_eSelectionMode_Extern
&&
select_attr
)
{
sts
=
ldh_NameToAttrRef
(
wtt
->
ldhses
,
buff
,
&
attr_ref
);
if
(
EVEN
(
sts
))
return
False
;
sts
=
ldh_AttrRefToName
(
wtt
->
ldhses
,
&
attr_ref
,
ldh_eName_ArefExport
,
&
p1
,
&
size
);
if
(
EVEN
(
sts
))
return
False
;
strcpy
(
buff
,
p1
);
}
*
value_return
=
XtNewString
(
buff
);
*
length_return
=
strlen
(
buff
)
+
1
;
return
TRUE
;
return
FALSE
;
}
int
Wtt
::
get_select_first
(
pwr_sAttrRef
*
attrref
,
int
*
is_attr
)
...
...
wb/lib/wb/src/wb_wtt.h
View file @
2657bab8
...
...
@@ -16,6 +16,7 @@ extern "C" {
# include "pwr.h"
#endif
#ifndef flow_std_h
#include "flow_std.h"
#endif
...
...
@@ -70,13 +71,6 @@ typedef enum {
}
wtt_eInputMode
;
// Defines for primary selection mode
typedef
enum
{
wtt_eSelectionMode_GMS
,
wtt_eSelectionMode_Normal
,
wtt_eSelectionMode_Extern
}
wtt_eSelectionMode
;
class
WttApplListElem
{
public:
WttApplListElem
(
wb_eUtility
al_type
,
void
*
al_ctx
,
pwr_tObjid
al_objid
,
...
...
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