protected override DragButtonData PrepareButtonData() { className = NameSuggestor <PIMClass> .SuggestUniqueName(ActiveDiagramView.Controller.ModelController.Model.Classes, "Class", modelClass => modelClass.Name); return(new DragButtonData(NewModelClassToDiagramCommandFactory.Factory(), new PIM_Class(ActiveDiagramView) { ElementName = className })); }
/// <summary> /// Adds class to model and diagram /// </summary> /// <param name="className">name of the new class (<see cref="NamedElement.Name"/>)</param> /// <param name="x">x coordinate of the new class on the diagram</param> /// <param name="y">y coordinate of the new class on the diagram</param> /// <returns>result of creation (element in model and its viewhelper)</returns> public CreationResult <Class, ClassViewHelper> NewClass(string className, double x, double y) { CreationResult <Class, ClassViewHelper> result = new CreationResult <Class, ClassViewHelper>(); NewModelClassToDiagramCommand command = (NewModelClassToDiagramCommand)NewModelClassToDiagramCommandFactory.Factory().Create(this); command.ClassName = className; command.X = x; command.Y = y; command.Set(ModelController, ModelController.Model); command.Execute(); result.ModelElement = command.CreatedClass.Element; result.ViewHelper = (ClassViewHelper)command.ViewHelper; return(result); }