/*____________________________________________________Общедоступные_статические_методы_________________________________________________*/ #region Public static methods public static FractalTemplates LoadFromFile(string FileName) { FileStream stream = null;; try { stream = new FileStream(FileName, FileMode.Open); BinaryFormatter bf = new BinaryFormatter(); FractalTemplates result = (FractalTemplates)bf.Deserialize(stream); result.Stream = stream; result.AutoSave = true; return(result); } catch { if (stream != null) { stream.Close(); } return(new FractalTemplates(FileName)); } }
/*public void Add(FractalTemplate FractalTemplate) * { * FractalTemplate.index=lastindex++; * _templates.Add(FractalTemplate); * if (DataChanged != null) DataChanged(this); * } * public void Remove(FractalTemplate fractalTemplate) * { * for(int i=0;i<_templates.Count;i++) * { * if(_templates[i].index==fractalTemplate.index) * { * _templates.RemoveAt(i); * if (DataChanged != null) DataChanged(this); * break; * } * } * }*/ #endregion Public methods of class /*__________________________________________________________Частные_методы_класса______________________________________________________*/ #region Private methods private void _save_data(FractalTemplates sender) { SaveDataToFile(); }
private void MainForm_Load(object sender, EventArgs e) { FractalControler = new FractalDataHandlerControler(); MainFractalPictureBox = new FractalPictureBox(); MainFractalPictureBox.SizeMode = PictureBoxSizeMode.AutoSize; MainPanel.Controls.Add(MainFractalPictureBox); #region Julia creating FirstJulia = new FractalDataHandler(this, new JuliaWithClouds(FractalStaticData.RecomendJuliaIterationsCount, -1.523D, 1.523D, -0.9D, 0.9D, new Complex(-0.8D, 0.156D)), MainFractalPictureBox, new My2DClassicColorMode(), new Size(960, 640), FractalControler); FirstJulia.ConnectToolStripProgressBar(toolStripProgressBar1); FirstJulia.ConnectShowToMenuItem(первыйФракталToolStripMenuItem, FractalControler, 32, 32); FirstJulia.ConnectStandartResetToMenuItem(новыйСтандартногоРазмераToolStripMenuItem, FractalControler); FirstJulia.ConnectResetWithSizeFromWindowToMenuItem(новыйСЗаданнымРазмеромToolStripMenuItem, FractalControler); FirstJulia.ConntectToStatusLabel(toolStripStatusLabel1); SecondJulia = new FractalDataHandler(this, new JuliaWithClouds(FractalStaticData.RecomendJuliaIterationsCount, -0.91D, 0.91D, -1.12D, 1.12D, new Complex(0.285D, 0.0126D)), MainFractalPictureBox, new My2DClassicColorMode(), new Size(960, 640), FractalControler); SecondJulia.ConnectToolStripProgressBar(toolStripProgressBar1); SecondJulia.ConnectShowToMenuItem(второйФракталToolStripMenuItem, FractalControler, 32, 32); SecondJulia.ConnectStandartResetToMenuItem(новыйСтандартногоРазмераToolStripMenuItem1, FractalControler); SecondJulia.ConnectResetWithSizeFromWindowToMenuItem(новыйСЗаданнымРазмеромToolStripMenuItem1, FractalControler); SecondJulia.ConntectToStatusLabel(toolStripStatusLabel1); ThirdJulia = new FractalDataHandler(this, new JuliaWithClouds(FractalStaticData.RecomendJuliaIterationsCount, -1.35D, 1.35D, -1.12D, 1.12D, new Complex(-0.0085D, 0.71D)), MainFractalPictureBox, new My2DClassicColorMode(1.1D, 1.1D, 1.1D), new Size(960, 640), FractalControler); ThirdJulia.ConnectToolStripProgressBar(toolStripProgressBar1); ThirdJulia.ConnectShowToMenuItem(третийToolStripMenuItem, FractalControler, 32, 32); ThirdJulia.ConnectStandartResetToMenuItem(новыйСтандартногоРазмераToolStripMenuItem2, FractalControler); ThirdJulia.ConnectResetWithSizeFromWindowToMenuItem(новыйСЗаданнымРазмеромToolStripMenuItem2, FractalControler); ThirdJulia.ConntectToStatusLabel(toolStripStatusLabel1); FourthJulia = new FractalDataHandler(this, new JuliaWithClouds(FractalStaticData.RecomendJuliaIterationsCount, -0.88D, 0.88D, -1.12D, 1.12D, new Complex(0.285D, 0.01D)), MainFractalPictureBox, new My2DClassicColorMode(), new Size(960, 640), FractalControler); FourthJulia.ConnectToolStripProgressBar(toolStripProgressBar1); FourthJulia.ConnectShowToMenuItem(четвёртыйФракталToolStripMenuItem, FractalControler, 32, 32); FourthJulia.ConnectStandartResetToMenuItem(новыйСтандартногоРазмераToolStripMenuItem3, FractalControler); FourthJulia.ConnectResetWithSizeFromWindowToMenuItem(новыйСЗаданнымРазмеромToolStripMenuItem3, FractalControler); FourthJulia.ConntectToStatusLabel(toolStripStatusLabel1); FifthJulia = new FractalDataHandler(this, new JuliaWithClouds(FractalStaticData.RecomendJuliaIterationsCount, -1.505D, 1.505D, -0.9D, 0.9D, new Complex(-0.74534D, 0.11301D)), MainFractalPictureBox, new My2DClassicColorMode(), new Size(960, 640), FractalControler); FifthJulia.ConnectToolStripProgressBar(toolStripProgressBar1); FifthJulia.ConnectShowToMenuItem(пятыйФракталToolStripMenuItem, FractalControler, 32, 32); FifthJulia.ConnectStandartResetToMenuItem(новыйСтандартногоРазмераToolStripMenuItem4, FractalControler); FifthJulia.ConnectResetWithSizeFromWindowToMenuItem(новыйСЗаданнымРазмеромToolStripMenuItem4, FractalControler); FifthJulia.ConntectToStatusLabel(toolStripStatusLabel1); SixthJulia = new FractalDataHandler(this, new JuliaWithClouds(FractalStaticData.RecomendJuliaIterationsCount, -1.5D, 1.5D, -1D, 1D, new Complex(-0.75D, -0.03125D)), MainFractalPictureBox, new Simple2DFractalColorMode(), new Size(960, 640), FractalControler); SixthJulia.ConnectShowToMenuItem(шестойФракталToolStripMenuItem, FractalControler, 32, 32); SixthJulia.ConnectStandartResetToMenuItem(новыйСтандартногоРазмераToolStripMenuItem7, FractalControler); SixthJulia.ConnectResetWithSizeFromWindowToMenuItem(новыйСЗаданнымРазмеромToolStripMenuItem7, FractalControler); SixthJulia.ConntectToStatusLabel(toolStripStatusLabel1); SixthJulia.ConnectToolStripProgressBar(toolStripProgressBar1); #endregion /Julia creating MandelbrotHandler = new FractalDataHandler(this, new MandelbrotWithClouds(), MainFractalPictureBox, new CosColorMode(), new Size(960, 640), FractalControler); MandelbrotHandler.ConnectToolStripProgressBar(toolStripProgressBar1); MandelbrotHandler.ConnectShowToMenuItem(обыкновенныйToolStripMenuItem, FractalControler, 32, 32); MandelbrotHandler.ConnectStandartResetToMenuItem(новыйСтандартногоРазмераToolStripMenuItem5, FractalControler); MandelbrotHandler.ConnectResetWithSizeFromWindowToMenuItem(новыйСЗаданнымРазмеромToolStripMenuItem5, FractalControler); MandelbrotHandler.ConntectToStatusLabel(toolStripStatusLabel1); AmoebaLasVegas = new FractalDataHandler(this, new AmoebaLasVegas(), MainFractalPictureBox, new TrioArgsCosColorMode(), new Size(900, 900), FractalControler); AmoebaLasVegas.ConnectToolStripProgressBar(toolStripProgressBar1); AmoebaLasVegas.ConnectShowToMenuItem(amoebaLasVegasToolStripMenuItem, FractalControler, 16, 16); AmoebaLasVegas.ConnectStandartResetToMenuItem(новыйСтандартногоРазмераToolStripMenuItem8, FractalControler); AmoebaLasVegas.ConntectToStatusLabel(toolStripStatusLabel1); _differenсe_in_width = this.Width - MainPanel.Width; _difference_in_height = this.Height - MainPanel.Height; FractalDataHandler.UseSafeZoom = true; FractalDataHandler.MaxGlobalPercent = toolStripProgressBar1.Maximum; MainFractalPictureBox.OpenMenuEvent += () => { contextMenuStrip1.Show(Cursor.Position); }; MainFractalPictureBox.SelectionPen = null; fractalTemplates = FractalTemplates.LoadFromFile(FileToSave); #region GlobalTemplates GlobalTemplates.Initializate(FileToGlobalTemplates); GlobalTemplates.AddDefaultTemplate("Шрифт меню главного окна", Color.Black, menuStrip1.Font); GlobalTemplates.AddDefaultTemplate("Шрифт окна с шаблонами", Color.Black, new Font("Microsoft Sans Serif", 12.25f)); GlobalTemplates.AddDefaultTemplate("Шрифт окна для настройки цветового режима", Color.Black, new Font("Microsoft sans serif", 12.25f)); GlobalTemplates.AddDefaultTemplate("Шрифт окна для ввода фрактала джулии", Color.Black, new Font("Microsoft sans serif", 12.35f)); GlobalTemplates.AddDefaultTemplate("Шрифт окна для ввода нового разрешения", Color.Black, new Font("Microsoft sans serif", 12.35f)); GlobalTemplates.AddDefaultTemplate("Шрифт окна вращения фрактала", Color.Black, new Font("Microsoft sans serif", 12.35f)); GlobalTemplates.SetTemplate(menuStrip1, "Шрифт меню главного окна"); this.FormClosing += (s, _e) => { GlobalTemplates.SaveTemplates(FileToGlobalTemplates); }; #endregion /GlobalTemplates }
public TemplatesViewer(FractalTemplates ts) { InitializeComponent(); tms = ts.Templates; fractalTemplates = ts; }