60 lines
1.5 KiB
C++
Executable file
60 lines
1.5 KiB
C++
Executable file
/*
|
||
==============================================================================
|
||
This file is part of Obxd synthesizer.
|
||
|
||
Copyright <20> 2013-2014 Filatov Vadim
|
||
|
||
Contact author via email :
|
||
justdat_@_e1.ru
|
||
|
||
This file may be licensed under the terms of of the
|
||
GNU General Public License Version 2 (the ``GPL'').
|
||
|
||
Software distributed under the License is distributed
|
||
on an ``AS IS'' basis, WITHOUT WARRANTY OF ANY KIND, either
|
||
express or implied. See the GPL for the specific language
|
||
governing rights and limitations.
|
||
|
||
You should have received a copy of the GPL along with this
|
||
program. If not, go to http://www.gnu.org/licenses/gpl.html
|
||
or write to the Free Software Foundation, Inc.,
|
||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||
==============================================================================
|
||
*/
|
||
#pragma once
|
||
#include "../Source/Engine/SynthEngine.h"
|
||
class ButtonList : public ComboBox{
|
||
private :
|
||
int count;
|
||
Image kni;
|
||
int w2,h2;
|
||
public:
|
||
ButtonList(Image k,int fh) :ComboBox("cb")
|
||
{
|
||
kni = k;
|
||
count = 0;
|
||
h2 =fh;
|
||
w2 = k.getWidth();
|
||
}
|
||
//int addItem
|
||
void addChoise(String name)
|
||
{
|
||
addItem(name,++count);
|
||
}
|
||
float getValue()
|
||
{
|
||
return ((getSelectedId()-1)/ (float)(count-1));
|
||
}
|
||
void setValue(float val,NotificationType notify)
|
||
{
|
||
setSelectedId((int)(val*(count -1) + 1),notify);
|
||
}
|
||
void paintOverChildren(Graphics& g)
|
||
{
|
||
int ofs = getSelectedId()-1;
|
||
g.drawImage(kni, 0, 0, getWidth(), getHeight(),
|
||
0, h2*ofs, w2, h2);
|
||
}
|
||
|
||
|
||
};
|