BornAgain
1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
View model for ExperimentalDataModel with drag-and-drop support. More...
Public Member Functions | |
DataViewModel (ExperimentalDataModel *model, QObject *parent=nullptr) | |
void | appendRow (ViewItem *parent, std::vector< std::unique_ptr< ViewItem >> items) |
Appends row of items to given parent. More... | |
bool | canDropMimeData (const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) const override |
Returns true if we can drop item here. More... | |
void | clearRows (ViewItem *parent) |
int | columnCount (const QModelIndex &parent=QModelIndex()) const override |
QVariant | data (const QModelIndex &index, int role=Qt::DisplayRole) const override |
bool | dropMimeData (const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override |
std::vector< ViewItem * > | findViews (const ModelView::SessionItem *item) const |
Returns vector of all ViewItem's representing given SessionItem. More... | |
Qt::ItemFlags | flags (const QModelIndex &index) const override |
Return the Qt flags for given index. We allow GraphItem drag, they can be dropped on CanvasItem. More... | |
QVariant | headerData (int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const override |
QModelIndex | index (int row, int column, const QModelIndex &parent=QModelIndex()) const override |
QModelIndex | indexFromItem (const ViewItem *item) const |
Returns the QModelIndex associated with the given item. More... | |
QModelIndexList | indexOfSessionItem (const SessionItem *item) const |
Returns list of model indices representing given SessionItem. More... | |
void | insertRow (ViewItem *parent, int row, std::vector< std::unique_ptr< ViewItem >> items) |
Insert a row of items at index 'row' to given parent. More... | |
ViewItem * | itemFromIndex (const QModelIndex &index) const |
Returns a pointer to the RefViewItem associated with the given index. More... | |
QMimeData * | mimeData (const QModelIndexList &index_list) const override |
Generate the mime data for all selected items. More... | |
QModelIndex | parent (const QModelIndex &child) const override |
void | removeRow (ViewItem *parent, int row) |
ViewItem * | rootItem () const |
Returns a pointer to invisible root item. More... | |
SessionItem * | rootSessionItem () |
int | rowCount (const QModelIndex &parent=QModelIndex()) const override |
SessionItem * | sessionItemFromIndex (const QModelIndex &index) const |
SessionModel * | sessionModel () const |
bool | setData (const QModelIndex &index, const QVariant &value, int role) override |
void | setRootSessionItem (SessionItem *item) |
Qt::DropActions | supportedDragActions () const override |
Supported drag actions. More... | |
Qt::DropActions | supportedDropActions () const override |
Supported drop actions. More... | |
ViewItem * | viewItemFromIndex (const QModelIndex &index) const |
Private Member Functions | |
void | setRootViewItem (std::unique_ptr< ViewItem > root_item) |
Sets new root item. Previous item will be deleted, model will be reset. More... | |
Private Attributes | |
std::unique_ptr< ViewModelController > | m_controller |
std::unique_ptr< ViewModelBaseImpl > | p_impl |
View model for ExperimentalDataModel with drag-and-drop support.
Definition at line 31 of file dataviewmodel.h.
gui2::DataViewModel::DataViewModel | ( | ExperimentalDataModel * | model, |
QObject * | parent = nullptr |
||
) |
Definition at line 34 of file dataviewmodel.cpp.
|
inherited |
Appends row of items to given parent.
Definition at line 165 of file viewmodelbase.cpp.
References ModelView::ViewModelBase::insertRow(), and ModelView::ViewModelBase::parent().
Referenced by ModelView::ViewModelController::ViewModelControllerImpl::iterate(), and TEST_F().
|
override |
Returns true if we can drop item here.
Definition at line 88 of file dataviewmodel.cpp.
References gui2::Constants::CanvasItemType, ModelView::ViewModelBase::data(), ModelView::ViewModelBase::parent(), and ModelView::ViewModel::sessionItemFromIndex().
Referenced by dropMimeData().
|
inherited |
Definition at line 135 of file viewmodelbase.cpp.
References ModelView::ViewModelBase::indexFromItem(), ModelView::ViewModelBase::p_impl, and ModelView::ViewModelBase::parent().
Referenced by ModelView::ViewModelController::ViewModelControllerImpl::remove_children_of_view(), and TEST_F().
|
overrideinherited |
Definition at line 70 of file viewmodelbase.cpp.
References ModelView::ViewItem::columnCount(), ModelView::ViewModelBase::itemFromIndex(), ModelView::ViewModelBase::parent(), and ModelView::ViewModelBase::rootItem().
Referenced by ModelView::ViewModelBase::index(), and TEST_F().
|
overrideinherited |
Definition at line 76 of file viewmodelbase.cpp.
References ModelView::ViewModelBase::index(), ModelView::ViewModelBase::itemFromIndex(), and ModelView::ViewModelBase::rootItem().
Referenced by canDropMimeData(), dropMimeData(), ModelView::ViewModel::headerData(), and TEST_F().
|
override |
Definition at line 98 of file dataviewmodel.cpp.
References canDropMimeData(), ModelView::ViewModelBase::data(), ModelView::Utils::deserialize(), ModelView::SessionModel::findItem(), ModelView::SessionModel::moveItem(), ModelView::ViewModelBase::parent(), ModelView::ViewModel::sessionItemFromIndex(), and ModelView::ViewModel::sessionModel().
|
inherited |
Returns vector of all ViewItem's representing given SessionItem.
Definition at line 81 of file viewmodel.cpp.
References ModelView::ViewModel::m_controller.
Referenced by TEST_F().
|
override |
Return the Qt flags for given index. We allow GraphItem drag, they can be dropped on CanvasItem.
Definition at line 41 of file dataviewmodel.cpp.
References gui2::Constants::CanvasItemType, ModelView::ViewModelBase::flags(), ModelView::Constants::GraphItemType, ModelView::ViewModelBase::index(), and ModelView::ViewModel::sessionItemFromIndex().
|
overrideinherited |
Definition at line 30 of file viewmodel.cpp.
References ModelView::ViewModelBase::data(), and ModelView::ViewModel::m_controller.
|
overrideinherited |
Definition at line 42 of file viewmodelbase.cpp.
References ModelView::ViewModelBase::columnCount(), ModelView::ViewModelBase::itemFromIndex(), ModelView::ViewModelBase::parent(), ModelView::ViewModelBase::rootItem(), and ModelView::ViewModelBase::rowCount().
Referenced by ModelView::ViewModelBase::data(), flags(), ModelView::ViewModelBase::flags(), ModelView::ViewModelBase::itemFromIndex(), ModelView::ViewModel::sessionItemFromIndex(), ModelView::ViewModelBase::setData(), TEST_F(), and ModelView::ViewModel::viewItemFromIndex().
|
inherited |
Returns the QModelIndex associated with the given item.
Definition at line 117 of file viewmodelbase.cpp.
References ModelView::ViewItem::column(), ModelView::ViewItem::parent(), and ModelView::ViewItem::row().
Referenced by ModelView::ViewModelBase::clearRows(), ModelView::ViewModel::indexOfSessionItem(), ModelView::ViewModelBase::insertRow(), ModelView::ViewModelBase::ViewModelBaseImpl::item_belongs_to_model(), ModelView::ViewModelBase::removeRow(), and TEST_F().
|
inherited |
Returns list of model indices representing given SessionItem.
Definition at line 71 of file viewmodel.cpp.
References ModelView::ViewModelBase::indexFromItem(), and ModelView::ViewModel::m_controller.
Referenced by gui2::DataSelectionModel::selectItems(), gui2::LayerSelectionModel::selectItems(), gui2::MaterialSelectionModel::selectItems(), and TEST_F().
|
inherited |
Insert a row of items at index 'row' to given parent.
Definition at line 151 of file viewmodelbase.cpp.
References ModelView::ViewModelBase::indexFromItem(), ModelView::ViewModelBase::p_impl, and ModelView::ViewModelBase::parent().
Referenced by ModelView::ViewModelBase::appendRow(), ModelView::ViewModelController::ViewModelControllerImpl::insert_view(), and TEST_F().
|
inherited |
Returns a pointer to the RefViewItem associated with the given index.
If index is invalid, returns nullptr.
Definition at line 110 of file viewmodelbase.cpp.
References ModelView::ViewModelBase::index().
Referenced by ModelView::ViewModelBase::columnCount(), ModelView::ViewModelBase::data(), ModelView::ViewModelController::ViewModelControllerImpl::findViews(), ModelView::ViewModelBase::flags(), ModelView::ViewModelBase::index(), ModelView::ViewModelBase::parent(), ModelView::ViewModelBase::rowCount(), ModelView::ViewModel::sessionItemFromIndex(), ModelView::ViewModelBase::setData(), TEST_F(), and ModelView::ViewModel::viewItemFromIndex().
|
override |
Generate the mime data for all selected items.
Definition at line 57 of file dataviewmodel.cpp.
References ModelView::Utils::serialize(), and ModelView::Utils::UniqueItemsFromIndex().
|
overrideinherited |
Definition at line 52 of file viewmodelbase.cpp.
References ModelView::ViewModelBase::itemFromIndex(), and ModelView::ViewModelBase::rootItem().
Referenced by ModelView::ViewModelBase::appendRow(), canDropMimeData(), ModelView::ViewModelBase::clearRows(), ModelView::ViewModelBase::columnCount(), dropMimeData(), ModelView::ViewModelBase::index(), ModelView::ViewModelBase::insertRow(), ModelView::ViewModelBase::removeRow(), ModelView::ViewModelBase::rowCount(), and TEST_F().
|
inherited |
Definition at line 124 of file viewmodelbase.cpp.
References ModelView::ViewModelBase::indexFromItem(), ModelView::ViewModelBase::p_impl, and ModelView::ViewModelBase::parent().
Referenced by ModelView::ViewModelController::ViewModelControllerImpl::remove_row_of_views(), and TEST_F().
|
inherited |
Returns a pointer to invisible root item.
Definition at line 102 of file viewmodelbase.cpp.
References ModelView::ViewModelBase::p_impl.
Referenced by ModelView::ViewModel::ViewModel(), ModelView::ViewModelBase::columnCount(), ModelView::ViewModelBase::data(), ModelView::ViewModelController::ViewModelControllerImpl::findViews(), ModelView::ViewModelBase::index(), ModelView::ViewModelController::ViewModelControllerImpl::init_view_model(), ModelView::ViewModelBase::ViewModelBaseImpl::item_belongs_to_model(), ModelView::ViewModelBase::parent(), ModelView::ViewModelBase::rowCount(), and TEST_F().
|
inherited |
Definition at line 45 of file viewmodel.cpp.
References ModelView::ViewModel::m_controller.
|
overrideinherited |
Definition at line 64 of file viewmodelbase.cpp.
References ModelView::ViewModelBase::itemFromIndex(), ModelView::ViewModelBase::parent(), ModelView::ViewModelBase::rootItem(), and ModelView::ViewItem::rowCount().
Referenced by ModelView::ViewModelBase::index(), and TEST_F().
|
inherited |
Definition at line 59 of file viewmodel.cpp.
References ModelView::ViewModelBase::index(), ModelView::ViewItem::item(), ModelView::ViewModelBase::itemFromIndex(), and ModelView::ViewModel::m_controller.
Referenced by canDropMimeData(), dropMimeData(), flags(), and TEST_F().
|
inherited |
Definition at line 40 of file viewmodel.cpp.
References ModelView::ViewModel::m_controller.
Referenced by ModelView::ViewModel::ViewModel(), and dropMimeData().
|
overrideinherited |
Definition at line 85 of file viewmodelbase.cpp.
References ModelView::ViewModelBase::index(), and ModelView::ViewModelBase::itemFromIndex().
Referenced by TEST_F().
|
inherited |
Definition at line 52 of file viewmodel.cpp.
References ModelView::ViewModel::m_controller.
Referenced by gui2::ImportDataEditor::ImportDataEditor(), ModelView::PropertyTreeView::setItem(), and TEST_F().
|
privateinherited |
Sets new root item. Previous item will be deleted, model will be reset.
Definition at line 182 of file viewmodelbase.cpp.
References ModelView::ViewModelBase::p_impl.
Referenced by ModelView::ViewModelBase::ViewModelBase(), and ModelView::ViewModelController::ViewModelControllerImpl::setRootSessionItemIntern().
|
override |
Supported drag actions.
Definition at line 74 of file dataviewmodel.cpp.
|
override |
Supported drop actions.
Definition at line 81 of file dataviewmodel.cpp.
|
inherited |
Definition at line 64 of file viewmodel.cpp.
References ModelView::ViewModelBase::index(), and ModelView::ViewModelBase::itemFromIndex().
|
privateinherited |
Definition at line 54 of file viewmodel.h.
Referenced by ModelView::ViewModel::ViewModel(), ModelView::ViewModel::findViews(), ModelView::ViewModel::headerData(), ModelView::ViewModel::indexOfSessionItem(), ModelView::ViewModel::rootSessionItem(), ModelView::ViewModel::sessionItemFromIndex(), ModelView::ViewModel::sessionModel(), and ModelView::ViewModel::setRootSessionItem().
|
privateinherited |
Definition at line 70 of file viewmodelbase.h.
Referenced by ModelView::ViewModelBase::clearRows(), ModelView::ViewModelBase::insertRow(), ModelView::ViewModelBase::removeRow(), ModelView::ViewModelBase::rootItem(), and ModelView::ViewModelBase::setRootViewItem().