Component Library

heitml contains a special library named component.hei. It includes various definitions needed for RADpage during component editing. heitml actually includes two versions of component.hei, one in the heitml2.1/lib and another in the heitml2.1/control directory. The real one is in heitml2.1/control and needs to be included only for component editing. In a production environment heitml2.1/control is not needed, so that heitml2.1/lib/component.hei is included. This is a fast dummy version of component.hei to be used in production.

You need to insert

< include name="component.hei" />

into the beginning of your page to use the following functions.

Most of the functionality of component.hei is needed only when programming components and described in at the end of this page. The following tags however are of general interest:

Controlling RADpage

< RADpageLink path="/" afterload="back" always=null> ... </RADpageLink>

Creates a link that starts RADpage. The link is visible only if the user is allowed (and already entered the password) to use RADpage unless it is always set. path must be the URL path of the Web site to be edited. afterload defines what to do after RADpage was started. "back" means to go back to the page with the <RADpageLink>. "no" does nothing. Afterload can also be an URL that should be shown in the RADpage window.

< RADpageDocumentationLink > ... </RADpageDocumentationLink>

Creates a link that shows the RADpage and heitml documentation. The link is visible only if the user is allowed to use RADpage unless always is set.

<if iscompediting ()>

Is a function, that returns true if components are displayed with handles and false otherwise.

< nocompedit > ... </nocompedit>

Switches off component editing inside the environment. The components contained inside the environment and all components called from inside are never displayed with handles. This is useful to get rid of superfluous handles.

< singlecompedit />

Switches off component editing for all following components, until the end of the page or until an </stackcompedit> tag.

< stackcompedit > ... </stackcompedit>

Saves the component editing status. Component editing can be switched off inside the stackcompedit environment by a <singlecompedit>. After the end of the environment component editing is switched back on (provided it was switched on in the beginning).

This mechanism is often used to display tables or other forms of repeated display. Here it is useful to only display handles the first time. Handles should be switched off at all subsequent times the same components are displayed. In case of a loop this is accomplished by putting <stackcompedit> around the loop and using <singlecompedit> at the end of the loop body. This switches off component editing, after the first execution of the loop body.

< heitmldefs > ... </heitmldefs>

Technically this environment just discards its content. Practically it is used by the component editor to group heitml definitions (def, defenv, defclass) inside. This discards any white space and any XML CDATA sections (needed to make pages containing heitml definitions XML well formed) from the page send to the browser.

Features for Component Programmers

< inherit component >

This is the base class of every component. It itself or one of its children must be inherited to create a component. The component class defines the following methods to be used by a component.

< _marker st="tlbl" end="brbl" stalign="baseline" endalign="baseline" inline=true > ... </_marker>

Displays begin and end handles. st and end parameters select images for the handles. stalign and endalign select the alignment. marker must be called in a place that is suitable to display the handles.

< inherit InlineComponent >

The inline component class is very similar to component but it automatically draws handles around the component.

< inherit SimpleComponent >

This class is very similar to a component, but RADpage will not look for a component description file.

< inherit SimpleInlineComponent >

This class is very similar to an inline component, but RADpage will not look for a component description file.

This page was dynamically generated by the web application development tool RADpage of H.E.I.
© 1996-2017 H.E.I. All Rights Reserved.

Component Guide
  Language Guide
  Language Ref.
  Component Ref.
  Class Library
    Library Files
    Std Library
    Ses Library
    Component Library
    Layout Library
    Outline Library
    HTML Extensions
    Date/Time Library
    Math Library
  User Components
  Tryout Form
  New Features
  heitml 1
User Guide
Discussion Group