21#include <boost/optional.hpp>
26namespace MantidWidgets {
32 JobTreeView(QStringList
const &columnHeadings,
Cell const &defaultCellStyle, QWidget *parent =
nullptr);
34 void filterRowsBy(std::unique_ptr<RowPredicate> predicate)
override;
36 void resetFilter()
override;
37 bool hasFilter()
const override;
39 void setHintsForColumn(
int column, std::unique_ptr<HintStrategy> hintStrategy)
override;
40 void setHintsForColumn(
int column,
HintStrategy *hintStrategy)
override;
44 RowLocation insertChildRowOf(
RowLocation const &parent,
int beforeRow, std::vector<Cell>
const &rowText)
override;
47 RowLocation appendChildRowOf(
RowLocation const &parentLocation, std::vector<Cell>
const &rowText)
override;
48 void appendAndEditAtChildRow()
override;
49 void appendAndEditAtRowBelow()
override;
50 void editAtRowAbove()
override;
52 void removeRowAt(
RowLocation const &location)
override;
53 void removeAllRows()
override;
54 void removeRows(std::vector<RowLocation> rowsToRemove)
override;
55 bool isOnlyChildOfRoot(
RowLocation const &location)
const override;
57 void replaceRows(std::vector<RowLocation> replacementPoints, std::vector<Subtree> replacements)
override;
59 void appendSubtreesAt(
RowLocation const &parent, std::vector<Subtree> subtrees)
override;
62 void replaceSubtreeAt(
RowLocation const &rootToRemove,
Subtree const &toInsert)
override;
65 std::vector<Cell> cellsAt(
RowLocation const &location)
const override;
66 void setCellsAt(
RowLocation const &location, std::vector<Cell>
const &rowText)
override;
69 void setCellAt(
RowLocation location,
int column,
Cell const &cellText)
override;
71 void clearSelection()
override;
72 void expandAll()
override;
73 void collapseAll()
override;
75 QModelIndex moveCursor(CursorAction cursorAction, Qt::KeyboardModifiers modifiers)
override;
76 std::vector<RowLocation> selectedRowLocations()
const override;
77 boost::optional<std::vector<Subtree>> selectedSubtrees()
const override;
78 boost::optional<std::vector<RowLocation>> selectedSubtreeRoots()
const override;
80 bool hasNoSelectedDescendants(QModelIndex
const &
index)
const;
81 void appendAllUnselectedDescendants(QModelIndexList &selectedRows, QModelIndex
const &
index)
const;
82 QModelIndexList findImplicitlySelected(QModelIndexList
const &selectedRows)
const;
84 int currentColumn()
const override;
86 Cell deadCell()
const override;
87 using QTreeView::edit;
90 void keyPressEvent(QKeyEvent *event)
override;
91 bool edit(
const QModelIndex &
index, EditTrigger trigger, QEvent *event)
override;
92 void setHeaderLabels(QStringList
const &columnHeadings);
93 void appendAndEditAtChildRowRequested();
94 void appendAndEditAtRowBelowRequested();
95 void editAtRowAboveRequested();
96 void removeSelectedRequested();
97 void copySelectedRequested();
98 void cutSelectedRequested();
99 void pasteSelectedRequested();
100 void enableFiltering();
103 void commitData(QWidget * )
override;
104 void selectionChanged(
const QItemSelection &selected,
const QItemSelection &deselected)
override;
120 QModelIndex siblingIfExistsElseParent(QModelIndex
const &
index)
const;
124 bool isEditable(
const QModelIndex &
index)
const;
127 std::vector<Cell>
const &cells);
134 QModelIndex movePreviousUntilEditable(QModelIndex
const &startingPoint);
137 bool hasEditorOpen()
const;
#define EXPORT_OPT_MANTIDQT_COMMON
std::map< DeltaEMode::Type, std::string > index
The AlgorithmProgressDialogPresenter keeps track of the running algorithms and displays a progress ba...