示例#1
0
        private void Compile()
        {
            var diagramArguments = new DiagramArguments(inputTextBox.Text, DiagramType.Sequence, (DiagramStyle)styleComboBox.SelectedItem, debugCheckBox.Checked);
            var diagramResult    = DiagramFactory.Create(diagramArguments);

            ProcessResult(diagramResult);
        }
        public ActionResult Create(string source, string type, string style = c_StyleDefault)
        {
            var diagramSource = Server.UrlDecode(source);

            DiagramType diagramType;

            if (type == null || !s_TypeMappings.TryGetValue(type, out diagramType))
            {
                return(new HttpStatusCodeResult(400, string.Format("Invalid value '{0}' for parameter 'type'.", type)));
            }

            DiagramStyle diagramStyle;

            if (style == null || !s_StyleMappings.TryGetValue(style, out diagramStyle))
            {
                return(new HttpStatusCodeResult(400, string.Format("Invalid value '{0}' for parameter 'style'.", style)));
            }

            var diagramArguments = new DiagramArguments(diagramSource, diagramType, diagramStyle);

            using (var diagramResult = DiagramFactory.Create(diagramArguments))
            {
                var id = Guid.NewGuid().ToString();

                SaveImage(diagramResult, id);

                return(CreateResult(diagramResult, id));
            }
        }
示例#3
0
        /// <summary>
        /// Initialize editor - extensions and environment is loaded, event handlers hooked.
        /// </summary>
        internal void Initialize()
        {
            _settings   = new MachineSettings(true);
            _machine    = new Machine(_settings);
            _guiManager = new GUIManager(GUI, _vs);

            //try to load users extensions
            Exception loadingException = null;

            try
            {
                //install recommended extensions if required
                if (Installer.NeedInstall())
                {
                    Installer.Install();
                }
            }
            catch (Exception ex)
            {
                loadingException = ex;
            }

            try
            {
                loadUserExtensions();
                _settings.Runtime.BuildAssembly();
            }
            catch (Exception ex)
            {
                loadingException = ex;
            }

            //try to initialize gui manager
            try
            {
                var factory = new DiagramFactory(_joinFactory, _connectorFactories, _contentDrawers);
                _guiManager.Initialize(_loader.AppDomain, factory);

                if (loadingException != null)
                {
                    //we can report failing loading now
                    var entry = _vs.LogException(loadingException, "Loading user extensions failed with exception");
                    _guiManager.DisplayEntry(entry);
                }
            }
            catch (Exception ex)
            {
                loadingException = ex;
                _vs.LogException(ex, "GUI initialization failed");
            }

            //hook handlers if loading was successful
            if (loadingException == null)
            {
                hookHandlers();
                _vs.Log.Message("EDITOR INITIALIZED");
            }
        }
        private string GenetareImage(string source, string testCaseName, DiagramStyle diagramStyle)
        {
            var arguments = new DiagramArguments(source, DiagramType.Sequence, diagramStyle);
            var result    = DiagramFactory.Create(arguments);

            using (result)
            {
                string filename = testCaseName + ".png";
                result.Image.Save(diagramStyle + "\\" + filename, ImageFormat.Png);
                return(filename);
            }
        }
示例#5
0
        public ManagementRapportenViewModel(IManagementRapportenRepository repo)
        {
            Repository     = repo;
            StartDate      = DateTime.Now;
            EndDate        = DateTime.Now;
            DiagramFactory = new DiagramFactory();
            Diagrams       = new ObservableCollection <IDiagram>(DiagramFactory.DiagramNames);

            GenerateDiagramCommand = new RelayCommand(GenerateDiagram);
            NavigateBackCommand    = new RelayCommand(NavigateBack);
            ComboBox1List          = new List <string>();
            BoolsList = new [] { _date, _klant, _opdracht, _locatie, _inspecteur, _manager, _functie, _antwoord, _status };
        }
 /// <summary>
 /// Creates a new instance of <see cref="ProjectManager"/>.
 /// </summary>
 /// <param name="dialogHostFactory">A factory that returns a <see cref="DialogHostBase"/>.</param>
 /// <param name="diagramFactoryFactory">A factory that returns an <see cref="DiagramFactory"/>.</param>
 /// <param name="libraryManagerFactory">A factory that returns an <see cref="ILibraryManager"/>.</param>
 /// <param name="projectFileServiceFactory">A factory that returns a <see cref="IProjectFileService"/>.</param>
 /// <param name="nodeServiceProviderFactory">A factory that returns a <see cref="NodeServiceProvider"/>.</param>
 public ProjectManager(
     Func <DialogHostBase> dialogHostFactory,
     Func <DiagramFactory> diagramFactoryFactory,
     Func <ILibraryManager> libraryManagerFactory,
     Func <IProjectFileService> projectFileServiceFactory,
     Func <ITransactor> transactorFactory,
     Func <NodeServiceProvider> nodeServiceProviderFactory)
 {
     _dialogHost          = dialogHostFactory();
     _libraryManager      = libraryManagerFactory();
     _projectFileService  = projectFileServiceFactory();
     _transactor          = transactorFactory();
     _diagramFactory      = diagramFactoryFactory();
     _nodeServiceProvider = nodeServiceProviderFactory();
     _nodeServiceProvider.RegisterService <IProjectManager>(this);
     _transactor.Transacted += DirtyProject;
 }
示例#7
0
        internal void Run(Options opts)
        {
            var arguments = new DiagramArguments(opts.Model, DiagramType.Class, DiagramStyle.Sketchy);
            var result    = DiagramFactory.Create(arguments);

            if (result.Errors.Count() != 0)
            {
                foreach (var de in result.Errors)
                {
                    Console.Error.WriteLine(string.Format("{0}: {1}", de.Message, de.TokenValue));
                }
                return;
            }

            using (result)
            {
                ImageFormat format;
                switch (opts.Format.ToLowerInvariant())
                {
                case "png":
                    format = ImageFormat.Png;
                    break;

                case "bmp":
                    format = ImageFormat.Bmp;
                    break;

                case "jpeg":
                    format = ImageFormat.Jpeg;
                    break;

                default:
                    throw new ArgumentException("unknown format: " + opts.Format);
                }
                result.Image.Save(opts.FileName, format);
            }
        }
示例#8
0
        /// <summary>
        /// Proces showing form with discovered drawings
        /// </summary>
        private void showDrawings()
        {
            var form = new TestForm();

            //default drawers
            _assembly.RegisterDrawing <ComponentDrawing>(""); //define default drawer
            _assembly.RegisterDrawing <CompositionContainerDrawing>("CompositionTester");
            _assembly.RegisterDrawing <CompositionContainerDrawing>("System.ComponentModel.Composition.Hosting.CompositionContainer");
            _assembly.RegisterDrawing <CompositionBatchDrawing>("System.ComponentModel.Composition.Hosting.CompositionBatch");
            _assembly.RegisterDrawing <DirectoryCatalogDrawing>("System.ComponentModel.Composition.Hosting.DirectoryCatalog");
            _assembly.RegisterDrawing <AggregateCatalogDrawing>("System.ComponentModel.Composition.Hosting.AggregateCatalog");
            _assembly.RegisterDrawing <TypeCatalogDrawing>("System.ComponentModel.Composition.Hosting.TypeCatalog");
            _assembly.RegisterDrawing <AssemblyCatalogDrawing>("System.ComponentModel.Composition.Hosting.AssemblyCatalog");

            var factory = new DiagramFactory(_assembly.RegisteredDrawers);

            _guiManager = new GUIManager(form.GUI);
            _guiManager.Initialize(_assembly.AppDomain, factory);
            _guiManager.CompositionPointSelected += onCompositionPointSelected;
            displayDiagram(_diagramDefinition);

            form.Show();
            Dispatcher.Run();
        }