15 #ifndef BORNAGAIN_GUI_COREGUI_MODELS_COMPONENTPROXYSTRATEGY_H
16 #define BORNAGAIN_GUI_COREGUI_MODELS_COMPONENTPROXYSTRATEGY_H
Defines class ProxyModelStrategy.
Proxy model to adjust SessionModel for component editor (right bottom corner of SampleView and simila...
Strategy for ComponentProxyModel which hides extra level of GroupProperty.
void onDataChanged(SessionModel *source, ComponentProxyModel *proxy)
bool isNewRootItem(SessionItem *item)
Returns true if item should become new root item.
bool isPropertyRelated(SessionItem *item)
Returns true if item is property related to exclude top level items (ParticleLayout,...
void processSubGroupItem(SessionItem *item, const QPersistentModelIndex &sourceIndex)
Process group property which is inside of other group property.
bool processSourceIndex(const QModelIndex &index)
Mapping of proxy model indices to indices in source model.
bool isSubGroup(SessionItem *item)
Returns true if item is a group property which in turn is inside of another group property.
int parentVisibleRow(const SessionItem &item)
void processRootItem(SessionItem *item, const QPersistentModelIndex &sourceIndex)
Makes SessionItem to become the only one item in a tree.
void processGroupItem(SessionItem *item, const QPersistentModelIndex &sourceIndex)
All properties of current item of group item.
void processDefaultItem(SessionItem *item, const QPersistentModelIndex &sourceIndex)
bool isGroupChildren(SessionItem *item)
Returns true if item is a children/grandchildrent of some group item.
Base class for proxy strategies in ComponentProxyModel.