]> git.llucax.com Git - software/bife/bife-all.git/blobdiff - doc/bife.xmi
HTML_Template_HIT:
[software/bife/bife-all.git] / doc / bife.xmi
index 789b2b37f99667f6ee512739cd1f22907f857ab9..bd9743dd7617e9ee96ab06821b3c85346a7fe142 100644 (file)
@@ -9,21 +9,32 @@
   <XMI.metamodel xmi.name="UML" href="UML.xml" xmi.version="1.3" />
  </XMI.header>
  <XMI.content>
-  <docsettings viewid="2" documentation="" uniqueid="93" />
+  <docsettings viewid="132" documentation="Parse XML data getting widgets." uniqueid="147" />
   <umlobjects>
    <UML:Class stereotype="" package="BIFE" xmi.id="3" abstract="1" documentation="Base widget class." name="Widget" static="0" scope="200" >
+    <UML:Operation stereotype="" package="" xmi.id="126" type="void" abstract="0" documentation="Constructor." name="BIFE_Widget" 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="127" 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="4" type="string" abstract="1" documentation="Renders the widget using a template returning a string with the results." name="render" static="0" scope="200" >
-     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;HTML_Template_Sigma" abstract="0" documentation="Template object to render the widget." name="template" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;HTML_Template_HIT" abstract="0" documentation="Template object to render the widget." name="template" static="0" scope="200" />
     </UML:Operation>
+    <UML:Attribute stereotype="" package="" xmi.id="125" value="array()" type="array" abstract="0" documentation="Attribute list." name="attrs" static="0" scope="202" />
    </UML:Class>
    <UML:Class stereotype="" package="BIFE" xmi.id="5" abstract="1" documentation="Base container widget class." name="Container" static="0" scope="200" >
-    <UML:Operation stereotype="" package="" xmi.id="48" type="void" abstract="0" documentation="Constructor." name="BIFE_Container" static="0" scope="200" />
-    <UML:Operation stereotype="" package="" xmi.id="50" type="void" abstract="0" documentation="Constructor." name="__construct" static="0" scope="200" />
+    <UML:Operation stereotype="" package="" xmi.id="48" type="void" abstract="0" documentation="Constructor." name="BIFE_Container" 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="50" 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="6" 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="&amp;mixed" abstract="0" documentation="Contents to add to the container." name="contents" static="0" scope="200" />
     </UML:Operation>
     <UML:Operation stereotype="" package="" xmi.id="59" type="string" abstract="0" documentation="Renders the widget using a template returning a string with the results." name="render" static="0" scope="200" >
-     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;HTML_Template_Sigma" abstract="0" documentation="Template object to render the widget." name="template" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;HTML_Template_HIT" abstract="0" documentation="Template object to render the widget." name="template" static="0" scope="200" />
     </UML:Operation>
     <UML:Attribute stereotype="" package="" xmi.id="47" value="" type="array" abstract="0" documentation="" name="contents" static="0" scope="200" />
    </UML:Class>
@@ -38,9 +49,8 @@
      <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;mixed" abstract="0" documentation="Contents to add." name="contents" static="0" scope="200" />
     </UML:Operation>
     <UML:Operation stereotype="" package="" xmi.id="12" type="string" abstract="0" documentation="Renders the widget." name="render" static="0" scope="200" >
-     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;HTML_Template_Sigma" abstract="0" documentation="Template to use to render the widget." name="template" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;HTML_Template_HIT" abstract="0" documentation="Template to use to render the widget." name="template" static="0" scope="200" />
     </UML:Operation>
-    <UML:Attribute stereotype="" package="" xmi.id="8" value="" type="array" abstract="0" documentation="Attribute list." name="attrs" static="0" scope="202" />
    </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" >
@@ -53,9 +63,8 @@
      <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;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="&amp;HTML_Template_Sigma" abstract="0" documentation="Template to use to render the widget." name="template" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;HTML_Template_HIT" abstract="0" documentation="Template to use to render the widget." name="template" static="0" scope="200" />
     </UML:Operation>
-    <UML:Attribute stereotype="" package="" xmi.id="89" value="" type="array" abstract="0" documentation="Attributes." name="attrs" static="0" scope="202" />
    </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" >
@@ -65,9 +74,7 @@
      <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="20" abstract="0" documentation="Photo album widget.
-
-[TODO: Make a better explanation]" name="Album" static="0" scope="200" >
+   <UML:Class stereotype="" package="BIFE" xmi.id="20" abstract="0" documentation="Photo album widget. [TODO: Make a better explanation]" name="Album" static="0" scope="200" >
     <UML:Operation stereotype="" package="" xmi.id="22" type="void" abstract="0" documentation="Constructor." name="BIFE_Album" 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: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="23" type="string" abstract="0" documentation="Renders the widget." name="render" static="0" scope="200" >
-     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;HTML_Template_Sigma" abstract="0" documentation="Template to use to render the widget." name="template" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;HTML_Template_HIT" abstract="0" documentation="Template to use to render the widget." name="template" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="95" type="array" abstract="0" documentation="Gets a list of photos with their descriptions and thumbnails.
+
+Returns an array of associative arrays with this keys:
+&lt;ul>
+&lt;li>&lt;b>file:&lt;/b> Photo filename.&lt;/li>
+&lt;li>&lt;b>desc:&lt;/b> Photo Description.&lt;/li>
+&lt;li>&lt;b>thumb:&lt;/b> Photo thumbnail filename.&lt;/li>
+&lt;/ul>
+" name="getList" static="0" scope="202" />
+    <UML:Operation stereotype="" package="" xmi.id="97" type="string" abstract="0" documentation="Creates an image thumbnail, returning his filename." name="makeThumb" static="0" scope="202" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="string" abstract="0" documentation="Filename of the image to create the thumb." name="filename" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="2" value="100" type="int" abstract="0" documentation="Maximum thumbnail size." name="size" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="98" type="string" abstract="0" documentation="Returns the filename of an image thumb." name="getThumbFilename" static="0" scope="202" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="string" abstract="0" documentation="Filename of the image to get the thumb name." name="filename" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="102" type="string" abstract="0" documentation="Returns the description of the album." name="getDescription" static="0" scope="202" />
+    <UML:Operation stereotype="" package="" xmi.id="100" type="array" abstract="0" documentation="Splits a filename returning an array with the path, name and extension." name="splitFilename" static="1" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="string" abstract="0" documentation="Filename to split." name="filename" static="0" scope="200" />
     </UML:Operation>
-    <UML:Attribute stereotype="" package="" xmi.id="21" value="" type="array" abstract="0" documentation="Attributes." name="attrs" static="0" scope="200" />
    </UML:Class>
    <UML:Class stereotype="" package="BIFE" xmi.id="25" abstract="0" documentation="This is the XML Parser." name="Parser" static="0" scope="200" >
     <UML:Operation stereotype="" package="" xmi.id="30" type="void" abstract="0" documentation="Constructor." name="BIFE_Parser" static="0" scope="200" >
      <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="76" abstract="0" documentation="Fallback widget that copies the XML." name="Copy" static="0" scope="200" >
     <UML:Operation stereotype="" package="" xmi.id="79" type="void" abstract="0" documentation="Constructor." name="BIFE_Copy" 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:Operation stereotype="" package="" xmi.id="82" type="void" abstract="0" documentation="Renders the widget returning a string with the results." name="render" static="0" scope="200" >
-     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;HTML_Template_Sigma" abstract="0" documentation="Template to use to render the widget." name="template" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;HTML_Template_HIT" abstract="0" documentation="Template to use to render the widget." name="template" static="0" scope="200" />
     </UML:Operation>
-    <UML:Attribute stereotype="" package="" xmi.id="78" value="" type="string" abstract="0" documentation="Widget name." name="name" static="0" scope="202" />
-    <UML:Attribute stereotype="" package="" xmi.id="77" value="" type="array" abstract="0" documentation="Attributes." name="attrs" static="0" scope="202" />
    </UML:Class>
    <UML:Class stereotype="" package="BIFE" xmi.id="85" abstract="0" 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:Class>
+   <UML:Class stereotype="" package="BIFE" xmi.id="103" abstract="0" documentation="Photo widget." name="AlbumPhoto" static="0" scope="200" >
+    <UML:Operation stereotype="" package="" xmi.id="106" type="void" abstract="0" documentation="Constructor." name="BIFE_AlbumPhoto" 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="107" 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="108" type="string" abstract="0" documentation="Renders the widget using a template returning a string with the results." name="render" static="0" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;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="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" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="112" 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="142" type="string" abstract="0" documentation="Gets a URL string based on Link attributes." name="getURL" static="0" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="array" abstract="0" documentation="Link attributes." name="attrs" static="0" scope="200" />
+    </UML:Operation>
+   </UML:Class>
+   <UML:Class stereotype="" package="BIFE" xmi.id="115" abstract="0" documentation="Dynamic Menu." name="Menu" static="0" scope="200" >
+    <UML:Operation stereotype="" package="" xmi.id="121" type="void" abstract="0" documentation="Constructor." name="BIFE_Menu" 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="122" 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="117" type="string" abstract="0" documentation="Renders the widget using a template returning a string with the results." name="render" static="0" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;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="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" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="'.'" type="string" abstract="0" documentation="Root directory where template files are." name="root" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="2" value="''" type="string" abstract="0" documentation="Group of templates to use (a subdirectory in root)." name="group" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="137" type="void" abstract="0" documentation="Constructor." name="__construct" static="0" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="'.'" type="int" abstract="0" documentation="Root directory where template files are." name="root" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="2" value="''" type="int" abstract="0" documentation="Group of templates to use (a subdirectory in root)." name="group" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="138" type="string" abstract="0" documentation="Parse a template returning the results.
+
+If $vars is an array, the {[keys]} are replaced with [values] ($val is ignored). If is a string, {$vars} is replaced with $val." name="parse" static="0" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="string" abstract="0" documentation="Name of template to parse." name="name" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="2" value="''" type="mixed" abstract="0" documentation="Variables to replace in the template." name="vars" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="3" value="''" type="string" abstract="0" documentation="If $vars is a string, the value to replace for $vars." name="val" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="144" type="void" abstract="0" documentation="Parse a template buffering the results.
+
+Parse a template appending the results to an internal buffer. If $vars is an array, the {[keys]} are replaced with [values] ($val is ignored). If is a string, {$vars} is replaced with $val." name="parseBuffered" static="0" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="string" abstract="0" documentation="Name of template to parse." name="name" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="2" value="''" type="mixed" abstract="0" documentation="Variables to replace in the template." name="vars" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="3" value="''" type="string" abstract="0" documentation="If $vars is a string, the value to replace for $vars." name="val" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="145" type="string" abstract="0" documentation="Gets a parsed buffer." name="getBuffer" static="0" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="string" abstract="0" documentation="Name of the parsed template to get." name="name" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="2" value="true" type="bool" abstract="0" documentation="Flush buffer." name="flush" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="146" type="void" abstract="0" documentation="Gets a parsed buffer and removes it." name="popBuffer" static="0" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="''" type="int" abstract="0" documentation="Name of the buffer to flush." name="name" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="139" type="void" abstract="0" documentation="Sets the group to use and add it to the groups stack." name="setGroup" static="0" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="''" type="string" abstract="0" documentation="Group to use." name="group" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="140" type="void" abstract="0" documentation="Removes the group from the groups stack and returns to the previous used group." name="unsetGroup" static="0" scope="200" />
+    <UML:Attribute stereotype="" package="" xmi.id="133" value="'.'" type="string" abstract="0" documentation="Root directory where template files are." name="root" static="0" scope="200" />
+    <UML:Attribute stereotype="" package="" xmi.id="134" value="''" type="string" abstract="0" documentation="Group of templates to use (a subdirectory in root)." name="group" static="0" scope="202" />
+    <UML:Attribute stereotype="" package="" xmi.id="135" value="array()" type="array" abstract="0" documentation="Templates cache." name="cache" static="0" scope="202" />
+    <UML:Attribute stereotype="" package="" xmi.id="147" value="array()" type="array" abstract="0" documentation="" name="buffer" static="0" scope="202" />
+   </UML:Class>
   </umlobjects>
   <diagrams>
-   <diagram snapgrid="0" showattsig="1" fillcolor="#ffffc0" showgrid="1" showopsig="1" usefillcolor="1" snapx="10" snapy="10" showatts="1" xmi.id="2" documentation="" type="402" showops="1" showpackage="1" name="Class Diagram" localid="30000" showstereotype="0" showscope="1" font="Helvetica,10,-1,5,48,0,0,0,0,0" linecolor="#ff0000" >
+   <diagram snapgrid="0" showattsig="1" fillcolor="#ffffc0" showgrid="1" showopsig="0" usefillcolor="1" snapx="10" snapy="10" showatts="1" xmi.id="2" documentation="" type="402" showops="1" showpackage="1" name="Core 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="104" showattsigs="601" usesdiagramusefillcolour="0" x="301" linecolour="#ff0000" y="32" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="45" usefillcolor="1" showattributes="1" xmi.id="3" showoperations="1" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,10,-1,5,48,0,0,0,0,0" />
-     <UML:ConceptWidget usesdiagramfillcolour="0" width="145" showattsigs="601" usesdiagramusefillcolour="0" x="191" linecolour="#ff0000" y="132" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="108" usefillcolor="1" showattributes="1" xmi.id="5" showoperations="1" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,10,-1,5,48,0,0,0,0,0" />
-     <UML:ConceptWidget usesdiagramfillcolour="0" width="131" showattsigs="601" usesdiagramusefillcolour="0" x="41" linecolour="#ff0000" y="322" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="108" usefillcolor="1" showattributes="1" xmi.id="7" showoperations="1" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,10,-1,5,48,0,0,0,0,0" />
-     <UML:ConceptWidget usesdiagramfillcolour="0" width="127" showattsigs="601" usesdiagramusefillcolour="0" x="352" linecolour="#ff0000" y="436" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="108" usefillcolor="1" showattributes="1" xmi.id="14" showoperations="1" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,10,-1,5,48,0,0,0,0,0" />
-     <UML:ConceptWidget usesdiagramfillcolour="0" width="120" showattsigs="600" usesdiagramusefillcolour="0" x="46" linecolour="#ff0000" y="481" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="63" usefillcolor="1" showattributes="1" xmi.id="17" showoperations="1" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,10,-1,5,48,0,0,0,0,0" />
-     <UML:ConceptWidget usesdiagramfillcolour="0" width="120" showattsigs="601" usesdiagramusefillcolour="0" x="391" linecolour="#ff0000" y="132" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="90" usefillcolor="1" showattributes="1" xmi.id="20" showoperations="1" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,10,-1,5,48,0,0,0,0,0" />
-     <UML:ConceptWidget usesdiagramfillcolour="0" width="134" showattsigs="601" usesdiagramusefillcolour="0" x="196" linecolour="#ff0000" y="322" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="63" usefillcolor="1" showattributes="1" xmi.id="61" showoperations="1" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,10,-1,5,48,0,0,0,0,0" />
-     <UML:ConceptWidget usesdiagramfillcolour="0" width="120" showattsigs="601" usesdiagramusefillcolour="0" x="203" linecolour="#ff0000" y="436" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="108" usefillcolor="1" showattributes="1" xmi.id="76" showoperations="1" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,10,-1,5,48,0,0,0,0,0" />
-     <UML:ConceptWidget usesdiagramfillcolour="0" width="120" showattsigs="601" usesdiagramusefillcolour="0" x="355" linecolour="#ff0000" y="321" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="63" usefillcolor="1" showattributes="1" xmi.id="85" showoperations="1" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,10,-1,5,48,0,0,0,0,0" />
+     <UML:ConceptWidget usesdiagramfillcolour="0" width="171" showattsigs="601" usesdiagramusefillcolour="0" x="80" linecolour="#ff0000" y="20" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="90" 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="145" showattsigs="601" usesdiagramusefillcolour="0" x="91" linecolour="#ff0000" y="150" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="108" 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="134" showattsigs="601" usesdiagramusefillcolour="0" x="31" linecolour="#ff0000" y="319" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="72" 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="120" showattsigs="601" usesdiagramusefillcolour="0" x="191" linecolour="#ff0000" y="319" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="63" 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="155" showattsigs="601" usesdiagramusefillcolour="0" x="350" linecolour="#ff0000" y="80" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="252" 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>
-     <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="3" indexb="1" widgetbid="3" widgetaid="5" documentation="" type="500" >
+     <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="3" widgetaid="5" documentation="" type="500" >
       <linepath>
-       <startpoint startx="263" starty="132" />
-       <endpoint endx="335" endy="77" />
+       <startpoint startx="163" starty="150" />
+       <endpoint endx="165" endy="110" />
       </linepath>
      </UML:AssocWidget>
-     <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="4" indexb="1" 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="106" starty="322" />
-       <endpoint endx="227" endy="240" />
-       <point x="168" y="282" />
+       <startpoint startx="98" starty="319" />
+       <endpoint endx="139" endy="258" />
       </linepath>
      </UML:AssocWidget>
-     <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="7" widgetaid="17" documentation="" type="500" >
+     <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="3" indexb="2" widgetbid="5" widgetaid="85" documentation="" type="500" >
       <linepath>
-       <startpoint startx="106" starty="481" />
-       <endpoint endx="106" endy="430" />
+       <startpoint startx="251" starty="319" />
+       <endpoint endx="187" endy="258" />
       </linepath>
      </UML:AssocWidget>
-     <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="3" indexb="2" widgetbid="3" widgetaid="20" documentation="" type="500" >
+     <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="3" widgetaid="25" documentation="Parse XML getting widgets." type="512" >
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="340" linecolour="none" y="184" operation="" usesdiagramlinecolour="1" role="701" fillcolour="none" height="0" usefillcolor="1" seqnum="" xmi.id="-1" text="" font="helvetica,-1,12,0,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="253" linecolour="none" y="67" operation="" usesdiagramlinecolour="1" role="702" fillcolour="none" height="0" usefillcolor="1" seqnum="" xmi.id="-1" text="" font="helvetica,-1,12,0,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="300" linecolour="none" y="135" operation="" usesdiagramlinecolour="1" role="703" fillcolour="none" height="0" usefillcolor="1" seqnum="" xmi.id="-1" text="gets" font="helvetica,-1,12,0,50,0,0,0,0,0" />
       <linepath>
-       <startpoint startx="451" starty="132" />
-       <endpoint endx="370" endy="77" />
+       <startpoint startx="350" starty="206" />
+       <endpoint endx="251" endy="65" />
       </linepath>
      </UML:AssocWidget>
-     <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="4" indexb="2" widgetbid="5" widgetaid="61" documentation="" type="500" >
+    </associations>
+   </diagram>
+   <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="120" showattsigs="601" usesdiagramusefillcolour="0" x="56" linecolour="#ff0000" y="350" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="81" 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="1" width="131" showattsigs="601" usesdiagramusefillcolour="1" x="265" linecolour="none" y="180" showopsigs="600" usesdiagramlinecolour="1" fillcolour="none" height="99" 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="120" showattsigs="601" usesdiagramusefillcolour="1" x="345" linecolour="none" y="350" showopsigs="600" usesdiagramlinecolour="1" fillcolour="none" height="81" 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="127" showattsigs="601" usesdiagramusefillcolour="0" x="499" linecolour="#ff0000" y="350" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="99" 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="1" width="120" showattsigs="601" usesdiagramusefillcolour="1" x="205" linecolour="none" y="350" showopsigs="600" usesdiagramlinecolour="1" fillcolour="none" height="63" 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="134" showattsigs="601" usesdiagramusefillcolour="0" x="50" linecolour="#ff0000" y="180" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#dcdcdc" height="72" 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="120" showattsigs="601" usesdiagramusefillcolour="0" x="500" linecolour="#ff0000" y="180" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#dcdcdc" height="63" 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="145" showattsigs="601" usesdiagramusefillcolour="0" x="260" linecolour="#ff0000" y="30" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#dcdcdc" height="108" 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" />
+    </widgets>
+    <messages/>
+    <associations>
+     <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="3" indexb="1" widgetbid="7" widgetaid="17" documentation="" type="500" >
       <linepath>
-       <startpoint startx="263" starty="322" />
-       <endpoint endx="263" endy="240" />
+       <startpoint startx="265" starty="350" />
+       <endpoint endx="308" endy="279" />
+      </linepath>
+     </UML:AssocWidget>
+     <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="3" indexb="2" widgetbid="7" widgetaid="110" documentation="" type="500" >
+      <linepath>
+       <startpoint startx="405" starty="350" />
+       <endpoint endx="352" endy="279" />
       </linepath>
      </UML:AssocWidget>
      <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="61" widgetaid="76" documentation="" type="500" >
       <linepath>
-       <startpoint startx="263" starty="436" />
-       <endpoint endx="263" endy="385" />
+       <startpoint startx="116" starty="350" />
+       <endpoint endx="117" endy="252" />
+      </linepath>
+     </UML:AssocWidget>
+     <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="85" widgetaid="14" documentation="" type="500" >
+      <linepath>
+       <startpoint startx="562" starty="350" />
+       <endpoint endx="560" endy="243" />
+      </linepath>
+     </UML:AssocWidget>
+     <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="5" widgetaid="7" documentation="" type="500" >
+      <linepath>
+       <startpoint startx="330" starty="180" />
+       <endpoint endx="332" endy="138" />
+      </linepath>
+     </UML:AssocWidget>
+     <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="5" widgetaid="85" documentation="" type="500" >
+      <linepath>
+       <startpoint startx="560" starty="180" />
+       <endpoint endx="405" endy="84" />
+      </linepath>
+     </UML:AssocWidget>
+     <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="5" widgetaid="61" documentation="" type="500" >
+      <linepath>
+       <startpoint startx="117" starty="180" />
+       <endpoint endx="260" endy="84" />
+      </linepath>
+     </UML:AssocWidget>
+    </associations>
+   </diagram>
+   <diagram snapgrid="1" showattsig="1" fillcolor="#ffffc0" showgrid="1" showopsig="0" usefillcolor="1" snapx="10" snapy="10" showatts="1" xmi.id="114" documentation="" type="402" showops="1" showpackage="1" name="Album 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="171" showattsigs="601" usesdiagramusefillcolour="0" x="140" linecolour="#ff0000" y="20" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#dcdcdc" height="90" 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="169" showattsigs="601" usesdiagramusefillcolour="0" x="50" linecolour="#ff0000" y="190" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="171" usefillcolor="1" showattributes="1" xmi.id="20" showoperations="1" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,9,-1,5,48,0,0,0,0,0" />
+     <UML:ConceptWidget usesdiagramfillcolour="0" width="160" showattsigs="601" usesdiagramusefillcolour="0" x="240" linecolour="#ff0000" y="190" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="81" usefillcolor="1" showattributes="1" xmi.id="103" showoperations="1" 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="3" widgetaid="20" documentation="" type="500" >
+      <linepath>
+       <startpoint startx="134" starty="190" />
+       <endpoint endx="197" endy="110" />
+      </linepath>
+     </UML:AssocWidget>
+     <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="3" indexb="2" widgetbid="3" widgetaid="103" documentation="" type="500" >
+      <linepath>
+       <startpoint startx="320" starty="190" />
+       <endpoint endx="254" endy="110" />
+      </linepath>
+     </UML:AssocWidget>
+    </associations>
+   </diagram>
+   <diagram snapgrid="0" showattsig="1" fillcolor="#ffffc0" showgrid="1" showopsig="0" usefillcolor="1" snapx="10" snapy="10" showatts="1" xmi.id="116" documentation="" type="402" showops="1" showpackage="1" name="Menu 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="120" showattsigs="601" usesdiagramusefillcolour="0" x="141" linecolour="#ff0000" y="207" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="81" usefillcolor="1" showattributes="1" xmi.id="115" 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="120" linecolour="#ff0000" y="40" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#dcdcdc" height="90" 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" />
+    </widgets>
+    <messages/>
+    <associations>
+     <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="3" widgetaid="115" documentation="" type="500" >
+      <linepath>
+       <startpoint startx="201" starty="207" />
+       <endpoint endx="205" endy="130" />
+      </linepath>
+     </UML:AssocWidget>
+    </associations>
+   </diagram>
+   <diagram snapgrid="0" showattsig="0" fillcolor="#ffffc0" showgrid="1" showopsig="0" usefillcolor="1" snapx="10" snapy="10" showatts="0" xmi.id="128" documentation="" type="402" showops="0" showpackage="1" name="_All Classes" localid="30000" showstereotype="0" showscope="1" font="Helvetica,9,-1,5,48,0,0,0,0,0" linecolor="#ff0000" >
+    <widgets>
+     <UML:ConceptWidget usesdiagramfillcolour="1" width="109" showattsigs="600" usesdiagramusefillcolour="1" x="265" linecolour="none" y="360" showopsigs="600" usesdiagramlinecolour="1" fillcolour="none" height="28" usefillcolor="1" showattributes="0" xmi.id="7" showoperations="0" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,9,-1,5,48,0,0,0,0,0" />
+     <UML:ConceptWidget usesdiagramfillcolour="1" width="123" showattsigs="600" usesdiagramusefillcolour="1" x="260" linecolour="none" y="250" showopsigs="600" usesdiagramlinecolour="1" fillcolour="none" height="28" 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="1" width="104" showattsigs="600" usesdiagramusefillcolour="1" x="230" linecolour="none" y="120" showopsigs="600" usesdiagramlinecolour="1" fillcolour="none" height="28" usefillcolor="1" showattributes="0" xmi.id="3" showoperations="0" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,9,-1,5,48,0,0,0,0,0" />
+     <UML:ConceptWidget usesdiagramfillcolour="1" width="101" showattsigs="600" usesdiagramusefillcolour="1" x="231" linecolour="none" y="30" showopsigs="600" usesdiagramlinecolour="1" fillcolour="none" height="28" usefillcolor="1" showattributes="0" xmi.id="25" showoperations="0" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,9,-1,5,48,0,0,0,0,0" />
+     <UML:ConceptWidget usesdiagramfillcolour="1" width="112" showattsigs="600" usesdiagramusefillcolour="1" x="425" linecolour="none" y="360" showopsigs="600" usesdiagramlinecolour="1" fillcolour="none" height="28" 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="1" width="86" showattsigs="600" usesdiagramusefillcolour="1" x="125" linecolour="none" y="360" showopsigs="600" usesdiagramlinecolour="1" fillcolour="none" height="28" 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="1" width="98" showattsigs="600" usesdiagramusefillcolour="1" x="40" linecolour="none" y="250" showopsigs="600" usesdiagramlinecolour="1" fillcolour="none" height="28" usefillcolor="1" showattributes="0" xmi.id="20" showoperations="0" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,9,-1,5,48,0,0,0,0,0" />
+     <UML:ConceptWidget usesdiagramfillcolour="1" width="138" showattsigs="600" usesdiagramusefillcolour="1" x="400" linecolour="none" y="250" showopsigs="600" usesdiagramlinecolour="1" fillcolour="none" height="28" usefillcolor="1" showattributes="0" xmi.id="103" showoperations="0" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,9,-1,5,48,0,0,0,0,0" />
+     <UML:ConceptWidget usesdiagramfillcolour="1" width="90" showattsigs="600" usesdiagramusefillcolour="1" x="433" linecolour="none" y="450" showopsigs="600" usesdiagramlinecolour="1" fillcolour="none" height="28" usefillcolor="1" showattributes="0" xmi.id="76" showoperations="0" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,9,-1,5,48,0,0,0,0,0" />
+     <UML:ConceptWidget usesdiagramfillcolour="1" width="84" showattsigs="600" usesdiagramusefillcolour="1" x="335" linecolour="none" y="450" showopsigs="600" usesdiagramlinecolour="1" fillcolour="none" height="28" usefillcolor="1" showattributes="0" xmi.id="110" showoperations="0" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,9,-1,5,48,0,0,0,0,0" />
+     <UML:ConceptWidget usesdiagramfillcolour="1" width="90" showattsigs="600" usesdiagramusefillcolour="1" x="125" linecolour="none" y="450" showopsigs="600" usesdiagramlinecolour="1" fillcolour="none" height="28" usefillcolor="1" showattributes="0" xmi.id="14" showoperations="0" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,9,-1,5,48,0,0,0,0,0" />
+     <UML:ConceptWidget usesdiagramfillcolour="1" width="84" showattsigs="600" usesdiagramusefillcolour="1" x="225" linecolour="none" y="450" showopsigs="600" usesdiagramlinecolour="1" fillcolour="none" height="28" usefillcolor="1" showattributes="0" xmi.id="17" showoperations="0" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,9,-1,5,48,0,0,0,0,0" />
+     <UML:ConceptWidget usesdiagramfillcolour="1" width="94" showattsigs="600" usesdiagramusefillcolour="1" x="150" linecolour="none" y="250" showopsigs="600" usesdiagramlinecolour="1" fillcolour="none" height="28" usefillcolor="1" showattributes="0" xmi.id="115" 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="5" indexb="3" widgetbid="3" widgetaid="5" documentation="" type="500" >
+      <linepath>
+       <startpoint startx="321" starty="250" />
+       <endpoint endx="292" endy="148" />
+      </linepath>
+     </UML:AssocWidget>
+     <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="4" indexb="2" widgetbid="5" widgetaid="7" documentation="" type="500" >
+      <linepath>
+       <startpoint startx="319" starty="360" />
+       <endpoint endx="321" endy="278" />
       </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="5" widgetaid="61" documentation="" type="500" >
       <linepath>
-       <startpoint startx="415" starty="321" />
-       <endpoint endx="299" endy="240" />
+       <startpoint startx="481" starty="360" />
+       <endpoint endx="352" endy="278" />
+      </linepath>
+     </UML:AssocWidget>
+     <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="4" indexb="1" widgetbid="5" widgetaid="85" documentation="" type="500" >
+      <linepath>
+       <startpoint startx="168" starty="360" />
+       <endpoint endx="290" endy="278" />
+      </linepath>
+     </UML:AssocWidget>
+     <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="5" indexb="1" widgetbid="3" widgetaid="20" documentation="" type="500" >
+      <linepath>
+       <startpoint startx="89" starty="250" />
+       <endpoint endx="250" endy="148" />
+      </linepath>
+     </UML:AssocWidget>
+     <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="5" indexb="4" widgetbid="3" widgetaid="103" documentation="" type="500" >
+      <linepath>
+       <startpoint startx="469" starty="250" />
+       <endpoint endx="313" endy="148" />
+      </linepath>
+     </UML:AssocWidget>
+     <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="61" widgetaid="76" documentation="" type="500" >
+      <linepath>
+       <startpoint startx="478" starty="450" />
+       <endpoint endx="481" endy="388" />
+      </linepath>
+     </UML:AssocWidget>
+     <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="3" indexb="2" widgetbid="7" widgetaid="110" documentation="" type="500" >
+      <linepath>
+       <startpoint startx="377" starty="450" />
+       <endpoint endx="337" endy="388" />
+      </linepath>
+     </UML:AssocWidget>
+     <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="3" indexb="1" widgetbid="7" widgetaid="17" documentation="" type="500" >
+      <linepath>
+       <startpoint startx="267" starty="450" />
+       <endpoint endx="301" endy="388" />
       </linepath>
      </UML:AssocWidget>
      <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="85" widgetaid="14" documentation="" type="500" >
       <linepath>
-       <startpoint startx="415" starty="436" />
-       <endpoint endx="415" endy="384" />
+       <startpoint startx="170" starty="450" />
+       <endpoint endx="168" endy="388" />
+      </linepath>
+     </UML:AssocWidget>
+     <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="5" indexb="2" widgetbid="3" widgetaid="115" documentation="" type="500" >
+      <linepath>
+       <startpoint startx="197" starty="250" />
+       <endpoint endx="271" endy="148" />
+      </linepath>
+     </UML:AssocWidget>
+     <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="3" widgetaid="25" documentation="" type="512" >
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="283" linecolour="none" y="60" operation="" usesdiagramlinecolour="1" role="701" fillcolour="none" height="0" usefillcolor="1" seqnum="" xmi.id="-1" text="" font="helvetica,-1,12,0,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="272" linecolour="none" y="98" operation="" usesdiagramlinecolour="1" role="702" fillcolour="none" height="0" usefillcolor="1" seqnum="" xmi.id="-1" text="" font="helvetica,-1,12,0,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="281" linecolour="none" y="89" operation="" usesdiagramlinecolour="1" role="703" fillcolour="none" height="0" usefillcolor="1" seqnum="" xmi.id="-1" text="gets" font="helvetica,-1,12,0,50,0,0,0,0,0" />
+      <linepath>
+       <startpoint startx="281" starty="58" />
+       <endpoint endx="282" endy="120" />
       </linepath>
      </UML:AssocWidget>
     </associations>
    </diagram>
-   <diagram snapgrid="0" showattsig="1" fillcolor="#ffffc0" showgrid="0" showopsig="1" usefillcolor="1" snapx="10" snapy="10" showatts="1" xmi.id="41" documentation="" type="403" showops="1" showpackage="0" name="Parse" localid="29998" showstereotype="0" showscope="1" font="Helvetica,12,-1,5,50,0,0,0,0,0" linecolor="#ff0000" >
+   <diagram snapgrid="1" showattsig="1" fillcolor="#ffffc0" showgrid="1" showopsig="0" usefillcolor="1" snapx="10" snapy="10" showatts="1" xmi.id="132" documentation="" type="402" showops="1" showpackage="1" name="HIT Classes" localid="30000" showstereotype="0" showscope="1" font="Helvetica,9,-1,5,50,0,0,0,0,0" linecolor="#ff0000" >
     <widgets>
-     <UML:ObjectWidget usesdiagramfillcolour="0" width="71" usesdiagramusefillcolour="0" x="62" linecolour="#ff0000" y="49" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="31" usefillcolor="1" length="250" xmi.id="25" decon="0" localid="29999" multipleinstance="0" drawasactor="0" font="Helvetica,12,-1,5,50,0,0,0,0,0" />
-     <UML:ObjectWidget usesdiagramfillcolour="0" width="74" usesdiagramusefillcolour="0" x="478" linecolour="#ff0000" y="49" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="31" usefillcolor="1" length="250" xmi.id="3" decon="0" localid="29998" multipleinstance="0" drawasactor="0" font="Helvetica,12,-1,5,50,0,0,0,0,0" />
+     <UML:ConceptWidget usesdiagramfillcolour="0" width="181" showattsigs="601" usesdiagramusefillcolour="0" x="50" linecolour="#ff0000" y="40" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="234" usefillcolor="1" showattributes="1" xmi.id="130" showoperations="1" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,9,-1,5,50,0,0,0,0,0" />
     </widgets>
-    <messages>
-     <UML:MessageWidget usesdiagramfillcolour="1" width="416" usesdiagramusefillcolour="1" x="98" linecolour="none" y="119" operation="render(template : &amp;HTML_Template_Sigma) : void" widgetbid="29998" usesdiagramlinecolour="1" fillcolour="none" height="8" usefillcolor="1" seqnum="" widgetaid="29999" textid="42" xmi.id="43" font="helvetica,12,-1,5,50,0,0,0,0,0" />
-    </messages>
+    <messages/>
     <associations/>
    </diagram>
   </diagrams>
   <listview>
    <listitem open="1" type="800" id="-1" label="Views" >
     <listitem open="1" type="801" id="-1" label="Logical View" >
-     <listitem open="1" type="803" id="-1" label="Parser" >
-      <listitem open="1" type="810" id="41" label="Parse" />
-      <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="815" id="35" label="characterData" />
-       <listitem open="0" type="815" id="34" label="endElement" />
-       <listitem open="0" type="814" id="84" label="fallback" />
-       <listitem open="0" type="815" id="36" label="parse" />
-       <listitem open="0" type="815" id="37" label="parseFile" />
-       <listitem open="0" type="815" id="74" label="parseString" />
-       <listitem open="0" type="814" id="27" label="parser" />
-       <listitem open="0" type="814" id="26" label="root" />
-       <listitem open="0" type="814" id="29" label="stack" />
-       <listitem open="0" type="815" id="33" label="startElement" />
-      </listitem>
-     </listitem>
-     <listitem open="1" type="803" id="-1" label="Widgets" >
+     <listitem open="1" type="803" id="-1" label="Album" >
       <listitem open="0" type="813" id="20" label="Album" >
        <listitem open="0" type="815" id="22" label="BIFE_Album" />
        <listitem open="0" type="815" id="57" label="__construct" />
-       <listitem open="0" type="814" id="21" label="attrs" />
+       <listitem open="0" type="815" id="102" label="getDescription" />
+       <listitem open="0" type="815" id="95" label="getList" />
+       <listitem open="0" type="815" id="98" label="getThumbFilename" />
+       <listitem open="0" type="815" id="97" label="makeThumb" />
        <listitem open="0" type="815" id="23" label="render" />
+       <listitem open="0" type="815" id="100" label="splitFilename" />
       </listitem>
-      <listitem open="0" type="807" id="2" label="Class Diagram" />
-      <listitem open="0" type="813" id="5" label="Container" >
-       <listitem open="0" type="815" id="48" label="BIFE_Container" />
-       <listitem open="0" type="815" id="50" label="__construct" />
-       <listitem open="0" type="815" id="6" label="addContents" />
-       <listitem open="0" type="814" id="47" label="contents" />
-       <listitem open="0" type="815" id="59" label="render" />
+      <listitem open="1" type="807" id="114" label="Album Classes" />
+      <listitem open="0" type="813" id="103" label="AlbumPhoto" >
+       <listitem open="0" type="815" id="106" label="BIFE_AlbumPhoto" />
+       <listitem open="0" type="815" id="107" label="__construct" />
+       <listitem open="0" type="815" id="108" label="render" />
       </listitem>
-      <listitem open="1" type="813" id="76" label="Copy" >
+     </listitem>
+     <listitem open="1" type="807" id="128" label="_All Classes" />
+     <listitem open="1" type="803" id="-1" label="Basic" >
+      <listitem open="0" type="807" id="113" label="Basic Classes" />
+      <listitem open="0" type="813" id="76" label="Copy" >
        <listitem open="0" type="815" id="79" label="BIFE_Copy" />
        <listitem open="0" type="815" id="80" label="__construct" />
-       <listitem open="0" type="814" id="77" label="attrs" />
-       <listitem open="0" type="814" id="78" label="name" />
        <listitem open="0" type="815" id="82" label="render" />
       </listitem>
-      <listitem open="0" type="813" id="61" label="Fallback" >
-       <listitem open="0" type="815" id="62" label="BIFE_Fallback" />
-       <listitem open="0" type="815" id="63" label="__construct" />
-      </listitem>
       <listitem open="0" type="813" id="7" label="Generic" >
+       <listitem open="0" type="815" id="11" label="addContents" />
        <listitem open="0" type="815" id="10" label="BIFE_Generic" />
        <listitem open="0" type="815" id="51" label="__construct" />
-       <listitem open="0" type="815" id="11" label="addContents" />
-       <listitem open="0" type="814" id="8" label="attrs" />
        <listitem open="0" type="815" id="12" label="render" />
       </listitem>
+      <listitem open="0" type="813" id="110" label="Link" >
+       <listitem open="0" type="815" id="111" label="BIFE_Link" />
+       <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="93" label="addContents" />
        <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="814" id="89" label="attrs" />
        <listitem open="0" type="815" id="90" label="render" />
       </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>
       <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>
+     <listitem open="1" type="803" id="-1" label="Core" >
+      <listitem open="0" type="813" id="5" label="Container" >
+       <listitem open="0" type="815" id="6" label="addContents" />
+       <listitem open="0" type="815" id="48" label="BIFE_Container" />
+       <listitem open="0" type="815" id="50" label="__construct" />
+       <listitem open="0" type="814" id="47" label="contents" />
+       <listitem open="0" type="815" id="59" label="render" />
+      </listitem>
+      <listitem open="0" type="807" id="2" label="Core Classes" />
+      <listitem open="0" type="813" id="61" label="Fallback" >
+       <listitem open="0" type="815" id="62" label="BIFE_Fallback" />
+       <listitem open="0" type="815" id="63" label="__construct" />
+       <listitem open="0" type="814" id="129" label="name" />
+      </listitem>
+      <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="35" label="characterData" />
+       <listitem open="0" type="815" id="31" label="__construct" />
+       <listitem open="0" type="815" id="32" label="__destruct" />
+       <listitem open="0" type="815" id="34" label="endElement" />
+       <listitem open="0" type="814" id="84" label="fallback" />
+       <listitem open="0" type="815" id="36" label="parse" />
+       <listitem open="0" type="815" id="37" label="parseFile" />
+       <listitem open="0" type="814" id="27" label="parser" />
+       <listitem open="0" type="815" id="74" label="parseString" />
+       <listitem open="0" type="814" id="26" label="root" />
+       <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>
       <listitem open="0" type="813" id="3" label="Widget" >
+       <listitem open="0" type="814" id="125" label="attrs" />
+       <listitem open="0" type="815" id="126" label="BIFE_Widget" />
+       <listitem open="0" type="815" id="127" label="__construct" />
        <listitem open="0" type="815" id="4" label="render" />
       </listitem>
      </listitem>
+     <listitem open="1" type="803" id="-1" label="HIT" >
+      <listitem open="0" type="813" id="130" label="HIT" >
+       <listitem open="0" type="814" id="147" label="buffer" />
+       <listitem open="0" type="814" id="135" label="cache" />
+       <listitem open="0" type="815" id="137" label="__construct" />
+       <listitem open="0" type="815" id="145" label="getBuffer" />
+       <listitem open="0" type="814" id="134" label="group" />
+       <listitem open="0" type="815" id="136" label="HTML_Template_HIT" />
+       <listitem open="0" type="815" id="138" label="parse" />
+       <listitem open="0" type="815" id="144" label="parseBuffered" />
+       <listitem open="0" type="815" id="146" label="popBuffer" />
+       <listitem open="0" type="814" id="133" label="root" />
+       <listitem open="0" type="815" id="139" label="setGroup" />
+       <listitem open="0" type="815" id="140" label="unsetGroup" />
+      </listitem>
+      <listitem open="1" type="807" id="132" label="HIT Classes" />
+     </listitem>
+     <listitem open="1" type="803" id="-1" label="Menu" >
+      <listitem open="0" type="813" id="115" label="Menu" >
+       <listitem open="0" type="815" id="121" label="BIFE_Menu" />
+       <listitem open="0" type="815" id="122" label="__construct" />
+       <listitem open="1" type="815" id="117" label="render" />
+      </listitem>
+      <listitem open="1" type="807" id="116" label="Menu Classes" />
+     </listitem>
     </listitem>
     <listitem open="1" type="802" id="-1" label="Use Case View" />
    </listitem>