void MusikTaskBarIcon::OnLButtonDown(wxTaskBarIconEvent&) { if(m_pFrame->IsShown()) m_pFrame->Show(FALSE); else RestoreFrame(); }
void MusikTaskBarIcon::OnMenuRestore(wxCommandEvent& ) { RestoreFrame(); }
void CFrameAction::Undo(CMainFrame *pMainFrm) { // Undo action CFrameEditor *pFrameEditor = pMainFrm->GetFrameEditor(); CFamiTrackerView *pView = (CFamiTrackerView*)pMainFrm->GetActiveView(); CFamiTrackerDoc *pDocument = pView->GetDocument(); m_iRedoFramePos = pView->GetSelectedFrame(); m_iRedoChannelPos = pView->GetSelectedChannel(); pView->SelectFrame(m_iUndoFramePos); pView->SelectChannel(m_iUndoChannelPos); switch (m_iAction) { case ACT_ADD: pDocument->RemoveFrame(m_iUndoFramePos + 1); pDocument->UpdateAllViews(NULL, CHANGED_FRAMES); break; case ACT_REMOVE: pDocument->InsertFrame(m_iUndoFramePos); RestoreFrame(pDocument); pDocument->UpdateAllViews(NULL, CHANGED_FRAMES); break; case ACT_DUPLICATE: pDocument->RemoveFrame(m_iUndoFramePos); pDocument->UpdateAllViews(NULL, CHANGED_FRAMES); break; case ACT_DUPLICATE_PATTERNS: for (unsigned int i = 0; i < pDocument->GetAvailableChannels(); ++i) { pDocument->ClearPattern(m_iUndoFramePos + 1, i); } pDocument->RemoveFrame(m_iUndoFramePos + 1); pDocument->UpdateAllViews(NULL, CHANGED_FRAMES); break; case ACT_CHANGE_COUNT: pDocument->SetFrameCount(m_iUndoFrameCount); pDocument->UpdateAllViews(NULL, CHANGED_FRAMES); break; case ACT_SET_PATTERN: pDocument->SetPatternAtFrame(m_iUndoFramePos, m_iUndoChannelPos, m_iOldPattern); pDocument->UpdateAllViews(NULL, CHANGED_PATTERN); pMainFrm->UpdateControls(); break; case ACT_SET_PATTERN_ALL: for (unsigned int i = 0; i < pDocument->GetAvailableChannels(); ++i) { pDocument->SetPatternAtFrame(m_iUndoFramePos, i, m_iPatterns[i]); } pDocument->UpdateAllViews(NULL, CHANGED_PATTERN); break; case ACT_CHANGE_PATTERN: pDocument->SetPatternAtFrame(m_iUndoFramePos, m_iUndoChannelPos, m_iOldPattern); pDocument->UpdateAllViews(NULL, CHANGED_PATTERN); break; case ACT_CHANGE_PATTERN_ALL: for (unsigned int i = 0; i < pDocument->GetAvailableChannels(); ++i) { pDocument->SetPatternAtFrame(m_iUndoFramePos, i, m_iPatterns[i]); } pDocument->UpdateAllViews(NULL, CHANGED_PATTERN); break; case ACT_MOVE_DOWN: pDocument->MoveFrameUp(m_iUndoFramePos + 1); pDocument->UpdateAllViews(NULL, CHANGED_FRAMES); break; case ACT_MOVE_UP: pDocument->MoveFrameDown(m_iUndoFramePos - 1); pDocument->UpdateAllViews(NULL, CHANGED_FRAMES); break; case ACT_PASTE: RestoreFrame(pDocument); pDocument->UpdateAllViews(NULL, CHANGED_PATTERN); break; } pView->SelectFrame(m_iUndoFramePos); pView->SelectChannel(m_iUndoChannelPos); }