\S1{secmanage} Section Management

\S2{sectionsetflags} SectionSetFlags

\c section_index section_flags

Sets the section's flags. The flag is a 32 bit integer. The first bit (lowest) represents whether the section is currently enabled, the second bit represents whether the section is a subsection (don't modify this unless you really know what you are doing), the third bit represents whether the section is a subsection end (again, don't modify), the fourth bit represents whether the section is shown in bold or not, the fifth bit represents whether the section is read-only and the sixth bit represents whether the sub-section is to be automatically expanded. The error flag will be set if an out of range section is specified.

For an example of usage please see the \L{../Examples/one-section.nsi}{one-section.nsi} example.

\S2{sectiongetflags} SectionGetFlags

\c section_index user_var(output)

Retrieves the section's flags. See above for a description of the flag. The error flag will be set if an out of range section is specified.

\S2{sectionsettext} SectionSetText

\c section_index section_text

Sets the description for the section section_index. To set a subsection, you must use - at the beginning of the text. If the Text is set to "" than the section will be hidden. The error flag will be set if an out of range section is specified.

\S2{sectiongettext} SectionGetText

\c section_index user_var(output)

Stores the text description of the section section_index into the output. If the section is hidden, stores an empty string. The error flag will be set if an out of range section is specified.

\S2{sectionsetinsttypes} SectionSetInstTypes

\c section_index inst_types

Sets the install types the section specified by section_index defaults to the enabled state in. Note that the section index starts with zero. Every bit of inst_types is a flag that tells if the section is in that install type or not. For example, if you have 3 install types and you want the first section to be included in install types 1 and 3, then the command should look like this:

\c SectionSetInstTypes 0 5

because the binary value for 5 is "00000101". The error flag will be set if the section index specified is out of range.

\S2{sectiongetinsttypes} SectionGetInstTypes

\c section_index user_var(output)

Retrieves the install types flags array of a section. See above explanation about SectionSetInstTypes for a description of how to deal with the output. The error flag will be set if the section index specified is out of range.

\S2{ssectionsetsize} SectionSetSize

\c section_index new_size

Sets the Size of the section specified by section_index. Note that the Index starts with Zero. The Value for Size must be entered in KiloByte and supports only whole numbers.

\S2{ssectiongetsize} SectionGetSize

\c section_index user_var

Gets the Size of the section specified by section_index and stores the value in the given User Variable. Note that the Index starts with Zero.

\S2{ssetcurinsttype} SetCurInstType

\c inst_type_idx

Sets the current InstType. The Error Flag is \\<b\\>not\\</b\\> set if an out of range InstType was used.

SetCurInstType currently only works when the there is a components page.

\S2{sgetcurinsttype} GetCurInstType

\c user_var

Get the current InstType and stores the Value in the given User Variable. The value of $\{NSIS_MAX_INST_TYPES\} (32 by default) means that the custom installation type was selected.

\S2{sinsttypesettext} InstTypeSetText

\c inst_type_idx text

Sets the Text of the specified InstType. If the Text is empty than the InstType is removed. By using a previously unused inst_type_idx number you can create new InstTypes. To add/remove Sections to this new InstType see \R{sectionsetinsttypes}{SectionSetInstTypes}. Unlike \R{ssectionin}{SectionIn} the index is zero based, which means the first installation type's index is 0.

\S2{sinsttypegettext} InstTypeGetText

\c inst_type_idx user_var

Gets the Text of the specified InstType.



