168 : QMainWindow(parent),
169 ui_(new Ui::MainWindow),
171 open_images_dialog_(nullptr),
172
173 grid_(nullptr),
174 enable_grid_checkBox_(nullptr),
175 grid_root_item_(nullptr),
176
177 pointcloud_top_item_(nullptr),
178 pointcloud_comboBox_(new QComboBox),
179 pointcloud_button_(new QPushButton),
180 pointcloud_channel_Reader_(nullptr),
181
182 pointcloud_reader_mutex_(),
183
184 pointcloud_shader_(nullptr),
185 grid_shader_(nullptr),
186 radar_points_shader_(nullptr),
187 video_image_viewer_list_(),
188 closed_video_image_viewer_list_(),
189 radarData_list_(),
190 closed_radarData_list_(),
191 _channelName2TypeMap() {
192 ui_->setupUi(this);
193 ui_->videoImageGridLayout->setContentsMargins(2, 2, 2, 2);
194 ui_->videoImageWidget->setVisible(false);
195
196 ui_->mainToolBar->addAction(ui_->actionAddGrid);
197 ui_->mainToolBar->addAction(ui_->actionPointCloud);
198 ui_->mainToolBar->addSeparator();
199 ui_->mainToolBar->addAction(ui_->actionOpenImage);
200 ui_->mainToolBar->addAction(ui_->actionOpenImages);
201 ui_->mainToolBar->addAction(ui_->actionDelImage);
202 ui_->mainToolBar->addSeparator();
203 ui_->mainToolBar->addAction(ui_->actionPlay);
204 ui_->mainToolBar->addAction(ui_->actionPause);
205
206 pointcloud_reader_mutex_.lock();
207
208 {
209 QStringList tmp;
210 tmp << "ChannelNames"
211 << " ";
212 all_channel_root_ = new QTreeWidgetItem(tmp);
213 ui_->treeWidget->addTopLevelItem(all_channel_root_);
214 }
215
216 connect(ui_->actionAbout, SIGNAL(triggered(bool)), this, SLOT(showMessage()));
217 connect(ui_->actionLicense, SIGNAL(triggered(bool)), this,
218 SLOT(showMessage()));
219
220 pointcloud_button_->setCheckable(true);
221 pointcloud_button_->setStyleSheet(globalTreeItemStyle);
222 pointcloud_comboBox_->setStyleSheet(globalTreeItemStyle);
223
224 connect(pointcloud_button_, SIGNAL(clicked(bool)), this,
225 SLOT(PlayRenderableObject(bool)));
226 connect(pointcloud_comboBox_, SIGNAL(currentIndexChanged(int)), this,
227 SLOT(ChangePointCloudChannel()));
228
229 connect(ui_->treeWidget, SIGNAL(itemSelectionChanged()), this,
230 SLOT(UpdateActions()));
231 connect(ui_->treeWidget, SIGNAL(visibilityChanged(bool)), ui_->actionGlobal,
232 SLOT(setChecked(bool)));
233 connect(ui_->actionPlay, SIGNAL(triggered(bool)), this, SLOT(PlayPause()));
234 connect(ui_->actionPause, SIGNAL(triggered(bool)), this, SLOT(PlayPause()));
235}