2
0
Fork 0
OB-Xd/Source/Gui/ButtonList.h

61 lines
1.5 KiB
C++
Executable File
Raw Blame History

/*
==============================================================================
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);
}
};