Click here to Skip to main content
15,892,298 members
Articles / Desktop Programming / MFC

UMLEditor - revisiting the vector editor

Rate me:
Please Sign up or sign in to vote.
4.99/5 (156 votes)
5 Jul 2006Public Domain8 min read 377.5K   37.1K   326  
An UML editor with code-generation capabilities derived from CDiagramEditor.
<html>
<head>
<title></title>
<meta name="generator" content="UMLEditorDemo">
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
</head>
<body>
<div style='position:relative;height:480;'>
<div style='position:absolute;left:512;top:280;width:1;height:24;border-left:1px solid black;'>&nbsp;</div><div style='position:absolute;left:508;top:280;width:9;height:17;background-image:url("images/uarrow.gif");background-repeat:no-repeat;'>&nbsp;</div>
<div style='position:absolute;left:392;top:240;width:40;height:1;border-top:1px solid black;'>&nbsp;</div><div style='position:absolute;left:415;top:236;width:17;height:9;background-image:url("images/rfarrow.gif");background-repeat:no-repeat;'>&nbsp;</div><div style='position:absolute;left:392;top:236;width:16;height:9;background-image:url("images/lrdiamond.gif");background-repeat:no-repeat;'>&nbsp;</div><div style='position:absolute;left:396;top:222;width:32;height:14;font-family:Arial;font-size:12;background-color:transparent;text-align:left;'>*</div>
<div style='position:absolute;left:312;top:120;width:1;height:88;border-left:1px solid black;'>&nbsp;</div><div style='position:absolute;left:308;top:191;width:9;height:17;background-image:url("images/dfarrow.gif");background-repeat:no-repeat;'>&nbsp;</div><div style='position:absolute;left:308;top:120;width:9;height:16;background-image:url("images/uddiamond.gif");background-repeat:no-repeat;'>&nbsp;</div>
<div style='position:absolute;left:376;top:80;width:40;height:1;border-top:1px solid black;'>&nbsp;</div><div style='position:absolute;left:399;top:76;width:17;height:9;background-image:url("images/rfarrow.gif");background-repeat:no-repeat;'>&nbsp;</div><div style='position:absolute;left:376;top:76;width:16;height:9;background-image:url("images/lrdiamond.gif");background-repeat:no-repeat;'>&nbsp;</div>
<div style='position:absolute;left:312;top:272;width:1;height:40;border-left:1px solid black;'>&nbsp;</div><div style='position:absolute;left:308;top:295;width:9;height:17;background-image:url("images/dfarrow.gif");background-repeat:no-repeat;'>&nbsp;</div><div style='position:absolute;left:308;top:272;width:9;height:16;background-image:url("images/uddiamond.gif");background-repeat:no-repeat;'>&nbsp;</div><div style='position:absolute;left:299;top:298;width:9;height:14;font-family:Arial;font-size:12;background-color:transparent;text-align:right;'>*</div>
<div style='position:absolute;left:512;top:152;width:1;height:48;border-left:1px dashed black;'>&nbsp;</div><div style='position:absolute;left:508;top:183;width:9;height:17;background-image:url("images/dfarrow.gif");background-repeat:no-repeat;'>&nbsp;</div>
<div style='position:absolute;left:336;top:152;width:176;height:1;border-top:1px dashed black;'>&nbsp;</div>
<div style='position:absolute;left:336;top:120;width:1;height:32;border-left:1px dashed black;'>&nbsp;</div>
<div style='position:absolute;left:184;top:240;width:40;height:1;border-top:1px solid black;'>&nbsp;</div><div style='position:absolute;left:184;top:236;width:17;height:9;background-image:url("images/lfarrow.gif");background-repeat:no-repeat;'>&nbsp;</div><div style='position:absolute;left:208;top:236;width:16;height:9;background-image:url("images/lrdiamond.gif");background-repeat:no-repeat;'>&nbsp;</div><div style='position:absolute;left:188;top:222;width:32;height:14;font-family:Arial;font-size:12;background-color:transparent;text-align:left;'>*</div>
<div style='position:absolute;left:96;top:272;width:1;height:32;border-left:1px dashed black;'>&nbsp;</div><div style='position:absolute;left:92;top:287;width:9;height:17;background-image:url("images/dfarrow.gif");background-repeat:no-repeat;'>&nbsp;</div>
<div style='position:absolute;left:160;top:320;width:72;height:1;border-top:1px dashed black;'>&nbsp;</div><div style='position:absolute;left:160;top:316;width:17;height:9;background-image:url("images/lfarrow.gif");background-repeat:no-repeat;'>&nbsp;</div>
<div style='position:absolute;left:232;top:272;width:1;height:48;border-left:1px dashed black;'>&nbsp;</div>
<div style='position:absolute;left:232;top:272;width:56;height:1;border-top:1px dashed black;'>&nbsp;</div>
<div style='position:absolute;left:288;top:272;width:1;height:1;border-top:1px dashed black;'>&nbsp;</div>
<div style='position:absolute;left:608;top:328;width:40;height:1;border-top:1px dashed black;'>&nbsp;</div><div style='position:absolute;left:608;top:324;width:17;height:9;background-image:url("images/lfarrow.gif");background-repeat:no-repeat;'>&nbsp;</div>
<div style='position:absolute;left:648;top:112;width:1;height:216;border-left:1px dashed black;'>&nbsp;</div>
<div style='position:absolute;left:584;top:232;width:64;height:1;border-top:1px dashed black;'>&nbsp;</div><div style='position:absolute;left:584;top:228;width:17;height:9;background-image:url("images/lfarrow.gif");background-repeat:no-repeat;'>&nbsp;</div>
<div style='position:absolute;left:648;top:112;width:1;height:120;border-left:1px dashed black;'>&nbsp;</div>
<div style='position:absolute;left:688;top:256;width:1;height:136;border-left:1px solid black;'>&nbsp;</div><div style='position:absolute;left:684;top:375;width:9;height:17;background-image:url("images/dfarrow.gif");background-repeat:no-repeat;'>&nbsp;</div>
<div style='position:absolute;left:584;top:256;width:104;height:1;border-top:1px solid black;'>&nbsp;</div><div style='position:absolute;left:584;top:252;width:16;height:9;background-image:url("images/lrdiamond.gif");background-repeat:no-repeat;'>&nbsp;</div>
<div style='position:absolute;left:248;top:192;width:1;height:16;border-left:1px dashed black;'>&nbsp;</div>
<div style='position:absolute;left:224;top:56;width:16;height:1;border-top:1px dashed black;'>&nbsp;</div>
<div style='position:absolute;left:560;top:184;width:1;height:16;border-left:1px dashed black;'>&nbsp;</div>
<div style='position:absolute;overflow:hidden;left:240;top:40;width:136;height:36;border:1px solid black;background-color:#ffffd9;font-size:12;font-family:Arial;text-align:center;'><b>CDiagramEditor</b><br>{ baseclass = CWnd }</div><div style='position:absolute;overflow:hidden;left:240;top:75;width:136;height:22;border:1px solid black;background-color:#ffffd9;font-size:12;font-family:Arial;text-align:left;'>...</div><div style='position:absolute;overflow:hidden;left:240;top:96;width:136;height:22;border:1px solid black;background-color:#ffffd9;font-size:12;font-family:Arial;text-align:left;'>...</div>
<div style='position:absolute;overflow:hidden;left:224;top:208;width:168;height:22;border:1px solid black;background-color:#ffffd9;font-size:12;font-family:Arial;text-align:center;'><b>CDiagramEntityContainer</b></div><div style='position:absolute;overflow:hidden;left:224;top:229;width:168;height:22;border:1px solid black;background-color:#ffffd9;font-size:12;font-family:Arial;text-align:left;'>...</div><div style='position:absolute;overflow:hidden;left:224;top:250;width:168;height:22;border:1px solid black;background-color:#ffffd9;font-size:12;font-family:Arial;text-align:left;'>...</div>
<div style='position:absolute;overflow:hidden;left:432;top:200;width:152;height:36;border:1px solid black;background-color:#ffffd9;font-size:12;font-family:Arial;text-align:center;'><b>CDiagramEntity</b><br>{ baseclass = CObject }</div><div style='position:absolute;overflow:hidden;left:432;top:235;width:152;height:22;border:1px solid black;background-color:#ffffd9;font-size:12;font-family:Arial;text-align:left;'>...</div><div style='position:absolute;overflow:hidden;left:432;top:256;width:152;height:22;border:1px solid black;background-color:#ffffd9;font-size:12;font-family:Arial;text-align:left;'>...</div>
<div style='position:absolute;overflow:hidden;left:416;top:304;width:192;height:36;border:1px solid black;background-color:#ffffd9;font-size:12;font-family:Arial;text-align:center;'><b>CDiagramLine</b><br>{ baseclass = CDiagramEntity }</div><div style='position:absolute;overflow:hidden;left:416;top:339;width:192;height:22;border:1px solid black;background-color:#ffffd9;font-size:12;font-family:Arial;text-align:left;'></div><div style='position:absolute;overflow:hidden;left:416;top:360;width:192;height:22;border:1px solid black;background-color:#ffffd9;font-size:12;font-family:Arial;text-align:left;'>...</div>
<div style='position:absolute;overflow:hidden;left:416;top:48;width:128;height:22;border:1px solid black;background-color:#ffffd9;font-size:12;font-family:Arial;text-align:center;'><b>CDiagramMenu</b></div><div style='position:absolute;overflow:hidden;left:416;top:69;width:128;height:22;border:1px solid black;background-color:#ffffd9;font-size:12;font-family:Arial;text-align:left;'>...</div><div style='position:absolute;overflow:hidden;left:416;top:90;width:128;height:22;border:1px solid black;background-color:#ffffd9;font-size:12;font-family:Arial;text-align:left;'>...</div>
<div style='position:absolute;overflow:hidden;left:32;top:304;width:128;height:36;border:1px solid black;background-color:#ffffd9;font-size:12;font-family:Arial;text-align:center;'>� utility �<br><b>CGroupFactory</b></div><div style='position:absolute;overflow:hidden;left:32;top:339;width:128;height:22;border:1px solid black;background-color:#ffffd9;font-size:12;font-family:Arial;text-align:left;'>...</div><div style='position:absolute;overflow:hidden;left:32;top:360;width:128;height:22;border:1px solid black;background-color:#ffffd9;font-size:12;font-family:Arial;text-align:left;'>...</div>
<div style='position:absolute;overflow:hidden;left:552;top:48;width:128;height:22;border:1px solid black;background-color:#ffffd9;font-size:12;font-family:Arial;text-align:center;'><b>CTokenizer</b></div><div style='position:absolute;overflow:hidden;left:552;top:69;width:128;height:22;border:1px solid black;background-color:#ffffd9;font-size:12;font-family:Arial;text-align:left;'>...</div><div style='position:absolute;overflow:hidden;left:552;top:90;width:128;height:22;border:1px solid black;background-color:#ffffd9;font-size:12;font-family:Arial;text-align:left;'>...</div>
<div style='position:absolute;overflow:hidden;left:248;top:312;width:128;height:22;border:1px solid black;background-color:#ffffd9;font-size:12;font-family:Arial;text-align:center;'><b>CUndoItem</b></div><div style='position:absolute;overflow:hidden;left:248;top:333;width:128;height:22;border:1px solid black;background-color:#ffffd9;font-size:12;font-family:Arial;text-align:left;'>...</div><div style='position:absolute;overflow:hidden;left:248;top:354;width:128;height:22;border:1px solid black;background-color:#ffffd9;font-size:12;font-family:Arial;text-align:left;'>...</div>
<div style='position:absolute;overflow:hidden;left:16;top:208;width:168;height:22;border:1px solid black;background-color:#ffffd9;font-size:12;font-family:Arial;text-align:center;'><b>CDiagramClipboardHandler</b></div><div style='position:absolute;overflow:hidden;left:16;top:229;width:168;height:22;border:1px solid black;background-color:#ffffd9;font-size:12;font-family:Arial;text-align:left;'>...</div><div style='position:absolute;overflow:hidden;left:16;top:250;width:168;height:22;border:1px solid black;background-color:#ffffd9;font-size:12;font-family:Arial;text-align:left;'>...</div>
<div style='position:absolute;overflow:hidden;left:608;top:392;width:160;height:22;border:1px solid black;background-color:#ffffd9;font-size:12;font-family:Arial;text-align:center;'><i><b>CDiagramPropertyDlg</b></i></div><div style='position:absolute;overflow:hidden;left:608;top:413;width:160;height:22;border:1px solid black;background-color:#ffffd9;font-size:12;font-family:Arial;text-align:left;'>...</div><div style='position:absolute;overflow:hidden;left:608;top:434;width:160;height:22;border:1px solid black;background-color:#ffffd9;font-size:12;font-family:Arial;text-align:left;'>...</div>
<div style='position:absolute;left:192;top:128;width:96;height:64;border:1px solid black;background-color:#dfffdf;'><div style='position:absolute;left:86;top:-1;width:9:height:9;background-image:url("images/note.gif");background-repeat:no-repeat;'>&nbsp;&nbsp;&nbsp;&nbsp;</div><div style='position:absolute;left:1;top:10;width:94;height:53;font-size:12;font-family:Arial;text-align:left;overflow:hidden;'>Main data container</div></div>
<div style='position:absolute;left:128;top:24;width:96;height:64;border:1px solid black;background-color:#dfffdf;'><div style='position:absolute;left:86;top:-1;width:9:height:9;background-image:url("images/note.gif");background-repeat:no-repeat;'>&nbsp;&nbsp;&nbsp;&nbsp;</div><div style='position:absolute;left:1;top:10;width:94;height:53;font-size:12;font-family:Arial;text-align:left;overflow:hidden;'>Main class - the editor itself</div></div>
<div style='position:absolute;left:536;top:120;width:96;height:64;border:1px solid black;background-color:#dfffdf;'><div style='position:absolute;left:86;top:-1;width:9:height:9;background-image:url("images/note.gif");background-repeat:no-repeat;'>&nbsp;&nbsp;&nbsp;&nbsp;</div><div style='position:absolute;left:1;top:10;width:94;height:53;font-size:12;font-family:Arial;text-align:left;overflow:hidden;'>Base class for the drawing objects</div></div>
<div style='position:absolute;left:641;top:249;width:16;height:8;background-image:url("images/lrjog.gif");background-repeat:no-repeat;);'>&nbsp;&nbsp;&nbsp;&nbsp;</div>
</div>
</body>
</html>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under A Public Domain dedication


Written By
Software Developer (Senior) Abstrakt Mekanik AB
Sweden Sweden
45 years old, married, three kids.

Started with computers more than 20 years ago on a CBM-64.

Read Theoretical Philosophy at the University of Lund.

Working as a C++ consultant developer.

Science-fiction freak. Enjoy vintage punkrock.

Comments and Discussions