Exemplo n.º 1
0
 public void Save(FractalDocument document)
 {
     if (document == null)
     {
         return;
     }
     using (XmlTextWriter tw = new XmlTextWriter(_filePath, Encoding.ASCII))
     {
         FractalTransformationPersister ftp = new FractalTransformationPersister(tw);
         tw.WriteStartDocument();
         tw.WriteStartElement("fractals");
         foreach (var fractal in document.Fractals)
         {
             tw.WriteStartElement("fractal");
             tw.WriteAttributeString("name", fractal.Name);
             foreach (var t in fractal.Tansformations)
             {
                 t.Accept(ftp);
             }
             tw.WriteEndElement();
         }
         tw.WriteEndElement();
         tw.WriteEndDocument();
     }
 }
Exemplo n.º 2
0
        private FractalDocument _document;//Model of the application

        public MainViewPresenter(
            IMainView mainView,
            TrackBarControlPanelView trackBarControlPanelView,
            NumbersControlPanelView numbersControlPanelView,
            FractalDataGridView fractalDataGridView,
            FractalEditorView fractalEditorView,
            IDimensionCalculatorFactory dimensionCalculatorFactory)
        {
            if (mainView == null)
            {
                throw new ArgumentNullException("mainView");
            }
            if (trackBarControlPanelView == null)
            {
                throw new ArgumentNullException("trackBarControlPanelView");
            }
            if (numbersControlPanelView == null)
            {
                throw new ArgumentNullException("numbersControlPanelView");
            }
            if (fractalDataGridView == null)
            {
                throw new ArgumentNullException("fractalDataGridView");
            }
            if (fractalEditorView == null)
            {
                throw new ArgumentNullException("fractalEditorView");
            }
            if (dimensionCalculatorFactory == null)
            {
                throw new ArgumentNullException("dimensionCalculatorFactory");
            }
            _mainView = mainView;
            _trackBarControlPanelView = trackBarControlPanelView;
            _numbersControlPanelView  = numbersControlPanelView;
            _fractalDataGridView      = fractalDataGridView;
            _fractalEditorView        = fractalEditorView;

            _numberViewPresenter    = new ControlPanelViewPresenter(_numbersControlPanelView);
            _trackBarsViewPresenter = new ControlPanelViewPresenter(_trackBarControlPanelView);
            _dataGridPresenter      = new FractalDataGridViewPresenter(_fractalDataGridView);
            _editorViewPresenter    = new FractalEditorViewPresenter(_fractalEditorView);

            _dimensionCalculatorFactory = dimensionCalculatorFactory;
            _mainView.SelectedChanged  += new SelectedFractalEventHandler(SelectedFractalChanged);
            _document          = FractalDocument.GetInstance();
            _mainView.Load    += new EventHandler(_mainView_Load);
            _document.Changed += new EventHandler(_document_Changed);
        }
Exemplo n.º 3
0
 //Save logic goes here
 public void NewDocument()
 {
     if (_document.IsDirty)
     {
         DialogResult result = _mainView.AskSaving();
         if (result == DialogResult.Yes)
         {
             SaveDocument();
         }
         else if (result == DialogResult.Cancel)
         {
             return;
         }
     }
     FractalDocument.GetInstance().New();
 }
        public bool AddFractalToDocument(out string whyNot)
        {
            whyNot = "";
            string xmlFractal = _view.XmlFractal;

            try
            {
                FractalDocument.GetInstance().LoadFractalFromXml(xmlFractal);
                return(true);
            }
            catch (FractalCompilerException e)
            {
                whyNot = e.Message;
            }
            catch (Exception e)
            {
                whyNot = e.Message;
            }
            return(false);
        }