/// <summary> /// Initializes a view representation of a model element /// </summary> /// <param name="modelElement">Element to be represented</param> /// <param name="viewHelper">Element's <c>viewHelper</c></param> /// <param name="controller">Element's controller</param> public override void InitializeRepresentant(Element modelElement, ViewHelper viewHelper, ElementController controller) { InitTemplate(); originalEffect = Effect; classAttributes = new PSMAttributesContainer(AttributesSection, XCaseCanvas); Border[] stackBorders = new[] { HeaderBorder, AttributesBorder }; ITextBoxContainer[] stackContainers = new ITextBoxContainer[] { classAttributes }; classAttributes.StackBorders = stackBorders; classAttributes.StackContainers = stackContainers; this.ClassController = (PSM_ClassController)controller; this.ViewHelper = (PSMElementViewHelper)viewHelper; XCaseCanvas.Children.Add(this); InitContextMenu(); this.StartBindings(); this.InitializeConnector(); txtClassName.MouseDoubleClick += txtClassName_OnMouseDoubleClick; txtClassName.TextEdited += delegate(object sender, StringEventArgs args) { Controller.RenameElement <NamedElement>(args.Data, null); }; txtElementNameLabel.TextEdited += delegate(object sender, StringEventArgs args) { ClassController.ChangeElementName(args.Data); }; this.InitializeConnector(); UpdateLabels(); }
public PSM_AttributeContainer(XCaseCanvas xCaseCanvas) : base(xCaseCanvas) { SizeChanged += delegate(object sender, SizeChangedEventArgs e) { xCaseCanvas.InvokeElementSizeChanged(this, e); }; InitTemplate(); InitContextMenu(); classProperties = new PSMAttributesContainer(ACSection, xCaseCanvas); //Movable = false; }