示例#1
0
        //Sets the selected working elements
        private void GetSelectedElements()
        {
            _selectedElements = new Elements();
            _selectedShapes   = new Shapes(this);
            _selectedLines    = new Lines(this);

            _selectedElements.SetModifiable(true);
            _selectedShapes.SetModifiable(true);
            _selectedLines.SetModifiable(true);

            foreach (Shape shape in Shapes.Values)
            {
                if (shape.Selected)
                {
                    _selectedElements.Add(shape.Key, shape);
                    _selectedShapes.Add(shape.Key, shape);
                }
            }

            foreach (Link line in Lines.Values)
            {
                if (line.Selected)
                {
                    _selectedElements.Add(line.Key, line);
                    _selectedLines.Add(line.Key, line);
                }
            }

            _selectedElements.SetModifiable(false);
            _selectedShapes.SetModifiable(false);
            _selectedLines.SetModifiable(false);
        }
示例#2
0
 public void RemoveElement(Element element)
 {
     Elements.SetModifiable(true);
     Elements.Remove(element);
     element.SetGroup(null);
     Elements.SetModifiable(false);
 }
示例#3
0
        //Methods

        public void AddElement(Element element)
        {
            Elements.SetModifiable(true);
            Elements.Add(element);
            element.SetGroup(this);
            Elements.SetModifiable(false);
        }
示例#4
0
        private void RemoveLayerElements(bool shapes, bool lines)
        {
            ArrayList keys = new ArrayList();

            //Determine the keys to be removed
            //Must use the dictionery entry object to retrieve the key
            foreach (DictionaryEntry de in Elements)
            {
                Element element = (Element)de.Value;

                if (shapes && element is Shape)
                {
                    keys.Add(de.Key);
                }
                if (lines && element is Line)
                {
                    keys.Add(de.Key);
                }
            }

            //Remove keys from collection
            Elements.SetModifiable(true);
            foreach (string key in keys)
            {
                Elements.Remove(key);
            }
            Elements.SetModifiable(false);
        }
示例#5
0
        public void RemoveElements(ElementList elements)
        {
            Elements.SetModifiable(true);

            foreach (Element element in elements)
            {
                Elements.Remove(element);
                element.SetGroup(null);
            }

            Elements.SetModifiable(false);
        }
示例#6
0
        public void AddElements(ElementList elements)
        {
            Elements.SetModifiable(true);

            foreach (Element element in elements)
            {
                Elements.Add(element);
                element.SetGroup(this);
            }

            Elements.SetModifiable(false);
        }
示例#7
0
        //Constructors
        public Group()
        {
            _elements = new ElementList();
            Elements.SetModifiable(false);

            DrawBackground = false;
            DrawShadow     = false;
            BorderStyle    = DashStyle.Dash;
            ExpandedSize   = MaximumSize;
            ContractedSize = Size;
            DrawExpand     = true;
            Expanded       = true;
            CheckBounds    = true;
        }
示例#8
0
        //Occurs when an element is added to the elements collection
        private void Element_Insert(object sender, ElementsEventArgs e)
        {
            Element element = e.Value;

            //Set handlers
            element.ElementInvalid += new EventHandler(Element_ElementInvalid);

            //Add to the renderlist
            Elements.SetModifiable(true);
            Elements.Add(element);
            Elements.SetModifiable(false);

            //Raise the ElementInserted event
            OnElementInserted(element);
            OnModelInvalid();
        }
示例#9
0
        //Occurs when an element is removed from the elements collection
        private void Element_Remove(object sender, ElementsEventArgs e)
        {
            if (e.Value is Shape)
            {
                ResetLines((Shape)e.Value);
            }

            //Remove from the renderlist
            Elements.SetModifiable(true);
            Elements.Remove(e.Value);
            Elements.SetModifiable(false);

            //Raise the ElementRemovedEvent
            OnElementRemoved(e.Value);
            OnModelInvalid();
        }
示例#10
0
        private Elements GetSelectedElements(System.Type type)
        {
            Elements elements = new Elements();

            foreach (Shape shape in Shapes.Values)
            {
                if (shape.Selected && (type.IsInstanceOfType(shape) || shape.GetType().IsSubclassOf(type)))
                {
                    elements.Add(shape.Key, shape);
                }
            }

            foreach (Link line in Lines.Values)
            {
                if (line.Selected && (type.IsInstanceOfType(line) || line.GetType().IsSubclassOf(type)))
                {
                    elements.Add(line.Key, line);
                }
            }

            elements.SetModifiable(false);
            return(elements);
        }
示例#11
0
		private Elements GetSelectedElements(System.Type type)
		{
			Elements elements = new Elements();

			foreach (Shape shape in Shapes.Values)
			{
				if (shape.Selected && (type.IsInstanceOfType(shape) || shape.GetType().IsSubclassOf(type))) elements.Add(shape.Key,shape);
			}

			foreach (Line line in Lines.Values)
			{
				if (line.Selected && (type.IsInstanceOfType(line) || line.GetType().IsSubclassOf(type))) elements.Add(line.Key,line);
			}

			elements.SetModifiable(false);
			return elements;
		}
示例#12
0
		//Sets the selected working elements
		private void GetSelectedElements()
		{
			mSelectedElements = new Elements();
			mSelectedShapes = new Elements(typeof(Shape),"Shape");
			mSelectedLines = new Elements(typeof(Line),"Line");

			foreach (Shape shape in Shapes.Values)
			{
				if (shape.Selected)
				{
					mSelectedElements.Add(shape.Key,shape);
					mSelectedShapes.Add(shape.Key,shape);
				}
			}

			foreach (Line line in Lines.Values)
			{
				if (line.Selected) 
				{
					mSelectedElements.Add(line.Key,line);
					mSelectedLines.Add(line.Key,line);
				}
			}

			mSelectedElements.SetModifiable(false);
			mSelectedShapes.SetModifiable(false);
			mSelectedLines.SetModifiable(false);
		}