public void FirstRectangle_ShouldContainCenter(Point center, Size rectangleSize) { Layouter = new DenseRandomTagsCloudLayouter(center); var rectangle = Layouter.PutNextRectangle(rectangleSize); rectangle.Should().Match <Rectangle>(r => r.Contains(center)); }
public VisualizatorConfiguration( ITagsCloudLayouter layouter, ITagsWrapper wrapper, IEnumerable <ITagsDecorator> decorators, IEnumerable <IBackgroundDecorator> backgroundDecorators ) { Layouter = layouter; Wrapper = wrapper; Decorators = decorators; BackgroundDecorators = backgroundDecorators; }
private static void Main(string[] args) { var builder = new ContainerBuilder(); builder.RegisterModule(new TagsCloudModule()); var container = builder.Build(); Parser.Default.ParseArguments <InputOptions>(args).WithParsed(opts => { ITagsCloudLayouter selectedLayouter = default; ITagsCloudRenderer selectedRenderer = default; IFilter[] selectedFilters = default; if (DetermineLayouter(opts, container) .Then(layouter => selectedLayouter = layouter) .Then(layouter => DetermineRenderer(opts, container)) .Then(renderer => selectedRenderer = renderer) .Then(renderer => DetermineFilters(opts, container)) .Then(filters => { selectedFilters = filters; var wordsLoader = container.Resolve <WordsLoader>(); return(wordsLoader.LoadWords(opts.InputFile)); }) .Then(words => { var wordsFilterer = container.Resolve <WordsFilterer>(new NamedParameter("filters", selectedFilters)); return(wordsFilterer.FilterWords(words)); }) .Then(filteredWords => { var tagCloud = container.Resolve <TagsCloudGenerator>( new NamedParameter("layouter", selectedLayouter), new NamedParameter("renderer", selectedRenderer)); return(tagCloud.GenerateCloud(filteredWords)); }) .Then(image => { var imageSaveHelper = container.Resolve <ImageSaveHelper>(); return(imageSaveHelper.SaveTo(image, opts.OutputFile)); }) .OnFail(msg => Console.Error.WriteLine(msg)) .IsSuccess) { Console.WriteLine("OK"); } }); Console.WriteLine("Press any key to exit..."); Console.ReadKey(); }
private void PrepareLayoutersMenu() { ComboBoxLayouters.ItemsSource = knownLayouters.OrderBy(l => l.GetType().Name).Select(layouter => new KeyValuePair <ITagsCloudLayouter, string>(layouter, layouter.GetType().Name)); ComboBoxLayouters.DisplayMemberPath = "Value"; ComboBoxLayouters.SelectionChanged += (sender, e) => { if (sender is ComboBox comboBox && comboBox.SelectedValue is KeyValuePair <ITagsCloudLayouter, string> kv) { selectedLayouter = kv.Key; } if (selectedLayouter == null) { return; } FillPropertiesPanel(selectedLayouter, LayouterSettingsPanel); }; ComboBoxLayouters.SelectedIndex = 0; }
public TagsCloudGenerator(ITagsCloudLayouter layouter, ITagsCloudRenderer renderer) { this.layouter = layouter; this.renderer = renderer; }
public TagsCloudCreator(ITagsCloudLayouter layouter, IWordHandler wordHandler, WordConverter wordConverter) { Layouter = layouter; WordHandler = wordHandler; WordConverter = wordConverter; }
public void SetUp() { Layouter = new DenseRandomTagsCloudLayouter(new Point(0, 0)); }
public TagsCloudGenerator(IWordsSizer wordsSizer, ITagsCloudLayouter layouter) { this.layouter = layouter; this.wordsSizer = wordsSizer; }