Example #1
0
        public void RegistRelatedPanel(EcosystemControl relatedPanel)
        {
            this.relatedPanel = relatedPanel;

            relatedPanel.Visibility = Visibility.Hidden;
            relatedPanel.Hide();

            //контролируем родительский элемент (hud ноды) если он начнем перемещатся по экосистеме
            //перерисуем соединительную линию
            (parentOWLOSThingControl.parentControl.Parent as Grid).Children.Add(relatedPanel);


            //создаем и настраиваем соеденительную линию
            //relationLine = new EcosystemRelationLine(relatedPanel, relatedPanel, connector, driverCountrol, parentOWLOSThingControl.parentControl.Parent as Grid);
            relationLine = new EcosystemRelationLine(relatedPanel, relatedPanel, connector, relatedPanel, parentOWLOSThingControl.parentControl.Parent as Grid);


            petalBackground.PreviewMouseLeftButtonDown += petalBackground_PreviewMouseLeftButtonDown;

            relatedPanel.OnShow  += ParentControl_OnShow;
            relatedPanel.OnHiden += ParentControl_OnHiden;

            relatedPanel.OnWindow    += RelatedPanel_OnWindow;
            relatedPanel.OnEcosystem += RelatedPanel_OnEcosystem;
        }
Example #2
0
        public OWLOSThingFileControl(OWLOSThingControl parentOWLOSThingControl, OWLOSFiles files, double radius, double angel, double length, double width) : base(parentOWLOSThingControl, radius, angel, length, width)
        {
            Rotate(angel);
            this.files = files;

            //file.OnFileStatusChanger += OnFileStatusChanger;

            fileCountrol = new OWLOSFileControl(files);
            fileCountrol.parentControl.Visibility = Visibility.Hidden;
            fileCountrol.parentControl.Hide();

            (parentOWLOSThingControl.parentControl.Parent as Grid).Children.Add(fileCountrol.parentControl);

            //Название драйвера, смотрите UserControl_Loaded - пересчет извиба надписи
            petalNameText.Text = "files";

            //создаем и настраиваем соеденительную линию
            relationLine = new EcosystemRelationLine(fileCountrol, fileCountrol.parentControl, connector, fileCountrol, parentOWLOSThingControl.parentControl.Parent as Grid);

            petalBackground.PreviewMouseLeftButtonDown += petalBackground_PreviewMouseLeftButtonDown;
        }
        public OWLOSNodeDriverControl(OWLOSNodeControl parentOWLOSNodeControl, OWLOSDriver driver, double radius, double angel)
        {
            InitializeComponent();

            this.driver = driver;

            this.radius = radius;
            this.angel  = angel;

            connector.MoveTransform(0, 0);
            connector.Width  = 10;
            connector.Height = 10;
            connector.HorizontalAlignment = HorizontalAlignment.Center;
            connector.VerticalAlignment   = VerticalAlignment.Top;
            connector.Margin = new Thickness(0, 0, 0, 0);

            connector.Background = (SolidColorBrush)App.Current.Resources["OWLOSWarning"];

            text2.Children.Add(connector);

            this.parentOWLOSNodeControl = parentOWLOSNodeControl;

            double _angel = 0;

            pathL1.Data = HudLibrary.DrawArc(350, 350, radius, _angel, _angel + 25);
            pathL2.Data = HudLibrary.DrawArc(350, 350, radius + 20, _angel, _angel + 25);
            pathL3.Data = HudLibrary.DrawArc(350, 350, radius - 20, _angel, _angel + 25);



            RotateTransform rotateTransform = new RotateTransform();

            rotateTransform.Angle = angel * 30;
            text2.RenderTransform = rotateTransform;

            driverNameText.Text = driver.name;

            driverCountrol = new OWLOSDriverControl(driver);
            driverCountrol.parentControl.Visibility = Visibility.Hidden;
            driverCountrol.parentControl.Hide();


            double xr = 1000 * Math.Cos(Math.PI * (angel / 6.0) - Math.PI / 2) + parentOWLOSNodeControl.parentControl.transform.X;
            double yr = 1000 * Math.Sin(Math.PI * (angel / 6.0) - Math.PI / 2) + parentOWLOSNodeControl.parentControl.transform.Y;

            driverCountrol.parentControl.MoveTransform(xr, yr);


            (parentOWLOSNodeControl.parentControl.Parent as Grid).Children.Add(driverCountrol.parentControl);
            parentOWLOSNodeControl.parentControl.OnPositionChanged += ParentControl_OnPositionChanged;

            relationLine = new EcosystemRelationLine(driverCountrol, driverCountrol.parentControl, connector, driverCountrol, parentOWLOSNodeControl.parentControl.Parent as Grid);
            relationLine.DrawRelationLine(((SolidColorBrush)App.Current.Resources["OWLOSInfo"]).Color.ToString(), ((SolidColorBrush)App.Current.Resources["OWLOSInfo"]).Color.ToString());
            relationLine.Hide();



            //driver.NewProperty += Driver_NewProperty;

            //DoubleAnimation rotate2 = new DoubleAnimation(1300.0f, 0.0f, new Duration(TimeSpan.FromMilliseconds(50000)));

            //RotateTransform rotateTransform2 = new RotateTransform();
            //text2.RenderTransform = rotateTransform2;
            //rotateTransform2.BeginAnimation(RotateTransform.AngleProperty, rotate2);
        }