Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0
Wiki Markup
{scrollbar}

h1. 

XUL

...

1.0

...

Extensions

...

and

...

the

...

Pentaho

...

XUL

...

Namespace

...

The

...

Pentaho

...

XUL

...

Specification

...

Extension

...

adds

...

extra

...

functionality

...

and

...

components

...

that

...

do

...

not

...

exist

...

in

...

the

...

Mozilla

...

XUL

...

1.0

...

specification.

...

These

...

Pentaho-specific

...

elements

...

are

...

explained

...

in

...

later

...

portions

...

of

...

this

...

guide.

...

In

...

order

...

to

...

use

...

them,

...

you

...

must

...

use

...

the

...

Pentaho

...

namespace

...

prefix:

...

http://www.pentaho.org/2008/xul

...

This must be placed in the top level node in your XUL document with a namespace prefix, along with the default XUL namespace:

Code Block
<window id="general-datasource-window"
    title="Database Connection"
    orient="vertical"
    height="605" width="700"
    xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
    xmlns:pen="http://www.pentaho.org/2008/xul" >
...
{code}

If

...

another

...

engine

...

processes

...

a

...

XUL

...

file

...

that

...

contains

...

Pentaho-specific

...

XUL

...

extensions

...

without

...

calling

...

the

...

Pentaho

...

namespace,

...

or

...

if

...

the

...

appropriate

...

handlers

...

are

...

not

...

available

...

for

...

the

...

extended

...

references,

...

then

...

the

...

XUL

...

engine

...

will

...

ignore

...

those

...

attributes

...

and

...

elements.

...

Extension

...

Attributes

...

Defined

...

for

...

All

...

XUL

...

Elements

...

The

...

following

...

attributes

...

are

...

common

...

extensions

...

to

...

all

...

XUL

...

elements:

...

The

...

customclass

...

attribute

...

allows

...

you

...

to

...

override

...

one

...

of

...

the

...

standard

...

component

...

rendering

...

classes

...

with

...

a

...

custom

...

class

...

for

...

that

...

element.

...

The

...

String

...

value

...

of

...

the

...

customclass

...

element

...

should

...

be

...

the

...

name

...

of

...

the

...

handler

...

that

...

is

...

mapped

...

to

...

the

...

custom

...

classname

...

in

...

the

...

framework's

...

loading

...

engine.

...

customclass

...

is

...

required

...

to

...

implement

...

the

...

same

...

interface

...

that

...

the

...

standard

...

element

...

implements,

...

in

...

order

...

to

...

keep

...

the

...

functional

...

code

...

clean

...

(without

...

references

...

to

...

the

...

custom

...

components).

...

For

...

example,

...

consider

...

the

...

following

...

definition:

...

}
Code Block
<label id="custom-url-label" value="Custom Connection URL:" />
<textbox pen:customclass="variabletextbox" id="custom-url-text" />
{code}

Since

...

the

...

XUL

...

textbox

...

element

...

renders

...

an

...

implementation

...

of

...

the

...

XulTextbox

...

interface,

...

then

...

the

...

class

...

that

...

the

...

variabletextbox

...

name

...

maps

...

to

...

must

...

also

...

implement

...

the

...

XulTextbox

...

interface.

...

For

...

an

...

understanding

...

of

...

what

...

interfaces

...

are

...

implemented

...

for

...

which

...

elements,

...

download

...

the

...

source

...

and

...

inspect

...

the

...

implementations

...

of

...

the

...

XulLoader

...

interface.

...

The

...

XulLoader

...

impl

...

classes

...

hold

...

the

...

references

...

to

...

the

...

handler

...

mappings.

...

This

...

is

...

the

...

most

...

common

...

way

...

to

...

inject

...

a

...

customized

...

component

...

into

...

the

...

framework.

...

Wiki Markup
{scrollbar}