00001 #include "editinst.h"
00002
00003
00004 #include <opie2/odebug.h>
00005 #include <qpe/config.h>
00006 #include <qpe/qpeapplication.h>
00007 using namespace Opie::Core;
00008
00009
00010 #include <qpushbutton.h>
00011
00012 Menu::InstEditDialog::InstEditDialog(TonleiterData* data,QWidget* parent,const char* name)
00013 :QDialog(parent,name,true,0),data(data)
00014 {
00015 setCaption("Tonleiter::"+tr("Instrument"));
00016 QBoxLayout* masterlayout=new QBoxLayout(this,QBoxLayout::TopToBottom);
00017 instid=data->getCurrentInstrumentID();
00018 stringlist.setAutoDelete(true);
00019
00020 QBoxLayout* toplayout=new QBoxLayout(masterlayout,QBoxLayout::LeftToRight);
00021
00022
00023 boxInst=new QComboBox(this,"boxInst");
00024 boxInst->setSizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding,QSizePolicy::Maximum));
00025 connect(boxInst,SIGNAL(activated(int)),this,SLOT(setCurrentInstrumetID(int)));
00026 for(int i=0;i<data->noOfInstruments();i++)
00027 {
00028 Instrument inst=data->getInstrument(i);
00029 QString name=inst.instName();
00030 if(name.isNull()) continue;
00031 boxInst->insertItem(name,i);
00032 }
00033 boxInst->setCurrentItem(instid);
00034 toplayout->addWidget(boxInst);
00035
00036 QPushButton* addButton=new QPushButton(tr("Add"),this,"addButton");
00037 connect(addButton,SIGNAL(pressed()),this,SLOT(addInstrument()));
00038 toplayout->addWidget(addButton);
00039
00040 QPushButton* delButton=new QPushButton(tr("Delete"),this,"delButton");
00041 connect(delButton,SIGNAL(pressed()),this,SLOT(deleteInstrument()));
00042 toplayout->addWidget(delButton);
00043
00044 QPushButton* addhighButton=new QPushButton(tr("Add High String"),this,"addhighButton");
00045 masterlayout->addWidget(addhighButton);
00046
00047 scrollview=new QScrollView(this);
00048 scrollview->setVScrollBarMode(QScrollView::AlwaysOn);
00049 scrollview->setHScrollBarMode(QScrollView::AlwaysOff);
00050 stringwidget=new QVBox(scrollview->viewport());
00051 stringwidget->setSizePolicy(QSizePolicy(QSizePolicy::Minimum,QSizePolicy::Minimum));
00052 stringwidget->setSpacing(10);
00053 scrollview->addChild(stringwidget);
00054 scrollview->setSizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding,QSizePolicy::Maximum));
00055 masterlayout->addWidget(scrollview);
00056
00057 loadInstrument();
00058
00059 QPushButton* addlowButton=new QPushButton(tr("Add Low String"),this,"addlowButton");
00060 masterlayout->addWidget(addlowButton);
00061
00062
00063 QPEApplication::showDialog( this );
00064 }
00065
00066 Menu::InstEditDialog::~InstEditDialog()
00067 {
00068 }
00069
00070 void Menu::InstEditDialog::setCurrentInstrumetID(int id)
00071 {
00072 saveInstrument();
00073 instid=id;
00074 data->setCurrentInstrumetID(id);
00075 loadInstrument();
00076 }
00077
00078 void Menu::InstEditDialog::addInstrument()
00079 {
00080 }
00081
00082 void Menu::InstEditDialog::deleteInstrument()
00083 {
00084 }
00085
00086 void Menu::InstEditDialog::addLowString()
00087 {
00088 }
00089
00090 void Menu::InstEditDialog::addHighString()
00091 {
00092 }
00093
00094 void Menu::InstEditDialog::deleteString(int id)
00095 {
00096 }
00097
00098 void Menu::InstEditDialog::saveInstrument()
00099 {
00100
00101 stringlist.clear();
00102 }
00103
00104 void Menu::InstEditDialog::loadInstrument()
00105 {
00106 stringlist.clear();
00107 Instrument inst=data->getInstrument(instid);
00108 odebug << "load Instrument : " << inst.noOfStrings() << " strings" << oendl;
00109 for(uint s=0;s<inst.noOfStrings();s++)
00110 {
00111 stringlist.append(new EditStringWidget(inst.string(s),stringwidget));
00112 }
00113 }
00114
00115