// Noise menu private void NoiseMenu() { guiControls.menuNoise.SetImage(ImageOfNoise(Noise.None)); guiControls.menuNoise.OnClick((object s, EventArgs e) => { MenuClicked(guiControls.menuNoise); }); guiControls.menuNoise.autoClose = true; guiControls.menuNoise.ClearMenuItems(); KButton headNoiseItem = guiControls.menuNoise.NewMenuSection(); headNoiseItem.SetText(" LNA"); guiControls.menuNoise.AddMenuItem(headNoiseItem); guiControls.menuNoise.AddSeparator(); foreach (Noise noise in Gui.noise) { Noise menuSelection = noise; KButton menuItem = guiControls.menuNoise.NewMenuItemButton(); if (menuSelection == Noise.None) // initialize default selection { ItemSelected(guiControls.menuNoise, menuItem); // handle the selection graphical feedback InitSelectNoise(guiControls.menuNoise, menuSelection); // handle storing the menuSelection value } menuItem.SetImage(ImageOfNoise(noise)); menuItem.OnClick((object s, EventArgs e) => { ItemClicked(guiControls.menuNoise, menuItem, true); // handle the selection graphical feedback SelectNoise(guiControls.menuNoise, menuItem, menuSelection); // handle storing the menuSelection value }); guiControls.menuNoise.AddMenuItem(menuItem); } guiControls.menuNoise.Visible(true); guiControls.menuNoise.Enabled(true); }
// Math menu private void MathMenu() { guiControls.menuMath.SetImage("icons8_keyboard_96_W_48x48"); guiControls.menuMath.OnClick((object s, EventArgs e) => { MenuClicked(guiControls.menuMath); }); guiControls.menuMath.autoClose = true; guiControls.menuMath.ClearMenuItems(); const int mathColumns = 5; const int mathRows = 8; var mathItems = new KButton[mathColumns, mathRows]; int im = 0; int jm = 0; foreach (string symbol in SharedAssets.symbols) { string menuSelection = symbol; KButton menuItem = guiControls.menuMath.NewMenuItemButton(); menuItem.SetText(symbol); menuItem.OnClick((object s, EventArgs e) => { ItemClicked(guiControls.menuMath, menuItem, false); // handle the selection graphical feedback SelectMath(guiControls.menuMath, menuItem, menuSelection); // handle storing the menuSelection value }); if (jm >= mathRows) { jm = 0; im++; } if (im < mathColumns) { mathItems[im, jm] = menuItem; } jm++; } guiControls.menuMath.AddMenuGrid(mathItems); guiControls.menuMath.Visible(true); guiControls.menuMath.Enabled(true); }
// Tutorial menu private void TutorialMenu() { guiControls.menuTutorial.SetImage("icons8text_48x48"); guiControls.menuTutorial.OnClick((object s, EventArgs e) => { MenuClicked(guiControls.menuTutorial); }); guiControls.menuTutorial.autoClose = true; guiControls.menuTutorial.ClearMenuItems(); List <ModelInfoGroup> groups = Tutorial.Groups(); const int tutorialColumns = 2; const int tutorialRows = 26; var tutorialItems = new KButton[tutorialColumns, tutorialRows]; int it = 0; int jt = 0; foreach (ModelInfoGroup group in groups) { KButton menuSection = guiControls.menuTutorial.NewMenuSection(); menuSection.SetText(group.GroupHeading); if (jt >= tutorialRows) { jt = 0; it++; } if (it < tutorialColumns) { tutorialItems[it, jt] = menuSection; } jt++; foreach (ModelInfo info in group) { ModelInfo menuSelection = info; KButton menuItem = guiControls.menuTutorial.NewMenuItemButton(); menuItem.SetText(menuSelection.title); menuItem.OnClick((object s, EventArgs e) => { ItemClicked(guiControls.menuTutorial, menuItem, false); // handle the selection graphical feedback SelectTutorial(guiControls.menuTutorial, menuItem, menuSelection); // handle storing the menuSelection value }); if (jt >= tutorialRows) { jt = 0; it++; } if (it < tutorialColumns) { tutorialItems[it, jt] = menuItem; } jt++; } } guiControls.menuTutorial.AddMenuGrid(tutorialItems); guiControls.menuTutorial.Visible(true); guiControls.menuTutorial.Enabled(true); }
// Output menu private void OutputMenu() { guiControls.menuOutput.SetImage("Computation_48x48"); guiControls.menuOutput.OnClick((object s, EventArgs e) => { MenuClicked(guiControls.menuOutput); }); guiControls.menuOutput.autoClose = true; guiControls.menuOutput.ClearMenuItems(); KButton headOutputItem = guiControls.menuOutput.NewMenuSection(-1); headOutputItem.SetText("Computed Output"); guiControls.menuOutput.AddMenuItem(headOutputItem); guiControls.menuOutput.AddSeparator(); foreach (ExportAction output in Exec.outputActionsList()) { ExportAction menuSelection = output; KButton menuItem = guiControls.menuOutput.NewMenuItemButton(); menuItem.SetText(output.name); menuItem.OnClick((object s, EventArgs e) => { ItemClicked(guiControls.menuOutput, menuItem, true); // handle the selection graphical feedback ExecOutputAction(menuSelection); // handle storing the menuSelection value }); guiControls.menuOutput.AddMenuItem(menuItem, name: output.name); } guiControls.menuOutput.Visible(true); guiControls.menuOutput.Enabled(true); }
// Export menu private void ExportMenu() { guiControls.menuExport.SetImage("icons8_share_384_W_48x48"); guiControls.menuExport.OnClick((object s, EventArgs e) => { MenuClicked(guiControls.menuExport); }); guiControls.menuExport.autoClose = true; guiControls.menuExport.ClearMenuItems(); KButton headExportItem = guiControls.menuExport.NewMenuSection(-1); headExportItem.SetText("Share"); guiControls.menuExport.AddMenuItem(headExportItem); guiControls.menuExport.AddSeparator(); foreach (ExportAction export in Exec.exportActionsList()) { ExportAction menuSelection = export; KButton menuItem = guiControls.menuExport.NewMenuItemButton(); menuItem.SetText(export.name); menuItem.OnClick((object s, EventArgs e) => { ItemClicked(guiControls.menuExport, menuItem, false); // handle the selection graphical feedback SelectExport(guiControls.menuExport, menuItem, menuSelection); // handle storing the menuSelection value }); guiControls.menuExport.AddMenuItem(menuItem); } guiControls.menuExport.Visible(false); guiControls.menuExport.Enabled(true); }