예제 #1
0
        /// <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();
        }
예제 #2
0
        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;
        }