Example #1
0
        public UserControlClass(src.Core.Project.Class class2Use)
        {
            InitializeComponent();

            this.class2Use = class2Use;

            Loaded += UserControlClass_Loaded;

            labelClassName.MouseEnter += (s, e) =>
                                         Mouse.OverrideCursor = Cursors.SizeAll;

            labelClassName.MouseLeave += (s, e) =>
                                         Mouse.OverrideCursor = Cursors.Arrow;

            labelClassName.MouseLeftButtonDown += (s, e) =>
                                                  isMouseLeftButtonDown = true;

            labelClassName.MouseLeftButtonUp += (s, e) =>
                                                isMouseLeftButtonDown = false;

            labelClassName.MouseMove += (s, e) =>
            {
                if (!isMouseLeftButtonDown)
                {
                    return;
                }

                var position2Parent = (Vector)Mouse.GetPosition((Grid)this.Parent);

                class2Use.Position = (Point)(position2Parent - new Vector(gridClass.ActualWidth / 2, 15));
                gridClass.Margin   = new Thickness(class2Use.Position.X,
                                                   class2Use.Position.Y,
                                                   0, 0);
            };
        }
        public UserControlClassDetails()
        {
            InitializeComponent();

            @class = new Core.Project.Class("MyClass");

            listBoxInterfaces.ItemsSource = @class.Interfaces;
            listBoxFields.ItemsSource     = @class.Fields;


            labelAddInterface.MouseLeftButtonDown += (s, e) =>
            {
                var ran = new Random();
                @class.Interfaces.Add(
                    new Interface("IanotherInterface" + ran.Next(99).ToString()));
                expanderInterfaces.IsExpanded = true;
            };

            labelRemoveInterface.MouseLeftButtonDown += (s, e) =>
            {
                if (listBoxInterfaces.SelectedItem == null)
                {
                    return;
                }

                @class.Interfaces.
                Remove(listBoxInterfaces.SelectedItem as Interface);
            };

            labelAddField.MouseLeftButtonDown += (s, e) =>
            {
                @class.Fields.Add(new src.Core.Project.Field());
                expanderFields.IsExpanded = true;
            };

            labelRemoveField.MouseLeftButtonDown += (s, e) =>
            {
                if (listBoxFields.SelectedItem == null)
                {
                    return;
                }

                @class.Fields.
                Remove(listBoxFields.SelectedItem as src.Core.Project.Field);
            };
        }