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
5007cbff
Commit
5007cbff
authored
May 18, 2009
by
Claes Sjofors
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Popup menu on attributes. Methods HelpClass, InsertSelectedObject and ChangeValue added.
parent
10ba5acd
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
409 additions
and
33 deletions
+409
-33
src/wbl/pwrs/src/pwrs_c_attribute.wb_load
src/wbl/pwrs/src/pwrs_c_attribute.wb_load
+208
-0
wb/changelog.txt
wb/changelog.txt
+4
-1
wb/lib/wb/src/wb_c_attribute.cpp
wb/lib/wb/src/wb_c_attribute.cpp
+169
-0
wb/lib/wb/src/wb_ldh.cpp
wb/lib/wb/src/wb_ldh.cpp
+1
-31
wb/lib/wb/src/wb_session.cpp
wb/lib/wb/src/wb_session.cpp
+27
-1
No files found.
src/wbl/pwrs/src/pwrs_c_attribute.wb_load
View file @
5007cbff
...
...
@@ -207,6 +207,214 @@ SObject pwrs:Class
Attr MethodName = "$Attribute-AnteMove"
EndBody
EndObject
Object ConfiguratorPasnn $Menu
Object Pointed $Menu
Object HelpClass $MenuButton
Body SysBody
Attr ButtonName = "Help Class"
Attr MethodName = "$Attribute-HelpClass"
Attr FilterName = "$Attribute-HelpClassFilter"
EndBody
EndObject
EndObject
EndObject
Object ConfiguratorPascn $Menu
Object Pointed $Menu
Object HelpClass $MenuButton
Body SysBody
Attr ButtonName = "Help Class"
Attr MethodName = "$Attribute-HelpClass"
Attr FilterName = "$Attribute-HelpClassFilter"
EndBody
EndObject
EndObject
EndObject
Object ConfiguratorPasos $Menu
Object Pointed $Menu
Object HelpClass $MenuButton
Body SysBody
Attr ButtonName = "Help Class"
Attr MethodName = "$Attribute-HelpClass"
Attr FilterName = "$Attribute-HelpClassFilter"
EndBody
EndObject
EndObject
EndObject
Object ConfiguratorPasas $Menu
Object Pointed $Menu
Object HelpClass $MenuButton
Body SysBody
Attr ButtonName = "Help Class"
Attr MethodName = "$Attribute-HelpClass"
Attr FilterName = "$Attribute-HelpClassFilter"
EndBody
EndObject
Object ChangeValue $MenuButton
Body SysBody
Attr ButtonName = "ChangeValue"
Attr MethodName = "$Attribute-ChangeValue"
Attr FilterName = "$Attribute-ChangeValueFilter"
EndBody
EndObject
EndObject
EndObject
Object ConfiguratorPason $Menu
Object Pointed $Menu
Object InsertSelectedObject $MenuButton
Body SysBody
Attr ButtonName = "Insert Selected Object"
Attr MethodName = "$Attribute-InsertSelectedObject"
Attr FilterName = "$Attribute-InsertSelectedObjectFilter"
EndBody
EndObject
Object HelpClass $MenuButton
Body SysBody
Attr ButtonName = "Help Class"
Attr MethodName = "$Attribute-HelpClass"
Attr FilterName = "$Attribute-HelpClassFilter"
EndBody
EndObject
EndObject
EndObject
Object ConfiguratorPasan $Menu
Object Pointed $Menu
Object InsertSelectedObject $MenuButton
Body SysBody
Attr ButtonName = "Insert Selected Object"
Attr MethodName = "$Attribute-InsertSelectedObject"
Attr FilterName = "$Attribute-InsertSelectedObjectFilter"
EndBody
EndObject
Object HelpClass $MenuButton
Body SysBody
Attr ButtonName = "Help Class"
Attr MethodName = "$Attribute-HelpClass"
Attr FilterName = "$Attribute-HelpClassFilter"
EndBody
EndObject
EndObject
EndObject
Object ConfiguratorPasmn $Menu
Object Pointed $Menu
Object HelpClass $MenuButton
Body SysBody
Attr ButtonName = "Help Class"
Attr MethodName = "$Attribute-HelpClass"
Attr FilterName = "$Attribute-HelpClassFilter"
EndBody
EndObject
EndObject
EndObject
Object ConfiguratorPasms $Menu
Object Pointed $Menu
Object HelpClass $MenuButton
Body SysBody
Attr ButtonName = "Help Class"
Attr MethodName = "$Attribute-HelpClass"
Attr FilterName = "$Attribute-HelpClassFilter"
EndBody
EndObject
EndObject
EndObject
Object NavigatorPasnn $Menu
Object Pointed $Menu
Object HelpClass $MenuButton
Body SysBody
Attr ButtonName = "Help Class"
Attr MethodName = "$Attribute-HelpClass"
Attr FilterName = "$Attribute-HelpClassFilter"
EndBody
EndObject
EndObject
EndObject
Object NavigatorPasos $Menu
Object Pointed $Menu
Object HelpClass $MenuButton
Body SysBody
Attr ButtonName = "Help Class"
Attr MethodName = "$Attribute-HelpClass"
Attr FilterName = "$Attribute-HelpClassFilter"
EndBody
EndObject
EndObject
EndObject
Object NavigatorPason $Menu
Object Pointed $Menu
Object HelpClass $MenuButton
Body SysBody
Attr ButtonName = "Help Class"
Attr MethodName = "$Attribute-HelpClass"
Attr FilterName = "$Attribute-HelpClassFilter"
EndBody
EndObject
EndObject
EndObject
Object NavigatorPasas $Menu
Object Pointed $Menu
Object HelpClass $MenuButton
Body SysBody
Attr ButtonName = "Help Class"
Attr MethodName = "$Attribute-HelpClass"
Attr FilterName = "$Attribute-HelpClassFilter"
EndBody
EndObject
EndObject
EndObject
Object NavigatorPasan $Menu
Object Pointed $Menu
Object HelpClass $MenuButton
Body SysBody
Attr ButtonName = "Help Class"
Attr MethodName = "$Attribute-HelpClass"
Attr FilterName = "$Attribute-HelpClassFilter"
EndBody
EndObject
EndObject
EndObject
Object NavigatorPasmn $Menu
Object Pointed $Menu
Object HelpClass $MenuButton
Body SysBody
Attr ButtonName = "Help Class"
Attr MethodName = "$Attribute-HelpClass"
Attr FilterName = "$Attribute-HelpClassFilter"
EndBody
EndObject
EndObject
EndObject
Object NavigatorPasms $Menu
Object Pointed $Menu
Object HelpClass $MenuButton
Body SysBody
Attr ButtonName = "Help Class"
Attr MethodName = "$Attribute-HelpClass"
Attr FilterName = "$Attribute-HelpClassFilter"
EndBody
EndObject
EndObject
EndObject
Object ConfiguratorPxsxx $Menu
Object Pointed $Menu
Object HelpClass $MenuButton
Body SysBody
Attr ButtonName = "Help Class"
Attr MethodName = "$Attribute-HelpClass"
Attr FilterName = "$Attribute-HelpClassFilter"
EndBody
EndObject
EndObject
EndObject
Object NavigatorPxsxx $Menu
Object Pointed $Menu
Object HelpClass $MenuButton
Body SysBody
Attr ButtonName = "Help Class"
Attr MethodName = "$Attribute-HelpClass"
Attr FilterName = "$Attribute-HelpClassFilter"
EndBody
EndObject
EndObject
EndObject
EndObject
EndSObject
...
...
wb/changelog.txt
View file @
5007cbff
...
...
@@ -127,4 +127,7 @@
090306 cs wb Crossreferences on Co signals added.
090306 cs plc Default include in ra_plc_user.h added.
090507 cs adm In projectlist, the project name in a ProjectReg is changed, also the path is changed.
090507 cs wb Bugfix in directory wizard, for nodenames containing '-' NodeConfig object was not configured correctly.
\ No newline at end of file
090507 cs wb Bugfix in directory wizard, for nodenames containing '-' NodeConfig object was not configured correctly.
090515 cs wtt Ctrl/Doubleclick MB1 to insert selected object into an objid attribute also works on attrref attributes.
090515 cs wtt Popup menu on attributes. Methods HelpClass, InsertSelectedObject and ChangeValue added.
090515 cs wtt Bugfix in ConnectGraph method for PlantHier objects.
\ No newline at end of file
wb/lib/wb/src/wb_c_attribute.cpp
View file @
5007cbff
...
...
@@ -20,9 +20,14 @@
/* wb_c_attribute.c -- work bench methods of the Attribute class. */
#include <string.h>
#include "pwr.h"
#include "co_api.h"
#include "wb_pwrs.h"
#include "wb_pwrs_msg.h"
#include "wb_ldh.h"
#include "wb_wtt.h"
#include "wb_session.h"
#include "wb_attribute.h"
static
pwr_tStatus
AnteCreate
(
ldh_tSesContext
Session
,
...
...
@@ -55,9 +60,173 @@ static pwr_tStatus AnteMove (
return
PWRS__SUCCESS
;
}
//
// Help for class of an object in wnav
//
static
pwr_tStatus
HelpClass
(
ldh_sMenuCall
*
ip
)
{
pwr_tStatus
sts
;
int
size
;
pwr_tObjName
cname
;
pwr_tObjName
vname
;
pwr_tCmd
cmd
;
pwr_tTid
tid
;
pwr_tVid
vid
;
pwr_tObjName
attr
;
pwr_tAName
oname
;
char
*
namep
;
char
*
s
;
pwr_tAttrRef
aref
;
sts
=
ldh_GetAttrRefTid
(
ip
->
PointedSession
,
&
ip
->
Pointed
,
&
tid
);
if
(
EVEN
(
sts
))
return
sts
;
if
(
cdh_tidIsCid
(
tid
))
{
sts
=
ldh_ClassIdToName
(
ip
->
PointedSession
,
tid
,
cname
,
sizeof
(
cname
),
&
size
);
if
(
EVEN
(
sts
))
return
sts
;
strcpy
(
attr
,
""
);
}
else
{
sts
=
ldh_AttrRefToName
(
ip
->
PointedSession
,
&
ip
->
Pointed
,
ldh_eName_VolPath
,
&
namep
,
&
size
);
if
(
EVEN
(
sts
))
return
sts
;
strcpy
(
oname
,
namep
);
if
(
(
s
=
strrchr
(
oname
,
'.'
)))
{
strcpy
(
attr
,
s
+
1
);
*
s
=
0
;
}
else
return
0
;
sts
=
ldh_NameToAttrRef
(
ip
->
PointedSession
,
oname
,
&
aref
);
if
(
EVEN
(
sts
))
return
sts
;
sts
=
ldh_GetAttrRefTid
(
ip
->
PointedSession
,
&
aref
,
&
tid
);
if
(
EVEN
(
sts
))
return
sts
;
if
(
!
cdh_tidIsCid
(
tid
))
return
0
;
sts
=
ldh_ClassIdToName
(
ip
->
PointedSession
,
tid
,
cname
,
sizeof
(
cname
),
&
size
);
if
(
EVEN
(
sts
))
return
sts
;
}
if
(
(
s
=
strrchr
(
attr
,
'['
)))
*
s
=
0
;
vid
=
cdh_CidToVid
(
tid
);
if
(
cdh_cManufactClassVolMin
<=
vid
&&
vid
<=
cdh_cManufactClassVolMax
)
{
/* Get help file for this volume */
sts
=
ldh_VolumeIdToName
(
ldh_SessionToWB
(
ip
->
PointedSession
),
vid
,
vname
,
sizeof
(
vname
),
&
size
);
if
(
EVEN
(
sts
))
return
sts
;
cdh_ToLower
(
vname
,
vname
);
if
(
strcmp
(
attr
,
""
)
==
0
)
sprintf
(
cmd
,
"help %s /helpfile=
\"
$pwr_exe/%s/%s_xtthelp.dat
\"
/strict"
,
cname
,
lng_get_language_str
(),
vname
);
else
sprintf
(
cmd
,
"help %s /helpfile=
\"
$pwr_exe/%s/%s_xtthelp.dat
\"
/bookmark=%s/strict"
,
cname
,
lng_get_language_str
(),
vname
,
attr
);
ip
->
wnav
->
command
(
cmd
);
return
1
;
}
if
(
cname
[
0
]
==
'$'
)
{
if
(
strcmp
(
attr
,
""
)
==
0
)
sprintf
(
cmd
,
"help %s /strict"
,
&
cname
[
1
]);
else
sprintf
(
cmd
,
"help %s /bookmark=%s /strict"
,
&
cname
[
1
],
attr
);
}
else
{
if
(
strcmp
(
attr
,
""
)
==
0
)
sprintf
(
cmd
,
"help %s /strict"
,
cname
);
else
sprintf
(
cmd
,
"help %s /bookmark=%s/strict"
,
cname
,
attr
);
}
ip
->
wnav
->
command
(
cmd
);
return
1
;
}
static
pwr_tStatus
HelpClassFilter
(
ldh_sMenuCall
*
ip
)
{
return
1
;
}
//
// Set the selected objid or attrref as value
//
static
pwr_tStatus
InsertSelectedObject
(
ldh_sMenuCall
*
ip
)
{
wb_session
*
sp
=
(
wb_session
*
)
ip
->
PointedSession
;
wb_attribute
a_pointed
=
sp
->
attribute
(
&
ip
->
Pointed
);
if
(
!
a_pointed
)
return
a_pointed
.
sts
();
switch
(
a_pointed
.
tid
())
{
case
pwr_eType_Objid
:
sp
->
writeAttribute
(
a_pointed
,
&
ip
->
Selected
->
Objid
);
if
(
EVEN
(
sp
->
sts
()))
return
sp
->
sts
();
break
;
case
pwr_eType_AttrRef
:
sp
->
writeAttribute
(
a_pointed
,
ip
->
Selected
);
if
(
EVEN
(
sp
->
sts
()))
return
sp
->
sts
();
break
;
default:
return
0
;
}
return
1
;
}
static
pwr_tStatus
InsertSelectedObjectFilter
(
ldh_sMenuCall
*
ip
)
{
wb_session
*
sp
=
(
wb_session
*
)
ip
->
PointedSession
;
wb_attribute
a_pointed
=
sp
->
attribute
(
&
ip
->
Pointed
);
if
(
!
a_pointed
)
return
a_pointed
.
sts
();
switch
(
a_pointed
.
tid
())
{
case
pwr_eType_Objid
:
case
pwr_eType_AttrRef
:
if
(
ip
->
Pointed
.
Flags
.
b
.
Array
)
return
0
;
break
;
default:
return
0
;
}
return
1
;
}
//
// Change value of pointed and selected attribute
//
static
pwr_tStatus
ChangeValue
(
ldh_sMenuCall
*
ip
)
{
ip
->
wtt
->
keep_input_open
=
1
;
ip
->
wtt
->
open_change_value
();
ip
->
wtt
->
disable_focus
();
return
1
;
}
static
pwr_tStatus
ChangeValueFilter
(
ldh_sMenuCall
*
ip
)
{
return
1
;
}
pwr_dExport
pwr_BindMethods
(
$
Attribute
)
=
{
pwr_BindMethod
(
AnteCreate
),
pwr_BindMethod
(
AnteMove
),
pwr_BindMethod
(
HelpClass
),
pwr_BindMethod
(
HelpClassFilter
),
pwr_BindMethod
(
InsertSelectedObject
),
pwr_BindMethod
(
InsertSelectedObjectFilter
),
pwr_BindMethod
(
ChangeValue
),
pwr_BindMethod
(
ChangeValueFilter
),
pwr_NullMethod
};
...
...
wb/lib/wb/src/wb_ldh.cpp
View file @
5007cbff
...
...
@@ -67,37 +67,7 @@
pwr_dImport
pwr_BindClasses
(
System
);
pwr_dImport
pwr_BindClasses
(
Base
);
#if NOT_YET_IMPLEMENTED
static
ldh_sMenuItem
ldh_lMenuItem
[
100
];
static
int
ldh_gLog_a
=
0
;
static
int
ldh_gLog_b
=
0
;
static
int
ldh_gLog_c
=
0
;
static
struct
{
pwr_tString32
Name
;
ldh_eUtility
Value
;
}
ldh_lUtility
[]
=
{
{
"__"
,
ldh_eUtility__
},
{
"Navigator"
,
ldh_eUtility_Navigator
},
{
"Configurator"
,
ldh_eUtility_Configurator
},
{
"-"
,
ldh_eUtility_
}
};
static
struct
{
pwr_tString32
Name
;
pwr_tChar
Char
;
ldh_eMenuSet
Value
;
}
ldh_lMenuSet
[]
=
{
{
"__"
,
'\0'
,
ldh_eMenuSet__
},
{
"Attribute"
,
'a'
,
ldh_eMenuSet_Attribute
},
{
"Class"
,
'c'
,
ldh_eMenuSet_Class
},
{
"Many"
,
'm'
,
ldh_eMenuSet_Many
},
{
"None"
,
'n'
,
ldh_eMenuSet_None
},
{
"Object"
,
'o'
,
ldh_eMenuSet_Object
},
{
"-"
,
'\0'
,
ldh_eMenuSet_
}
};
#endif
/*
Open a db volume.
*/
...
...
wb/lib/wb/src/wb_session.cpp
View file @
5007cbff
...
...
@@ -51,7 +51,7 @@ static struct {
{
"None"
,
'n'
,
ldh_eMenuSet_None
},
{
"Object"
,
'o'
,
ldh_eMenuSet_Object
},
{
"ObjectAttr"
,
'o'
,
ldh_eMenuSet_ObjectAttr
},
{
"Array"
,
'
y
'
,
ldh_eMenuSet_Array
},
{
"Array"
,
'
a
'
,
ldh_eMenuSet_Array
},
{
"-"
,
'\0'
,
ldh_eMenuSet_
}
};
...
...
@@ -637,6 +637,32 @@ pwr_tStatus wb_session::getMenu( ldh_sMenuCall *ip)
o
->
unref
();
break
;
}
case
ldh_eMenuSet_Attribute
:
case
ldh_eMenuSet_Array
:
{
sprintf
(
Menu
,
"pwrs:Class-$Attribute-%s-Pointed"
,
MenuFolder
);
wb_cdrep
*
cdrep
=
m_vrep
->
merep
()
->
cdrep
(
&
sts
,
pwr_eClass_Param
);
if
(
EVEN
(
sts
))
return
sts
;
wb_orep
*
o
=
m_vrep
->
erep
()
->
object
(
&
sts
,
Menu
);
if
(
EVEN
(
sts
))
return
sts
;
o
->
ref
();
Object
=
o
->
oid
();
void
*
o_menu_body
;
wb_orep
*
o_menu
=
cdrep
->
menuFirst
(
&
sts
,
o
,
&
o_menu_body
);
while
(
ODD
(
sts
))
{
o_menu
->
ref
();
getAllMenuItems
(
ip
,
&
Item
,
cdrep
,
o_menu
,
o_menu_body
,
0
,
&
nItems
,
0
);
wb_orep
*
prev
=
o_menu
;
o_menu
=
cdrep
->
menuAfter
(
&
sts
,
o_menu
,
&
o_menu_body
);
prev
->
unref
();
}
delete
cdrep
;
o
->
unref
();
break
;
}
case
ldh_eMenuSet_Class
:
{
sprintf
(
Menu
,
"pwrs:Class-$Object-%s-Pointed"
,
MenuFolder
);
...
...
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