diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2013-09-15 21:57:55 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2013-09-15 21:57:55 -0700 |
commit | 672e606b6d857e370ac75c076a1b2982e5bccd67 (patch) | |
tree | 46dcaace1126e2b2c2f785e42f562fe5c7718484 /src/OptionSheet.cpp | |
download | sekaiju-672e606b6d857e370ac75c076a1b2982e5bccd67.tar.gz sekaiju-672e606b6d857e370ac75c076a1b2982e5bccd67.tar.bz2 sekaiju-672e606b6d857e370ac75c076a1b2982e5bccd67.zip |
Converted Sekaiju 3.6 to Visual Studio 2008.
Diffstat (limited to 'src/OptionSheet.cpp')
-rw-r--r-- | src/OptionSheet.cpp | 99 |
1 files changed, 99 insertions, 0 deletions
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 <afxwin.h>
+#include <afxext.h>
+#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);
+}
|