Import Geant4 10.7.0 source tree

This commit is contained in:
Gabriele Cosmo
2020-12-04 12:30:43 +01:00
parent 67ba86d073
commit dab42d2018
3770 changed files with 226369 additions and 286486 deletions
@@ -32,60 +32,421 @@
#if defined (G4VIS_BUILD_OIQT_DRIVER) || defined (G4VIS_USE_OIQT)
//#include <map>
//#include <vector>
//#include <fstream>
//#include <Inventor/SbLinear.h>
//#include <Inventor/nodes/SoLineSet.h>
// Set up notification of event processing
#include "G4VStateDependent.hh"
class G4OpenInventorQtExaminerViewer;
class HookEventProcState : public G4VStateDependent
{
public:
HookEventProcState(G4OpenInventorQtExaminerViewer*);
~HookEventProcState();
virtual G4bool Notify(G4ApplicationState requestedState);
private:
G4OpenInventorQtExaminerViewer* viewer;
};
#include "G4Types.hh"
//#include "G4OpenInventorViewer.hh"
#include <map>
#include <vector>
#include <fstream>
#include <Inventor/SbLinear.h>
#include <Inventor/nodes/SoLineSet.h>
#include <Inventor/nodes/SoEventCallback.h>
#include <Inventor/Qt/viewers/SoQtExaminerViewer.h>
#include <Inventor/events/SoKeyboardEvent.h>
#include <qobject.h>
class SoCoordinate3;
class SoFont;
class SoText2;
class SoPointSet;
class G4OpenInventorQtExaminerViewer : public SoQtExaminerViewer {
class QWidget;
class QDialog;
class QMenuBar;
class QMenu;
class QAction;
class QListWidgetItem;
class QPushButton;
class QRadioButton;
class QMessageBox;
class QFont;
// The Aux Window dialog created with Qt Designer:
class Ui_Dialog;
class G4OpenInventorQtExaminerViewer: public QObject,
public SoQtExaminerViewer {
Q_OBJECT
// friend class G4OpenInventorQtExaminerViewerMessenger;
// FWJ
friend class G4OpenInventorQtViewer;
friend class G4OpenInventorQtViewer;
private Q_SLOTS :
void FileOpenBookmarkCB();
void FileNewBookmarkCB();
void FileLoadRefPathCB();
void FileSaveRefPathCB();
void FileLoadSceneGraphCB();
void FileSaveSceneGraphCB();
void ToolsAnimateRefParticleCB();
void ToolsRefPathStartCB();
void ToolsRefPathInvertCB();
void HelpControlsCB();
// For added viewer buttons
void SaveViewPtCB();
void NextViewPtCB();
void PrevViewPtCB();
void AbbrOutputCB(bool); // Includes mouse-over fcns
void PickRefPathCB();
void SwitchWireFrameCB(bool);
// Lists Window
void LoadBookmarkCB(QListWidgetItem*);
void DeleteBookmarkCB();
void RenameBookmarkCB();
void SortBookmarksCB();
void LookAtSceneElementCB(QListWidgetItem*);
private:
static G4OpenInventorQtExaminerViewer* viewer;
// void (*escapeCallback)(void *);
// void * examinerObject;
// SbBool lshiftdown, rshiftdown, lctrldown, rctrldown;
static G4OpenInventorQtExaminerViewer* viewer;
void (*escapeCallback)();
// void (*escapeCallback)(void*);
void* examinerObject;
SbBool lshiftdown, rshiftdown, lctrldown, rctrldown;
QFont* font;
QMenuBar* menubar;
QMenu* filemenu;
QMenu* toolsmenu;
QMenu* etcmenu;
QMenu* helpmenu;
QMessageBox* helpmsgbox;
bool externalQtApp;
QAction* FileOpenBookmark;
QAction* FileNewBookmark;
QAction* FileLoadRefPath;
QAction* FileSaveRefPath;
QAction* FileLoadSceneGraph;
QAction* FileSaveSceneGraph;
QAction* ToolsAnimateRefParticle;
QAction* ToolsRefPathStart;
QAction* ToolsRefPathInvert;
// KEEP in the viewer
QAction* HelpControls;
// Added viewer buttons
QPushButton* saveViewPtButton;
QPushButton* nextViewPtButton;
QPushButton* prevViewPtButton;
QPushButton* abbrOutputButton;
// QRadioButton* abbrOutputButton;
QPushButton* pickRefPathButton;
QPushButton* switchWireFrameButton;
// QRadioButton* switchWireFrameButton;
QListWidgetItem* saveViewPtItem;
Ui_Dialog* AuxWindowDialog;
QDialog* AuxWindow;
public:
// Same constructor as the SoQtExaminerViewer
G4OpenInventorQtExaminerViewer(QWidget* parent = NULL,
const char* name = NULL,
G4OpenInventorQtExaminerViewer(QWidget* parent = NULL,
const char* name = NULL,
SbBool embed = TRUE,
SoQtFullViewer::BuildFlag flag = BUILD_ALL,
SoQtViewer::Type type = BROWSER);
SoQtViewer::Type type = BROWSER);
~G4OpenInventorQtExaminerViewer();
template <class T> void parseString(T &t, const std::string &s, bool &error);
// Menubar information needed by G4OpenInventorQtViewer
// for common menu items:
QMenuBar* getMenubar() { return menubar; }
QMenu* getFileMenu() { return filemenu; }
QMenu* getEtcMenu() { return etcmenu; }
QFont* getFont() { return font; };
void setExternalQtApp() { externalQtApp = TRUE; }
// Needed?
std::string saveScenegraphFileName;
std::string saveRefCoordsFileName;
void addEscapeCallback(void (*cb)());
// void addEscapeCallback(void (*cb)(void *), void *);
bool abbrOutputFlag;
bool pickRefPathFlag;
bool viewingBeforePickRef;
~G4OpenInventorQtExaminerViewer();
protected:
// FWJ why this?
// Same constructor as the SoQtExaminerViewer
// G4OpenInventorQtExaminerViewer(QWidget parent,
// const char *name,
// SbBool embed,
// SoQtFullViewer::BuildFlag flag,
// SoQtViewer::Type type,
// SbBool build);
// FWJ try to handle events as in XtExaminerViewer
SbBool processSoEvent(const SoEvent* const event);
// FWJ Constructor with build flag added (as in parent)
// Need for this TBD.
// G4OpenInventorQtExaminerViewer(QWidget parent,
// const char *name,
// SbBool embed,
// SoQtFullViewer::BuildFlag flag,
// SoQtViewer::Type type,
// SbBool build);
void construct(const SbBool build);
void buildWidget(QWidget* parent);
virtual void afterRealizeHook();
HookEventProcState* hookBeamOn;
friend class HookEventProcState;
bool newEvents;
static void sceneChangeCB(void*, SoSensor*);
// FWJ try to handle events as in XtExaminerViewer
SbBool processSoEvent(const SoEvent* const event);
void saveViewPt(char* name);
bool loadViewPts();
void addViewPoints();
void setViewPt();
void writeViewPtIdx();
void cleanUpAfterPrevFile();
void deleteViewPt(char *vpName = NULL);
void renameViewPt(char *vpName);
void sortViewPts(std::vector<std::string>);
void moveCamera(float dist = 0, bool lookdown = false);
std::string curEltName;
SbVec3f camUpVec;
SbVec3f camDir;
void rotateCamera();
void updateViewParams(SoKeyboardEvent::Key);
static void mouseoverCB(void *aThis, SoEventCallback *eventCB);
static void pickingCB(void *aThis, SoEventCallback *eventCB);
// Animation
static void animateRefParticleCB();
static void animateSensorCB(void *, SoSensor *);
static void animateSensorRotationCB(void *, SoSensor *);
void animateRefParticle();
void saveCurCamera();
void restoreCamera();
double animateBtwPtsPeriod, speedStep;
void incSpeed();
void decSpeed();
SoTimerSensor *animateSensor;
SoTimerSensor *animateSensorRotation;
SoNodeSensor *sceneChangeSensor;
SbVec3f camStartPos, camEndPos;
SbRotation camStartOrient, camEndOrient;
void setReferencePath(SoLineSet*, SoCoordinate3*, bool append = false);
void setReferencePathZPos();
void findAndSetRefPath();
SoCoordinate3* getCoordsNode(SoFullPath *path);
void getSceneElements(); // reads elements from the scene graph
float sqrlen(const SbVec3f&);
void distanceToTrajectory(const SbVec3f&, float&, SbVec3f&, int&);
void sortElements();
void createElementsList();
// static void closeMainWindowCB(Widget, XtPointer, XtPointer);
void evenOutRefParticlePts();
// static void gotoRefPathStartCB(Widget, XtPointer, XtPointer);
void gotoRefPathStart();
// static void invertRefPathCB(Widget, XtPointer, XtPointer);
void invertRefPath();
enum CameraType {
PERSPECTIVE,
ORTHOGRAPHIC
};
enum State {
GENERAL,
BEAMLINE,
VIEWPOINT,
ANIMATION,
REVERSED_ANIMATION,
PAUSED_ANIMATION,
ROTATING
};
// For storing the view point
struct viewPtData {
char* viewPtName;
int viewportMapping;
SbVec3f position;
SbRotation orientation;
float aspectRatio;
float nearDistance;
float farDistance;
float focalDistance;
CameraType camType;
float height;
};
struct sceneElement {
std::string name;
SoFullPath* path;
SbVec3f center;
float closestPointZCoord;
};
struct elementForSorting {
float closestPointZCoord;
SbVec3f closestPoint;
float smallestDistance;
float distanceToBeamlineStart;
std::string name;
G4bool operator<(elementForSorting const &other) const
{
if (closestPointZCoord < other.closestPointZCoord)
return true;
if (closestPointZCoord > other.closestPointZCoord)
return false;
// otherwise closestPointZCoord == other.closestPointZCoord.
// Compare the distances from the center of the element to
// the start of the beamline.
if (distanceToBeamlineStart < other.distanceToBeamlineStart)
return true;
if (distanceToBeamlineStart > other.distanceToBeamlineStart)
return false;
// In case both closestPointZCoord and smallestDistance are
// equal, we have two exactly overlapping elements, if so
// the order doesn't matter
return true;
}
};
bool zcoordSetFlag;
std::vector<sceneElement> sceneElements;
std::vector<viewPtData> viewPtList;
std::string fileName;
std::ifstream fileIn;
std::ofstream fileOut;
int viewPtIdx;
int MAX_VP_IDX;
int MAX_VP_NAME;
// For storing coordinate points of the reference particle
std::vector<SbVec3f> refParticleTrajectory;
// For displaying distance during anim and beamline modes
std::vector<float> refZPositions;
int refParticleIdx;
int prevRefIdx;
float distance;
State currentState, prevState, beforePausing;
char* curViewPtName;
int step;
SbVec3f prevPt;
SbVec3f prevParticleDir;
void* prevColorField;
viewPtData camB4Animation;
bool returnToSaveVP;
bool returnToAnim;
SoCamera* myCam;
void setStartingPtForAnimation();
float left_right, up_down;
SbVec3f rotAxis; // For 90 degree rotations
int rotCnt; // # of steps rotation is split into
std::string viewPtAutoName();
////////////////////////ANIM_SPEED_INDICATOR///////////////////////
SoSearchAction * searcher;
SoNode * superimposition;
SoCoordinate3 * sgeometry;
SoScale * sscale;
SoTranslation * stranslation;
SoTranslation * curInfoTrans;
SoTranslation * mouseOverTransSolid;
SoTranslation * mouseOverTransMaterial;
SoTranslation * mouseOverTransLogName;
SoTranslation * mouseOverTransZPos;
// Used for 2 similar purposes: 1. Displays z position during animation
// 2. Displays name of the current viewpoint
SoText2 * curInfoText;
// Need to use many different fields for mouseover
// because newlines are ignored when the scene is rendered
SoText2* mouseOverTextSolid;
SoText2* mouseOverTextMaterial;
SoText2* mouseOverTextLogName;
SoText2* mouseOverTextZPos;
SoFont* curInfoFont;
SoFont* mouseOverFontSolid;
SoFont* mouseOverFontMaterial;
SoFont* mouseOverFontLogName;
SoFont* mouseOverFontZPos;
SoSwitch* axisSwitch;
SoSwitch* animSpeedOutlineSwitch;
SoSwitch* animSpeedSwitch;
SoSwitch* curInfoSwitch;
SoNode* getSuperimpositionNode(SoNode*, const char* name);
void superimpositionEvent(SoAction* action);
static void superimpositionCB(void* closure, SoAction* action);
virtual void actualRedraw(void);
void updateSpeedIndicator(void);
float maxSpeed;
////////////////////////ANIM_SPEED_INDICATOR///////////////////////
// FWJ added for Ortho camera
float defaultHeight;
float defaultHeightAngle;
// FWJ add look-ahead for animation tracking on curves
G4int pathLookahead;
// Used by G4 app during element rotations, stores previous view
SbVec3f upVector, offsetFromCenter, center;
bool rotUpVec;
SoSeparator* newSceneGraph;
};
@@ -34,24 +34,76 @@
// Inheritance :
#include "G4OpenInventorViewer.hh"
// This causes clash with enum CursorShape in qnamespace.h !
//#include <X11/Intrinsic.h>
#include <Inventor/nodes/SoEventCallback.h>
//class SoQtExaminerViewer;
class G4OpenInventorQtExaminerViewer;
class G4OpenInventorQtViewer: public G4OpenInventorViewer {
#include <qobject.h>
class QMenuBar;
class QFont;
class QAction;
//class G4OpenInventorQtViewer: public G4OpenInventorViewer {
class G4OpenInventorQtViewer: public QObject,
public G4OpenInventorViewer {
Q_OBJECT
private Q_SLOTS :
// File menu
void FileWritePSCB();
void FileWritePDFCB();
void FileWriteIVCB();
void FileEscapeCB();
// Etc menu
void EtcEraseDetectorCB();
void EtcEraseEventCB();
void EtcSetSolidCB();
void EtcSetReducedWireframeCB();
void EtcSetFullWireframeCB();
void EtcVisibMInvisibDCB();
void EtcVisibMVisibDCB();
void EtcUpdateSceneCB();
void EtcSceneGraphStatsCB();
private:
// File menu
QAction* FileWritePS;
QAction* FileWritePDF;
QAction* FileWriteIV;
QAction* FileEscape;
// Etc menu
QAction* EtcEraseDetector;
QAction* EtcEraseEvent;
QAction* EtcSetSolid;
QAction* EtcSetReducedWireframe;
QAction* EtcSetFullWireframe;
QAction* EtcVisibMInvisibD;
QAction* EtcVisibMVisibD;
QAction* EtcUpdateScene;
QAction* EtcSceneGraphStats;
public:
G4OpenInventorQtViewer(G4OpenInventorSceneHandler& scene,
const G4String& name = "");
virtual ~G4OpenInventorQtViewer();
void Initialise();
public: //G4VViewer
virtual void FinishView();
virtual void SetView();
protected:
virtual void ViewerRender();
virtual SoCamera* GetCamera();
@@ -60,29 +112,6 @@ protected:
//SoQtExaminerViewer* fViewer;
G4OpenInventorQtExaminerViewer* fViewer;
// FWJ from OpenInventorXtViewer.hh
// Widget AddMenu(Widget,const G4String&,const G4String&);
// void AddButton(Widget,const G4String&,XtCallbackProc);
// static void PostScriptCbk(Widget,XtPointer,XtPointer);
// static void PixmapPostScriptCbk(Widget,XtPointer,XtPointer);
// static void WriteInventorCbk(Widget,XtPointer,XtPointer);
// static void EscapeCbk(Widget,XtPointer,XtPointer);
// static void SceneGraphStatisticsCbk(Widget,XtPointer,XtPointer);
// static void EraseDetectorCbk(Widget,XtPointer,XtPointer);
// static void EraseEventCbk(Widget,XtPointer,XtPointer);
// static void SetSolidCbk(Widget,XtPointer,XtPointer);
// static void SetWireFrameCbk(Widget,XtPointer,XtPointer);
// static void SetReducedWireFrameCbk(Widget,XtPointer,XtPointer);
// static void SetFullWireFrameCbk(Widget,XtPointer,XtPointer);
// static void UpdateSceneCbk(Widget,XtPointer,XtPointer);
// static void HelpCbk(Widget,XtPointer,XtPointer);
// static void HelpCancelCbk(Widget,XtPointer,XtPointer);
// static void SetPreviewCbk(Widget,XtPointer,XtPointer);
// static void SetPreviewAndFullCbk(Widget,XtPointer,XtPointer);
// Widget fShell;
// Widget fHelpForm;
// Widget fHelpForm;
// Widget fHelpText;
};
#endif
@@ -47,6 +47,7 @@ class QString;
class G4SoQt : public G4VInteractorManager {
public:
virtual ~G4SoQt();
static G4SoQt* getInstance();
// FWJ no command line args for time being
// static G4SoQt* getInstance(int, char**, char*);
@@ -54,7 +55,8 @@ public:
void* GetEvent();
void FlushAndWaitExecution();
void SecondaryLoop();
virtual ~G4SoQt();
// Added direct exit method
void ExitSecondaryLoop();
bool IsExternalApp();
private:
@@ -24,15 +24,18 @@
// ********************************************************************
//
#ifndef HEPVis_SbGL_h
#define HEPVis_SbGL_h
#define HEPVis_SbGL_h
#ifdef WIN32
#include <windows.h>
#endif
#ifdef APPLE_GL
#include <gl.h>
#include <glu.h>
// Needs setting based on choice of driver
// Apple system for SoQt on Apple
// Native otherwise (Apple Framework)
#if defined(__APPLE__) && (!defined(G4VIS_BUILD_OIX_DRIVER) || !defined(G4VIS_USE_OIX_DRIVER))
#include <OpenGL/gl.h>
#include <OpenGL/glu.h>
#else
#include <GL/gl.h>
#include <GL/glu.h>
@@ -0,0 +1,171 @@
/********************************************************************************
** Form generated from reading UI file 'OIQtListsDialogwS1786.ui'
**
** Created by: Qt User Interface Compiler version 5.6.1
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
#ifndef OIQTLISTSDIALOGWS1786_H
#define OIQTLISTSDIALOGWS1786_H
#include <QtCore/QVariant>
#include <QtWidgets/QAction>
#include <QtWidgets/QApplication>
#include <QtWidgets/QButtonGroup>
#include <QtWidgets/QDialog>
#include <QtWidgets/QFormLayout>
#include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QHeaderView>
#include <QtWidgets/QLabel>
#include <QtWidgets/QLineEdit>
#include <QtWidgets/QListWidget>
#include <QtWidgets/QPushButton>
#include <QtWidgets/QWidget>
QT_BEGIN_NAMESPACE
class Ui_Dialog
{
public:
QWidget *horizontalLayoutWidget;
QHBoxLayout *horizontalLayout;
QPushButton *pushButton_2;
QPushButton *pushButton_3;
QPushButton *pushButton;
QWidget *layoutWidget;
QFormLayout *formLayout;
QLabel *label;
QLineEdit *lineEdit;
QListWidget *listWidget;
QWidget *layoutWidget1;
QFormLayout *formLayout_2;
QLabel *label_2;
QListWidget *listWidget1;
void setupUi(QDialog *Dialog)
{
if (Dialog->objectName().isEmpty())
Dialog->setObjectName(QStringLiteral("Dialog"));
Dialog->resize(224, 554);
QFont font;
font.setPointSize(12);
Dialog->setFont(font);
horizontalLayoutWidget = new QWidget(Dialog);
horizontalLayoutWidget->setObjectName(QStringLiteral("horizontalLayoutWidget"));
horizontalLayoutWidget->setGeometry(QRect(10, 260, 201, 26));
horizontalLayout = new QHBoxLayout(horizontalLayoutWidget);
horizontalLayout->setSpacing(8);
horizontalLayout->setObjectName(QStringLiteral("horizontalLayout"));
horizontalLayout->setSizeConstraint(QLayout::SetMaximumSize);
horizontalLayout->setContentsMargins(0, 0, 0, 0);
pushButton_2 = new QPushButton(horizontalLayoutWidget);
pushButton_2->setObjectName(QStringLiteral("pushButton_2"));
QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
sizePolicy.setHorizontalStretch(0);
sizePolicy.setVerticalStretch(0);
sizePolicy.setHeightForWidth(pushButton_2->sizePolicy().hasHeightForWidth());
pushButton_2->setSizePolicy(sizePolicy);
pushButton_2->setStyleSheet(QStringLiteral("font: 12pt \"Sans Serif\";"));
horizontalLayout->addWidget(pushButton_2);
pushButton_3 = new QPushButton(horizontalLayoutWidget);
pushButton_3->setObjectName(QStringLiteral("pushButton_3"));
sizePolicy.setHeightForWidth(pushButton_3->sizePolicy().hasHeightForWidth());
pushButton_3->setSizePolicy(sizePolicy);
pushButton_3->setStyleSheet(QStringLiteral("font: 12pt \"Sans Serif\";"));
horizontalLayout->addWidget(pushButton_3);
pushButton = new QPushButton(horizontalLayoutWidget);
pushButton->setObjectName(QStringLiteral("pushButton"));
sizePolicy.setHeightForWidth(pushButton->sizePolicy().hasHeightForWidth());
pushButton->setSizePolicy(sizePolicy);
pushButton->setStyleSheet(QStringLiteral("font: 12pt \"Sans Serif\";"));
horizontalLayout->addWidget(pushButton);
layoutWidget = new QWidget(Dialog);
layoutWidget->setObjectName(QStringLiteral("layoutWidget"));
layoutWidget->setGeometry(QRect(10, 10, 201, 241));
formLayout = new QFormLayout(layoutWidget);
formLayout->setObjectName(QStringLiteral("formLayout"));
formLayout->setFieldGrowthPolicy(QFormLayout::ExpandingFieldsGrow);
formLayout->setContentsMargins(0, 0, 0, 0);
label = new QLabel(layoutWidget);
label->setObjectName(QStringLiteral("label"));
label->setStyleSheet(QStringLiteral("font: 12pt \"Sans Serif\";"));
formLayout->setWidget(0, QFormLayout::LabelRole, label);
lineEdit = new QLineEdit(layoutWidget);
lineEdit->setObjectName(QStringLiteral("lineEdit"));
lineEdit->setStyleSheet(QStringLiteral("font: 12pt \"Sans Serif\";"));
lineEdit->setReadOnly(true);
formLayout->setWidget(1, QFormLayout::SpanningRole, lineEdit);
listWidget = new QListWidget(layoutWidget);
listWidget->setObjectName(QStringLiteral("listWidget"));
listWidget->setFont(font);
formLayout->setWidget(3, QFormLayout::SpanningRole, listWidget);
layoutWidget1 = new QWidget(Dialog);
layoutWidget1->setObjectName(QStringLiteral("layoutWidget1"));
layoutWidget1->setGeometry(QRect(10, 300, 201, 241));
formLayout_2 = new QFormLayout(layoutWidget1);
formLayout_2->setObjectName(QStringLiteral("formLayout_2"));
formLayout_2->setContentsMargins(0, 0, 0, 0);
label_2 = new QLabel(layoutWidget1);
label_2->setObjectName(QStringLiteral("label_2"));
label_2->setStyleSheet(QStringLiteral("font: 12pt \"Sans Serif\";"));
formLayout_2->setWidget(0, QFormLayout::LabelRole, label_2);
listWidget1 = new QListWidget(layoutWidget1);
listWidget1->setObjectName(QStringLiteral("listWidget1"));
QSizePolicy sizePolicy1(QSizePolicy::Expanding, QSizePolicy::Expanding);
sizePolicy1.setHorizontalStretch(1);
sizePolicy1.setVerticalStretch(1);
sizePolicy1.setHeightForWidth(listWidget1->sizePolicy().hasHeightForWidth());
listWidget1->setSizePolicy(sizePolicy1);
listWidget1->setFont(font);
formLayout_2->setWidget(1, QFormLayout::SpanningRole, listWidget1);
retranslateUi(Dialog);
QMetaObject::connectSlotsByName(Dialog);
} // setupUi
void retranslateUi(QDialog *Dialog)
{
Dialog->setWindowTitle(QApplication::translate("Dialog", "OIQt", 0));
#ifndef QT_NO_TOOLTIP
pushButton_2->setToolTip(QApplication::translate("Dialog", "Delete bookmark", 0));
#endif // QT_NO_TOOLTIP
pushButton_2->setText(QApplication::translate("Dialog", "Del", 0));
#ifndef QT_NO_TOOLTIP
pushButton_3->setToolTip(QApplication::translate("Dialog", "Rename bookmark", 0));
#endif // QT_NO_TOOLTIP
pushButton_3->setText(QApplication::translate("Dialog", "Ren", 0));
#ifndef QT_NO_TOOLTIP
pushButton->setToolTip(QApplication::translate("Dialog", "Sort bookmarks", 0));
#endif // QT_NO_TOOLTIP
pushButton->setText(QApplication::translate("Dialog", "Sort", 0));
label->setText(QApplication::translate("Dialog", "Bookmarks", 0));
label_2->setText(QApplication::translate("Dialog", "Elements [S mm]", 0));
} // retranslateUi
};
namespace Ui {
class Dialog: public Ui_Dialog {};
} // namespace Ui
QT_END_NAMESPACE
#endif // OIQTLISTSDIALOGWS1786_H