using namespace std;
#include <qtooltip.h>
#include <qimage.h>
+#include <qboxlayout.h>
+#include <qwidgetaction.h>
#include <GL/glut.h>
#include <Music/Music.h>
using namespace Music;
GLFreqStruct::GLFreqStruct(QWidget* parent)
-: QGLWidget(parent, "GLFreqStruct")
-, View("Harmonics", this)
+: QGLWidget(parent)
+, View(tr("Harmonics"), this)
, m_components_max(1.0)
{
// settings
- QImage img;
+ QPixmap img;
img.loadFromData(g_icon_formants, sizeof(g_icon_formants), "PNG");
- setting_show->setIconSet(QIconSet(QImage(img)));
- setting_show->setOn(false);
+ setting_show->setIcon(QIcon(img));
+ setting_show->setChecked(false);
hide();
- m_popup_menu.insertItem(new Title(tr("Number of harmonics"), &m_popup_menu));
- setting_spinNumComponents = new QSpinBox(1, 128, 1, &m_popup_menu);
- setting_spinNumComponents->setValue(16);
+ QHBoxLayout* numComponentsActionLayout = new QHBoxLayout(&m_popup_menu);
+
+ QLabel* numComponentsActionTitle = new QLabel(tr("Number of harmonics"), &m_popup_menu);
+ numComponentsActionLayout->addWidget(numComponentsActionTitle);
+
+ setting_spinNumComponents = new QSpinBox(&m_popup_menu);
+ setting_spinNumComponents->setMinimum(1);
+ setting_spinNumComponents->setMaximum(128);
+ setting_spinNumComponents->setSingleStep(1);
+ setting_spinNumComponents->setValue(16);
m_components.resize(setting_spinNumComponents->value());
- QToolTip::add(setting_spinNumComponents, tr("Number of harmonics"));
+ setting_spinNumComponents->setToolTip(tr("Number of harmonics"));
connect(setting_spinNumComponents, SIGNAL(valueChanged(int)), this, SLOT(spinNumComponentsChanged(int)));
- m_popup_menu.insertItem(setting_spinNumComponents);
+ numComponentsActionLayout->addWidget(setting_spinNumComponents);
+
+ QWidget* numComponentsActionWidget = new QWidget(&m_popup_menu);
+ numComponentsActionWidget->setLayout(numComponentsActionLayout);
+
+ QWidgetAction* numComponentsAction = new QWidgetAction(&m_popup_menu);
+ numComponentsAction->setDefaultWidget(numComponentsActionWidget);
+ m_popup_menu.addAction(numComponentsAction);
for(size_t i=0; i<m_components.size(); i++)
m_components[i] = 0.0;
void GLFreqStruct::save()
{
- s_settings->writeEntry("spinNumComponents", setting_spinNumComponents->value());
+ s_settings->setValue("spinNumComponents", setting_spinNumComponents->value());
}
void GLFreqStruct::load()
{
- setting_spinNumComponents->setValue(s_settings->readNumEntry("spinNumComponents", setting_spinNumComponents->value()));
+ setting_spinNumComponents->setValue(s_settings->value("spinNumComponents", setting_spinNumComponents->value()).toInt());
}
void GLFreqStruct::clearSettings()
{
- s_settings->removeEntry("spinNumComponents");
+ s_settings->remove("spinNumComponents");
}
void GLFreqStruct::spinNumComponentsChanged(int num)
glClear(GL_COLOR_BUFFER_BIT);
// name
- string str = tr("Harmonics");
+ string str = tr("Harmonics").toStdString();
glColor3f(0.75,0.75,0.75);
glRasterPos2i(2, height()-20);
for(size_t i = 0; i < str.size(); i++)
- glutBitmapCharacter(GLUT_BITMAP_HELVETICA_18, str[i]);
+ glutBitmapCharacter(GLUT_BITMAP_HELVETICA_18, (unsigned char)str[i]);
int scale_height = 12;
glRasterPos2i(int((i+0.5)*step)-3, 2);
// string str = StringAddons::toString(i+1);
- string str = QString::number(i+1);
+ string str = QString::number(i+1).toStdString();
for(size_t i = 0; i < str.size(); i++)
- glutBitmapCharacter(GLUT_BITMAP_HELVETICA_10, str[i]);
+ glutBitmapCharacter(GLUT_BITMAP_HELVETICA_10, (unsigned char)str[i]);
}
glFlush();