4 #include <QApplication> 31 UImanager = G4UImanager::GetUIpointer();
35 double qt_mode = gemcOpt->args[
"USE_QT"].arg ;
37 contentsWidget =
new QListWidget;
38 contentsWidget->setViewMode(QListView::IconMode);
40 contentsWidget->setIconSize(QSize(96, 84));
41 contentsWidget->setMovement(QListView::Static);
44 contentsWidget->setMinimumWidth(125);
45 contentsWidget->setMaximumWidth(125);
46 contentsWidget->setMinimumHeight(700);
48 contentsWidget->setUniformItemSizes(1);
50 contentsWidget->setMouseTracking(1);
52 contentsWidget->setSpacing(8);
61 pagesWidget =
new QStackedWidget;
62 pagesWidget->addWidget(
new run_control (
this, gemcOpt));
64 pagesWidget->addWidget(
new infos (
this, gemcOpt));
65 pagesWidget->addWidget(
new g4dialog (
this, gemcOpt));
66 pagesWidget->addWidget(gsig =
new gsignal (
this, gemcOpt, SeDe_Map));
67 pagesWidget->setMinimumWidth(650);
68 pagesWidget->setMaximumWidth(650);
70 QPushButton *closeButton =
new QPushButton(tr(
"Exit"));
73 contentsWidget->setCurrentRow(0);
75 contentsWidget->setCurrentRow(1);
78 connect(closeButton, SIGNAL(clicked()),
this, SLOT(gemc_quit()));
80 QHBoxLayout *horizontalLayout =
new QHBoxLayout;
81 horizontalLayout->addWidget(contentsWidget);
82 horizontalLayout->addWidget(pagesWidget, 1);
84 QHBoxLayout *buttonsLayout =
new QHBoxLayout;
85 buttonsLayout->addStretch(1);
86 buttonsLayout->addWidget(closeButton);
88 QVBoxLayout *mainLayout =
new QVBoxLayout;
89 mainLayout->addLayout(horizontalLayout);
90 mainLayout->addStretch(1);
91 mainLayout->addSpacing(12);
92 mainLayout->addLayout(buttonsLayout);
93 setLayout(mainLayout);
95 setWindowTitle(tr(
"Config Dialog"));
100 void gemcMainWidget::Build_DTree()
102 string hd_msg = gemcOpt->args[
"LOG_MSG"].args;
103 double VERB = gemcOpt->args[
"GEO_VERBOSITY"].arg ;
109 cout << hd_msg <<
" Detector Widget Tree Already Present." << endl;
111 DTree =
new detector_tree(Hall_Map, *gemcOpt, runManager, visManager, UImanager, *mats);
128 if(contentsWidget->row(current) == 0) pagesWidget->setCurrentIndex(0);
129 if(contentsWidget->row(current) == 1) pagesWidget->setCurrentIndex(1);
130 if(contentsWidget->row(current) == 3) pagesWidget->setCurrentIndex(2);
131 if(contentsWidget->row(current) == 4) pagesWidget->setCurrentIndex(3);
132 if(contentsWidget->row(current) == 5)
134 pagesWidget->setCurrentIndex(4);
135 gsig->CreateSDetsTree();
139 void gemcMainWidget::createIcons()
141 i_default = QColor( 220, 220, 255);
142 i_hovered = QColor( 210, 210, 240);
144 QListWidgetItem *rcontrol =
new QListWidgetItem(contentsWidget);
145 rcontrol->setIcon(QPixmap(run_control_xpm));
146 rcontrol->setText(tr(
"Run Control"));
147 rcontrol->setBackground(QBrush(i_default));
148 rcontrol->setTextAlignment(Qt::AlignHCenter);
149 rcontrol->setFlags( Qt::ItemIsSelectable | Qt::ItemIsEnabled);
151 QListWidgetItem *ccontrol =
new QListWidgetItem(contentsWidget);
152 ccontrol->setIcon(QPixmap(camera_control_xpm));
153 ccontrol->setText(tr(
"Camera"));
154 ccontrol->setBackground(QBrush(i_default));
155 ccontrol->setTextAlignment(Qt::AlignHCenter);
156 ccontrol->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
158 QListWidgetItem *dinspector =
new QListWidgetItem(contentsWidget);
159 dinspector->setIcon(QPixmap(detector_inspector_xpm));
160 dinspector->setText(tr(
"Detector"));
161 dinspector->setBackground(QBrush(i_default));
162 dinspector->setTextAlignment(Qt::AlignHCenter);
163 dinspector->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
165 QListWidgetItem *
infos =
new QListWidgetItem(contentsWidget);
166 infos->setIcon(QPixmap(infos_xpm));
167 infos->setText(tr(
"Infos"));
168 infos->setBackground(QBrush(i_default));
169 infos->setTextAlignment(Qt::AlignHCenter);
170 infos->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
172 QListWidgetItem *
g4dialog =
new QListWidgetItem(contentsWidget);
173 g4dialog->setIcon(QPixmap(g4dialog_xpm));
174 g4dialog->setText(tr(
"G4Dialog"));
175 g4dialog->setBackground(QBrush(i_default));
176 g4dialog->setTextAlignment(Qt::AlignHCenter);
177 g4dialog->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
179 QListWidgetItem *
gsignal =
new QListWidgetItem(contentsWidget);
180 gsignal->setIcon(QPixmap(analog_signal_xpm));
181 gsignal->setText(tr(
"Signals"));
182 gsignal->setBackground(QBrush(i_default));
183 gsignal->setTextAlignment(Qt::AlignHCenter);
184 gsignal->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
186 connect(contentsWidget,
187 SIGNAL(currentItemChanged(QListWidgetItem *, QListWidgetItem*)),
188 this, SLOT(changePage(QListWidgetItem *, QListWidgetItem*)));
190 connect(contentsWidget, SIGNAL(itemEntered(QListWidgetItem *)),
this, SLOT(change_background(QListWidgetItem *)) );
196 for(
int i=0; i<contentsWidget->count(); i++)
197 contentsWidget->item(i)->setBackground(QBrush(i_default));
199 item->setBackground(QBrush(i_hovered));
206 string hd_msg = gemcOpt->args[
"LOG_MSG"].args;
string gemc_tostring(QString input)
gemcMainWidget(G4RunManager *, G4VisManager *, gemc_opts *, map< string, MSensitiveDetector * >)
void change_background(QListWidgetItem *)
void changePage(QListWidgetItem *current, QListWidgetItem *previous)