classDiagram.php
Go to the documentation of this file.00001 <?php
00002 $strPageItem = "Class";
00003 require_once( "header.php" );
00004 ?>
00005 <div id="content">
00006 <div class="post">
00007 <h2 class="title"><a href="#Class Diagrams Web Editor" name="Diagrams">Class Diagrams Web Editor</a></h2>
00008 <p class="meta">
00009 <span class="subtopic"><a href="classDiagram.php#Class Diagram Web Editor">Proposal</a></span>
00010 <span class="topic">Class Diagram Web Editor</span>
00011 </p>
00012 <div style="clear: both;"> </div>
00013 <div class="entry">
00014 <p>
00015 This tool can be used to create new Class Diagram without existing code
00016 as well to bring more richness and personalize diagrams created by a code execution or by some XML File,
00017 append to them notes of comments, colors, changing layout, or even to create a new sequence
00018 diagram based on some existing one.
00019 </p>
00020 <p>
00021 XML of Class Diagrams can be created by some different tool, into a different language. The
00022 Class Diagram Editor will receive the XML file by a POST and return the created diagram without any problems.
00023 The XML used it is much more simple of the XML of the UML XMI.
00024 </p>
00025 </div>
00026 <p class="meta">
00027 <span class="subtopic"><a href="classDiagram.php#Class Diagram Web Editor">Comming Soon Features</a></span>
00028 <span class="topic">Class Diagram Web Editor</span>
00029 </p>
00030 <div style="clear: both;"> </div>
00031 <div class="entry">
00032 <p>
00033 As a web tool it has no plataform restriction and new features of colaborative edition using google wave and
00034 become a google application are into the planned features.
00035 </p>
00036 <p>
00037 As said above, <strong>The Class Diagram generation still is in working progress</strong>, some necessary features are missing,
00038 new features are append each day. You can help to accelerate this development making a <a href="#donation">donation</a>.
00039 </p>
00040 <p>
00041 Future features:
00042 </p>
00043 <ul>
00044 <li>
00045 Add Attribute
00046 </li>
00047 <li>
00048 Remove Attribute
00049 </li>
00050 <li>
00051 Change Attribute
00052 </li>
00053 <li>
00054 Add Method
00055 </li>
00056 <li>
00057 Remove Method
00058 </li>
00059 <li>
00060 Change Method
00061 </li>
00062 <li>
00063 Zoom in / out
00064 </li>
00065 <li>
00066 Write File
00067 </li>
00068 <li>
00069 Read XML File
00070 </li>
00071 </ul>
00072 </div>
00073 <p class="meta">
00074 <span class="subtopic"><a href="classDiagram.php#Class Diagram Web Editor">What is already done?</a></span>
00075 <span class="topic">Class Diagram Web Editor</span>
00076 </p>
00077 <div style="clear: both;"> </div>
00078 <div class="entry">
00079 <p>
00080 Using Javascript Canvas, the web tool of Class Diagrams is ready to be tested as can be seen
00081 in this <a href="#classDiagramEditor.php">external example</a> or in the embedded example below.
00082 </p>
00083 <p>
00084 Already implemented features:
00085 </p>
00086 <ul>
00087 <li>
00088 Create and Remove Class Element
00089 </li>
00090 <li>
00091 F2 to Rename Class
00092 </li>
00093 <li>
00094 Drag Drop Class
00095 </li>
00096 <li>
00097 Move class with Arrows
00098 </li>
00099 <li>
00100 Fix class with space
00101 </li>
00102 <li>
00103 Context Menu
00104 </li>
00105 <li>
00106 Aggregation Relationship
00107 </li>
00108 <li>
00109 Association Relationship
00110 </li>
00111 <li>
00112 Composition Relationship
00113 </li>
00114 <li>
00115 Dependency Relationship
00116 </li>
00117 <li>
00118 Generalization Relationship
00119 </li>
00120 </ul>
00121 <div id="box">
00122 <canvas id="canvasBox">
00123 </canvas>
00124 <script type="text/javascript" charset="utf-8">
00125 intWidth = document.getElementById("box").clientWidth;
00126 objBox = new window.autoload.newCanvasBox( "canvasBox" ,
00127 intWidth , intWidth );
00128 window.objBox = objBox;
00129 var objClass = new window.autoload.newCanvasBoxClass();
00130 objClass.objBehavior = new window.autoload.newCanvasBoxDefaultBehavior( objClass );
00131 objClass.x = Math.round( intWidth / 2 );
00132 objClass.y = Math.round( intWidth / 2 );
00133 objClass.strClassElementName = "example";
00134 objBox.addElement( objClass );
00135 </script>
00136 </div>
00137 </div>
00138 </div>
00139 <div class="post">
00140 <h2 class="title"><a href="#">Limitations</a></h2>
00141 <p class="meta">
00142 <span class="subtopic">Internet Explorer Output</span>
00143 <span class="topic">Limitations</span>
00144 </p>
00145 <div style="clear: both;"> </div>
00146 <div class="entry">
00147 <p>
00148 Because of the <a href="http://www.findmebyip.com/litmus#target-selector">Internet Explorer Limitiations</a>,
00149 and of the decision of to make the web application in canvas, this application
00150 may not run into Internet Explorer. Exists some projects to make canvas work into Internet Explorer
00151 but, make this workaround it is not proprity to our team.
00152 </p>
00153 </div>
00154 <p class="meta">
00155 <span class="subtopic">Under Development</span>
00156 <span class="topic">Limitations</span>
00157 </p>
00158 <div style="clear: both;"> </div>
00159 <div class="entry">
00160 <p>
00161 Also, fully compliance with UML 2.0 is still under development. The class diagram generation
00162 still does not has the minimal required features to be considered a beta release.
00163 Anyone interested in working in these fields is more than welcome to join the team.
00164 And if you have a patch on add-on to send, feel free to do so.
00165 Just send an e-mail to me <a href="mailto:thiago.henrique.mata@gmail.com">thiago.henrique.mata@gmail.com</a> .
00166 And remember, this is free software, in development, and as such, I can give you no warranty.
00167 Use it at your own risk. It's not for the faint of heart.
00168 Tag names can and should change. New tags can be add anytime. Stay tunned for more news.
00169 </p>
00170 </div>
00171 </div>
00172 <div style="clear: both;"> </div>
00173 </div>
00174 <?php require_once( "footer.php" ); ?>