Esempio n. 1
0
 private void BlockViewer_PreviewMouseMove(object sender, MouseEventArgs e)
 {
     if (BlockViewer.IsMouseCaptured)
     {
         BlockViewer.ScrollToVerticalOffset(vOffset + (scrollMousePoint.Y - e.GetPosition(BlockViewer).Y));
         BlockViewer.ScrollToHorizontalOffset(hOffset + (scrollMousePoint.X - e.GetPosition(BlockViewer).X));
     }
 }
Esempio n. 2
0
 private void BlockViewer_PreviewMouseDown(object sender, MouseButtonEventArgs e)
 {
     if (e.MiddleButton == MouseButtonState.Pressed && !MouseOnBlock())
     {
         BlockViewer.CaptureMouse();
         vOffset          = BlockViewer.VerticalOffset;
         hOffset          = BlockViewer.HorizontalOffset;
         scrollMousePoint = e.GetPosition(BlockViewer);
     }
 }
Esempio n. 3
0
        /// <summary>
        ///     Method triggered whenever the user changes the type of block
        /// </summary>
        private void BlockTypeBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            // Delete the old data
            _current = null;

            // Ensure that the type is a Data Filter
            var type = _typeMapping[(string)BlockTypeBox.SelectedItem];

            if (type == null || !typeof(DataFilter).IsAssignableFrom(type))
            {
                throw new Exception("Invalid object type! Not a DataFilter!");
            }

            // Start creating the skeleton, and display it
            _current      = (DataFilter)Activator.CreateInstance(type, _core);
            _current.Name = _current.InternalName;
            BlockViewer.SetViewingComponent(_current);
        }
Esempio n. 4
0
        /// <summary>
        ///     Creates a new central control panel using a given core
        /// </summary>
        public ControlPanel(StreamlineCore core)
        {
            Core = core;
            InitializeComponent();

            // Don't show debug if not a dev
            if (!Core.Settings.DebugMode)
            {
                debugToolStripMenuItem.Dispose();
            }

            // Hide the components until something is selected
            BlockViewer.Hide();
            IOBlockViewer.Hide();

            // Set up the block editor
            BlockSchematic.SetCore(Core);
            BlockSchematic.OnBlockSelected += DetermineViewingComponent;
        }
Esempio n. 5
0
        /// <summary>
        ///     Determines which block viewer should be shown for the user
        /// </summary>
        private void DetermineViewingComponent(object owner, IConnectable c)
        {
            var dc = c as DataConnection;

            if (dc != null)
            {
                // Treat as Data Connection
                BlockViewer.SetViewingComponent(null);
                IOBlockViewer.SetViewingComponent(dc);
                IOBlockViewer.UpdateAllComponents();
                BlockViewer.Hide();
                IOBlockViewer.Show();
            }
            else
            {
                // Treat as generic block
                BlockViewer.SetViewingComponent(c);
                IOBlockViewer.SetViewingComponent(null);
                BlockViewer.Show();
                IOBlockViewer.Hide();
            }
        }
Esempio n. 6
0
 private void BlockViewer_PreviewMouseUp(object sender, MouseButtonEventArgs e)
 {
     BlockViewer.ReleaseMouseCapture();
 }