aboutsummaryrefslogtreecommitdiff
path: root/Src/external_dependencies/openmpt-trunk/mptrack/MoveFXSlotDialog.h
blob: b0e49b5447e0166188a3fdfc2f2558e08b53c9b7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
/*
 * 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.
 */


#pragma once

#include "openmpt/all/BuildSettings.hpp"

OPENMPT_NAMESPACE_BEGIN

class CMoveFXSlotDialog : public CDialog
{
protected:
	const std::vector<PLUGINDEX> &m_EmptySlots;
	CString m_csPrompt, m_csTitle, m_csChain;
	size_t m_nToSlot;
	PLUGINDEX m_nDefaultSlot;
	bool moveChain;

	CComboBox m_CbnEmptySlots;

	enum { IDD = IDD_MOVEFXSLOT };

public:
	CMoveFXSlotDialog(CWnd *pParent, PLUGINDEX currentSlot, const std::vector<PLUGINDEX> &emptySlots, PLUGINDEX defaultIndex, bool clone, bool hasChain);
	PLUGINDEX GetSlot() const { return m_EmptySlots[m_nToSlot]; }
	size_t GetSlotIndex() const { return m_nToSlot; }
	bool DoMoveChain() const { return moveChain; }

protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support

	virtual void OnOK();
	virtual BOOL OnInitDialog();
};

OPENMPT_NAMESPACE_END