43 #include <QAbstractItemModel>
45 #include <QButtonGroup>
48 #include <QHeaderView>
49 #include <QItemSelection>
50 #include <QItemSelectionModel>
53 #include <QProgressBar>
54 #include <QPushButton>
58 #include <QVBoxLayout>
101 void startGeneratingCollisionTable();
105 void finishGeneratingCollisionTable();
111 void changeDensityLabel(
int value);
116 void loadCollisionTable();
121 void checkedFilterChanged();
126 void collisionsChanged(
const QModelIndex& index);
131 void revertChanges();
136 void previewSelectedMatrix(
const QModelIndex& index);
137 void previewSelectedLinear(
const QModelIndex& index);
142 void focusGiven()
override;
147 bool focusLost()
override;
149 void showHeaderContextMenu(
const QPoint&
p);
151 void hideOtherSections();
159 QTableView* collision_table_;
160 QAbstractItemModel* model_;
161 QItemSelectionModel* selection_model_;
162 QVBoxLayout* layout_;
163 QLabel* density_value_label_;
164 QSlider* density_slider_;
165 QPushButton* btn_generate_;
166 QGroupBox* controls_box_;
167 QProgressBar* progress_bar_;
168 QLabel* progress_label_;
169 QLineEdit* link_name_filter_;
170 QCheckBox* collision_checkbox_;
171 QLabel* fraction_label_;
172 QSpinBox* fraction_spinbox_;
173 QPushButton* btn_revert_;
174 QButtonGroup* view_mode_buttons_;
176 QList<QAction*> header_actions_;
177 Qt::Orientations clicked_headers_;
178 int clicked_section_;
195 void disableControls(
bool disable);
200 bool eventFilter(QObject*
object, QEvent* event)
override;
205 void showSections(QHeaderView* header,
const QList<int>& logicalIndexes);
209 void toggleSelection(QItemSelection selection);
Contains all of the non-GUI code necessary for doing one "screen" worth of setup.
QThread to monitor progress of the setup step.
MonitorThread(DefaultCollisions &setup_step, QProgressBar *progress_bar=nullptr)