Ejemplo n.º 1
0
        private void NewDrawing()
        {
            //Drawing
            DynamicGeometry.DrawingHost drawingHost = new DynamicGeometry.DrawingHost();
            drawingHost.Ribbon.Visibility = System.Windows.Visibility.Collapsed;
            // Add Behaviors
            var behaviors = Behavior.LoadBehaviors(typeof(Dragger).Assembly);

            Behavior.Default = behaviors.First(b => b is Dragger);
            foreach (var behavior in behaviors)
            {
                drawingHost.AddToolButton(behavior);
            }
            var firstDocumentPane = dockManager.Layout.Descendents().OfType <LayoutDocumentPane>().FirstOrDefault();

            if (firstDocumentPane != null)
            {
                LayoutDocument doc = new LayoutDocument();
                doc.Title = "Drawing" + drawingCount;
                drawingCount++;
                doc.Content = drawingHost;
                firstDocumentPane.Children.Add(doc);
            }
            dockManager.UpdateLayout();
            this.DrawingHost = drawingHost;
        }
Ejemplo n.º 2
0
        private void AddBehaviors()
        {
            var behaviors = Behavior.LoadBehaviors(typeof(Dragger).Assembly);

            Behavior.Default = behaviors.First(b => b is Dragger);
            foreach (var behavior in behaviors)
            {
                DrawingHost.AddToolButton(behavior);
            }
        }
Ejemplo n.º 3
0
 void InitializeCommands()
 {
     DrawingHost.AddToolbarButton(DrawingHost.CommandToggleGrid);
     DrawingHost.AddToolbarButton(DrawingHost.CommandToggleOrtho);
     DrawingHost.AddToolbarButton(DrawingHost.CommandToggleSnapToGrid);
     DrawingHost.AddToolbarButton(DrawingHost.CommandToggleSnapToPoint);
     DrawingHost.AddToolbarButton(DrawingHost.CommandToggleSnapToCenter);
     DrawingHost.AddToolbarButton(DrawingHost.CommandToggleLabelNewPoints);
     DrawingHost.AddToolbarButton(DrawingHost.CommandTogglePolar);
 }
Ejemplo n.º 4
0
        public virtual void Execute()
        {
            if (Implementation != null)
            {
                Implementation();
            }
#if !PLAYER
            if (DrawingHost != null)
            {
                DrawingHost.RaiseCommandExecuted(this);
            }
#endif
        }
Ejemplo n.º 5
0
 public Ribbon(DrawingHost drawingHost)
 {
     DrawingHost = drawingHost;
     Background  = new LinearGradientBrush()
     {
         StartPoint    = new Point(0, 0),
         EndPoint      = new Point(0, 1),
         GradientStops = new GradientStopCollection()
         {
             new GradientStop()
             {
                 Offset = 0.9,
                 Color  = Colors.White
             },
             new GradientStop()
             {
                 Offset = 1,
                 Color  = Color.FromArgb(255, 230, 230, 230)
             }
         }
     };
 }
Ejemplo n.º 6
0
 private void dockManager_ActiveContentChanged(object sender, EventArgs e)
 {
     // Nếu tab chứa nội dung là Drawing
     //var firstDocumentPane = dockManager.Layout.Descendents().OfType<LayoutDocumentPane>().FirstOrDefault();
     //if (firstDocumentPane != null)
     //{
     //    var activeContent = firstDocumentPane.SelectedContent.Content as DrawingHost;
     //    if (activeContent.CurrentDrawing != null)
     //    MessageBox.Show(activeContent.CurrentDrawing.Figures.Count.ToString());
     //}
     try
     {
         var activeContent = dockManager.ActiveContent as DrawingHost;
         if (activeContent.CurrentDrawing != null)
         {
             this.DrawingHost = activeContent;
             //MainToolbar.Drawing = activeContent.CurrentDrawing;
             this.DrawingHost.CurrentDrawing.SelectionChanged += CurrentDrawing_SelectionChanged;
         }
     }
     catch { }
 }
Ejemplo n.º 7
0
 public Ribbon(DrawingHost drawingHost)
 {
     DrawingHost = drawingHost;
     Background = new LinearGradientBrush()
     {
         StartPoint = new Point(0, 0),
         EndPoint = new Point(0, 1),
         GradientStops = new GradientStopCollection()
         {
             new GradientStop()
             {
                 Offset = 0.9,
                 Color = Colors.White
             },
             new GradientStop()
             {
                 Offset = 1,
                 Color = Color.FromArgb(255, 230, 230, 230)
             }
         }
     };
 }
Ejemplo n.º 8
0
        public void NewProject()
        {
            //Drawing
            DrawingHost = new DynamicGeometry.DrawingHost();
            DrawingHost.Ribbon.Visibility = System.Windows.Visibility.Collapsed;
            // Add Behaviors
            var behaviors = Behavior.LoadBehaviors(typeof(Dragger).Assembly);

            Behavior.Default = behaviors.First(b => b is Dragger);
            foreach (var behavior in behaviors)
            {
                DrawingHost.AddToolButton(behavior);
            }
            var firstDocumentPane = dockManager.Layout.Descendents().OfType <LayoutDocumentPane>().FirstOrDefault();

            if (firstDocumentPane != null)
            {
                LayoutDocument doc = new LayoutDocument();
                doc.Title = "Drawing" + drawingCount;
                drawingCount++;
                doc.Content = DrawingHost;
                firstDocumentPane.Children.Add(doc);
            }

            //Project Explorer
            var projectExplorer  = dockManager.Layout.Descendents().OfType <LayoutAnchorablePane>().LastOrDefault();
            var rightAnchorgroup = dockManager.Layout.Descendents().OfType <LayoutAnchorablePaneGroup>().FirstOrDefault();

            if (projectExplorer != null)
            {
                // Tạo 2 LayoutAnchorablePane
                LayoutAnchorablePane l1 = new LayoutAnchorablePane();
                LayoutAnchorablePane l2 = new LayoutAnchorablePane();

                LayoutAnchorable doc = new LayoutAnchorable();

                ICSharpCode.TreeView.SharpTreeView projectTree = new ICSharpCode.TreeView.SharpTreeView()
                {
                    AllowDrop = true, AllowDropOrder = true
                };
                ICSharpCode.ILSpy.ContextMenuProvider.Add(projectTree);
                //App.CompositionContainer.ComposeParts(this);

                projectTree.SelectionChanged += projectTree_SelectionChanged;
                projectTree.MouseDoubleClick += projectTree_MouseDoubleClick;

                // Dữ liệu ban đầu
                BridgesList brl = new BridgesList()
                {
                    Name = "Bridges List"
                };
                BridgeProject.Items.Bridge br = new BridgeProject.Items.Bridge()
                {
                    Name = "Bridge 1"
                };
                //Substructures sub1 = new Substructures();
                //br.Substructures = sub1;

                BridgeProject.Items.Bridge br2 = new BridgeProject.Items.Bridge()
                {
                    Name = "Bridge 2"
                };
                brl.Children.Add(br, br2);

                BridgeListNode n = new BridgeListNode(brl);
                foreach (Bridge b in brl.Children)
                {
                    BridgeNode n1 = new BridgeNode(b)
                    {
                        Text = b.Name
                    };
                    n.Children.Add(n1);

                    SubstructuresNode subNode = new SubstructuresNode(b.Substructures);
                    n1.Children.Add(subNode);

                    AbutmentsListNode abutsNode = new AbutmentsListNode(b.Substructures.Abutments);
                    subNode.Children.Add(abutsNode);

                    PiersListNode piersNode = new PiersListNode(b.Substructures.Piers);
                    subNode.Children.Add(piersNode);

                    foreach (Abutment a in b.Substructures.Abutments.Children)
                    {
                        AbutmentNode abn = new AbutmentNode(a);
                        abutsNode.Children.Add(abn);
                    }

                    foreach (Pier p in b.Substructures.Piers.Children)
                    {
                        PierNode abn = new PierNode(p);
                        piersNode.Children.Add(abn);
                    }
                }

                projectTree.Root = n;
                //

                doc.Content   = projectTree;
                doc.Title     = "Project Explorer";
                doc.ContentId = "projectExplorer";

                l1.Children.Add(doc);

                // PropertyGrid
                PropertyGridHost = new DynamicGeometry.PropertyGridHost();
                PropertyGrid     = new ChristianMoser.WpfInspector.UserInterface.Controls.PropertyGrid()
                {
                    VerticalAlignment = System.Windows.VerticalAlignment.Stretch,
                    ShowMethod        = true,
                };
                PropertyGridHost.Children.Add(PropertyGrid);
                LayoutAnchorable prop = new LayoutAnchorable();
                prop.Content = PropertyGridHost;

                prop.ContentId = "propertyGrid";
                prop.Title     = "Properties";
                l2.Children.Add(prop);

                rightAnchorgroup.Children.Add(l1);
                rightAnchorgroup.Children.Add(l2);

                //
                //var pe = dockManager.Layout.Descendents().OfType<LayoutAnchorable>().Single(a => a.ContentId == "projectExplorer");
                //var tree = pe.Content as BridgeFS.Controls.Project;
                //if (tree != null)
                //{
                //    //MessageBox.Show(tree.TreeView.ToString() + "xx");
                //    Binding b = new Binding();
                //    b.Source = tree.TreeView;
                //    //b.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
                //    b.Path = new PropertyPath(TreeViewItemChangedMvvm.ViewModelUtils.TreeViewHelper.SelectedItemProperty);
                //    this.PropertyGrid.SetBinding(ChristianMoser.WpfInspector.UserInterface.Controls.PropertyGrid.SelectedObjectProperty, b);
                //}
            }
            dockManager.UpdateLayout();
            //MainToolbar.Drawing = DrawingHost.CurrentDrawing;
            //DrawingHost.CurrentDrawing.SelectionChanged += CurrentDrawing_SelectionChanged;
            dockManager.ActiveContentChanged += dockManager_ActiveContentChanged;
        }
Ejemplo n.º 9
0
        public Page(IDictionary<string, string> initParams)
        {
            System.Windows.Threading.SmartDispatcher.Initialize();
            initParseWorker();

            UseLayoutRounding = true;

            MEFHost.Instance.RegisterExtensionAssemblyFromType<Page>();

            // this needs to be initialized first since subsequent calls
            // rely on having serializable settings already available
            DynamicGeometry.Settings.Instance = new IsolatedStorageBasedSettings();

            drawingHost = new DrawingHost();
            AddBehaviors();
            this.Content = drawingHost;

            drawingHost.AIDebugWindow.MakeUIDebugPublisher();
            UIDebugPublisher = GeometryTutorLib.UIDebugPublisher.getInstance();
            ProblemDrawer.create(drawingHost);

            InitParams = initParams;
            var settings = Application.Current.Host.Settings;
            if (Application.Current.IsRunningOutOfBrowser)
            {
                settings.EnableAutoZoom = false;
            }

            //settings.EnableGPUAcceleration = true;
            //settings.EnableRedrawRegions = true;
            //settings.EnableCacheVisualization = true;
            //settings.EnableFrameRateCounter = true;

            PageSettings = new Settings(this);
            if (initParams.ContainsKey("ShowToolbar"))
            {
                PageSettings.ShowToolbar = bool.Parse(initParams["ShowToolbar"]);
            }

            drawingHost.ReadyForInteraction += drawingHost_ReadyForInteraction;
            drawingHost.UnhandledException += drawingHost_UnhandledException;

            InitializeToolbar();

            this.KeyDown += Page_KeyDown;
            DownloadDemoFile();
            IsolatedStorage.LoadAllTools();
            IsolatedStorage.RegisterToolStorage();

            if (isolatedSettings.Contains("UserParseGroup"))
            {
                List<ParseGroup> userParseGroups = (List<ParseGroup>)isolatedSettings["UserParseGroup"];
                foreach (ParseGroup pg in userParseGroups)
                {
                    ParseGroup.AddParseGroup(pg.Name, pg.Assumptions);
                    UIDebugPublisher.publishString(pg.Name);
                }
            }

            parseOptionsWindow = new ParseOptionsWindow();
            parseOptionsWindow.Closed += new EventHandler(ParseOptionsWindow_Closed);
            manageGivensWindow = new ManageGivensWindow() { drawingHost = drawingHost };
            problemCharacteristicsWindow = new ProblemCharacteristicsWindow(manageGivensWindow);
            problemCharacteristicsWindow.Closed += new EventHandler(ProblemCharacteristicsWindow_Closed);
            enterSolutionWindow = new EnterSolutionWindow() { drawingHost = drawingHost };
            bookProblemWindow = new BookProblemWindow();
            bookProblemWindow.Closed += new EventHandler(DrawProblemWindow_Close);
            synthProblemWindow = new SynthesizeProblemWindow();
        }
Ejemplo n.º 10
0
 public Command(DrawingHost drawingHost, Action implementation, FrameworkElement icon, string name, string category)
     : this(implementation, icon, name, category)
 {
     DrawingHost = drawingHost;
 }