22 template <
typename TargetClass>
23 void onSelected(TargetClass* instance,
void (TargetClass::*memberFunction)(
const QModelIndex&));
25 template <
typename TargetClass>
26 void onDoubleClicked(TargetClass* instance,
bool (TargetClass::*memberFunction)(
const QModelIndex&));
28 template <
typename TargetClass>
29 void onContextMenu(TargetClass* instance, QMenu* (TargetClass::*memberFunction)(
const QModelIndex&));
31 void setModel(QAbstractItemModel* model)
override;
35 void selected(
const QModelIndex& index);
36 void mouseDoubleClickEvent(QMouseEvent* event)
override;
37 void contextMenuRequested(
const QPoint& point);
40 using SelectFunction = std::function<void(
const QModelIndex&)>;
41 using DoubleClickFunction = std::function<bool(
const QModelIndex&)>;
42 using MenuFunction = std::function<QMenu*(
const QModelIndex&)>;
45 QMetaObject::Connection selectConnetion;
46 SelectFunction selectedFunction;
47 DoubleClickFunction doubleClickFunction;
48 MenuFunction contextMenuFunction;