/// <summary> /// Cross application initialization of components. /// </summary> static void Initialize() { ShapeManager.Init(); InitializationManager.RestoreReplacementChars(); var zForm = new Form(); var zGraphics = zForm.CreateGraphics(); try { CardMakerInstance.ApplicationDPI = zGraphics.DpiX; } finally { zGraphics.Dispose(); } }
private void CardMakerMDI_Load(object sender, EventArgs e) { // always before any dialogs ShapeManager.Init(); ProjectManager.Instance.ProjectOpened += Project_Opened; ProjectManager.Instance.ProjectUpdated += Project_Updated; LayoutManager.Instance.LayoutUpdated += Layout_Updated; LayoutManager.Instance.LayoutLoaded += Layout_Loaded; ExportManager.Instance.ExportRequested += Export_Requested; // Same handler for both events GoogleAuthManager.Instance.GoogleAuthUpdateRequested += GoogleAuthUpdate_Requested; GoogleAuthManager.Instance.GoogleAuthCredentialsError += GoogleAuthUpdate_Requested; // Setup all the child dialogs var zCanvasForm = SetupMDIForm(new MDICanvas(), true); var zElementForm = SetupMDIForm(new MDIElementControl(), true); var zLayoutForm = SetupMDIForm(new MDILayoutControl(), true); var zLoggerForm = SetupMDIForm(new MDILogger(), true); var zProjectForm = SetupMDIForm(new MDIProject(), true); SetupMDIForm(new MDIIssues(), false); SetupMDIForm(new MDIDefines(), false); // populate the windows menu foreach (var zChild in MdiChildren) { string sText = string.Empty; switch (zChild.Name) { case "MDICanvas": sText = "&Canvas"; break; case "MDIElementControl": sText = "&Element Control"; break; case "MDILayoutControl": sText = "&Layout Control"; break; case "MDILogger": sText = "L&ogger"; break; case "MDIProject": sText = "&Project"; break; case "MDIIssues": sText = "&Issues"; break; case "MDIDefines": sText = "&Defines"; break; } ToolStripItem zItem = new ToolStripMenuItem(sText); zItem.Tag = zChild; windowToolStripMenuItem.DropDownItems.Add(zItem); zItem.Click += (zSender, eArgs) => { var zForm = (Form)((ToolStripMenuItem)zSender).Tag; var pointLocation = zForm.Location; zForm.Show(); zForm.BringToFront(); zForm.Location = pointLocation; }; } // make a new project by default newToolStripMenuItem_Click(sender, e); var sData = CardMakerSettings.IniManager.GetValue(Name); var bRestoredFormState = false; if (!string.IsNullOrEmpty(sData)) { IniManager.RestoreState(this, sData); bRestoredFormState = true; } foreach (var zForm in MdiChildren) { sData = CardMakerSettings.IniManager.GetValue(zForm.Name); if (!string.IsNullOrEmpty(sData)) { IniManager.RestoreState(zForm, sData); } } if (!bRestoredFormState) { Logger.AddLogLine("Restored default form layout."); #if MONO_BUILD zCanvasForm.Size = new Size(457, 300); zCanvasForm.Location = new Point(209, 5); zElementForm.Size = new Size(768, 379); zElementForm.Location = new Point(3, 310); zLayoutForm.Size = new Size(300, 352); zLayoutForm.Location = new Point(805, 4); zProjectForm.Size = new Size(200, 266); zProjectForm.Location = new Point(6, 10); zLoggerForm.Size = new Size(403, 117); zLoggerForm.Location = new Point(789, 571); #else zCanvasForm.Size = new Size(457, 300); zCanvasForm.Location = new Point(209, 5); zElementForm.Size = new Size(579, 290); zElementForm.Location = new Point(3, 310); zLayoutForm.Size = new Size(300, 352); zLayoutForm.Location = new Point(670, 4); zProjectForm.Size = new Size(200, 266); zProjectForm.Location = new Point(6, 10); zLoggerForm.Size = new Size(403, 117); zLoggerForm.Location = new Point(667, 531); #endif } var arrayFiles = CardMakerSettings.IniManager.GetValue(IniSettings.PreviousProjects).Split(new char[] { CardMakerConstants.CHAR_FILE_SPLIT }, StringSplitOptions.RemoveEmptyEntries); if (0 < arrayFiles.Length) { foreach (var sFile in arrayFiles) { m_listRecentFiles.Add(sFile); } } LayoutTemplateManager.Instance.LoadLayoutTemplates(CardMakerInstance.StartupPath); RestoreReplacementChars(); var zGraphics = CreateGraphics(); try { CardMakerInstance.ApplicationDPI = zGraphics.DpiX; } finally { zGraphics.Dispose(); } // load the specified project from the command line if (!string.IsNullOrEmpty(CardMakerInstance.CommandLineProjectFile)) { InitOpen(CardMakerInstance.CommandLineProjectFile); } #if UNSTABLE && !DEBUG MessageBox.Show( "This is an UNSTABLE build of CardMaker. Please make backups of any projects before opening them with this version."); #endif }