I'd suggest creating a custom widget where you could add or delete submasters on the fly. It should take you no more than an hour to implement such a class. Here is a stub to start with:
class SubasterArray
: public QWidget { Q_OBJECT
public:
SubmasterArray
(int initialCount
= 4,
QWidget *parent
= 0) : QWidget(parent
) { for(int i=0;i<initialCount;i++){
l->addWidget(slid);
m_groups << slid;
}
}
int count() const { return m_groups.count(); }
QSlider *sliderAt
(int i
) const { return m_groups.
at(i
);
} layout()->addWidget(slid);
m_groups << slid;
return slid;
}
void removeSubmaster(int i){
if(i<0 || i>=m_groups.count()) return;
delete m_groups[i];
m_groups.removeAt(i);
}
private:
QList<QSlider*> m_groups;
};
class SubasterArray : public QWidget {
Q_OBJECT
public:
SubmasterArray(int initialCount = 4, QWidget *parent = 0) : QWidget(parent) {
QHBoxLayout *l = new QHBoxLayout(this);
for(int i=0;i<initialCount;i++){
QSlider *slid = new QSlider;
l->addWidget(slid);
m_groups << slid;
}
}
int count() const { return m_groups.count(); }
QSlider *sliderAt(int i) const { return m_groups.at(i); }
QSlider *addSubmaster() {
QSlider *slid = new QSlider;
layout()->addWidget(slid);
m_groups << slid;
return slid;
}
void removeSubmaster(int i){
if(i<0 || i>=m_groups.count()) return;
delete m_groups[i];
m_groups.removeAt(i);
}
private:
QList<QSlider*> m_groups;
};
To copy to clipboard, switch view to plain text mode
You could put it all inside a QScrollArea to have the groups scrollable.
Bookmarks