Package Development

From HTML5 Builder
Jump to: navigation, search

You can create a package from Home > New > Other Projects > Other Files > Package. It will include sample content you can customize to start with.

Store the package file somewhere inside the RPCL directory (see the recommended directory tree).

Header

At the beginning of a package, you must include the following files:

<?php require_once("rpcl/rpcl.inc.php"); use_unit("designide.inc.php");

Package Metadata

Title

The title is displayed on the list at Home > Packages to identify your package. You can define it with the following function:

setPackageTitle("Package Title");

Icons Folder

A package can define a folder where the icons related to that package will be stored. That folder is used to:

To define that directory, call setIconPath() with the relative path of the icons folder as argument.

For example, if the icons are on a icons folder in the same directory where the package is, add the following line to the package:

setIconPath("./icons");

Splash

You can optionaly define an icon and text to be displayed in HTML5 Builder while your package is being loaded.

addSplashBitmap("My Company Components for X Feature", "splash.png");

The icon must be located in the icons’ folder.

Components

To register your components so they are available on the Tool Palette when the package is installed and enabled, use the following function:

registerComponents("ToolPaletteCategory", array("ComponentName1", "ComponentName2", "ComponentName3"), "custom/custom.inc.php");

The function expects the following parameters:

  • The name of the category of the Tool Palette where the components should be listed. It can be an existing category, but can also be a new one just for your components.
  • An array of names of components defined in the target description file (see the next point).
  • The path to the description file, the one where the components are defined. The path must be relative to the RPCL directory.

You can call this function as many times as you need, so you can register components in different categories even if they are defined in the same file, or components from different files in the same category.

Icon

To associate an icon to your component:

  1. Create a 16×16 PNG image file named after your component. For example: ComponentName.png.
    You can optionally provide higher resolutions of the icon (24×24, 32×32, 48×48 and 64×64) and name them ComponentName_SideSize.png (e.g. MyComponent_64.png).
  2. Place the image or images inside your package‘s icons folder.

The associated icon will be displayed, for example, in the Tool Palette.

Properties

For those properties with a value other than plain text, you should register a property editor. Property editors provide an user-friendly experience to edit special properties from the Object Inspector.

See Property Editors.

Deployment Dependencies

The deployment wizards should be able to locate the most part of the files that make up your project: packages, description files, component icons, and more.

You can specify additional files needed by your components using the following function:

registerAsset(array("ComponentName1", "ComponentName2", ),array("AssetsPath1", "AssetsPath2", ));

It expects:

  • An array of names of component that require the assets.
  • An array of paths to files or folders required by the specified components.

For example, if you had a component called ZComponent depending on the whole Zend folder of the RPCL, you could register that folder as an asset for the component with the following code:

registerAsset(array("ZComponent"),array("Zend"));