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; }
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); } }
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); }
public virtual void Execute() { if (Implementation != null) { Implementation(); } #if !PLAYER if (DrawingHost != null) { DrawingHost.RaiseCommandExecuted(this); } #endif }
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) } } }; }
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 { } }
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; }
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(); }
public Command(DrawingHost drawingHost, Action implementation, FrameworkElement icon, string name, string category) : this(implementation, icon, name, category) { DrawingHost = drawingHost; }