diff options
Diffstat (limited to 'muse2/muse/widgets/comboQuant.cpp')
-rw-r--r-- | muse2/muse/widgets/comboQuant.cpp | 49 |
1 files changed, 40 insertions, 9 deletions
diff --git a/muse2/muse/widgets/comboQuant.cpp b/muse2/muse/widgets/comboQuant.cpp index 4a81bc8e..ec3a4f4a 100644 --- a/muse2/muse/widgets/comboQuant.cpp +++ b/muse2/muse/widgets/comboQuant.cpp @@ -5,7 +5,10 @@ // (C) Copyright 2001 Werner Schweer (ws@seh.de) //========================================================= -#include <q3listbox.h> +#include <QTableWidget> +#include <QTableWidgetItem> +#include <QHeaderView> + #include "comboQuant.h" static int quantTable[] = { @@ -24,15 +27,33 @@ static const char* quantStrings[] = { // ComboQuant //--------------------------------------------------------- -ComboQuant::ComboQuant(QWidget* parent, const char* name) - : QComboBox(parent, name) +ComboQuant::ComboQuant(QWidget* parent) + : QComboBox(parent) { - Q3ListBox* qlist = new Q3ListBox(this); - qlist->setMinimumWidth(95); + ///Q3ListBox* qlist = new Q3ListBox(this); + ///qlist->setMinimumWidth(95); //setListBox(qlist); ddskrjo - qlist->setColumnMode(3); - for (int i = 0; i < 24; i++) - qlist->insertItem(tr(quantStrings[i]), i); + ///qlist->setColumnMode(3); + + + qlist = new QTableWidget(8, 3); + qlist->verticalHeader()->setDefaultSectionSize(22); + qlist->horizontalHeader()->setDefaultSectionSize(32); + qlist->setSelectionMode(QAbstractItemView::SingleSelection); + qlist->verticalHeader()->hide(); + qlist->horizontalHeader()->hide(); + + qlist->setMinimumWidth(96); + + setView(qlist); + + ///for (int i = 0; i < 24; i++) + /// qlist->insertItem(tr(quantStrings[i]), i); + for (int j = 0; j < 3; j++) + for (int i = 0; i < 8; i++) + qlist->setItem(i, j, new QTableWidgetItem(tr(quantStrings[i + j * 8]))); + + connect(this, SIGNAL(activated(int)), SLOT(activated(int))); } @@ -42,7 +63,8 @@ ComboQuant::ComboQuant(QWidget* parent, const char* name) void ComboQuant::activated(int index) { - emit valueChanged(quantTable[index]); + ///emit valueChanged(quantTable[index]); + emit valueChanged(quantTable[qlist->currentRow() + qlist->currentColumn() * 8]); } //--------------------------------------------------------- @@ -57,5 +79,14 @@ void ComboQuant::setValue(int val) return; } } + + for (unsigned i = 0; i < sizeof(quantTable)/sizeof(*quantTable); i++) { + if (val == quantTable[i]) { + setCurrentIndex(i); + return; + } + } + printf("ComboQuant::setValue(%d) not defined\n", val); + setCurrentIndex(0); } |