public graphWindow(designGraph dg, CanvasProperty canvasProperties, string filename, string title) { /* the following is common to all GS window types. */ InitializeComponent(); Owner = main; ShowInTaskbar = false; foreach (CommandBinding cb in main.CommandBindings) { CommandBindings.Add(cb); graphGUI.CommandBindings.Add(cb); } foreach (InputBinding ib in main.InputBindings) { InputBindings.Add(ib); graphGUI.InputBindings.Add(ib); } /***************************************************/ graph = graphGUI.graph = dg; graphGUI.ScrollOwner = scrollViewer1; canvasProps = canvasProperties ?? new CanvasProperty(); canvasProps.AddGUIToControl(graphGUI); AdoptWindowWideCanvasProperties(); this.filename = !string.IsNullOrEmpty(filename) ? filename : "Untitled"; Title = !string.IsNullOrEmpty(title) ? title : Path.GetFileNameWithoutExtension(this.filename); graphGUI.InitDrawGraph(); txtGlobalVariables.Text = DoubleCollectionConverter.Convert(graph.globalVariables); txtGlobalLabels.Text = StringCollectionConverter.Convert(graph.globalLabels); }
public void NewGraph_ClickOnExecuted(object sender, ExecutedRoutedEventArgs e) { var canvas = TemplatePickerWindow.ShowWindowDialog(); if (canvas == null) { canvas = new CanvasProperty(); } var gW = new graphWindow(canvas); windowsMgr.AddandShowWindow(gW); }
public static string SerializeCanvasToXml(CanvasProperty canvas) { /* any negative values in CanvasWidth are reset to zero s.t. there are not problems in * re-opening the canvas. */ canvas.CanvasWidth = new Thickness(Math.Max(0.0, canvas.CanvasWidth.Left), Math.Max(0.0, canvas.CanvasWidth.Top), Math.Max(0.0, canvas.CanvasWidth.Right), Math.Max(0.0, canvas.CanvasWidth.Bottom)); var xmlString = XamlWriter.Save(canvas); var startOfResources = xmlString.IndexOf("<CanvasProperty.Resources>"); var endOfResources = xmlString.LastIndexOf("</CanvasProperty>"); xmlString = xmlString.Remove(startOfResources, (endOfResources - startOfResources)); return(xmlString); }
public void SetActiveAsSeedOnExecuted(object sender, ExecutedRoutedEventArgs e) { var activeWin = windowsMgr.activeWindow; var activeGD = ((graphWindow)activeWin).graphGUI; if ((GSApp.settings.seed == null) || (GSApp.settings.seed == activeGD.graph) || (MessageBoxResult.Yes == MessageBox.Show("The graph " + GSApp.settings.seed.name + " is already loaded as the seed." + " Replace it with the active graph?", "Seed already defined.", MessageBoxButton.YesNo, MessageBoxImage.Information))) { GSApp.settings.seed = activeGD.graph; GSApp.settings.DefaultSeedFileName = ((graphWindow)activeWin).filename; SeedCanvas = ((graphWindow)activeWin).canvasProps; } }
public void NewGrammarRule_ClickOnExecuted(object sender, ExecutedRoutedEventArgs e) { try { /// /// a temporary fix until we phase out UI.UICanvas var canvas = TemplatePickerWindow.ShowWindowDialog(); if (canvas == null) { canvas = new CanvasProperty(); } var rW = new ruleWindow(canvas); windowsMgr.AddandShowWindow(rW); } catch (Exception exc) { ErrorLogger.Catch(exc); } }
private void OpenTemplateFromFile() { var filename = ""; var fileChooser = new OpenFileDialog { Title = "Open a canvas template stored in another file.", InitialDirectory = GSApp.settings.WorkingDirAbsolute, Filter = "GraphSynth files|*.gxml;*.grxml;*.rsxml|All xml files|*.xml;*.xaml" }; if ((Boolean)fileChooser.ShowDialog()) { filename = fileChooser.FileName; } if (filename.Length > 0) { try { var cp = ((WPFFiler)GSApp.settings.filer).LoadCanvasProperty(XElement.Load(filename)); string key = null; if (cp != null) { Value = cp; key = "from=>" + Path.GetFileNameWithoutExtension(filename); if (!Application.Current.Resources.MergedDictionaries[1].Contains(key)) { var xamlString = "<DataTemplate>" + CanvasProperty.SerializeCanvasToXml(cp) + "</DataTemplate>"; var dt = (DataTemplate)MyXamlHelpers.Parse(xamlString); Application.Current.Resources.MergedDictionaries[1].Add(key, dt); } } //} ReadInTemplates(key); } catch (Exception exc) { ErrorLogger.Catch(exc); } } }
private void listBoxOfTemplates_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (listBoxOfTemplates.Items.Count == 0) { return; } var selected = ((ListBoxItem)listBoxOfTemplates.SelectedItem).Tag.ToString(); if (selected.Equals("openTemplate")) { OpenTemplateFromFile(); } else { var dt = (DataTemplate)Application.Current.Resources[selected]; if (dt != null) { Value = (CanvasProperty)dt.LoadContent(); RaiseValueChangedEvent(); } } }
public ruleWindow(grammarRule gr, CanvasProperty canvasProperties, string filename, string title) { /* the following is common to all GS window types. */ InitializeComponent(); Owner = main; graphCanvasK.ScrollOwner = scrollViewerK; graphCanvasL.ScrollOwner = scrollViewerL; graphCanvasR.ScrollOwner = scrollViewerR; ShowInTaskbar = false; foreach (CommandBinding cb in main.CommandBindings) { CommandBindings.Add(cb); graphCanvasK.CommandBindings.Add(cb); graphCanvasL.CommandBindings.Add(cb); graphCanvasR.CommandBindings.Add(cb); } foreach (InputBinding ib in main.InputBindings) { InputBindings.Add(ib); graphCanvasK.InputBindings.Add(ib); graphCanvasL.InputBindings.Add(ib); graphCanvasR.InputBindings.Add(ib); } /***************************************************/ rule = gr; this.filename = !string.IsNullOrEmpty(filename) ? filename : "Untitled"; Title = !string.IsNullOrEmpty(title) ? title : Path.GetFileNameWithoutExtension(this.filename); canvasProps = canvasProperties; canvasProps.AddGUIToControl(graphCanvasK); canvasProps.AddGUIToControl(graphCanvasL); canvasProps.AddGUIToControl(graphCanvasR); AdoptWindowWideCanvasProperties(); InitDrawRule(); }
public graphWindow(designGraph dg, CanvasProperty canvasProperties, string filename) : this(dg, canvasProperties, filename, Path.GetFileNameWithoutExtension(filename)) { }
public graphWindow(designGraph dg, CanvasProperty canvasProperties) : this(dg, canvasProperties, "Untitled") { }
public graphWindow(CanvasProperty canvasProperties) : this(new designGraph(), canvasProperties) { }
private void btnCancel_Click(object sender, RoutedEventArgs e) { Value = null; Close(); }
public void addAndShowRuleWindow(object obj, string title = null) { var gR = new grammarRule(); var canvas = new CanvasProperty(); string filename = null; if (obj == null) { gR = null; } else if (obj is grammarRule) { gR = (grammarRule)obj; } else if (obj is object[]) { var objArray = (object[])obj; if (objArray.GetLength(0) > 0) { if (objArray[0] is grammarRule) { gR = (grammarRule)objArray[0]; } else if (objArray[0] is CanvasProperty) { canvas = (CanvasProperty)objArray[0]; } else if (objArray[0] is string) { filename = (string)objArray[0]; } } if (objArray.GetLength(0) > 1) { if (objArray[1] is grammarRule) { gR = (grammarRule)objArray[1]; } else if (objArray[1] is CanvasProperty) { canvas = (CanvasProperty)objArray[1]; } else if (objArray[1] is string) { filename = (string)objArray[1]; } } if (objArray.GetLength(0) > 2) { if (objArray[2] is grammarRule) { gR = (grammarRule)objArray[2]; } else if (objArray[2] is CanvasProperty) { canvas = (CanvasProperty)objArray[2]; } else if (objArray[2] is string) { filename = (string)objArray[2]; } } } if (!windowsMgr.FindAndFocusFileInCollection(filename, WindowType.Rule)) { var rW = new ruleWindow(gR, canvas, filename, title); windowsMgr.AddandShowWindow(rW); } }
public ruleWindow(grammarRule gr, CanvasProperty canvasProperties, string filename) : this(gr, canvasProperties, filename, Path.GetFileNameWithoutExtension(filename)) { }
public ruleWindow(grammarRule gr, CanvasProperty canvasProperties) : this(gr, canvasProperties, "Untitled") { }
public ruleWindow(CanvasProperty canvasProperties) : this(new grammarRule(), canvasProperties) { }