Initial community commit
This commit is contained in:
parent
537bcbc862
commit
fc06254474
16440 changed files with 4239995 additions and 2 deletions
|
@ -0,0 +1,90 @@
|
|||
/*
|
||||
* MoveFXSlotDialog.h
|
||||
* ------------------
|
||||
* Purpose: Implementationof OpenMPT's move plugin dialog.
|
||||
* Notes : (currently none)
|
||||
* Authors: OpenMPT Devs
|
||||
* The OpenMPT source code is released under the BSD license. Read LICENSE for more details.
|
||||
*/
|
||||
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "Mptrack.h"
|
||||
#include "MoveFXSlotDialog.h"
|
||||
|
||||
|
||||
OPENMPT_NAMESPACE_BEGIN
|
||||
|
||||
|
||||
void CMoveFXSlotDialog::DoDataExchange(CDataExchange* pDX)
|
||||
{
|
||||
CDialog::DoDataExchange(pDX);
|
||||
DDX_Control(pDX, IDC_COMBO1, m_CbnEmptySlots);
|
||||
}
|
||||
|
||||
|
||||
CMoveFXSlotDialog::CMoveFXSlotDialog(CWnd *pParent, PLUGINDEX currentSlot, const std::vector<PLUGINDEX> &emptySlots, PLUGINDEX defaultIndex, bool clone, bool hasChain) :
|
||||
CDialog(CMoveFXSlotDialog::IDD, pParent),
|
||||
m_EmptySlots(emptySlots),
|
||||
m_nDefaultSlot(defaultIndex),
|
||||
moveChain(hasChain)
|
||||
{
|
||||
if(clone)
|
||||
{
|
||||
m_csPrompt.Format(_T("Clone plugin in slot %d to the following empty slot:"), currentSlot + 1);
|
||||
m_csTitle = _T("Clone To Slot...");
|
||||
m_csChain = _T("&Clone follow-up plugin chain if possible");
|
||||
} else
|
||||
{
|
||||
m_csPrompt.Format(_T("Move plugin in slot %d to the following empty slot:"), currentSlot + 1);
|
||||
m_csTitle = _T("Move To Slot...");
|
||||
m_csChain = _T("&Move follow-up plugin chain if possible");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
BOOL CMoveFXSlotDialog::OnInitDialog()
|
||||
{
|
||||
CDialog::OnInitDialog();
|
||||
SetDlgItemText(IDC_STATIC1, m_csPrompt);
|
||||
SetDlgItemText(IDC_CHECK1, m_csChain);
|
||||
SetWindowText(m_csTitle);
|
||||
|
||||
if(m_EmptySlots.empty())
|
||||
{
|
||||
Reporting::Error("No empty plugin slots are availabe.");
|
||||
OnCancel();
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
CString slotText;
|
||||
std::size_t defaultSlot = 0;
|
||||
bool foundDefault = false;
|
||||
for(size_t nSlot = 0; nSlot < m_EmptySlots.size(); nSlot++)
|
||||
{
|
||||
slotText.Format(_T("FX%d"), m_EmptySlots[nSlot] + 1);
|
||||
m_CbnEmptySlots.SetItemData(m_CbnEmptySlots.AddString(slotText), nSlot);
|
||||
if(m_EmptySlots[nSlot] >= m_nDefaultSlot && !foundDefault)
|
||||
{
|
||||
defaultSlot = nSlot;
|
||||
foundDefault = true;
|
||||
}
|
||||
}
|
||||
m_CbnEmptySlots.SetCurSel(static_cast<int>(defaultSlot));
|
||||
|
||||
GetDlgItem(IDC_CHECK1)->EnableWindow(moveChain ? TRUE : FALSE);
|
||||
CheckDlgButton(IDC_CHECK1, moveChain ? BST_CHECKED : BST_UNCHECKED);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
void CMoveFXSlotDialog::OnOK()
|
||||
{
|
||||
m_nToSlot = m_CbnEmptySlots.GetItemData(m_CbnEmptySlots.GetCurSel());
|
||||
moveChain = IsDlgButtonChecked(IDC_CHECK1) != BST_UNCHECKED;
|
||||
CDialog::OnOK();
|
||||
}
|
||||
|
||||
|
||||
OPENMPT_NAMESPACE_END
|
Loading…
Add table
Add a link
Reference in a new issue