From 672e606b6d857e370ac75c076a1b2982e5bccd67 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Sun, 15 Sep 2013 21:57:55 -0700 Subject: Converted Sekaiju 3.6 to Visual Studio 2008. --- src/OptionSheet.cpp | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 src/OptionSheet.cpp (limited to 'src/OptionSheet.cpp') diff --git a/src/OptionSheet.cpp b/src/OptionSheet.cpp new file mode 100644 index 0000000..68e78d3 --- /dev/null +++ b/src/OptionSheet.cpp @@ -0,0 +1,99 @@ +//****************************************************************************** +// MIDIシーケンサーソフト『世界樹』 +// オプションプロパティシートクラス +// (C)2002-2013 おーぷんMIDIぷろじぇくと/くず +//****************************************************************************** + +/* This library is free software; you can redistribute it and/or */ +/* modify it under the terms of the GNU Lesser General Public */ +/* License as published by the Free Software Foundation; either */ +/* version 2.1 of the License, or (at your option) any later version. */ + +/* This library is distributed in the hope that it will be useful, */ +/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ +/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU */ +/* Lesser General Public License for more details. */ + +/* You should have received a copy of the GNU Lesser General Public */ +/* License along with this library; if not, write to the Free Software */ +/* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ + +#include "winver.h" +#include +#include +#include "../../MIDIIO/MIDIIO.h" +#include "../../MIDIData/MIDIData.h" +#include "../../MIDIClock/MIDIClock.h" +#include "../../MIDIStatus/MIDIStatus.h" +#include "../../MIDIInstrument/MIDIInstrument.h" +#include "SekaijuApp.h" +#include "GeneralOptionPage.h" +#include "TrackListOption1Page.h" +#include "TrackListOption2Page.h" +#include "PianoRollOptionPage.h" +#include "EventListOptionPage.h" +#include "OptionSheet.h" + +//------------------------------------------------------------------------------ +// 構築と破壊 +//------------------------------------------------------------------------------ + +// コンストラクタ +COptionSheet::COptionSheet (CWnd* pParentWnd) : +CPropertySheet (IDS_OPTIONS, pParentWnd) { + AddPage (&m_theGeneralOptionPage); + AddPage (&m_theColorOptionPage); + AddPage (&m_theTrackListOption1Page); + AddPage (&m_theTrackListOption2Page); + AddPage (&m_thePianoRollOptionPage); + AddPage (&m_theEventListOptionPage); + AddPage (&m_theMusicalScoreOptionPage); +} + +// デストラクタ +COptionSheet::~COptionSheet () { +} + +//------------------------------------------------------------------------------ +// オーバーライド +//------------------------------------------------------------------------------ + +// 初期化時 +BOOL COptionSheet::OnInitDialog() { + BOOL bResult = CPropertySheet::OnInitDialog(); + CSekaijuApp* pSekaijuApp = (CSekaijuApp*)AfxGetApp (); + SetActivePage (pSekaijuApp->m_theCurrentPage.m_lOption); + return bResult; +} + +// コマンド時 +BOOL COptionSheet::OnCommand (WPARAM wParam, LPARAM lParam) { + // 『OK』又は『キャンセル』ボタンが押された + if (LOWORD (wParam) == IDOK || LOWORD (wParam) == IDCANCEL) { + CSekaijuApp* pSekaijuApp = (CSekaijuApp*)AfxGetApp (); + pSekaijuApp->m_theCurrentPage.m_lOption = GetActiveIndex (); + } + return CPropertySheet::OnCommand(wParam, lParam); +} + +//------------------------------------------------------------------------------ +// メッセージマップ +//------------------------------------------------------------------------------ +BEGIN_MESSAGE_MAP (COptionSheet, CPropertySheet) + ON_BN_CLICKED (ID_APPLY_NOW, OnApplyNow) +END_MESSAGE_MAP () + + +// 『適用』ボタンが押された +void COptionSheet::OnApplyNow () { + CSekaijuApp* pSekaijuApp = (CSekaijuApp*)AfxGetApp (); + GetActivePage ()->UpdateData (TRUE); + pSekaijuApp->ApplyOptionSheet (this); + m_theGeneralOptionPage.SetModified (FALSE); + m_theColorOptionPage.SetModified (FALSE); + m_theTrackListOption1Page.SetModified (FALSE); + m_theTrackListOption2Page.SetModified (FALSE); + m_thePianoRollOptionPage.SetModified (FALSE); + m_theEventListOptionPage.SetModified (FALSE); + m_theMusicalScoreOptionPage.SetModified (FALSE); +} -- cgit v1.2.3