Changeset 2598


Ignore:
Timestamp:
Feb 5, 2011, 7:03:43 PM (10 years ago)
Author:
matkovic
Message:

-IEditorInterface: Added Zoom related Methods + ZoomChangedEvent
-CryptWin: Added two button to change 'Zoom' and for editor FitToScreen

Location:
trunk
Files:
1 added
13 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypPluginBase/CrypPluginBase.csproj

    r2577 r2598  
    127127    <Compile Include="Miscellaneous\Tokenizer.cs" />
    128128    <Compile Include="Miscellaneous\UniqueIdentifier.cs" />
     129    <Compile Include="Miscellaneous\ZoomChanged.cs" />
    129130    <Compile Include="PluginExtension.cs" />
    130131    <Compile Include="Attributes\PluginInfoAttribute.cs">
  • trunk/CrypPluginBase/Editor/IEditor.cs

    r2426 r2598  
    1818using Cryptool.UiPluginBase;
    1919using System.Collections.Generic;
     20using Cryptool.PluginBase.Miscellaneous;
    2021
    2122namespace Cryptool.PluginBase.Editor
     
    2829        event EditorSpecificPluginsChanged OnEditorSpecificPluginsChanged;
    2930        event OpenTabHandler OnOpenTab;
     31        event EventHandler<ZoomChanged> OnZoomChanged;
    3032
    3133        void New();
     
    4345        void Remove();
    4446        void Print();
     47
     48        double GetZoom();
     49        void Zoom(double value);
     50        void FitToScreen();
    4551       
    4652        /// <summary>
  • trunk/CrypPlugins/P2PEditor/P2PEditor.cs

    r2577 r2598  
    288288
    289289        #endregion
     290
     291
     292        public double GetZoom()
     293        {
     294            throw new NotImplementedException();
     295        }
     296
     297        public void Zoom(double value)
     298        {
     299            throw new NotImplementedException();
     300        }
     301
     302        public void FitToScreen()
     303        {
     304            throw new NotImplementedException();
     305        }
     306
     307
     308        public event EventHandler<PluginBase.Miscellaneous.ZoomChanged> OnZoomChanged;
    290309    }
    291310}
  • trunk/CrypPlugins/SimpleEditor/SimpleEditor.cs

    r2426 r2598  
    329329
    330330        #endregion
     331
     332
     333        public double GetZoom()
     334        {
     335            throw new NotImplementedException();
     336        }
     337
     338        public void Zoom(double value)
     339        {
     340            throw new NotImplementedException();
     341        }
     342
     343        public void FitToScreen()
     344        {
     345            throw new NotImplementedException();
     346        }
     347
     348
     349        public event EventHandler<Cryptool.PluginBase.Miscellaneous.ZoomChanged> OnZoomChanged;
    331350    }
    332351}
  • trunk/CrypPlugins/Wizard/Wizard.cs

    r2577 r2598  
    234234
    235235        #endregion
     236
     237
     238        public double GetZoom()
     239        {
     240            throw new NotImplementedException();
     241        }
     242
     243        public void Zoom(double value)
     244        {
     245            throw new NotImplementedException();
     246        }
     247
     248        public void FitToScreen()
     249        {
     250            throw new NotImplementedException();
     251        }
     252
     253
     254        public event EventHandler<Cryptool.PluginBase.Miscellaneous.ZoomChanged> OnZoomChanged;
    236255    }
    237256}
  • trunk/CrypPlugins/WorkspaceManager/View/Container/PluginContainerView.xaml.cs

    r2597 r2598  
    468468
    469469            //connector.PreviewMouseLeftButtonDown += new MouseButtonEventHandler(connector_PreviewMouseLeftButtonDown);
    470             connector.MouseUp += new MouseButtonEventHandler(connector_MouseUp);
     470            connector.PreviewDrop += new DragEventHandler(connector_Drop);
     471            connector.MouseLeftButtonDown += new MouseButtonEventHandler(connector_MouseLeftButtonDown);
    471472            connector.MouseLeave += new MouseEventHandler(connector_MouseLeave);
    472473            connectorViewList.Add(connector);
    473474        }
    474475
    475         void connector_MouseUp(object sender, MouseButtonEventArgs e)
     476        void connector_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
    476477        {
    477478            ConnectorView connector = (sender as ConnectorView);
    478             if (e.ButtonState == MouseButtonState.Released)
    479                 if (ConnectorMouseLeftButtonDown != null)
    480                     ConnectorMouseLeftButtonDown.Invoke(this, new ConnectorViewEventArgs() { connector = connector });
    481 
    482             e.Handled = true;
    483         }
    484 
     479            if (ConnectorMouseLeftButtonDown != null)
     480            {
     481                ConnectorMouseLeftButtonDown.Invoke(this, new ConnectorViewEventArgs() { connector = connector });
     482                DataObject dragData = new DataObject("line", connector);
     483                DragDrop.DoDragDrop(connector, dragData, DragDropEffects.Link);
     484                //Mouse.AddMouseUpHandler(Parent, Parent_MouseUp);
     485            }
     486        }
     487
     488        void connector_Drop(object sender, DragEventArgs e)
     489        {
     490            try
     491            {
     492                if (e.Data.GetDataPresent("line"))
     493                {
     494                    ConnectorView connector = e.Data.GetData("line") as ConnectorView;
     495                    if (ConnectorMouseLeftButtonDown != null)
     496                    {
     497                        //Mouse.RemoveMouseUpHandler(Parent, Parent_MouseUp);
     498                        ConnectorMouseLeftButtonDown.Invoke(this, new ConnectorViewEventArgs() { connector = connector });
     499                    }
     500                }
     501            }
     502            catch (Exception)
     503            { return; }
     504        }
     505
     506        //void connector_MouseUp(object sender, MouseButtonEventArgs e)
     507        //{
     508        //    if (IsLineDragging)
     509        //    {
     510        //        if (e.LeftButton == MouseButtonState.Released)
     511        //        {
     512        //            ConnectorView connector = (sender as ConnectorView);
     513        //            if (ConnectorMouseLeftButtonDown != null)
     514        //            {
     515        //                //Mouse.RemoveMouseUpHandler(Parent, Parent_MouseUp);
     516        //                ConnectorMouseLeftButtonDown.Invoke(this, new ConnectorViewEventArgs() { connector = connector });
     517        //            }
     518        //        }
     519        //    }
     520        //    e.Handled = true;
     521        //}
     522
     523        //void Parent_MouseUp(object sender, MouseButtonEventArgs e)
     524        //{
     525        //    if (IsLineDragging)
     526        //    {
     527        //        if (ReleaseDummyLine != null)
     528        //        {
     529        //            IsLineDragging = false;
     530        //            ReleaseDummyLine.Invoke(this, new EventArgs());
     531        //        }
     532        //    }
     533        //    Mouse.RemoveMouseUpHandler(Parent, Parent_MouseUp);
     534        //}
     535
     536        public event EventHandler ReleaseDummyLine;
     537
     538        private bool IsLineDragging;
    485539        void connector_MouseLeave(object sender, MouseEventArgs e)
    486540        {
    487             if (e.RightButton == MouseButtonState.Pressed)
    488             {
    489                 ConnectorView connector = (sender as ConnectorView);
     541            ConnectorView connector = (sender as ConnectorView);
     542            if (e.RightButton == MouseButtonState.Pressed && e.LeftButton != MouseButtonState.Pressed)
     543            {
    490544                DataObject dragData = new DataObject("connector", connector);
    491545                DragDrop.AddQueryContinueDragHandler(this, QueryContinueDragHandler);
    492546                DragDrop.DoDragDrop(connector.Parent, dragData, DragDropEffects.Move);
    493547            }
     548            //if (e.LeftButton == MouseButtonState.Pressed && e.RightButton != MouseButtonState.Pressed)
     549            //{
     550            //    if (ConnectorMouseLeftButtonDown != null)
     551            //    {
     552            //        ConnectorMouseLeftButtonDown.Invoke(this, new ConnectorViewEventArgs() { connector = connector });
     553            //        DataObject dragData = new DataObject("line", connector);
     554            //        DragDrop.DoDragDrop(connector, dragData, DragDropEffects.None);
     555            //        //Mouse.AddMouseUpHandler(Parent, Parent_MouseUp);
     556            //    }
     557            //}
     558            //else
     559            //{ IsLineDragging = false; }
     560
    494561            e.Handled = true;
    495562        }
  • trunk/CrypPlugins/WorkspaceManager/View/Container/WorkSpaceEditorView.xaml.cs

    r2588 r2598  
    305305        void bottomBox_FitToScreen(object sender, FitToScreenEventArgs e)
    306306        {
    307 
     307            FitToScreen();
     308        }
     309
     310        public void FitToScreen()
     311        {
    308312            if (scrollViewer.ScrollableWidth > 0 || scrollViewer.ScrollableHeight > 0)
    309313            {
     
    361365                newPluginContainerView.MouseLeftButtonDown += new MouseButtonEventHandler(shape_MouseLeftButtonDown);
    362366                newPluginContainerView.MouseLeftButtonUp += new MouseButtonEventHandler(shape_MouseLeftButtonUp);
     367                newPluginContainerView.ReleaseDummyLine += new EventHandler(newPluginContainerView_ReleaseDummyLine);
    363368                newPluginContainerView.ConnectorMouseLeftButtonDown += new EventHandler<ConnectorViewEventArgs>(shape_OnConnectorMouseLeftButtonDown);
    364369                newPluginContainerView.SetPosition(new Point((Math.Round((position.X) / Properties.Settings.Default.GridScale)) * Properties.Settings.Default.GridScale,
     
    369374                Model.WorkspaceManagerEditor.HasChanges = true;
    370375            }
     376        }
     377
     378        void newPluginContainerView_ReleaseDummyLine(object sender, EventArgs e)
     379        {
     380            removeDummyLine();
    371381        }
    372382
     
    488498            if (this.State == EditorState.READY)
    489499            {
    490                 if (selectedConnector != null && WorkspaceModel.compatibleConnectors(selectedConnector.Model, e.connector.Model))
    491                 {
    492                     this.root.Children.Remove(dummyLine);
    493                     this.AddConnection(selectedConnector, e.connector);
    494                     this.selectedConnector = null;
    495                     return;
    496                 }
     500                if (selectedConnector != null)
     501                {
     502                    if (WorkspaceModel.compatibleConnectors(selectedConnector.Model, e.connector.Model))
     503                    {
     504                        this.root.Children.Remove(dummyLine);
     505                        this.AddConnection(selectedConnector, e.connector);
     506                        this.selectedConnector = null;
     507                        return;
     508                    }
     509                    else
     510                    {
     511                        removeDummyLine(); return;
     512                    }
     513                }
     514               
    497515
    498516                if (selectedConnector == null && e.connector.Model.Outgoing)
     
    510528        {
    511529            UserContentWrapper.SelectedItem = null;
    512 
     530           
     531        }
     532
     533        void WorkSpaceEditorView_MouseLeave(object sender, MouseEventArgs e)
     534        {
     535            if (this.State == EditorState.READY)
     536            {
     537                this.selectedPluginContainer = null;
     538            }
     539        }
     540
     541        private void removeDummyLine()
     542        {
    513543            if (this.State == EditorState.READY)
    514544            {
     
    517547            }
    518548        }
    519 
    520         void WorkSpaceEditorView_MouseLeave(object sender, MouseEventArgs e)
    521         {
    522             if (this.State == EditorState.READY)
    523             {
    524                 this.selectedPluginContainer = null;
    525             }
    526         }     
    527 
    528 
    529549
    530550        void shape_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
     
    666686            newPluginContainerView.MouseLeftButtonDown += new MouseButtonEventHandler(shape_MouseLeftButtonDown);
    667687            newPluginContainerView.MouseLeftButtonUp += new MouseButtonEventHandler(shape_MouseLeftButtonUp);
     688            newPluginContainerView.ReleaseDummyLine += new EventHandler(newPluginContainerView_ReleaseDummyLine);
    668689            newPluginContainerView.SetPosition(model.Position);
    669690            this.root.Children.Add(newPluginContainerView);
  • trunk/CrypPlugins/WorkspaceManager/WorkspaceManager.cs

    r2580 r2598  
    6464        public WorkspaceManager()
    6565        {
     66            Properties.Settings.Default.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(Default_PropertyChanged);
    6667            Settings = new WorkspaceManagerSettings(this);
    6768            WorkspaceModel = new WorkspaceModel();
     
    6970            WorkspaceSpaceEditorView = new WorkSpaceEditorView(WorkspaceModel);
    7071            HasChanges = false;                               
     72        }
     73
     74        void Default_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
     75        {
     76            if(e.PropertyName == "EditScale")
     77            {
     78                if (OnZoomChanged != null)
     79                    OnZoomChanged.Invoke(this, new ZoomChanged() { Value = Properties.Settings.Default.EditScale });
     80            }
    7181        }
    7282
     
    823833
    824834        #endregion
     835
     836
     837        public double GetZoom()
     838        {
     839            return Properties.Settings.Default.EditScale;
     840        }
     841
     842        public void Zoom(double value)
     843        {
     844            Properties.Settings.Default.EditScale = value;
     845        }
     846
     847        public void FitToScreen()
     848        {
     849            this.WorkspaceSpaceEditorView.Dispatcher.Invoke(DispatcherPriority.Normal, (SendOrPostCallback)delegate
     850            {
     851                this.WorkspaceSpaceEditorView.FitToScreen();
     852            }
     853            , null);
     854        }
     855
     856       
     857
     858        public event EventHandler<ZoomChanged> OnZoomChanged;
    825859    }
    826860}
  • trunk/CrypStartup/App.xaml.cs

    r2181 r2598  
    1515        private void Application_Startup(object sender, StartupEventArgs e)
    1616        {
     17            long x, y;
     18            x = DateTime.Now.Ticks;
    1719            Cryptool.CrypWin.MainWindow wnd = new Cryptool.CrypWin.MainWindow();
    1820            try
     
    2426                //This window has already been closed
    2527            }
     28            y = DateTime.Now.Ticks - x;
     29            Console.WriteLine(y.ToString());
    2630        }
    2731    }
Note: See TracChangeset for help on using the changeset viewer.