139 void AddMenu(
const char*,
const char*)
override;
146 void AddButton(
const char*,
const char*,
const char*)
override;
155 void AddIcon(
const char* userLabel,
const char* iconFile,
const char* command,
156 const char* file_name =
"")
override;
161 void SetOutputStyle(
const char* destination,
const char* style)
override;
265 void SecondaryLoop(
const G4String&);
266 void CreateHelpWidget();
267 void InitHelpTreeAndVisParametersWidget();
269 void UpdateCommandCompleter();
272 void SetDefaultIconsToolbar();
275 QTreeWidgetItem* FindTreeItem(QTreeWidgetItem*,
const QString&);
278 QWidget* CreateSceneTreeWidget();
283 void CreateNewSceneTreeWidget();
285 void BuildPVQTree(
const G4SceneTreeItem& g4stItem, QTreeWidgetItem* qtwItem);
287 void SceneTreeItemClicked(QTreeWidgetItem*);
288 void SceneTreeItemDoubleClicked(QTreeWidgetItem*);
289 void SceneTreeItemExpanded(QTreeWidgetItem*);
290 void SceneTreeItemCollapsed(QTreeWidgetItem*);
291 void SliderValueChanged(
G4int value);
292 void SliderReleased();
293 void SliderRadioButtonClicked(
G4int buttonNo);
295 struct NewSceneTreeItemTreeWidget:
public QTreeWidget {
296 void mousePressEvent(QMouseEvent*)
override;
304 QString GetCommandList(
const G4UIcommand*);
305 void updateHelpArea(
const G4UIcommand*);
308 bool eventFilter(QObject*, QEvent*)
override;
309 void ActivateCommand(G4String);
310#if (QT_VERSION < QT_VERSION_CHECK(5, 15, 0))
311 QMap<G4int, QString> LookForHelpStringInChildTree(G4UIcommandTree*,
const QString&);
313 QMultiMap<G4int, QString> LookForHelpStringInChildTree(G4UIcommandTree*,
const QString&);
315 QWidget* CreateVisParametersTBWidget();
316 QWidget* CreateHelpTBWidget();
317 QWidget* CreateTimeWindowWidget();
318 G4UIDockWidget* CreateCoutTBWidget();
319 QWidget* CreateHistoryTBWidget();
320 G4UIDockWidget* CreateUITabWidget();
321 void CreateViewerWidget();
322 void OpenHelpTreeOnCommand(
const QString&);
323 QString GetShortCommandPath(QString&);
324 QString GetLongCommandPath(QTreeWidgetItem*);
325 G4bool IsGUICommand(
const G4UIcommand*);
326 G4bool CreateVisCommandGroupAndToolBox(G4UIcommand*, QWidget*,
G4int,
G4bool isDialog);
327 G4bool CreateCommandWidget(G4UIcommand* command, QWidget* parent,
G4bool isDialog);
328 void CreateViewerPropertiesDialog();
329 void CreatePickInfosDialog();
330#ifdef G4MULTITHREADED
331 void UpdateCoutThreadFilter();
333 void FilterAllOutputTextArea();
334 QString FilterOutput(
const G4UIOutputString&,
const QString&,
const QString&);
335 G4String GetThreadPrefix();
336 G4bool CheckG4EnvironmentVariable(
char* txt,
char* version);
337 QStandardItemModel* CreateCompleterModel(
const G4String& aCmd);
338 void CreateEmptyViewerPropertiesWidget();
339 void CreateEmptyPickInfosWidget();
342 QMainWindow* fMainWindow;
343 QLabel* fCommandLabel;
344 QLineEdit* fCommandArea;
345 QTextEdit* fCoutTBTextArea;
346 QTabWidget* fUITabWidget;
347 std::vector<G4UIOutputString> fG4OutputString;
348 QLineEdit* fCoutFilter;
349 QCompleter* fCompleter;
352 QListWidget* fHistoryTBTableList;
353 QTreeWidget* fHelpTreeWidget;
354 QWidget* fHelpTBWidget;
355 QWidget* fTimeWindowWidget;
356 QWidget* fHistoryTBWidget;
357 G4UIDockWidget* fCoutDockWidget;
358 G4UIDockWidget* fUIDockWidget;
359 QWidget* fSceneTreeWidget;
360 QWidget* fNewSceneTreeWidget;
361 NewSceneTreeItemTreeWidget* fNewSceneTreeItemTreeWidget;
363 QSlider* fNewSceneTreeSlider;
364 QRadioButton* fUnwrapButtonWidget;
365 QRadioButton* fFadeButtonWidget;
366 QRadioButton* fXrayButtonWidget;
367 QWidget* fViewerPropertiesWidget;
368 QWidget* fPickInfosWidget;
369 QLineEdit* fHelpLine;
370#if QT_VERSION < 0x060000
371 G4QTabWidget* fViewerTabWidget;
373 QTabWidget* fViewerTabWidget;
376 QTextBrowser* fStartPage;
377 QSplitter* fHelpVSplitter;
378 QTextEdit* fParameterHelpLabel;
379 QTableWidget* fParameterHelpTable;
381 QToolBar* fToolbarApp;
382 QToolBar* fToolbarUser;
383 QString fStringSeparator;
384 G4String fLastErrMessage;
385 QString fLastOpenPath;
387 QPixmap* fSearchIcon;
392 QPixmap* fRotateIcon;
394 QPixmap* fZoomInIcon;
395 QPixmap* fZoomOutIcon;
396 QPixmap* fWireframeIcon;
398 QPixmap* fPointCloudIcon;
399 QPixmap* fHiddenLineRemovalIcon;
400 QPixmap* fHiddenLineAndSurfaceRemovalIcon;
401 QPixmap* fPerspectiveIcon;
403 QPixmap* fCommandIcon;
407 QPixmap* fPickTargetIcon;
409 QPixmap* fResetCameraIcon;
410 QPixmap* fResetTargetPointIcon;
412#ifdef G4MULTITHREADED
413 QComboBox* fThreadsFilterComboBox;
415 std::string fDefaultViewerFirstPageHTMLText;
417 QDialog* fViewerPropertiesDialog;
418 QDialog* fPickInfosDialog;
419 QString fLastCompleteCommand;
428 void ClearButtonCallback();
429 void SaveOutputCallback();
430 void CommandEnteredCallback();
431 void CommandEditedCallback(
const QString& text);
432 void ButtonCallback(
const QString&);
433 void HelpTreeClicCallback();
434 void HelpTreeDoubleClicCallback();
435 void ShowHelpCallback();
436 void CommandHistoryCallback();
437 void LookForHelpStringCallback();
438 void UpdateTabWidget(
int);
439 void ResizeTabWidget(QResizeEvent*);
440 void CoutFilterCallback(
const QString&);
441 void ThreadComboBoxCallback(
int);
442 void TabCloseCallback(
int);
443 void ToolBoxActivated(
int);
444 void VisParameterCallback(QWidget*);
445 void ChangeColorCallback(QWidget*);
446 void ChangeCursorAction(
const QString&);
447 void ChangeSurfaceStyle(
const QString&);
448 void OpenIconCallback(
const QString&);
449 void SaveIconCallback(
const QString&);
450 void ViewerPropertiesIconCallback(
int);
451 void ChangePerspectiveOrtho(
const QString&);
452 void ResetCameraCallback();