g4display
g4displayview.h
Go to the documentation of this file.
1 #ifndef G4DISPLAYVIEW_H
2 #define G4DISPLAYVIEW_H 1
3 
4 // Qt
5 #include <QtWidgets> // Includes necessary Qt Widget headers
6 
7 // gemc
8 #include "glogger.h" // Logging utility
9 #include "gQtButtonsWidget.h" // Custom toggle button widget
10 #include "goptions.h" // Forward GOptions type
11 
12 
13 // Geant4
14 #include "G4UImanager.hh" // Geant4 UI manager access
15 
16 
28 class G4DisplayView : public QWidget {
29  Q_OBJECT // Macro required for signals, slots, and Qt meta-object features
30 
31 public:
38  G4DisplayView(GOptions* gopts, std::shared_ptr<GLogger>, QWidget* parent = nullptr);
39 
45  ~G4DisplayView() override { log->debug(DESTRUCTOR, "G4DisplayView"); }
46 
47 private:
48  // --- Member Widgets (Pointers managed by Qt parenting) ---
49 
51  QLineEdit* field_npoints;
52 
54  GQTToggleButtonWidget* buttons_set1;
55 
57  QSlider *cameraTheta;
59  QSlider *cameraPhi;
60 
62  QSlider *lightTheta;
64  QSlider *lightPhi;
65 
67  QLineEdit *sliceXEdit;
69  QLineEdit *sliceYEdit;
71  QLineEdit *sliceZEdit;
72 
74  QCheckBox *sliceXActi;
76  QCheckBox *sliceYActi;
78  QCheckBox *sliceZActi;
79 
81  QCheckBox *sliceXInve;
83  QCheckBox *sliceYInve;
85  QCheckBox *sliceZInve;
86 
88  QRadioButton *sliceSectn;
90  QRadioButton *sliceUnion;
91 
92  // --- Member Data ---
93 
95  int field_NPOINTS = 5;
96 
102  std::shared_ptr<GLogger> log;
103 
104 private slots:
110  void changeCameraDirection();
111 
117  void changeLightDirection();
118 
126  void slice();
127 
133  void clearSlices();
134 
142  void apply_buttons_set1(int index);
143 
151  void field_precision_changed();
152 };
153 
154 #endif // G4DISPLAYVIEW_H
A QWidget tab providing controls for Geant4 camera, lighting, slicing, and view styles.
Definition: g4displayview.h:28
~G4DisplayView() override
Destructor. Logs the destruction event using the provided logger. Qt's parent-child mechanism handles...
Definition: g4displayview.h:45
G4DisplayView(GOptions *gopts, std::shared_ptr< GLogger >, QWidget *parent=nullptr)
Constructs the G4DisplayView widget.