- Removed constructors of some Generic subclasses (not needed).
- Updated UML diagrams.
- Updated the (mutant :) ROADMAP.
- Global Makefile is broken.
VERSION=0.10
PHP_FILES=src/BIFE/*.php
META_FILES=xmi2code.config xmi2code.tpl.php Makefile Doxyfile package.xml
-DOC_FILES=doc/bife.xmi
APIDOC_FILES=doc/api/* doc/api/*/*
CORE_FILES=src/BIFE/Widget.php src/BIFE/Container.php src/BIFE/Root.php src/BIFE/Fallback.php src/BIFE/Parser.php
X2C_TEMPLATE=xmi2code.tpl.php
-code: doc/bife.xmi xmi2code.config
- xmi2code -a
+code: core/bife.xmi core/xmi2code.config
+ cd core && xmi2code -a
all: code doc pear-packages tarball
api: Doxyfile $(PHP_FILES)
doxygen
-clean-code:
- find src/ -name '*.bak' | xargs rm -vf
+clean-bak:
+ find -name '*.bak' | xargs rm -vf
clean-doc:
rm -fvR doc/api/html doc/api/rtf doc/api/latex
tarball: bife.tar.gz
-bife.tar.gz: $(PHP_FILES) $(DOC_FILES) $(META_FILES)
+bife.tar.gz: $(PHP_FILES) $(META_FILES)
tar --exclude bife.tar.gz --exclude bife/doxygen.warn --exclude .svn --exclude '*.bak' --exclude '*.swp' --exclude 'bife/doc/api/*' -C .. -cvzf bife.tar.gz bife
pear-packages: BIFE-$(VERSION).tgz
-BIFE-$(VERSION).tgz: $(PHP_FILES) $(DOC_FILES) package.xml
+BIFE-$(VERSION).tgz: $(PHP_FILES) package.xml
pear package
build/BIFE.php: $(CORE_FILES) $(X2C_TEMPLATE)
class BIFE_Fallback extends BIFE_Container {
/**
* @var string $name
- * @access public
+ * @access private
*/
var $name;
/**
* Top level widget.
*
- * @var BIFE_Root $root
+ * @var BIFE_Widget $root
* @access protected
*/
var $root = null;
*
* @param string $filename Filename to parse.
*
- * @return &BIFE_Root
+ * @return &BIFE_Widget
* @access public
*/
function &parseFile($filename) // ~X2C
*
* @param string $data XML data to parse.
*
- * @return &BIFE_Root
+ * @return &BIFE_Widget
* @access public
*/
function &parseString($data) // ~X2C
} // -X2C Class :Parser
-?>
+?>
\ No newline at end of file
+++ /dev/null
-<?php
-// vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4:
-// +--------------------------------------------------------------------+
-// | BIFE - Buil It FastEr |
-// +--------------------------------------------------------------------+
-// | This file is part of BIFE. |
-// | |
-// | BIFE is free software; you can redistribute it and/or modify it |
-// | under the terms of the GNU General Public License as published by |
-// | the Free Software Foundation; either version 2 of the License, or |
-// | (at your option) any later version. |
-// | |
-// | BIFE is distributed in the hope that it will be useful, but |
-// | WITHOUT ANY WARRANTY; without even the implied warranty of |
-// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
-// | General Public License for more details. |
-// | |
-// | You should have received a copy of the GNU General Public License |
-// | along with Hooks; if not, write to the Free Software Foundation, |
-// | Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
-// +--------------------------------------------------------------------+
-// | Created: Thu May 22 18:53:36 2003 |
-// | Authors: Leandro Lucarella <luca@lugmen.org.ar> |
-// +--------------------------------------------------------------------+
-//
-// $Id$
-//
-
-// +X2C includes
-require_once 'BIFE/Container.php';
-// ~X2C
-
-// +X2C Class 85 :Root
-/**
- * Root container class.
- *
- * @access public
- * @abstract
- */
-class BIFE_Root extends BIFE_Container {
- /**
- * Root widget's required files.
- *
- * @var array $required
- * @access protected
- */
- var $required = array();
-
- // ~X2C
-
- // +X2C Operation 87
- /**
- * Constructor.
- *
- * @param string $attrs Attributes.
- *
- * @return void
- * @access public
- */
- function BIFE_Root($attrs) // ~X2C
- {
- $this->__construct($attrs);
- }
- // -X2C
-
- // +X2C Operation 88
- /**
- * Constructor.
- *
- * @param string $attrs Attributes.
- *
- * @return void
- * @access public
- */
- function __construct($attrs) // ~X2C
- {
- /*
- if (@$attrs['USE']) {
- foreach (split(':', $attrs['USE']) as $require) {
- require_once "BIFE/$require.php";
- $this->required[] = "BIFE/$require.php";
- }
- unset($attrs['USE']);
- }
- */
- parent::__construct($attrs);
- }
- // -X2C
-
- // +X2C Operation 150
- /**
- * Gets required files. (FIXME - DEPRECATED)
- *
- * @return array
- * @access public
- */
- function getRequiredFiles() // ~X2C
- {
- return $this->required;
- }
- // -X2C
-
-} // -X2C Class :Root
-
-?>
<UML:Parameter stereotype="" package="" xmi.id="1" value="" type="string" abstract="0" documentation="XML string to parse." name="data" static="0" scope="200" />
<UML:Parameter stereotype="" package="" xmi.id="2" value="true" type="bool" abstract="0" documentation="Indicates if is the last string to parse." name="final" static="0" scope="200" />
</UML:Operation>
- <UML:Operation stereotype="" package="" xmi.id="37" type="&BIFE_Root" abstract="0" documentation="Parse a XML file with a complete and valid XML document." name="parseFile" static="0" scope="200" >
+ <UML:Operation stereotype="" package="" xmi.id="37" type="&BIFE_Widget" abstract="0" documentation="Parse a XML file with a complete and valid XML document." name="parseFile" static="0" scope="200" >
<UML:Parameter stereotype="" package="" xmi.id="1" value="" type="string" abstract="0" documentation="Filename to parse." name="filename" static="0" scope="200" />
</UML:Operation>
- <UML:Operation stereotype="" package="" xmi.id="74" type="&BIFE_Root" abstract="0" documentation="Parse a XML string with a complete and valid XML document." name="parseString" static="0" scope="200" >
+ <UML:Operation stereotype="" package="" xmi.id="74" type="&BIFE_Widget" abstract="0" documentation="Parse a XML string with a complete and valid XML document." name="parseString" static="0" scope="200" >
<UML:Parameter stereotype="" package="" xmi.id="1" value="" type="string" abstract="0" documentation="XML data to parse." name="data" static="0" scope="200" />
</UML:Operation>
- <UML:Attribute stereotype="" package="" xmi.id="26" value="null" type="BIFE_Root" abstract="0" documentation="Top level widget." name="root" static="0" scope="202" />
+ <UML:Attribute stereotype="" package="" xmi.id="26" value="null" type="BIFE_Widget" abstract="0" documentation="Top level widget." name="root" static="0" scope="202" />
<UML:Attribute stereotype="" package="" xmi.id="27" value="null" type="resource" abstract="0" documentation="XML parser resource." name="parser" static="0" scope="202" />
<UML:Attribute stereotype="" package="" xmi.id="29" value="array()" type="array" abstract="0" documentation="BIFE widgets stack." name="stack" static="0" scope="202" />
<UML:Attribute stereotype="" package="" xmi.id="84" value="''" type="string" abstract="0" documentation="Fallback class to use in case that a widget class is not found." name="fallback" static="0" scope="202" />
<UML:Parameter stereotype="" package="" xmi.id="1" value="" type="string" abstract="0" documentation="Name of the widget." name="name" static="0" scope="200" />
<UML:Parameter stereotype="" package="" xmi.id="2" value="" type="array" abstract="0" documentation="Attributes." name="attrs" static="0" scope="200" />
</UML:Operation>
- <UML:Attribute stereotype="" package="" xmi.id="129" value="" type="string" abstract="0" documentation="" name="name" static="0" scope="200" />
- </UML:Class>
- <UML:Class stereotype="" package="BIFE" xmi.id="85" abstract="1" documentation="Root container class." name="Root" static="0" scope="200" >
- <UML:Operation stereotype="" package="" xmi.id="87" type="void" abstract="0" documentation="Constructor." name="BIFE_Root" static="0" scope="200" >
- <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="string" abstract="0" documentation="Attributes." name="attrs" static="0" scope="200" />
- </UML:Operation>
- <UML:Operation stereotype="" package="" xmi.id="88" type="void" abstract="0" documentation="Constructor." name="__construct" static="0" scope="200" >
- <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="string" abstract="0" documentation="Attributes." name="attrs" static="0" scope="200" />
- </UML:Operation>
- <UML:Operation stereotype="" package="" xmi.id="150" type="array" abstract="0" documentation="Gets required files. (FIXME - DEPRECATED)" name="getRequiredFiles" static="0" scope="200" />
- <UML:Attribute stereotype="" package="" xmi.id="149" value="array()" type="array" abstract="0" documentation="Root widget's required files." name="required" static="0" scope="202" />
+ <UML:Attribute stereotype="" package="" xmi.id="129" value="" type="string" abstract="0" documentation="" name="name" static="0" scope="201" />
</UML:Class>
<UML:Class stereotype="" package="HTML/Template" xmi.id="130" abstract="0" documentation="Hooks vs. IT (HIT) is a simple template implementation, based on hooks and IT template systems." name="HIT" static="0" scope="200" >
<UML:Operation stereotype="" package="" xmi.id="136" type="void" abstract="0" documentation="Constructor." name="HTML_Template_HIT" static="0" scope="200" >
<widgets>
<UML:ConceptWidget usesdiagramfillcolour="0" width="148" showattsigs="601" usesdiagramusefillcolour="0" x="80" linecolour="#ff0000" y="20" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="75" usefillcolor="1" showattributes="1" xmi.id="3" showoperations="1" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,9,-1,5,48,0,0,0,0,0" />
<UML:ConceptWidget usesdiagramfillcolour="0" width="127" showattsigs="601" usesdiagramusefillcolour="0" x="91" linecolour="#ff0000" y="150" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="90" usefillcolor="1" showattributes="1" xmi.id="5" showoperations="1" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,9,-1,5,48,0,0,0,0,0" />
- <UML:ConceptWidget usesdiagramfillcolour="0" width="118" showattsigs="601" usesdiagramusefillcolour="0" x="31" linecolour="#ff0000" y="319" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="60" usefillcolor="1" showattributes="1" xmi.id="61" showoperations="1" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,9,-1,5,48,0,0,0,0,0" />
- <UML:ConceptWidget usesdiagramfillcolour="0" width="168" showattsigs="601" usesdiagramusefillcolour="0" x="191" linecolour="#ff0000" y="319" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="75" usefillcolor="1" showattributes="1" xmi.id="85" showoperations="1" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,9,-1,5,48,0,0,0,0,0" />
- <UML:ConceptWidget usesdiagramfillcolour="0" width="168" showattsigs="601" usesdiagramusefillcolour="0" x="301" linecolour="#ff0000" y="20" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="240" usefillcolor="1" showattributes="1" xmi.id="25" showoperations="1" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,9,-1,5,48,0,0,0,0,0" />
+ <UML:ConceptWidget usesdiagramfillcolour="0" width="118" showattsigs="601" usesdiagramusefillcolour="0" x="95" linecolour="#ff0000" y="295" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="60" usefillcolor="1" showattributes="1" xmi.id="61" showoperations="1" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,9,-1,5,48,0,0,0,0,0" />
+ <UML:ConceptWidget usesdiagramfillcolour="0" width="171" showattsigs="601" usesdiagramusefillcolour="0" x="301" linecolour="#ff0000" y="20" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="240" usefillcolor="1" showattributes="1" xmi.id="25" showoperations="1" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,9,-1,5,48,0,0,0,0,0" />
</widgets>
<messages/>
<associations>
<endpoint endx="154" endy="95" />
</linepath>
</UML:AssocWidget>
- <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="3" indexb="1" widgetbid="5" widgetaid="61" documentation="" type="500" >
+ <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="5" widgetaid="61" documentation="" type="500" >
<linepath>
- <startpoint startx="90" starty="319" />
- <endpoint endx="133" endy="240" />
- </linepath>
- </UML:AssocWidget>
- <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="3" indexb="2" widgetbid="5" widgetaid="85" documentation="" type="500" >
- <linepath>
- <startpoint startx="275" starty="319" />
- <endpoint endx="175" endy="240" />
+ <startpoint startx="154" starty="295" />
+ <endpoint endx="154" endy="240" />
</linepath>
</UML:AssocWidget>
</associations>
<listitem open="0" type="815" id="63" label="__construct" />
<listitem open="0" type="814" id="129" label="name" />
</listitem>
- <listitem open="1" type="813" id="25" label="Parser" >
+ <listitem open="0" type="813" id="25" label="Parser" >
<listitem open="0" type="815" id="30" label="BIFE_Parser" />
<listitem open="0" type="815" id="31" label="__construct" />
<listitem open="0" type="815" id="32" label="__destruct" />
<listitem open="0" type="814" id="29" label="stack" />
<listitem open="0" type="815" id="33" label="startElement" />
</listitem>
- <listitem open="0" type="813" id="85" label="Root" >
- <listitem open="0" type="815" id="87" label="BIFE_Root" />
- <listitem open="0" type="815" id="88" label="__construct" />
- <listitem open="0" type="815" id="150" label="getRequiredFiles" />
- <listitem open="0" type="814" id="149" label="required" />
- </listitem>
<listitem open="0" type="813" id="3" label="Widget" >
<listitem open="0" type="815" id="126" label="BIFE_Widget" />
<listitem open="0" type="815" id="127" label="__construct" />
Version 0.10
============
- - Add XML file caching (done!).
- - Make a way to put all classes in a package together in a single file to
- avoid overhead in require_once calls (to be reviewed).
- - Make a Core Package with the core classes (Parser, Widget, Container,
- Root, Fallback).
- - Make a Basic (or Generic?) Package with simple implementations of all
- classes in Core Package (Page, Title, Copy, etc).
- - Make other more specific Packages (like Album) with other widgets.
+ - Add XML file caching. [done!]
+ - Remove Root widget, is has no sense with the new autoincludin method.
+ [done!]
+ - Make the proyect modular. [done as a first draft]
+ - Make a Core module with the core classes (Parser, Widget, Container,
+ Fallback). [almost done]
+ - Make a Basic (or Generic?) module with simple implementations of all
+ classes in Core module (Page, Title, Copy, etc). [almost done]
+ - Make other more specific modules (like Album) with other widgets.
+ [almost done]
+ - Fix bugs: all classes should done the dynamic work in the render()
+ method or using __sleep() and __wakeup() because of the new cache
+ capabilities.
Version 0.11
============
+ - Start using config file for default widgets attributes.
- Separate Album funtionality function from renderer (BIFE_Album).
- Use new hooks libs.
+
+Version 0.12
+============
+ - Make a way to put all classes in a package together in a single file to
+ avoid overhead in require_once calls (to be reviewed).
+
//
// +X2C includes
-require_once 'BIFE/Root.php';
+require_once 'BIFE/Generic.php';
// ~X2C
// +X2C Class 14 :Page
*
* @access public
*/
-class BIFE_Page extends BIFE_Root {
+class BIFE_Page extends BIFE_Generic {
// ~X2C
- // +X2C Operation 15
- /**
- * Constructor.
- *
- * @param array $attrs Attributes.
- *
- * @return void
- * @access public
- */
- function BIFE_Page($attrs) // ~X2C
- {
- $this->__construct($attrs);
- }
- // -X2C
-
- // +X2C Operation 53
- /**
- * Constructor.
- *
- * @param array $attrs Attributes.
- *
- * @return void
- * @access public
- */
- function __construct($attrs) // ~X2C
- {
- parent::__construct($attrs);
- }
- // -X2C
-
- // +X2C Operation 93
- /**
- * Adds contents to the container.
- *
- * @param mixed &$contents Contents to add.
- *
- * @return void
- * @access public
- */
- function addContents(&$contents) // ~X2C
- {
- if (is_string($contents)) {
- $contents = trim($contents);
- }
- if ($contents) {
- parent::addContents($contents);
- }
- }
- // -X2C
-
- // +X2C Operation 90
- /**
- * Returns the rendered widget as a string.
- *
- * @param HTML_Template_HIT &$template Template to use to render the widget.
- *
- * @return string
- * @access public
- */
- function render(&$template) // ~X2C
- {
- $this->attrs['CONTENTS'] = parent::render($template);
- $template->setGroup();
- $out = $template->parse('bife_page', $this->attrs);
- $template->unsetGroup();
- return $out;
- }
- // -X2C
-
} // -X2C Class :Page
-?>
\ No newline at end of file
+?>
class BIFE_Title extends BIFE_Generic {
// ~X2C
- // +X2C Operation 18
- /**
- * Constructor.
- *
- * @param array $attrs Attributes.
- *
- * @return void
- * @access public
- */
- function BIFE_Title($attrs) // ~X2C
- {
- $this->__construct($attrs);
- }
- // -X2C
-
- // +X2C Operation 55
- /**
- * Constructor.
- *
- * @param array $attrs Attributes.
- *
- * @return void
- * @access public
- */
- function __construct($attrs) // ~X2C
- {
- parent::__construct($attrs);
- }
- // -X2C
-
} // -X2C Class :Title
-?>
\ No newline at end of file
+?>
<UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&HTML_Template_HIT" abstract="0" documentation="Template to use to render the widget." name="template" static="0" scope="200" />
</UML:Operation>
</UML:Class>
- <UML:Class stereotype="" package="BIFE" xmi.id="14" abstract="0" documentation="Page widget." name="Page" static="0" scope="200" >
- <UML:Operation stereotype="" package="" xmi.id="15" type="void" abstract="0" documentation="Constructor." name="BIFE_Page" static="0" scope="200" >
- <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="array" abstract="0" documentation="Attributes." name="attrs" static="0" scope="200" />
- </UML:Operation>
- <UML:Operation stereotype="" package="" xmi.id="53" type="void" abstract="0" documentation="Constructor." name="__construct" static="0" scope="200" >
- <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="array" abstract="0" documentation="Attributes." name="attrs" static="0" scope="200" />
- </UML:Operation>
- <UML:Operation stereotype="" package="" xmi.id="93" type="void" abstract="0" documentation="Adds contents to the container." name="addContents" static="0" scope="200" >
- <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&mixed" abstract="0" documentation="Contents to add." name="contents" static="0" scope="200" />
- </UML:Operation>
- <UML:Operation stereotype="" package="" xmi.id="90" type="string" abstract="0" documentation="Returns the rendered widget as a string." name="render" static="0" scope="200" >
- <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&HTML_Template_HIT" abstract="0" documentation="Template to use to render the widget." name="template" static="0" scope="200" />
- </UML:Operation>
- </UML:Class>
- <UML:Class stereotype="" package="BIFE" xmi.id="17" abstract="0" documentation="Title widget." name="Title" static="0" scope="200" >
- <UML:Operation stereotype="" package="" xmi.id="18" type="void" abstract="0" documentation="Constructor." name="BIFE_Title" static="0" scope="200" >
- <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="array" abstract="0" documentation="Attributes." name="attrs" static="0" scope="200" />
- </UML:Operation>
- <UML:Operation stereotype="" package="" xmi.id="55" type="void" abstract="0" documentation="Constructor." name="__construct" static="0" scope="200" >
- <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="array" abstract="0" documentation="Attributes." name="attrs" static="0" scope="200" />
- </UML:Operation>
- </UML:Class>
+ <UML:Class stereotype="" package="BIFE" xmi.id="14" abstract="0" documentation="Page widget." name="Page" static="0" scope="200" />
+ <UML:Class stereotype="" package="BIFE" xmi.id="17" abstract="0" documentation="Title widget." name="Title" static="0" scope="200" />
<UML:Class stereotype="" package="BIFE" xmi.id="61" abstract="1" documentation="Fallback widget to use when no specific widget is implemented.
x2c:extern" name="Fallback" static="0" scope="200" />
<UML:Class stereotype="" package="BIFE" xmi.id="76" abstract="0" documentation="Fallback widget that copies the XML." name="Copy" static="0" scope="200" >
<UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&HTML_Template_HIT" abstract="0" documentation="Template to use to render the widget." name="template" static="0" scope="200" />
</UML:Operation>
</UML:Class>
- <UML:Class stereotype="" package="BIFE" xmi.id="85" abstract="1" documentation="Root container class.
-x2c:extern" name="Root" static="0" scope="200" />
<UML:Class stereotype="" package="BIFE" xmi.id="110" abstract="0" documentation="Link to another page." name="Link" static="0" scope="200" >
<UML:Operation stereotype="" package="" xmi.id="111" type="void" abstract="0" documentation="Constructor." name="BIFE_Link" static="0" scope="200" >
<UML:Parameter stereotype="" package="" xmi.id="1" value="" type="array" abstract="0" documentation="Attributes." name="attrs" static="0" scope="200" />
<diagrams>
<diagram snapgrid="0" showattsig="1" fillcolor="#ffffc0" showgrid="1" showopsig="0" usefillcolor="1" snapx="10" snapy="10" showatts="1" xmi.id="113" documentation="Class diagram for the basic classes." type="402" showops="1" showpackage="1" name="Basic Classes" localid="30000" showstereotype="0" showscope="1" font="Helvetica,9,-1,5,48,0,0,0,0,0" linecolor="#ff0000" >
<widgets>
- <UML:ConceptWidget usesdiagramfillcolour="0" width="107" showattsigs="601" usesdiagramusefillcolour="0" x="30" linecolour="#ff0000" y="310" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="67" usefillcolor="1" showattributes="1" xmi.id="76" showoperations="1" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,9,-1,5,48,0,0,0,0,0" />
- <UML:ConceptWidget usesdiagramfillcolour="0" width="117" showattsigs="601" usesdiagramusefillcolour="0" x="230" linecolour="#ff0000" y="140" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="82" usefillcolor="1" showattributes="1" xmi.id="7" showoperations="1" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,9,-1,5,48,0,0,0,0,0" />
- <UML:ConceptWidget usesdiagramfillcolour="1" width="107" showattsigs="601" usesdiagramusefillcolour="1" x="310" linecolour="none" y="310" showopsigs="600" usesdiagramlinecolour="1" fillcolour="none" height="67" usefillcolor="1" showattributes="1" xmi.id="110" showoperations="1" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,9,-1,5,48,0,0,0,0,0" />
- <UML:ConceptWidget usesdiagramfillcolour="0" width="109" showattsigs="601" usesdiagramusefillcolour="0" x="450" linecolour="#ff0000" y="310" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="82" usefillcolor="1" showattributes="1" xmi.id="14" showoperations="1" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,9,-1,5,48,0,0,0,0,0" />
- <UML:ConceptWidget usesdiagramfillcolour="0" width="107" showattsigs="601" usesdiagramusefillcolour="0" x="170" linecolour="#ff0000" y="310" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="52" usefillcolor="1" showattributes="1" xmi.id="17" showoperations="1" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,9,-1,5,48,0,0,0,0,0" />
- <UML:ConceptWidget usesdiagramfillcolour="0" width="97" showattsigs="600" usesdiagramusefillcolour="0" x="90" linecolour="#ff0000" y="140" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#dcdcdc" height="25" usefillcolor="1" showattributes="0" xmi.id="61" showoperations="0" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,9,-1,5,48,0,0,0,0,0" />
- <UML:ConceptWidget usesdiagramfillcolour="0" width="79" showattsigs="600" usesdiagramusefillcolour="0" x="380" linecolour="#ff0000" y="140" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#dcdcdc" height="25" usefillcolor="1" showattributes="0" xmi.id="85" showoperations="0" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,9,-1,5,48,0,0,0,0,0" />
- <UML:ConceptWidget usesdiagramfillcolour="0" width="106" showattsigs="600" usesdiagramusefillcolour="0" x="235" linecolour="#ff0000" y="20" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#dcdcdc" height="25" usefillcolor="1" showattributes="0" xmi.id="5" showoperations="0" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,9,-1,5,48,0,0,0,0,0" />
+ <UML:ConceptWidget usesdiagramfillcolour="0" width="107" showattsigs="601" usesdiagramusefillcolour="0" x="55" linecolour="#ff0000" y="330" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="67" usefillcolor="1" showattributes="1" xmi.id="76" showoperations="1" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,9,-1,5,48,0,0,0,0,0" />
+ <UML:ConceptWidget usesdiagramfillcolour="0" width="117" showattsigs="601" usesdiagramusefillcolour="0" x="308" linecolour="#ff0000" y="150" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="82" usefillcolor="1" showattributes="1" xmi.id="7" showoperations="1" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,9,-1,5,48,0,0,0,0,0" />
+ <UML:ConceptWidget usesdiagramfillcolour="1" width="107" showattsigs="601" usesdiagramusefillcolour="1" x="313" linecolour="none" y="330" showopsigs="600" usesdiagramlinecolour="1" fillcolour="none" height="67" usefillcolor="1" showattributes="1" xmi.id="110" showoperations="1" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,9,-1,5,48,0,0,0,0,0" />
+ <UML:ConceptWidget usesdiagramfillcolour="0" width="79" showattsigs="601" usesdiagramusefillcolour="0" x="447" linecolour="#ff0000" y="330" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="29" usefillcolor="1" showattributes="1" xmi.id="14" showoperations="1" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,9,-1,5,48,0,0,0,0,0" />
+ <UML:ConceptWidget usesdiagramfillcolour="0" width="76" showattsigs="601" usesdiagramusefillcolour="0" x="210" linecolour="#ff0000" y="330" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="29" usefillcolor="1" showattributes="1" xmi.id="17" showoperations="1" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,9,-1,5,48,0,0,0,0,0" />
+ <UML:ConceptWidget usesdiagramfillcolour="0" width="97" showattsigs="600" usesdiagramusefillcolour="0" x="60" linecolour="#ff0000" y="150" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#dcdcdc" height="25" usefillcolor="1" showattributes="0" xmi.id="61" showoperations="0" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,9,-1,5,48,0,0,0,0,0" />
+ <UML:ConceptWidget usesdiagramfillcolour="0" width="106" showattsigs="600" usesdiagramusefillcolour="0" x="178" linecolour="#ff0000" y="30" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#dcdcdc" height="25" usefillcolor="1" showattributes="0" xmi.id="5" showoperations="0" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,9,-1,5,48,0,0,0,0,0" />
</widgets>
<messages/>
<associations>
- <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="3" indexb="1" widgetbid="7" widgetaid="17" documentation="" type="500" >
+ <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="4" indexb="1" widgetbid="7" widgetaid="17" documentation="" type="500" >
<linepath>
- <startpoint startx="223" starty="310" />
- <endpoint endx="269" endy="222" />
+ <startpoint startx="248" starty="330" />
+ <endpoint endx="337" endy="232" />
</linepath>
</UML:AssocWidget>
- <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="3" indexb="2" widgetbid="7" widgetaid="110" documentation="" type="500" >
+ <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="4" indexb="2" widgetbid="7" widgetaid="110" documentation="" type="500" >
<linepath>
- <startpoint startx="363" starty="310" />
- <endpoint endx="308" endy="222" />
+ <startpoint startx="366" starty="330" />
+ <endpoint endx="366" endy="232" />
</linepath>
</UML:AssocWidget>
<UML:AssocWidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="61" widgetaid="76" documentation="" type="500" >
<linepath>
- <startpoint startx="83" starty="310" />
- <endpoint endx="138" endy="165" />
+ <startpoint startx="108" starty="330" />
+ <endpoint endx="108" endy="175" />
</linepath>
</UML:AssocWidget>
- <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="85" widgetaid="14" documentation="" type="500" >
+ <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="3" indexb="2" widgetbid="5" widgetaid="7" documentation="" type="500" >
<linepath>
- <startpoint startx="504" starty="310" />
- <endpoint endx="419" endy="165" />
+ <startpoint startx="366" starty="150" />
+ <endpoint endx="248" endy="55" />
</linepath>
</UML:AssocWidget>
- <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="4" indexb="2" widgetbid="5" widgetaid="7" documentation="" type="500" >
+ <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="3" indexb="1" widgetbid="5" widgetaid="61" documentation="" type="500" >
<linepath>
- <startpoint startx="288" starty="140" />
- <endpoint endx="288" endy="45" />
+ <startpoint startx="108" starty="150" />
+ <endpoint endx="213" endy="55" />
</linepath>
</UML:AssocWidget>
- <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="4" indexb="3" widgetbid="5" widgetaid="85" documentation="" type="500" >
+ <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="4" indexb="3" widgetbid="7" widgetaid="14" documentation="" type="500" >
<linepath>
- <startpoint startx="419" starty="140" />
- <endpoint endx="314" endy="45" />
- </linepath>
- </UML:AssocWidget>
- <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="4" indexb="1" widgetbid="5" widgetaid="61" documentation="" type="500" >
- <linepath>
- <startpoint startx="138" starty="140" />
- <endpoint endx="261" endy="45" />
+ <startpoint startx="486" starty="330" />
+ <endpoint endx="395" endy="232" />
</linepath>
</UML:AssocWidget>
</associations>
<listitem open="1" type="803" id="-1" label="BIFE" >
<listitem open="0" type="813" id="5" label="Container" />
<listitem open="0" type="813" id="61" label="Fallback" />
- <listitem open="0" type="813" id="85" label="Root" />
</listitem>
<listitem open="1" type="803" id="-1" label="Basic" >
<listitem open="0" type="807" id="113" label="Basic Classes" />
<listitem open="0" type="815" id="112" label="__construct" />
<listitem open="0" type="815" id="142" label="getURL" />
</listitem>
- <listitem open="0" type="813" id="14" label="Page" >
- <listitem open="0" type="815" id="15" label="BIFE_Page" />
- <listitem open="0" type="815" id="53" label="__construct" />
- <listitem open="0" type="815" id="93" label="addContents" />
- <listitem open="0" type="815" id="90" label="render" />
- </listitem>
- <listitem open="0" type="813" id="17" label="Title" >
- <listitem open="0" type="815" id="18" label="BIFE_Title" />
- <listitem open="0" type="815" id="55" label="__construct" />
- </listitem>
+ <listitem open="0" type="813" id="14" label="Page" />
+ <listitem open="0" type="813" id="17" label="Title" />
</listitem>
<listitem open="1" type="803" id="-1" label="HIT" >
<listitem open="0" type="813" id="130" label="HIT" />