winamp/Src/external_dependencies/openmpt-trunk/mptrack/view_com.h
2024-09-24 14:54:57 +02:00

68 lines
1.8 KiB
C++

/*
* view_com.h
* ----------
* Purpose: Song comments tab, lower panel.
* 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 "CListCtrl.h"
OPENMPT_NAMESPACE_BEGIN
class CViewComments: public CModScrollView
{
public:
CViewComments() = default;
DECLARE_SERIAL(CViewComments)
protected:
CModControlBar m_ToolBar;
CListCtrlEx m_ItemList;
int m_nCurrentListId = 0, m_nListId = 0;
ModCommand::NOTE m_lastNote = NOTE_NONE;
CHANNELINDEX m_noteChannel = CHANNELINDEX_INVALID;
INSTRUMENTINDEX m_noteInstr = INSTRUMENTINDEX_INVALID;
public:
void RecalcLayout();
void UpdateButtonState();
public:
//{{AFX_VIRTUAL(CViewComments)
void OnInitialUpdate() override;
BOOL PreTranslateMessage(MSG *pMsg) override;
LRESULT OnModViewMsg(WPARAM wParam, LPARAM lParam) override;
void UpdateView(UpdateHint hint, CObject *pObject = nullptr) override;
//}}AFX_VIRTUAL
protected:
bool SwitchToList(int list);
//{{AFX_MSG(CViewGlobals)
afx_msg void OnDestroy();
afx_msg void OnSize(UINT nType, int cx, int cy);
afx_msg void OnShowSamples() { SwitchToList(IDC_LIST_SAMPLES); }
afx_msg void OnShowInstruments() { SwitchToList(IDC_LIST_INSTRUMENTS); }
afx_msg void OnShowPatterns() { SwitchToList(IDC_LIST_PATTERNS); }
afx_msg void OnEndLabelEdit(LPNMHDR pnmhdr, LRESULT *pLResult);
afx_msg void OnBeginLabelEdit(LPNMHDR pnmhdr, LRESULT *pLResult);
afx_msg void OnDblClickListItem(NMHDR *, LRESULT *);
afx_msg void OnRClickListItem(NMHDR *, LRESULT *);
afx_msg void OnCopyNames();
afx_msg LRESULT OnMidiMsg(WPARAM midiData, LPARAM);
afx_msg LRESULT OnCustomKeyMsg(WPARAM, LPARAM);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
OPENMPT_NAMESPACE_END