WP SET ATTRIBUTES
WP SET ATTRIBUTES ( targetObj ; attribName ; attribValue {; attribName2 ; attribValue2 ; ... ; attribNameN ; attribValueN} )
Parameter | Type | Description | |
---|---|---|---|
targetObj | Object | → | Range or element or 4D Write Pro document |
attribName | Text | → | Name of attribute to set |
attribValue | Text, Number, Object, Collection, Picture, Date | → | New attribute value |
Description
The WP SET ATTRIBUTES command allows you to set the value of any attribute in a range, element or document. This command gives you access to any kind of 4D Write Pro internal attribute: character, paragraph, document, table, or image.
In the first parameter, you can pass :
- a range, or
- an element (header / footer / body / table / row / paragraph / anchored or inline picture / section / subsection / style sheet), or
- a 4D Write Pro document
In attribName, pass the name of the attribute to set for the target and in attribValue, pass the new value to set. For a comprehensive list of attributes to pass in attribName, as well as their scope and respective values, please refer to the 4D Write Pro Attributes section.
You can pass as many attribName / attribValue pairs as you want.
Note: If you need to set multiple attributes for the same target, it is more optimized to use a single call to WP SET ATTRIBUTES with all attribute/value pairs, rather than calling WP SET ATTRIBUTES several times.
Example 1
In this 4D Write Pro area, you selected a word:
If you execute the following code:
$range:=WP Get selection(*;"WParea") //get the selected range
// set the shadow offset in pt for the selected text
WP SET ATTRIBUTES($range;wk text shadow offset;1)
//set the paragraph padding
WP SET ATTRIBUTES($range;wk padding;1)
//define a border of 10 pt
WP SET ATTRIBUTES($range;wk border style;wk solid;wk border width;10)
//set the border colors
WP SET ATTRIBUTES($range;wk border color;"blue";wk border color bottom;"#00FA9A";wk border color right;"#00FA9A")
You get the following result:
Example 2
This example illustrates the use of wk inside and wk outside constants:
$wpRange:=WP Get selection(writeProdoc)
WP SET ATTRIBUTES($wpRange;wk border style+wk inside;wk dotted)
WP SET ATTRIBUTES($wpRange;wk border style+wk outside;wk solid)
WP SET ATTRIBUTES($wpRange;wk border color+wk outside;"#00FA9A")
Assuming all of the contents were selected, the result is:
Example 3
You want to set a background image for the document:
var WParea : Object
WParea:=WP New
READ PICTURE FILE("C:\\Pictures\\boats.jpg";$picture)
WP SET ATTRIBUTES(WParea;wk background image;$picture)
The result is:
You want to set a background image that covers the whole printable area:
var WParea : Object
WParea:=WP New
READ PICTURE FILE("C:\\Pictures\\boats.jpg";$picture)
WP SET ATTRIBUTES(WParea;wk background image;$picture)
WP SET ATTRIBUTES(WParea;wk background clip;wk paper box)
WP SET ATTRIBUTES(WParea;wk background origin;wk paper box)
The result is:
Note: The paper box value is only applicable to documents and sections.
Example 4
You want to set tabs at varying intervals and designate a character as the leading character for the last tab:
$tab1:=New object()
$tab1[wk type]:=wk left
$tab1[wk offset]:="3cm"
$tab1[wk leading]:=""
$tab2:=New object()
$tab2[wk type]:=wk center
$tab2[wk offset]:="8cm"
$tab2[wk leading]:=""
$tab3:=New object()
$tab3[wk type]:=wk right
$tab3[wk offset]:="12cm"
$tab3[wk leading]:="."
$_tabs:=New collection($tab1;$tab2;$tab3)
WP SET ATTRIBUTES(wpArea;wk tabs;$_tabs)
The result is:
See also
4D Write Pro Attributes
WP GET ATTRIBUTES
WP RESET ATTRIBUTES