/// <inheritdoc/> public async void OnImportData(IProjectContainer project) { var dlg = new OpenFileDialog() { Title = "Open" }; dlg.Filters.Add(new FileDialogFilter() { Name = "Csv", Extensions = { "csv" } }); dlg.Filters.Add(new FileDialogFilter() { Name = "All", Extensions = { "*" } }); var result = await dlg.ShowAsync(_serviceProvider.GetService <MainWindow>()); if (result != null) { _serviceProvider.GetService <ProjectEditor>().OnImportData(project, result.FirstOrDefault()); } }
/// <summary> /// Set shape style. /// </summary> /// <param name="project">The project instance.</param> /// <param name="shape">The shape instance.</param> /// <param name="style">The style instance.</param> public static void ApplyStyle(this IProjectContainer project, IBaseShape shape, IShapeStyle style) { if (shape != null && style != null) { if (shape is IGroupShape group) { var shapes = ProjectContainer.GetAllShapes(group.Shapes); foreach (var child in shapes) { var previous = child.Style; var next = (IShapeStyle)style.Copy(null); project?.History?.Snapshot(previous, next, (p) => child.Style = p); child.Style = next; } } else { var previous = shape.Style; var next = (IShapeStyle)style.Copy(null); project?.History?.Snapshot(previous, next, (p) => shape.Style = p); shape.Style = next; } } }
/// <inheritdoc/> public async void OnImportData(IProjectContainer project) { var editor = _serviceProvider.GetService <IProjectEditor>(); var dlg = new OpenFileDialog() { Title = "Open" }; foreach (var reader in editor?.TextFieldReaders) { dlg.Filters.Add(new FileDialogFilter() { Name = reader.Name, Extensions = { reader.Extension } }); } dlg.Filters.Add(new FileDialogFilter() { Name = "All", Extensions = { "*" } }); var result = await dlg.ShowAsync(_serviceProvider.GetService <MainWindow>()); if (result != null) { var path = result.FirstOrDefault(); if (path == null) { return; } string ext = System.IO.Path.GetExtension(path).ToLower().TrimStart('.'); var reader = editor.TextFieldReaders.Where(w => string.Compare(w.Extension, ext, StringComparison.OrdinalIgnoreCase) == 0).FirstOrDefault(); if (reader != null) { editor.OnImportData(project, path, reader); } } }
private IPageContainer CreateDefaultTemplate(IContainerFactory containerFactory, IProjectContainer project, string name) { var factory = _serviceProvider.GetService <IFactory>(); var template = containerFactory.GetTemplate(project, name); template.IsGridEnabled = true; template.IsBorderEnabled = true; template.GridOffsetLeft = 30.0; template.GridOffsetTop = 30.0; template.GridOffsetRight = -30.0; template.GridOffsetBottom = -30.0; template.GridCellWidth = 30.0; template.GridCellHeight = 30.0; template.GridStrokeColor = factory.CreateArgbColor(0xFF, 0xDE, 0xDE, 0xDE); template.GridStrokeThickness = 1.0; return(template); }
public ProjectsController(IProjectContainer pContainer, IUsersContainer uContainer) { this._pContainer = pContainer; this._uContainer = uContainer; }
/// <inheritdoc/> void IProjectExporter.Save(string path, IProjectContainer project) { throw new NotSupportedException("Saving projects as png drawing is not supported."); }
/// <summary> /// Add group. /// </summary> /// <param name="project">The project instance.</param> /// <param name="library">The group library instance.</param> /// <param name="group">The group instance.</param> public static void AddGroup(this IProjectContainer project, ILibrary <IGroupShape> library, IGroupShape group) { AddItem(project, library, group); }
/// <summary> /// Add style. /// </summary> /// <param name="project">The project instance.</param> /// <param name="library">The style library instance.</param> /// <param name="style">The style instance.</param> public static void AddStyle(this IProjectContainer project, ILibrary <IShapeStyle> library, IShapeStyle style) { AddItem(project, library, style); }
/// <summary> /// Creates a new instance of the <see cref="PageContainer"/> class. /// </summary> /// <param name="containerFactory">The container factory.</param> /// <param name="project">The new container owner project.</param> /// <param name="name">The new container name.</param> /// <returns>The new instance of the <see cref="PageContainer"/>.</returns> private IPageContainer CreateGridTemplate(IContainerFactory containerFactory, IProjectContainer project, string name) { var factory = _serviceProvider.GetService <IFactory>(); var template = containerFactory.GetTemplate(project, name); var style = project .StyleLibraries.FirstOrDefault(g => g.Name == "Template") .Items.FirstOrDefault(s => s.Name == "Grid"); var layer = template.Layers.FirstOrDefault(); var builder = layer.Shapes.ToBuilder(); var grid = factory.CreateRectangleShape( 0, 0, template.Width, template.Height, style, project.Options.PointShape); grid.IsStroked = true; grid.IsFilled = false; grid.IsGrid = true; grid.OffsetX = 30.0; grid.OffsetY = 30.0; grid.CellWidth = 30.0; grid.CellHeight = 30.0; grid.State.Flags &= ~ShapeStateFlags.Printable; builder.Add(grid); layer.Shapes = builder.ToImmutable(); return(template); }
/// <inheritdoc/> public void Save(Stream stream, IProjectContainer project) { throw new NotSupportedException("Saving projects as webp drawing is not supported."); }
public SubtasksController(ISubtasksContainer subtasksContainer, IProjectContainer projectsContainer) { this._subtasksContainer = subtasksContainer; this._pContainer = projectsContainer; }
private IPageContainer CreateDefaultTemplate(IContainerFactory containerFactory, IProjectContainer project, string name) { var factory = _serviceProvider.GetService <IFactory>(); var template = containerFactory.GetTemplate(project, name); var style = factory.CreateShapeStyle("Default", 255, 222, 222, 222, 255, 222, 222, 222, 1.0); var layer = template.Layers.FirstOrDefault(); var builder = layer.Shapes.ToBuilder(); var grid = factory.CreateRectangleShape( 30.0, 30.0, template.Width - 30.0, template.Height - 30.0, style); grid.IsStroked = true; grid.IsFilled = false; grid.IsGrid = true; grid.OffsetX = 30.0; grid.OffsetY = 30.0; grid.CellWidth = 30.0; grid.CellHeight = 30.0; grid.State.Flags &= ~ShapeStateFlags.Printable; builder.Add(grid); layer.Shapes = builder.ToImmutable(); return(template); }
public NotesController(INotesContainer nContainer, IProjectContainer pContainer) { this._nContainer = nContainer; this._pContainer = pContainer; }