gbrainy.Core.Toolkit.Container.AddChild C# (CSharp) Method

AddChild() public method

public AddChild ( Widget widget ) : void
widget Widget
return void
        public void AddChild(Widget widget)
        {
            if (children.Contains (widget))
                throw new InvalidOperationException ("Child already exists in container");

            //
            // Propagate events from child controls to this container (parent)
            //
            widget.DrawRequest += delegate (object sender, EventArgs e)
            {
                OnDrawRequest ();
            };

            widget.SelectedEvent += delegate (object sender, SelectedEventArgs e)
            {
                OnSelected (e);
            };

            children.Add (widget);
        }

Usage Example

Beispiel #1
0
        private void SetDrawingAreas()
        {
            double rect_w = DrawAreaWidth / columns;
            double rect_h = DrawAreaHeight / rows;

            Container container = new Container (DrawAreaX, DrawAreaY, 0.8, 0.8);
            AddWidget (container);

            for (int column = 0; column < columns; column++)
            {
                for (int row = 0; row < rows; row++)
                {
                    DrawableArea drawable_area = new DrawableArea (rect_w, rect_h);
                    drawable_area.X = DrawAreaX + column * rect_w;
                    drawable_area.Y = DrawAreaY + row * rect_h;
                    container.AddChild (drawable_area);

                    string num = grid[row * columns + column].ToString ();
                    drawable_area.Data = num;
                    drawable_area.DataEx = num;

                    drawable_area.DrawEventHandler += delegate (object sender, DrawEventArgs e)
                    {
                        string number = (string) e.Data;

                        e.Context.Rectangle (0, 0, e.Width, e.Height);
                        e.Context.Stroke ();

                        e.Context.SetPangoLargeFontSize ();
                        e.Context.DrawTextCentered (e.Width / 2, e.Height / 2, number);
                        e.Context.Stroke ();
                    };
                }
            }
        }
All Usage Examples Of gbrainy.Core.Toolkit.Container::AddChild