VCL
[ class tree: VCL ] [ index: VCL ] [ all elements ]

Class: Frameset

Source Location: /forms.inc.php

Class Overview

Object
   |
   --Persistent
      |
      --Component
         |
         --Control
            |
            --FocusControl
               |
               --ScrollingControl
                  |
                  --Frameset

A class to encapsulate a frame set and generate frames.


Author(s):

Variables

Methods


Inherited Variables

Class: Control

Control::$_adjusttolayout
Control::$_alignment
Control::$_attributes
Control::$_autosize
Control::$_cached
Control::$_caption
Control::$_color
Control::$_controlstyle
Control::$_cursor
Control::$_designcolor
Control::$_divwrap
Control::$_enabled
Control::$_font
Control::$_height
Control::$_hidden
Control::$_hint
Control::$_islayer
Control::$_jsonactivate
Control::$_jsonbeforecopy
Control::$_jsonbeforecut
Control::$_jsonbeforedeactivate
Control::$_jsonbeforeeditfocus
Control::$_jsonbeforepaste
Control::$_jsonblur
Control::$_jsonchange
Control::$_jsonclick
Control::$_jsoncontextmenu
Control::$_jsoncontrolselect
Control::$_jsoncopy
Control::$_jsoncut
Control::$_jsondblclick
Control::$_jsondeactivate
Control::$_jsondrag
Control::$_jsondragenter
Control::$_jsondragleave
Control::$_jsondragover
Control::$_jsondragstart
Control::$_jsondrop
Control::$_jsonfilterchange
Control::$_jsonfocus
Control::$_jsonhelp
Control::$_jsonkeydown
Control::$_jsonkeypress
Control::$_jsonkeyup
Control::$_jsonlosecapture
Control::$_jsonmousedown
Control::$_jsonmouseenter
Control::$_jsonmouseleave
Control::$_jsonmousemove
Control::$_jsonmouseout
Control::$_jsonmouseover
Control::$_jsonmouseup
Control::$_jsonpaste
Control::$_jsonpropertychange
Control::$_jsonreadystatechange
Control::$_jsonresize
Control::$_jsonresizeend
Control::$_jsonresizestart
Control::$_jsonselectstart
Control::$_layer
Control::$_left
Control::$_onaftershow
Control::$_onbeforeshow
Control::$_onshow
Control::$_parent
Control::$_parentcolor
Control::$_parentfont
Control::$_parentshowhint
Control::$_popupmenu
Control::$_showhint
Control::$_style
Control::$_top
Control::$_visible
Control::$_width

Inherited Methods

Class: FocusControl

FocusControl::__construct()
FocusControl::dumpChildren()
Dumps all children iterating through the Controls property and calls the show method of each one.
FocusControl::readControlCount()
Returns the number of controls for which this control is the Parent.
FocusControl::readLayout()
Specifies the Layout this control uses to render its controls to the browser.
FocusControl::updateChildrenColors()
Updates the colors for all the children if parentcolor is set.
FocusControl::updateChildrenFonts()
If this control has any children that have ParentFont==true, then this function will assign the same Font property to all children Font properties.
FocusControl::updateChildrenParentProperties()
Updates all necessary properties for any children that use property values from their parent.
FocusControl::updateChildrenShowHints()
Updates the ShowHints properties for all children controls.
FocusControl::writeLayout()

Class: Control

Control::__construct()
Constructor for the class
Control::addJSWrapperToEvents()
Adds or replaces the JS event attribute with the wrapper.
Control::beginCache()
Control::canShow()
Determines whether a control can be shown or not.
Control::defaultAdjustToLayout()
Control::defaultAlign()
Control::defaultAlignment()
Control::defaultAttributes()
Control::defaultAutosize()
Control::defaultCached()
Control::defaultCaption()
Control::defaultColor()
Control::defaultCursor()
Control::defaultDesignColor()
Control::defaultDivWrap()
Control::defaultEnabled()
Control::defaultHeight()
Control::defaultHidden()
Control::defaultHint()
Control::defaultIsLayer()
Control::defaultjsOnActivate()
Control::defaultjsOnBeforeCopy()
Control::defaultjsOnBeforeCut()
Control::defaultjsOnBeforeDeactivate()
Control::defaultjsOnBeforeEditfocus()
Control::defaultjsOnBeforePaste()
Control::defaultjsOnBlur()
Control::defaultjsOnChange()
Control::defaultjsOnClick()
Control::defaultjsOnContextMenu()
Control::defaultjsOnControlSelect()
Control::defaultjsOnCopy()
Control::defaultjsOnCut()
Control::defaultjsOnDblClick()
Control::defaultjsOnDeActivate()
Control::defaultjsOnDrag()
Control::defaultjsOnDragEnter()
Control::defaultjsOnDragLeave()
Control::defaultjsOnDragOver()
Control::defaultjsOnDragStart()
Control::defaultjsOnDrop()
Control::defaultjsOnFilterChange()
Control::defaultjsOnFocus()
Control::defaultjsOnHelp()
Control::defaultjsOnKeyDown()
Control::defaultjsOnKeyPress()
Control::defaultjsOnKeyUp()
Control::defaultjsOnLoseCapture()
Control::defaultjsOnMouseDown()
Control::defaultjsOnMouseEnter()
Control::defaultjsOnMouseLeave()
Control::defaultjsOnMouseMove()
Control::defaultjsOnMouseOut()
Control::defaultjsOnMouseOver()
Control::defaultjsOnMouseUp()
Control::defaultjsOnPaste()
Control::defaultjsOnPropertyChange()
Control::defaultjsOnReadyStateChange()
Control::defaultjsOnResize()
Control::defaultjsOnResizeEnd()
Control::defaultjsOnResizeStart()
Control::defaultjsOnSelectStart()
Control::defaultLayer()
Control::defaultLeft()
Control::defaultOnAfterShow()
Control::defaultOnBeforeShow()
Control::defaultOnShow()
Control::defaultParentColor()
Control::defaultParentFont()
Control::defaultParentShowHint()
Control::defaultPopupmenu()
Control::defaultShowHint()
Control::defaultStyle()
Control::defaultTop()
Control::defaultVisible()
Control::defaultWidth()
Control::dumpChildren()
Dumps all children components.
Control::dumpContents()
Dumps the control contents.
Control::dumpHeaderCode()
Dumps the component header code.
Control::dumpJavascript()
Dumps all required javascript code for the component.
Control::dumpJsEvents()
Dumps all assigned javascript events code.
Control::endCache()
Control::getCached()
Control::getCursor()
Change the value of Cursor to provide feedback to the user when the mouse pointer enters the control.
Control::getHeight()
Specifies the vertical size of the control or form in pixels.
Control::getHint()
Specifies the text to show in a tooltip when the mouse is over the control for some time.
Control::getHintAttribute()
If control has any Hint, then returns the hint in attribute format for the tag.
Control::getJSWrapperFunction()
JS wrapper function that forwards a JS event to the PHP script by submitting the HTML form.
Control::getJSWrapperFunctionName()
Gets the function name of a JS event wrapper.
Control::getLayer()
Determines the layer in which this control is going to be rendered.
Control::getLeft()
Uses the Left property to determine where the left side of the control begins, or to reposition the left side of the control.
Control::getOnAfterShow()
Fires the Event after showing the control.
Control::getOnBeforeShow()
Fires the Event before showing the control.
Control::getOnShow()
Fires the Event at the same moment the control is shown. Some controls can prevent the control from being shown when this event is attached.
Control::getTop()
Uses Top to locate the top of the control, or reposition the control to a different Y coordinate.
Control::getWidth()
Specifies the horizontal size of the control or form in pixels.
Control::init()
Control::loaded()
Control::readAdjustToLayout()
A helper property for Layouts to know if the component should adjust to the layout or not
Control::readAlign()
Determines how the control aligns within its container (parent control).
Control::readAlignment()
Specifies the alignment to be used by the control, it depends on the control on how to use this property to show information.
Control::readAttributes()
A property for tag based controls to allow component user to add attributes to the tag
Control::readAutosize()
Determines if the control is going to adjust itself to the parent size
Control::readCaption()
Specifies a text string that identifies the control to the user.
Control::readColor()
Specifies the main color of the control.
Control::readControlStyle()
An array which holds the control style, with settings for the IDE.
Control::readDesignColor()
Specifies a color to use by the control at design time.
Control::readDivWrap()
Specifies if the control must be wrapped by a div or not
Control::readDoParentReset()
Performs a parent reset if true.
Control::readEnabled()
Controls whether the control responds to mouse, keyboard, and timer events.
Control::readFont()
Determines the Font to be used when generating this control.
Control::readHidden()
This property, when true, allows controls to generate all code, but don't show the control on the browser.
Control::readIsLayer()
Specifies if this control is a Layer instead of being integrated into the document.
Control::readJsEvents()
Returns a string with all assigned javascript events, ready to be added to a control tag.
Control::readjsOnActivate()
Fires when the object is set as the active element.
Control::readjsOnBeforeCopy()
Fires on the source object before the selection is copied to the system clipboard.
Control::readjsOnBeforeCut()
Fires on the source object before the selection is deleted from the document.
Control::readjsOnBeforeDeactivate()
Fires immediately before the activeElement is changed from the current object to another object in the parent document.
Control::readjsOnBeforeEditfocus()
Fires before an object contained in an editable element enters a UI-activated state or when an editable container object is control selected.
Control::readjsOnBeforePaste()
Fires on the target object before the selection is pasted from the system clipboard to the document.
Control::readjsOnBlur()
Fires when the object loses the input focus.
Control::readjsOnChange()
Fires when the contents of the object or selection have changed.
Control::readjsOnClick()
Fires when the user clicks the left mouse button on the object.
Control::readjsOnContextMenu()
Fires when the user clicks the right mouse button in the client area, opening the context menu.
Control::readjsOnControlSelect()
Fires when the user is about to make a control selection of the object.
Control::readjsOnCopy()
Fires on the source element when the user copies the object or selection, adding it to the system clipboard.
Control::readjsOnCut()
Fires on the source element when the object or selection is removed from the document and added to the system clipboard.
Control::readjsOnDblClick()
Fires when the user double-clicks the object.
Control::readjsOnDeActivate()
Fires when the activeElement is changed from the current object to another object in the parent document.
Control::readjsOnDrag()
Fires on the source object continuously during a drag operation.
Control::readjsOnDragEnter()
Fires on the target element when the user drags the object to a valid drop target.
Control::readjsOnDragLeave()
Fires on the target object when the user moves the mouse out of a valid drop target during a drag operation.
Control::readjsOnDragOver()
Fires on the target element continuously while the user drags the object over a valid drop target.
Control::readjsOnDragStart()
Fires on the source object when the user starts to drag a text selection or selected object.
Control::readjsOnDrop()
Fires on the target object when the mouse button is released during a drag-and-drop operation.
Control::readjsOnFilterChange()
Fires when a visual filter changes state or completes a transition.
Control::readjsOnFocus()
Fires when the object receives focus.
Control::readjsOnHelp()
Fires when the user presses the F1 key while the browser is the active window.
Control::readjsOnKeyDown()
Fires when the user presses a key.
Control::readjsOnKeyPress()
Fires when the user presses an alphanumeric key.
Control::readjsOnKeyUp()
Fires when the user releases a key.
Control::readjsOnLoseCapture()
Fires when the object loses the mouse capture.
Control::readjsOnMouseDown()
Fires when the user clicks the object with either mouse button.
Control::readjsOnMouseEnter()
Fires when the user moves the mouse pointer into the object.
Control::readjsOnMouseLeave()
Fires when the user moves the mouse pointer outside the boundaries of the object.
Control::readjsOnMouseMove()
Fires when the user moves the mouse over the object.
Control::readjsOnMouseOut()
Fires when the user moves the mouse pointer outside the boundaries of the object.
Control::readjsOnMouseOver()
Fires when the user moves the mouse pointer into the object.
Control::readjsOnMouseUp()
Fires when the user releases a mouse button while the mouse is over the object.
Control::readjsOnPaste()
Fires on the target object when the user pastes data, transferring the data from the system clipboard to the document.
Control::readjsOnPropertyChange()
Fires when a property changes on the object.
Control::readjsOnReadyStateChange()
Fires when the state of the object has changed.
Control::readjsOnResize()
Fires when the size of the object is about to change.
Control::readjsOnResizeEnd()
Fires when the user finishes changing the dimensions of the object in a control selection.
Control::readjsOnResizeStart()
Fires when the user begins to change the dimensions of the object in a control selection
Control::readjsOnSelectStart()
Fires when the object is being selected
Control::readJSWrapperHiddenFieldName()
Gets the name of the hidden field used to submit the value for the event that was fired.
Control::readJSWrapperSubmitEventValue()
Sets the value to the hidden field when the specific JS event was fired and the wrapper function was called.
Control::readParent()
Indicates the parent of the control.
Control::readParentColor()
Determines where a control looks for its color information.
Control::readParentFont()
Determines where a control looks for its font information.
Control::readParentShowHint()
Determines where a control looks to find out if its Help Hint should be shown.
Control::readPopupMenu()
Identifies the pop-up menu associated with the control.
Control::readShowHint()
Determines whether the control displays a Help Hint when the mouse pointer rests momentarily on the control.
Control::readStyle()
Use this property to attach a css style to the control.
Control::readStyleClass()
Normalizes the css style class name
Control::readVisible()
Determines whether the component appears on the browser.
Control::setCached()
Control::setCursor()
Control::setHeight()
Control::setHint()
Control::setLayer()
Control::setLeft()
Control::setOnAfterShow()
Control::setOnBeforeShow()
Control::setOnShow()
Control::setTop()
Control::setWidth()
Control::show()
Dumps the code for the control to the output.
Control::updateParentColor()
If ParentColor == true the parent's color is assigned to this control.
Control::updateParentFont()
If ParentFont == true the parent's font is assigned to this control.
Control::updateParentProperties()
Updates all properties that use the parent property as source.
Control::updateParentShowHint()
If ParentShowHint == true the parent's showhint is assigned to this control.
Control::writeAdjustToLayout()
Control::writeAlign()
Control::writeAlignment()
Control::writeAttributes()
Control::writeAutosize()
Control::writeCaption()
Control::writeColor()
Control::writeControlStyle()
Control::writeDesignColor()
Control::writeDivWrap()
Control::writeEnabled()
Control::writeFont()
Control::writeHidden()
Control::writeIsLayer()
Control::writejsOnActivate()
Control::writejsOnBeforeCopy()
Control::writejsOnBeforeCut()
Control::writejsOnBeforeDeactivate()
Control::writejsOnBeforeEditfocus()
Control::writejsOnBeforePaste()
Control::writejsOnBlur()
Control::writejsOnChange()
Control::writejsOnClick()
Control::writejsOnContextMenu()
Control::writejsOnControlSelect()
Control::writejsOnCopy()
Control::writejsOnCut()
Control::writejsOnDblClick()
Control::writejsOnDeActivate()
Control::writejsOnDrag()
Control::writejsOnDragEnter()
Control::writejsOnDragLeave()
Control::writejsOnDragOver()
Control::writejsOnDragStart()
Control::writejsOnDrop()
Control::writejsOnFilterChange()
Control::writejsOnFocus()
Control::writejsOnHelp()
Control::writejsOnKeyDown()
Control::writejsOnKeyPress()
Control::writejsOnKeyUp()
Control::writejsOnLoseCapture()
Control::writejsOnMouseDown()
Control::writejsOnMouseEnter()
Control::writejsOnMouseLeave()
Control::writejsOnMouseMove()
Control::writejsOnMouseOut()
Control::writejsOnMouseOver()
Control::writejsOnMouseUp()
Control::writejsOnPaste()
Control::writejsOnPropertyChange()
Control::writejsOnReadyStateChange()
Control::writejsOnResize()
Control::writejsOnResizeEnd()
Control::writejsOnResizeStart()
Control::writejsOnSelectStart()
Control::writeParent()
Control::writeParentColor()
Control::writeParentFont()
Control::writeParentShowHint()
Control::writePopupMenu()
Control::writeShowHint()
Control::writeStyle()
Control::writeVisible()

Class: Component

Component::__construct()
Component constructor
Component::ajaxCall()
Dumps the javascript code to make an ajax call to the server.
Component::callEvent()
Calls a server event.
Component::defaultName()
Component::defaultTag()
Component::dumpChildrenFormItems()
This method is called by the page just after dumping the starting form tag.
Component::dumpChildrenHeaderCode()
Dumps the header code for all the children
Component::dumpChildrenJavascript()
Dumps the javascript code for all the children
Component::dumpFormItems()
Dumps code just after the form tag, useful to dump hidden fields for state retrieving for non visible components
Component::dumpHeaderCode()
Dumps header code required
Component::dumpHiddenKeyFields()
Dumps hidden field values for the key record
Component::dumpJavascript()
Dumps the javascript code needed by this component
Component::dumpJSEvent()
Dumps javascript code for an event
Component::fixupProperty()
Resolves the right reference to an object property
Component::generateAjaxEvent()
Returns the javascript code to generate an ajax call.
Component::getName()
Specifies the name for the component. The name is used as an identifier and should be unique.
Component::getTag()
A versatile property of every Component that can be used in any way you want
Component::hasValidDataField()
Returns true if a valid data field is attached to the component
Component::init()
Initializes a component
Component::insertComponent()
Inserts a component into the component's collection
Component::loaded()
Initializes the component after the form file has been read into memory.
Component::loadedChildren()
Calls childrens loaded
Component::loadResource()
Loads this component from a string
Component::preinit()
Method called before init()
Component::readAccessibility()
Provides accessibility info to the embedded RPC engine.
Component::readComponentCount()
Indicates the number of components owned by the component.
Component::readComponents()
Lists all the components owned by this component.
Component::readControlState()
A flag to know the state of the control, csLoading, csDesigning
Component::readDataFieldValue()
This property returns the value of the datafield if any.
Component::readFromResource()
Reads a component from a resource file
Component::readNamePath()
Specifies the path to uniquely identify a component, qualified by the owner when required.
Component::readOwner()
Indicates the component that is responsible for streaming and freeing this component.
Component::removeComponent()
Removes a component from the component's collection
Component::serializeChildren()
Serializes all children
Component::setName()
Component::setTag()
Component::unserializeChildren()
Unserializes all children by calling unserialize for all the components
Component::updateDataField()
Updates the field on the dataset attached, if any
Component::writeControlState()

Class: Persistent

Persistent::allowserialize()
This method provides an opportunity for the component developer to prevent the serialization/unserialization of a property.
Persistent::assign()
Assigns the source properties to this object.
Persistent::assignError()
Raises an assignation error.
Persistent::assignTo()
Assigns this object to another object.
Persistent::inSession()
This method determines if this object exists in the current session.
Persistent::readNamePath()
Used to serialize/unserialize. It returns the full path to identify this component.
Persistent::readOwner()
Owner of the component.
Persistent::serialize()
Stores this object into the session.
Persistent::unserialize()
This method uses PHP reflection to iterate through published properties (the ones starting with get) and retrieve the properties stored by a previous serialize() call.

Class: Object

Object::__construct()
Constructs an object and initializes its data before the object is first used.
Object::className()
Returns a string indicating the type of the object instance (as opposed to the type of the variable passed as an argument).
Object::classNameIs()
Determines whether an object is of a specific type.
Object::classParent()
Returns the type of the immediate ancestor of a class.
Object::inheritsFrom()
Determines the relationship of two object types.
Object::methodExists()
Check if a method exists declared on this object instance.
Object::readProperty()
Reads a property from the streams
Object::__get()
To virtualize properties
Object::__set()
To virtualize properties

Class Details

[line 2166]
A class to encapsulate a frame set and generate frames.

This class is also used in the Page component to generate a frameset.

For further information about HTML framesets and frames please visit following link:




Tags:

see:  Frame
link:  http://www.w3.org/TR/html401/present/frames.html
example:  example not found
example:  example not found


[ Top ]


Class Variables

$_align = alClient

[line 2175]



Tags:

access:  protected

Type:   mixed
Overrides:   Array


[ Top ]

$_border = ""

[line 2177]



Tags:

access:  protected

Type:   mixed


[ Top ]

$_borderwidth = 0

[line 2176]



Tags:

access:  protected

Type:   mixed


[ Top ]

$_frameborder = fbNo

[line 2179]



Tags:

access:  protected

Type:   mixed


[ Top ]

$_framespacing = 0

[line 2178]



Tags:

access:  protected

Type:   mixed


[ Top ]

$_jsonload = null

[line 2181]



Tags:

access:  protected

Type:   mixed


[ Top ]

$_jsonunload = null

[line 2182]



Tags:

access:  protected

Type:   mixed


[ Top ]



Class Methods


constructor __construct [line 2168]

Frameset __construct( [ $aowner = null])



Overrides FocusControl::__construct() (parent method not documented)

Parameters:

   $aowner  

[ Top ]

method defaultAlign [line 2225]

void defaultAlign( )



Overrides Control::defaultAlign() (parent method not documented)

[ Top ]

method defaultBorderWidth [line 2270]

void defaultBorderWidth( )



[ Top ]

method defaultFrameBorder [line 2262]

void defaultFrameBorder( )



[ Top ]

method defaultFrameSpacing [line 2242]

void defaultFrameSpacing( )



[ Top ]

method defaultjsOnLoad [line 2212]

void defaultjsOnLoad( )



[ Top ]

method defaultjsOnUnload [line 2221]

void defaultjsOnUnload( )



[ Top ]

method dumpClientFrames [line 2298]

void dumpClientFrames( )

Dump the frames inside the frameset that are aligned to alClient



[ Top ]

method dumpContents [line 2375]

void dumpContents( )

Dump the whole frameset, with the alignment algorithm



Overrides Control::dumpContents() (Dumps the control contents.)

[ Top ]

method dumpHorizontalFrames [line 2326]

void dumpHorizontalFrames( array $hframes, boolean $outputevents)

Dump the frames inside the frameset that are aligned to alLeft or alRight



Parameters:

array   $hframes   Frame objects to be dumped
boolean   $outputevents   If true, events for the frames will be generated

[ Top ]

method dumpJavascript [line 2287]

void dumpJavascript( )



Overrides Control::dumpJavascript() (Dumps all required javascript code for the component.)

[ Top ]

method getAlign [line 2223]

void getAlign( )



[ Top ]

method getBorderWidth [line 2268]

integer getBorderWidth( )

Width of the left, right, top, and bottom borders of the object.



[ Top ]

method getFrameBorder [line 2260]

void getFrameBorder( )

This property specifies if the frameset is going to have border and which method is used to draw it.

When the page contain Frames or Framesets, the Page generates a Frameset instead a plain HTML document, use this property to specify the border for the generated frameset.

fbDefault - Inset border is drawn.

fbNo - No border is drawn.

fbYes - Inset border is drawn.




[ Top ]

method getFrameSpacing [line 2240]

integer getFrameSpacing( )

Specifies the amount of additional space between the frames.

When the page contain Frames or Framesets, the Page generates a Frameset instead a plain HTML document, use this property to specify the spacing between frames.

The amount of space defined for frameSpacing does not include the width of the frame border. Frame spacing can be set on one or more frameSet objects and applies to all contained frameSet objects, unless the contained object defines a different frame spacing. The default spacing is 2 pixels.




[ Top ]

method getjsOnLoad [line 2210]

mixed getjsOnLoad( )

The javascript OnLoad event is called after all nested framesets and frames are finished with loading their content.

  1.  <?php
  2.  class Unit464 extends Page
  3.  {
  4.         public $Frame2 null;
  5.         public $Frame1 null;
  6.         public $Frameset1 null;
  7.         function Frameset1JSLoad($sender$params)
  8.         {
  9.  
  10.         ?>
  11.         //Add your javascript code here
  12.              alert("All frames have been loaded!");
  13.         <?php
  14.  
  15.         }
  16.  }
  17.  ?>




[ Top ]

method getjsOnUnload [line 2219]

mixed getjsOnUnload( )

The javascript OnUnload event is called after all nested framesets and frames are finished with unloading their content.



[ Top ]

method readFramesetJSEvents [line 2277]

string readFramesetJSEvents( )

Returns the defined JS events for the frameset.



Tags:

return:  If empty no JS events are set.


[ Top ]

method setAlign [line 2224]

void setAlign( $value)



Parameters:

   $value  

[ Top ]

method setBorderWidth [line 2269]

void setBorderWidth( $value)



Parameters:

   $value  

[ Top ]

method setFrameBorder [line 2261]

void setFrameBorder( $value)



Parameters:

   $value  

[ Top ]

method setFrameSpacing [line 2241]

void setFrameSpacing( $value)



Parameters:

   $value  

[ Top ]

method setjsOnLoad [line 2211]

void setjsOnLoad( $value)



Parameters:

   $value  

[ Top ]

method setjsOnUnload [line 2220]

void setjsOnUnload( $value)



Parameters:

   $value  

[ Top ]


Documentation generated on Sat, 13 Jun 2009 10:51:40 -0700 by phpDocumentor 1.4.1