15 const QStringList & Default,
17 : QSortFilterProxyModel ( parent ),
37 const QModelIndex & source_parent )
const
50 const QModelIndex & right )
const
52 if ( left.parent() == QModelIndex() || left.parent().parent() == QModelIndex() )
54 QVariant LeftData = sourceModel()->data ( left );
55 QVariant RightData = sourceModel()->data ( right );
57 switch ( LeftData.type() )
61 return ( LeftData.toUInt() < RightData.toUInt() );
64 return ( LeftData.toInt() < RightData.toInt() );
66 case QVariant::String:
67 return ( ( LeftData.toString() ).compare ( RightData.toString() ) > 0 );
100 for ( QString & ClassName : ClassList )
110 if ( sourceModel()->canFetchMore ( ParentIndex ) ) sourceModel()->fetchMore (
120 if ( index.isValid() )
122 QModelIndex sourceParent = mapToSource ( index );
131 throw daq::dbe::cannot_handle_invalid_qmodelindex (
ERS_HERE );
136 QModelIndex sourceParent = mapToSource ( index );
141 return my->
getnode ( sourceParent );
150 QModelIndex sourceParent = mapToSource ( index );
155 return my->
getclass ( sourceParent );
163 return sourceModel();
167 const QModelIndex & source_parent )
const
169 Q_UNUSED ( source_row )
170 Q_UNUSED ( source_parent )
176 const QModelIndex & source_parent )
const
180 QModelIndex
const & nodeindex = srcmodel->
index ( source_row, 0, source_parent );
182 QString
const nodename = srcmodel->
data ( nodeindex ).toString();
184 if ( not source_parent.isValid() )
191 admissible.toStdString() );
200 else if (
dynamic_cast<ObjectNode *
> ( tofilter ) )
207 QString
const related = sourceModel()->data ( nodeindex.parent().parent() ).toString();
212 admissible.toStdString() );
231 QString::fromStdString ( obj.class_name() ) ) )
234 auto found = [&obj, classnode] (
int i )
236 return obj.UID() == classnode->GetChild ( i )->GetData ( 0 ).toString().toStdString();
240 int const childs = classnode->ChildCount();
242 for ( ; i < childs and not found ( i ); ++i )
245 return i == childs ? QModelIndex() : index ( i, 0, QModelIndex() );
248 return QModelIndex();
260 if ( index.isValid() )
262 this->removeRows ( index.row(), 1, index.parent() );
#define TREEMODEL_REMOVE_ROWS_DEF(classname)
static cptr< datahandler > gethandler()
static cptr< ui::config::info > guiconfig()
void model_common_connections()
treenode * getnode(const QModelIndex &index) const
bool this_apply_default_filter
bool lessThan(const QModelIndex &left, const QModelIndex &right) const
bool ApplyDefaultFilter(int source_row, const QModelIndex &source_parent) const
bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const
QStringList this_default_filter
Window this_window_config
QString this_gui_windowname
subtree_proxy(const QString &Name, const QStringList &Default, QObject *parent=nullptr)
Including DBE.
bool ApplyUserFilter(int source_row, const QModelIndex &source_parent) const
QVariant data(const type_index &index, int role=Qt::DisplayRole) const override
type_index getindex(treenode *NodeItem, type_index const &RootIndex=QModelIndex()) const
type_datum * getnode(const type_index &index) const override
type_index index(int row, int column, const type_index &parent) const override
#define MODEL_COMMON_INTERFACE_LOOKUP_IMPL(classname)
#define MODEL_COMMON_INTERFACE_RENAME_THAT_OBJ_IMPL(classname)
#define MODEL_COMMON_INTERFACE_UPDATE_THAT_OBJ_IMPL(classname)
#define MODEL_COMMON_INTERFACE_DELETE_THAT_OBJ_IMPL(classname)
#define MODEL_COMMON_INTERFACE_SLOTS_DEF(classname)
#define MODEL_COMMON_INTERFACE_CREATE_THAT_OBJ_IMPL(classname)
inner::configobject::tref tref
QString DatabaseClassName
QStringList DerivedClasses
bool ShowAllRelationships
QStringList Relationships
virtual type_class_info getclass(type_index const &index) const =0
virtual type_object_ref getobject(type_index const &index) const =0
virtual QAbstractItemModel * ReturnSourceModel() const =0