예제 #1
0
 public void RemoveAt(Control control)
 {
     maps.Remove(control.AssetName);
 }
예제 #2
0
            public virtual bool AddItem(Control control)
            {
                if (maps.Count == 0)
                {
                    // Make sure the first control contained in the griding
                    if(control.ControlBackground.Width + 2 * align < width &&
                        control.ControlBackground.Height + align < height)
                    {
                        Rectangle newRect = new Rectangle((int)(align + position.X), (int)(align + position.Y),
                                 (int) control.ControlBackground.Width, (int)control.ControlBackground.Height);

                        // Update control position
                        control.PositionX = newRect.X;
                        control.PositionY = newRect.Y;

                        maps.Add(control.AssetName, newRect);
                        lastKey = control.AssetName;

                        return true;
                    }
                }
                else
                {
                    Rectangle lastRect = maps[lastKey];
                    if ( (lastRect.X + lastRect.Width + control.ControlBackground.Width + align) < (position.X + width) )
                    {
                        Rectangle newRect = new Rectangle((int)(align + lastRect.X + lastRect.Width), lastRect.Y,
                                    (int)control.ControlBackground.Width, (int)control.ControlBackground.Height);

                        // Update control position
                        control.PositionX = newRect.X;
                        control.PositionY = newRect.Y;

                        maps.Add(control.AssetName, newRect);
                        lastKey = control.AssetName;

                        return true;
                    }
                    else // enter to new line
                    {
                        if ((lastRect.Y + lastRect.Height + control.ControlBackground.Height + align) < (position.Y + height))
                        {
                            Rectangle newRect = new Rectangle((int)(align + position.X), (int)(lastRect.Y + lastRect.Height + align),
                                                                (int)control.ControlBackground.Width, (int)control.ControlBackground.Height);

                            // Update control position
                            control.PositionX = newRect.X;
                            control.PositionY = newRect.Y;

                            maps.Add(control.AssetName, newRect);
                            lastKey = control.AssetName;

                            return true;
                        }
                    }
                }
                return false;
            }
예제 #3
0
 public virtual bool Add(Control control)
 {
     if (Griding.AddItem(control))
         listControl.Add(control);
     return true;
 }
예제 #4
0
        public virtual void RemoveControl(Control control)
        {
            listControl.Remove(control);
            Griding.RemoveAt(control);

            ReSort();
        }
예제 #5
0
 public Control(Control control)
     : base(control.Game)
 {
     this.controlBackground = control.controlBackground;
     this.position = control.position;
     this.Initialize();
 }