private void btnMoveNext_Click(object sender, EventArgs e) { if (_currScreen == null) return; //prevent next bein pressed while already processing if (_processing) return; try { _processing = true; if (_currScreen.Close(false)) { if (_currScreen is ProjectScreen) { //create and init plugin screens _modsScreen = (ScreenBase)(new ModsScreen()); _modsScreen.ScreenBusy += new ScreenBusyEventHandler(screen_ScreenBusy); _modsScreen.Construct(_core.Project); showScreen(_modsScreen); } else if (_currScreen is ModsScreen) { //create and init plugin screens _trackSelect = (ScreenBase)(new TrackSelectScreen()); _trackSelect.ScreenBusy += new ScreenBusyEventHandler(screen_ScreenBusy); _trackSelect.Construct(_core.Project); showScreen(_trackSelect); } else if (_currScreen is TrackSelectScreen) { ScreenBase sb; foreach (ProjectSong song in _core.Project.EditSongs) { sb = new TrackEditScreen(); sb.ScreenBusy += new ScreenBusyEventHandler(screen_ScreenBusy); sb.Construct(_core.Project); ((TrackEditScreen)sb).SetSong(song); sb.Tag = song; _screens.Add(sb); sb = new NotesEditScreen(); sb.ScreenBusy += new ScreenBusyEventHandler(screen_ScreenBusy); sb.Construct(_core.Project); ((NotesEditScreen)sb).SetSong(song); sb.Tag = song; _screens.Add(sb); } _progressScreen = new ProgressScreen(); _progressScreen.ScreenBusy += new ScreenBusyEventHandler(screen_ScreenBusy); //not happy about this... ((ProgressScreen)_progressScreen).AutoStartOnOpen = ((TrackSelectScreen)_trackSelect).AutoStartOnOpen; _screens.Add(_progressScreen); if (_screens.Count != 0) { //extractSongFiles(); _currScreenIdx = 0; //active... showScreen(_screens[_currScreenIdx]); btnMoveBack.Visible = true; } } else { _currScreenIdx++; if (_currScreenIdx < _screens.Count) showScreen(_screens[_currScreenIdx]); else { _currScreen = null; showScreen(null); } } } } finally { _processing = false; } }
private void MainForm_Load(object sender, EventArgs e) { if (_exitApp) { this.Close(); } else { this.Text = string.Format("{0} - v{1} / v{2}", TheGhostCore.AppName, TheGhostCore.AppVersion, TheGhostCore.CoreVersion); btnMoveBack.Enabled = false; btnMove.Enabled = false; _currScreen = (ScreenBase)projectScreen; projectScreen.PluginManager = _core.PluginManager; lblScreenMessage.Text = _currScreen.TitleMessage(); ((UserControl)_currScreen).Visible = true; _currScreen.Construct(_core.Project); _currScreen.Open(); } }
private void btnMoveBack_Click(object sender, EventArgs e) { if (_currScreen == null) return; //prevent back bein pressed while already processing if (_processing) return; try { _processing = true; if (_currScreen is TrackSelectScreen) { //create and init plugin screens _modsScreen = (ScreenBase)(new ModsScreen()); _modsScreen.ScreenBusy += new ScreenBusyEventHandler(screen_ScreenBusy); _modsScreen.Construct(_core.Project); showScreen(_modsScreen); } else if (_currScreenIdx > 0) { if (_currScreen.Close(false)) { _currScreenIdx--; if (_currScreenIdx < _screens.Count) showScreen(_screens[_currScreenIdx]); else { _currScreen = null; showScreen(null); } } } } finally { _processing = false; } }