Skip to content
Snippets Groups Projects
Commit 02ab87de authored by Wuttke, Joachim's avatar Wuttke, Joachim
Browse files

SetWithModel parent OwningVector now private

parent ee6a70fa
No related branches found
No related tags found
1 merge request!2397InstrumentsSet and SamplesSet based on SetWithModel, which owns a QListModel
......@@ -23,7 +23,7 @@
//! An OwningVector with a current index.
template <class T> class SetWithModel : public OwningVector<T> {
template <class T> class SetWithModel : private OwningVector<T> {
using super = OwningVector<T>;
public:
......@@ -100,6 +100,24 @@ public:
return m_current_index < super::size() ? super::at(m_current_index) : (T*)nullptr;
}
const T* at(size_t i) const { return super::at(i); }
T* at(size_t i) { return super::at(i); }
const T* back() const { return super::back(); }
T* back() { return super::back(); }
size_t size() const { return super::size(); }
bool empty() const { return super::empty(); }
int index_of(const T* t) const { return super::index_of(t); }
const T* at_or(size_t i, T* defolt) const { return super::at_or(i, defolt); }
using Iterator = typename std::vector<T*>::iterator; // "typename" can be dropped under C++20
using ConstIterator = typename std::vector<T*>::const_iterator;
ConstIterator begin() const { return super::begin(); }
ConstIterator end() const { return super::end(); }
Iterator begin() { return super::begin(); }
Iterator end() { return super::end(); }
private:
void update_current()
{
......
......@@ -19,7 +19,7 @@ protected:
// helper method to modify something in a model
void modelsModifier(ProjectDocument& doc)
{
auto* instrument = doc.instrumentsModifier()->front();
auto* instrument = doc.instrumentsModifier()->at(0);
instrument->setName(QUuid::createUuid().toString());
emit gDoc->instruments()->currentModified();
}
......@@ -126,7 +126,7 @@ TEST_F(TestAutosaveController, autosaveEnabled)
DatafileItem* realData =
UTest::GUI::createRealData2D("TestData", *gDoc->datafilesModifier(), 0.);
DataItem* data_item = realData->dataItem();
auto frame = gDoc->instruments()->front()->createFrame();
auto frame = gDoc->instruments()->at(0)->createFrame();
Datafield df(frame.release());
data_item->setDatafield(df);
gDoc->clearModified();
......
......@@ -20,7 +20,7 @@ protected:
//! helper method to modify something in a model
void modelsModifier(ProjectDocument& doc)
{
auto* instrument = doc.instrumentsModifier()->front();
auto* instrument = doc.instrumentsModifier()->at(0);
instrument->setName(QUuid::createUuid().toString());
emit gDoc->instruments()->currentModified();
}
......@@ -85,7 +85,7 @@ TEST_F(TestProjectDocument, projectDocumentWithData)
UTest::GUI::createRealData2D("TestData", *gDoc->datafilesModifier(), 0.);
ASSERT(realData);
DataItem* data_item = realData->dataItem();
auto frame = gDoc->instruments()->front()->createFrame();
auto frame = gDoc->instruments()->at(0)->createFrame();
Datafield df(frame.release());
data_item->setDatafield(df);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment