public ConceptUsecase CreateUseCase( ) { var vindow = new Vindow(); var mainform = vindow.Backend.ToSwf() as Form; Xwt.SwfBackend.SwfEngine.SwfApplicationContext.MainForm = mainform; Limaki.Iconerias.Iconery.Compose(); mainform.Icon = Limaki.View.Properties.GdiIconery.LimadaIcon; mainform.ClientSize = new System.Drawing.Size(800, 600); var backendComposer = new SwfConceptUseCaseComposer { MainWindow = vindow }; var factory = new UsecaseFactory <ConceptUsecase>(); factory.Composer = new ConceptUsecaseComposer(); factory.BackendComposer = backendComposer; var useCase = factory.Create(); useCase.MainWindow = vindow; factory.Compose(useCase); backendComposer.FinalizeCompose?.Invoke(); CallPlugins(factory, useCase); useCase.Start(); if (useCase.ApplicationQuitted) { Application.Exit(); Environment.Exit(0); } return(useCase); }
protected virtual IXwtBackendConceptUseCaseComposer CreateUseCase() { var vindow = new Vindow(new MainWindowBackend()); var mainWindowBackend = vindow.Backend as MainWindowBackend; Iconerias.Iconery.Compose(); mainWindowBackend.Icon = Iconerias.Iconery.LimadaLogo; mainWindowBackend.Size = new Size(800, 600); mainWindowBackend.Padding = 2; var backendComposer = Registry.Create <IXwtBackendConceptUseCaseComposer> (); backendComposer.MainWindow = vindow; var factory = new UsecaseFactory <ConceptUsecase> (); factory.Composer = new ConceptUsecaseComposer(); factory.BackendComposer = backendComposer; var useCase = factory.Create(); useCase.MainWindow = vindow; factory.Compose(useCase); backendComposer.FinalizeCompose?.Invoke(); CallPlugins(factory, useCase); useCase.Start(); if (useCase.ApplicationQuitted) { Application.Exit(); } return(backendComposer); }
public void WriteUsecase0(ConceptUsecase usecase) { try { var mesh = Registry.Pooled <IGraphSceneDisplayMesh <IVisual, IVisualEdge> > (); //TODO:move this to another test if (true) { var mesh2 = Registry.Pooled <IGraphSceneMesh <IVisual, IVisualEdge> > (); if (mesh2 != mesh) { throw new Exception(); } } XElement dmx = null; var fileName = "laststate.limstate"; if (File.Exists(fileName)) { using (var reader = new StreamReader(fileName)) { dmx = XElement.Parse(reader.ReadToEnd()); } } // write current state var dmx1 = new UsecaseXmlSerializer() .Write(usecase); Trace.WriteLine(dmx1.ToString()); if (Registry.Pooled <IMessageBoxShow> ().Show("save state", "save", MessageBoxButtons.YesNo) == DialogResult.Yes) { using (var writer = new StreamWriter(fileName)) { writer.Write(dmx1); } } var usecase1 = usecase; // test with new usecase var testNewUsecase = false && dmx != null; if (testNewUsecase) { var backendComposer = Registry.Create <IBackendConceptUseCaseComposer> (); backendComposer.MainWindow = new Vindow { Size = new Size(800, 600) }; var factory = new UsecaseFactory <ConceptUsecase> (); factory.Composer = new ConceptUsecaseComposer(); factory.BackendComposer = backendComposer; usecase1 = factory.Create(); factory.Compose(usecase1); } if (dmx != null) { mesh.Clear(); new UsecaseXmlSerializer() .Read(dmx, usecase1); if (testNewUsecase) { usecase1.MainWindow.Show(); } } } catch (Exception ex) { Registry.Pooled <IExceptionHandler> ().Catch(ex); } }