winamp/Src/external_dependencies/openmpt-trunk/mptrack/PatternGotoDialog.h

58 lines
1.3 KiB
C++

/*
* PatternGotoDialog.h
* -------------------
* Purpose: Implementation of pattern "go to" dialog.
* Notes : (currently none)
* Authors: OpenMPT Devs
* The OpenMPT source code is released under the BSD license. Read LICENSE for more details.
*/
#pragma once
#include "openmpt/all/BuildSettings.hpp"
OPENMPT_NAMESPACE_BEGIN
class CSoundFile;
// CPatternGotoDialog dialog
class CPatternGotoDialog : public CDialog
{
CSoundFile &m_SndFile;
CSpinButtonCtrl m_SpinRow, m_SpinChannel, m_SpinPattern, m_SpinOrder;
public:
ROWINDEX m_nRow;
CHANNELINDEX m_nChannel;
PATTERNINDEX m_nPattern;
ORDERINDEX m_nOrder, m_nActiveOrder;
public:
CPatternGotoDialog(CWnd *pParent, ROWINDEX row, CHANNELINDEX chan, PATTERNINDEX pat, ORDERINDEX ord, CSoundFile &sndFile);
BOOL OnInitDialog() override;
protected:
bool m_controlLock = true;
inline bool ControlsLocked() const { return m_controlLock; }
inline void LockControls() { m_controlLock = true; }
inline void UnlockControls() { m_controlLock = false; }
void UpdateNumRows();
void UpdateTime();
void DoDataExchange(CDataExchange* pDX) override;
void OnOK() override;
afx_msg void OnPatternChanged();
afx_msg void OnOrderChanged();
afx_msg void OnRowChanged();
afx_msg void OnTimeChanged();
DECLARE_MESSAGE_MAP()
};
OPENMPT_NAMESPACE_END