Initial community commit
This commit is contained in:
parent
537bcbc862
commit
fc06254474
16440 changed files with 4239995 additions and 2 deletions
|
@ -0,0 +1,100 @@
|
|||
/*
|
||||
* PatternFindReplaceDlg.h
|
||||
* -----------------------
|
||||
* Purpose: The find/replace dialog for pattern data.
|
||||
* Notes : (currently none)
|
||||
* Authors: Olivier Lapicque
|
||||
* OpenMPT Devs
|
||||
* The OpenMPT source code is released under the BSD license. Read LICENSE for more details.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "openmpt/all/BuildSettings.hpp"
|
||||
|
||||
#include "EffectInfo.h"
|
||||
#include "PatternCursor.h"
|
||||
|
||||
OPENMPT_NAMESPACE_BEGIN
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// Search/Replace
|
||||
|
||||
struct FindReplace;
|
||||
|
||||
class CFindReplaceTab: public CPropertyPage
|
||||
{
|
||||
protected:
|
||||
CComboBox m_cbnNote, m_cbnInstr, m_cbnVolCmd, m_cbnVolume, m_cbnCommand, m_cbnParam, m_cbnPCParam;
|
||||
|
||||
CSoundFile &m_sndFile;
|
||||
FindReplace &m_settings;
|
||||
EffectInfo m_effectInfo;
|
||||
ModCommand m_initialValues;
|
||||
bool m_isReplaceTab;
|
||||
|
||||
// Special ItemData values
|
||||
enum
|
||||
{
|
||||
kFindAny = INT_MAX - 1,
|
||||
kFindRange = INT_MAX - 2,
|
||||
|
||||
kReplaceRelative = INT_MAX - 3,
|
||||
kReplaceMultiply = INT_MAX - 4,
|
||||
|
||||
kReplaceNoteMinusOne = INT_MAX - 5,
|
||||
kReplaceNotePlusOne = INT_MAX - 6,
|
||||
kReplaceNoteMinusOctave = INT_MAX - 7,
|
||||
kReplaceNotePlusOctave = INT_MAX - 8,
|
||||
|
||||
kReplaceInstrumentMinusOne = INT_MAX - 5,
|
||||
kReplaceInstrumentPlusOne = INT_MAX - 6,
|
||||
};
|
||||
|
||||
public:
|
||||
CFindReplaceTab(UINT nIDD, bool isReplaceTab, CSoundFile &sf, FindReplace &settings, const ModCommand &initialValues)
|
||||
: CPropertyPage(nIDD)
|
||||
, m_sndFile(sf)
|
||||
, m_settings(settings)
|
||||
, m_effectInfo(sf)
|
||||
, m_initialValues(initialValues)
|
||||
, m_isReplaceTab(isReplaceTab)
|
||||
{ }
|
||||
|
||||
protected:
|
||||
BOOL OnInitDialog() override;
|
||||
void OnOK() override;
|
||||
void DoDataExchange(CDataExchange* pDX) override;
|
||||
|
||||
bool IsPCEvent() const;
|
||||
|
||||
void UpdateInstrumentList();
|
||||
void UpdateVolumeList();
|
||||
void UpdateParamList();
|
||||
|
||||
// When a combobox is focussed, check the corresponding checkbox.
|
||||
void CheckOnChange(int nIDButton) { CheckDlgButton(nIDButton, BST_CHECKED); CheckReplace(nIDButton); };
|
||||
afx_msg void OnNoteChanged();
|
||||
afx_msg void OnInstrChanged();
|
||||
afx_msg void OnVolCmdChanged() { CheckOnChange(IDC_CHECK3); UpdateVolumeList(); };
|
||||
afx_msg void OnVolumeChanged();
|
||||
afx_msg void OnEffectChanged() { CheckOnChange(IDC_CHECK5); UpdateParamList(); };
|
||||
afx_msg void OnParamChanged();
|
||||
afx_msg void OnPCParamChanged();
|
||||
// When a checkbox is checked, also check "Replace By".
|
||||
afx_msg void OnCheckNote() { CheckReplace(IDC_CHECK1); };
|
||||
afx_msg void OnCheckInstr() { CheckReplace(IDC_CHECK2); };
|
||||
afx_msg void OnCheckVolCmd() { CheckReplace(IDC_CHECK3); };
|
||||
afx_msg void OnCheckVolume() { CheckReplace(IDC_CHECK4); };
|
||||
afx_msg void OnCheckEffect() { CheckReplace(IDC_CHECK5); };
|
||||
afx_msg void OnCheckParam() { CheckReplace(IDC_CHECK6); };
|
||||
// Check "Replace By"
|
||||
afx_msg void CheckReplace(int nIDButton) { if(m_isReplaceTab && IsDlgButtonChecked(nIDButton)) CheckDlgButton(IDC_CHECK7, BST_CHECKED); };
|
||||
|
||||
afx_msg void OnCheckChannelSearch();
|
||||
|
||||
void RelativeOrMultiplyPrompt(CComboBox &comboBox, FindReplace::ReplaceMode &action, int &value, int range, bool isHex);
|
||||
DECLARE_MESSAGE_MAP()
|
||||
};
|
||||
|
||||
OPENMPT_NAMESPACE_END
|
Loading…
Add table
Add a link
Reference in a new issue