Example #1
0
        private readonly OpenXmlCompositeElement textBodyCompositeElement; // instance of A.TextBody or P.TextBody class

        internal SCTextBox(OpenXmlCompositeElement textBodyCompositeElement, ITextBoxContainer parentTextBoxContainer)
        {
            this.text = new Lazy <string>(this.GetText);
            this.textBodyCompositeElement = textBodyCompositeElement;
            this.Paragraphs             = new ParagraphCollection(this.textBodyCompositeElement, this);
            this.ParentTextBoxContainer = parentTextBoxContainer;
        }
 public LoginScene(ITextBoxContainer textBoxContainer, EngineContext context, ITextureManager textureManager, IFontFactory fontFactory, IBus bus, IGoogleAnalytic analytic)
     : base(context, textureManager, bus)
 {
     _textBoxContainer = textBoxContainer;
     _fontFactory      = fontFactory;
     _analytic         = analytic;
 }
Example #3
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();
        }
Example #4
0
 public LobbyScene(EngineContext context, ITextBoxContainer textboxContainer, ITextureManager textureManage, IBus bus, IWorker worker, IConnectionFactory connectionFactory) :
     base(context, textureManage, bus)
 {
     _enableCache       = false;
     _worker            = worker;
     _connectionFactory = connectionFactory;
     _textBoxContainer  = textboxContainer;
 }
Example #5
0
        private void ManageBorders()
        {
            if (StackContainers != null && StackBorders != null)
            {
                ITextBoxContainer lastNonEmpty = StackContainers.LastOrDefault(cont => cont.ItemCount != 0 && cont.Visibility == Visibility.Visible);
                // use first bottom border only when some of the container is non-empty
                if (lastNonEmpty != null)
                {
                    StackBorders[0].BorderThickness = new Thickness(0, 0, 0, 1);
                }
                else
                {
                    StackBorders[0].BorderThickness = new Thickness(0);
                }

                // for all non-empty containers use bottom border except for the last one
                for (int i = 0; i < StackContainers.Length; i++)
                {
                    ITextBoxContainer textBoxContainer = StackContainers[i];
                    if (Visibility == Visibility.Visible &&
                        StackBorders[i + 1].Visibility != Visibility.Visible)
                    {
                        StackBorders[i + 1].Visibility = Visibility.Visible;
                    }
                    if (textBoxContainer.ItemCount > 0 && textBoxContainer != lastNonEmpty && textBoxContainer.Visibility == Visibility.Visible)
                    {
                        StackBorders[i + 1].BorderThickness = new Thickness(0, 0, 0, 1);
                        if (textBoxContainer != StackContainers.First())
                        {
                            StackBorders[i + 1].Padding = new Thickness(2, 2, 2, 3);
                        }
                    }
                    else
                    {
                        StackBorders[i + 1].BorderThickness = new Thickness(0, 0, 0, 0);
                        if (textBoxContainer != StackContainers.First())
                        {
                            StackBorders[i + 1].Padding = new Thickness(0);
                        }
                    }
                }
            }
        }
Example #6
0
        public PIM_Class(XCaseCanvas xCaseCanvas)
            : base(xCaseCanvas)
        {
            InitTemplate();

            classAttributes = new AttributesContainer(AttributesSection, xCaseCanvas);
            classOperations = new OperationsContainer(OperationsSection, xCaseCanvas);
            Border[]            stackBorders    = new Border[] { HeaderBorder, PropertiesBorder, MethodsBorder };
            ITextBoxContainer[] stackContainers = new ITextBoxContainer[] { classAttributes, classOperations };
            classAttributes.StackBorders    = stackBorders;
            classAttributes.StackContainers = stackContainers;
            classOperations.StackBorders    = stackBorders;
            classOperations.StackContainers = stackContainers;

            InitContextMenu();

            txtClassName.TextEdited       += delegate(object sender, StringEventArgs args) { Controller.RenameElement <PIMClass>(args.Data, ((PIMClass)ModelElement).Package.Classes); };
            PositionChanged               += CancelAllEdits;
            txtClassName.MouseDoubleClick += txtClassName_MouseDoubleClick;
        }
Example #7
0
        protected override void CreateInnerControls(ExolutioCanvas canvas)
        {
            base.CreateInnerControls(canvas);
            #region main node content components
            border = new Border
            {
                BorderBrush       = ViewToolkitResources.NodeBorderBrush,
                BorderThickness   = ViewToolkitResources.Thickness1,
                VerticalAlignment = VerticalAlignment.Stretch,
                Opacity           = ViewToolkitResources.LittleOpaque
            };
            MainNode.InnerContentControl.Content = border;

            stackPanel = new StackPanel
            {
                Orientation = Orientation.Vertical
            };
            border.Child = stackPanel;

            Border headerBorder = new Border
            {
                Background      = ViewToolkitResources.ClassHeader,
                BorderThickness = ViewToolkitResources.Thickness0,
                Padding         = ViewToolkitResources.Thickness2,
                BorderBrush     = ViewToolkitResources.BlackBrush
            };

            tbClassHeader = new EditableTextBox
            {
                FontWeight    = FontWeights.Bold,
                TextAlignment = TextAlignment.Center,
                Background    = ViewToolkitResources.ClassHeader,
                FontSize      = 15,
            };

            headerBorder.Child = tbClassHeader;
            stackPanel.Children.Add(headerBorder);

            Border attributesBorder = new Border
            {
                BorderBrush = ViewToolkitResources.BlackBrush,
                Visibility  = Visibility.Collapsed,
                Background  = ViewToolkitResources.ClassBody
            };
            Border operationsBorder = new Border
            {
                BorderBrush = ViewToolkitResources.BlackBrush,
                Visibility  = Visibility.Collapsed,
                Background  = ViewToolkitResources.ClassBody
            };
            StackPanel attributesSection = new StackPanel
            {
                Background = ViewToolkitResources.ClassBody
            };
            StackPanel operationsSection = new StackPanel
            {
                Background = ViewToolkitResources.ClassBody
            };
            attributesBorder.Child = attributesSection;
            operationsBorder.Child = operationsSection;
            attributesContainer    = new PIMAttributesContainer(attributesSection, canvas, DiagramView);
            operationsContainer    = new PIMOperationsContainer(operationsSection, canvas, DiagramView);

            stackPanel.Children.Add(attributesBorder);
            stackPanel.Children.Add(operationsBorder);

            Border[]            stackBorders    = new Border[] { headerBorder, attributesBorder, operationsBorder };
            ITextBoxContainer[] stackContainers = new ITextBoxContainer[] { attributesContainer, operationsContainer };
            attributesContainer.StackBorders    = stackBorders;
            attributesContainer.StackContainers = stackContainers;
            operationsContainer.StackBorders    = stackBorders;
            operationsContainer.StackContainers = stackContainers;

            #endregion

            ExolutioContextMenu exolutioContextMenu = MenuHelper.GetContextMenu(ScopeAttribute.EScope.PIMClass, this.DiagramView.Diagram);
            ContextMenu = exolutioContextMenu;

#if SILVERLIGHT
            ContextMenuService.SetContextMenu(tbClassHeader, ContextMenu);
            DoubleClickSupplement dc = new DoubleClickSupplement();
            tbClassHeader.MouseLeftButtonDown += dc.Click;
            dc.DoubleClickW += tbClassHeader_MouseDoubleClick;
#else
            tbClassHeader.MouseDoubleClick += tbClassHeader_MouseDoubleClick;
#endif
        }
Example #8
0
        protected override void CreateInnerControls(ExolutioCanvas canvas)
        {
            base.CreateInnerControls(canvas);

            foldingButton = new FoldingButton();
            MainNode.InnerConnectorControl.Children.Add(foldingButton);
            Canvas.SetBottom(foldingButton, -15);
            foldingButton.Click += delegate { this.ViewHelper.IsFolded = !this.ViewHelper.IsFolded; };

            #region main node content components
            border = new Border
            {
                BorderBrush       = ViewToolkitResources.NodeBorderBrush,
                BorderThickness   = ViewToolkitResources.Thickness1,
                VerticalAlignment = VerticalAlignment.Stretch,
                Opacity           = ViewToolkitResources.LittleOpaque
            };
            MainNode.InnerContentControl.Content = border;

            stackPanel = new StackPanel
            {
                Orientation = Orientation.Vertical
            };
            border.Child = stackPanel;

            headerBorder = new Border
            {
                Background      = ViewToolkitResources.ClassHeader,
                BorderThickness = ViewToolkitResources.Thickness0,
                Padding         = ViewToolkitResources.Thickness2,
                BorderBrush     = ViewToolkitResources.BlackBrush
            };

            tbSRHeader = new EditableTextBox
            {
                Visibility    = Visibility.Collapsed,
                TextAlignment = TextAlignment.Right
            };

            tbStereotypes = new EditableTextBox
            {
                Visibility    = Visibility.Collapsed,
                TextAlignment = TextAlignment.Center
            };

            tbClassHeader = new EditableTextBox
            {
                FontWeight    = FontWeights.Bold,
                TextAlignment = TextAlignment.Center,
                FontSize      = 15,
            };

            StackPanel headerPanel = new StackPanel();
            headerPanel.Children.Add(tbStereotypes);
            headerPanel.Children.Add(tbSRHeader);
            headerPanel.Children.Add(tbClassHeader);
            headerBorder.Child = headerPanel;
            stackPanel.Children.Add(headerBorder);

            attributesBorder = new Border
            {
                BorderBrush = ViewToolkitResources.BlackBrush,
                Visibility  = Visibility.Collapsed,
            };
            StackPanel attributesSection = new StackPanel();
            attributesBorder.Child = attributesSection;

            attributesContainer = new PSMAttributesContainer(attributesSection, canvas, DiagramView);

            stackPanel.Children.Add(attributesBorder);
            //Border operationsBorder = new Border
            //{
            //    BorderBrush = ViewToolkitResources.BlackBrush,
            //    Visibility = Visibility.Collapsed,
            //    Background = ViewToolkitResources.SeaShellBrush
            //};

            //StackPanel operationsSection = new StackPanel
            //{
            //    Background = ViewToolkitResources.SeaShellBrush
            //};
            //operationsBorder.Child = operationsSection;
            //stackPanel.Children.Add(operationsBorder);

            Border[]            stackBorders    = new Border[] { headerBorder, attributesBorder };
            ITextBoxContainer[] stackContainers = new ITextBoxContainer[] { attributesContainer };
            attributesContainer.StackBorders    = stackBorders;
            attributesContainer.StackContainers = stackContainers;
            //classOperations.StackBorders = stackBorders;
            //classOperations.StackContainers = stackContainers;

            #endregion

            ExolutioContextMenu exolutioContextMenu = MenuHelper.GetContextMenu(ScopeAttribute.EScope.PSMClass, this.DiagramView.Diagram);
            ContextMenu = exolutioContextMenu;

#if SILVERLIGHT
            ContextMenuService.SetContextMenu(headerBorder, ContextMenu);
            DoubleClickSupplement dc = new DoubleClickSupplement();
            tbClassHeader.MouseLeftButtonDown += dc.Click;
            dc.DoubleClickW += tbClassHeader_MouseDoubleClick;
#else
            tbClassHeader.MouseDoubleClick += tbClassHeader_MouseDoubleClick;
            tbClassHeader.MouseEnter       += tbClassHeader_MouseEnter;
            tbClassHeader.MouseLeave       += tbClassHeader_MouseLeave;
#endif
        }