// Uncomment the following line to change the fontsize: // fontsize=14 ////////////////////////////////////////////////////////////////////////////////////////////// // Welcome to UMLet! // // Double-click on UML elements to add them to the diagram, or to copy them // Edit elements by modifying the text in this panel // Hold Ctrl to select multiple elements // Use Ctrl+mouse to select via lasso // // Use ± or Ctrl+mouse wheel to zoom // Drag a whole relation at its central square icon // // Press Ctrl+C to copy the whole diagram to the system clipboard (then just paste it to, eg, Word) // Edit the files in the "palettes" directory to create your own element palettes // // Select "Custom Elements > New..." to create new element types ////////////////////////////////////////////////////////////////////////////////////////////// // This text will be stored with each diagram; use it for notes.7com.umlet.element.base.Class10574214798Menu -- -- #Menu() /+~Menu()/ #addItem(MenuItem*) #removeItem(MenuItem*) #display() -- -- Base class for all Menuscom.umlet.element.base.Class1057189147175TextMenu -- outputter: ostream title: string; spacer: char length: int -- #TextMenu(ostream&,string,char,int) #TextMenu(ostream&,string) /+~TextMenu()/ addItem(MenuItem*) removeItem(MenuItem*) display() doQuit() hasQuit(): bool showEntry(MenuItem*) com.umlet.element.base.Class157521259266MenuItem -- char trigger: char description: string* added: bool -- #MenuItem(char,const char*,Menu*); /+~MenuItem();/ /+doTrigger()/ /+checkTrigger(char)/ /+formatEntry(): const string/ /+getDescription(): const string/ /+getTrigger(): char/ /+add_to_menu(Menu*)/ /+wasAdded(): bool/ #setDescription(string); -- Responsibilities -- Store Items in a menu -- check a trigger, if the trigger matches call doTrigger() on subclass -- Constraints -- A MenuItem always belongs to a single -- Destruction is done by the owning menucom.umlet.element.base.Relation11836340534lt=<<<<- m1=1 m2=1...N21;21;392;21com.umlet.element.base.Relation11061193483lt=<<-21;21;21;70com.umlet.element.base.Class158265125284ActionMenuItem -- -- #ActionMenuItem(char,const char*,Menu*,Action*) /+~ActionMenuItem()/ /+doTrigger()/ -- Responsibilities -- Call action.call() when the trigger is recieved com.umlet.element.base.Relation167326634398lt=<<-21;21;21;385com.umlet.element.base.Class2037392238182DisplayMenuItem -- string title; int length; char spacer; -- #DisplayMenuItem(Menu*, StringView *); #DisplayMenuItem(Menu*, StringView *, string, char, int); /+~DisplayMenuItem()/ /+doTrigger()/ /+checkTrigger(char)/ /+formatEntry(): const string/ /getDescription(): const string/ -- Responsibilities -- Display any kind of stringView within a Menu -- All trigger are ignoredcom.umlet.element.base.Class238042728784StringView -- -- #StringView() /+~StringView()/ /+toString(): const string/ -- Responsibilities -- Base class for anything that can be displayed as a Stringcom.umlet.element.base.Relation225444113934lt=<<<<- m1=1...N m2=121;21;126;21com.umlet.element.base.Relation1673266447139lt=<<-21;21;21;105;434;105;434;126com.umlet.element.base.Class1729406217154SeperatorItem -- spacer: char length: int -- #SeperatorItem(Menu*) #SeperatorItem(Menu*,char,int) /+virtual ~SeperatorItem()/ /+doTrigger()/ /+checkTrigger(char)/ /+getDescription(): const string/ /+formatEntry(): const string/ -- Responsibilities -- Display a seperating line of spacers com.umlet.element.base.Relation1673266174153lt=<<-21;21;21;105;161;105;161;140com.umlet.element.base.Class130234325298<<composite>> SubMenuItem -- -- #SubMenuItem(char,const char*,Menu*,Menu*) /+~SubMenuItem()/ /+doTrigger()/ -- Responsibilities -- Produce a submenu when this item is triggeredcom.umlet.element.base.Relation118398132321lt=<<<<- m1=1 m2=1119;308;77;308;77;21;21;21com.umlet.element.base.Relation140026630790lt=<<-294;21;294;56;21;56;21;77com.umlet.element.base.Class1288644231133<<Command>> Action -- name : string -- #Action(std::string _name,bool _doRegister=true) /+~Action()/ /+call()/ /+undo()/ /+canUndo(): bool/ /+getName(): const string/ -- Responsibilities -- Perfom an Operation on callcom.umlet.element.base.Relation14986589734lt=<<<<- m1=0...N m2=184;21;21;21com.umlet.element.base.Class1484847238133<<Wrapper>> MethodAction -- executeMethod : boost::function<void()> -- #MethodAction(boost::function<void()>) /+~MethodAction()/ /+call()/ /+undo()/ /+canUndo(): bool/ -- Responsibilities -- Transform an ordinary method into an Actioncom.umlet.element.base.Relation1386756223104lt=<<-21;21;21;56;210;56;210;91com.umlet.element.base.Class243625918256<<View>> View -- -- -- Responsibilities -- Anything that needs to be shown com.umlet.element.base.Relation250629434146lt=<<-21;21;21;133com.umlet.element.base.Class2219644287105<<Wrapper>> MethodStringView -- displayMethod: boost::function<string()> -- #MethodStringView(boost::function<string()>) /+~MethodStringView()/ /+toString(): const string/ -- Responsibilities -- Turn any method that returns a string into a StringViewcom.umlet.element.base.Class2562644329105<<Wrapper>> StreamStringView -- displayMethod: boost::function<void(ofstream *)> -- StreamStringView(boost::function<void(ofstream *)>) /+~StreamStringView()/ /+toString(): const string/ -- Responsibilities -- Turn any method that uses a stream for output into a StringViewcom.umlet.element.base.Relation2338490195167lt=<<-182;21;182;84;21;84;21;154com.umlet.element.base.Relation2499490244167lt=<<-21;21;21;84;231;84;231;154com.umlet.element.base.Class1022847196119<<composite>> MakroAction -- -- #MakroAction(ActionSequence*) /+~MakroAction()/ /+call()/ /+undo()/ /+canUndo(): bool/ -- Responsibilities -- Group several small actions togethercom.umlet.element.base.Class700644231133ActionSequence -- -- #ActionSequence(); /+~ActionSequence();/ #addAction(Action*) #removeLastAction(): Action* #callAll() #undoAll() #canUndo(): bool -- Responsibilities -- Group several actions together for later usecom.umlet.element.base.Relation91068639134lt=<<<<- m1=0...N m2=1...N21;21;378;21com.umlet.element.base.Relation910714125202lt=<<<<- m1=1 m2=1112;189;77;189;77;21;21;21com.umlet.element.base.Relation1099756321104lt=<<-308;21;308;56;21;56;21;91com.umlet.element.base.Class189086821791<<singleton>> ActionRegistry -- -- getActionByName(const std::string) : Action*; registerAction(Action*); -- Responsibilities -- Stores all actions by name for later retrieval -- handle destruction of all registered actionscom.umlet.element.base.Relation1498728398181lt=<<<<-385;168;294;168;294;21;21;21com.umlet.element.base.Relation1498742405195lt=<. registers itself upon creation 392;182;273;182;273;84;133;84;133;21;21;21com.umlet.element.base.Relation1295756125111lt=<<-112;21;112;56;21;56;21;98com.umlet.element.base.Class124685418277ErrorAction -- -- /+call()/ /+undo()/ /+canUndo()/ -- Responsibilities -- Display some kind of error Messagecom.umlet.element.base.Class3992146991<<Abstract Factory>> <<Singleton>> UIFactory -- -- /+makeMainWindow(menuPopulaters,MoleculeListClass *, config *, periodentafel *, char *): MainWindow*/ /+makeDialog() : Dialog*/ -- Responsibilities -- Handles creation of all UIElementscom.umlet.element.base.Class399238462133<<Concrete Factory>> TextUIFactory -- -- /+makeMainWindow(menuPopulaters,MoleculeListClass *, config *, periodentafel *, char *): MainWindow*/ /+makeDialog() : Dialog*/ -- Responsibilities -- Production of all kinds of TextWidgetscom.umlet.element.base.Relation71491120160lt=<. creates and stores63;147;63;21com.umlet.element.base.Relation8475622349lt=<. creates abstract210;35;21;35com.umlet.element.base.Relation84025923049lt=<. creates concrete217;35;21;35com.umlet.element.base.Class02823863MainWindow -- -- /+display()/ -- Responsibilities -- Abstract base class for all kinds of MainWindowscom.umlet.element.base.Relation2173519549lt=<. creates abstract21;35;182;35com.umlet.element.base.Class2125919656TextWindow -- -- /+display()/ -- Responsibilities -- Special class for MainWindow in TextUIscom.umlet.element.base.Relation917034202lt=<<-21;21;21;189com.umlet.element.base.Relation19625921649lt=<. creates concrete 21;35;203;35com.umlet.element.base.Relation5609134160lt=<<-21;21;21;147