1
//--------------------------------------------------------------------------------------
2
// LenMus Phonascus: The teacher of music
3
// Copyright (c) 2002-2008 Cecilio Salmeron
5
// This program is free software; you can redistribute it and/or modify it under the
6
// terms of the GNU General Public License as published by the Free Software Foundation,
7
// either version 3 of the License, or (at your option) any later version.
9
// This program is distributed in the hope that it will be useful, but WITHOUT ANY
10
// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
11
// PARTICULAR PURPOSE. See the GNU General Public License for more details.
13
// You should have received a copy of the GNU General Public License along with this
14
// program. If not, see <http://www.gnu.org/licenses/>.
16
// For any comment, suggestion or feature request, please contact the manager of
17
// the project at cecilios@users.sourceforge.net
19
//-------------------------------------------------------------------------------------
21
#ifndef __LM_MUSUCSYMBOLCBO_H__ //to avoid nested includes
22
#define __LM_MUSUCSYMBOLCBO_H__
24
#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
25
#pragma interface "MusicSymbolCbo.cpp"
28
// For compilers that support precompilation, includes "wx/wx.h".
29
#include "wx/wxprec.h"
39
#include <wx/bmpcbox.h>
44
class lmMusicSymbolCboBase : public wxBitmapComboBox
48
wxBitmapComboBoxBase() { }
50
virtual ~wxBitmapComboBoxBase() { }
52
// Returns the image of the item with the given index.
53
virtual wxBitmap GetItemBitmap(unsigned int n) const = 0;
55
// Sets the image for the given item.
56
virtual void SetItemBitmap(unsigned int n, const wxBitmap& bitmap) = 0;
58
// Returns size of the image used in list
59
virtual wxSize GetBitmapSize() const = 0;
62
lmMusicSymbolCboBase(const wxString& sMessage, const wxString& sTitle);
63
void CreateControls();
64
void AddButton(const wxString& sLabel, const wxString& sDescr);
66
wxStaticBitmap* m_pBitmap;
67
wxStaticText* m_pMessage;
68
const wxString& m_sMessage;
69
wxBoxSizer* m_pButtonsSizer;
75
class lmErrorBox : public lmMusicSymbolCboBase
78
lmErrorBox(const wxString& sMessage, const wxString& sButtonText);
85
//class lmInfoBox : public lmMusicSymbolCboBase
95
//class lmYesNoBox : public lmMusicSymbolCboBase
105
class lmQuestionBox : public lmMusicSymbolCboBase
108
lmQuestionBox(const wxString& sMessage, int nNumButtons, ...);
117
#endif // __LM_MUSUCSYMBOLCBO_H__