60 fTransName->SetToolTipText(
"Enter the translation name");
113 fUndo->Associate(
this);
138 fApply->Connect(
"Clicked()",
"TGeoTranslationEditor",
this,
"DoApply()");
139 fCancel->Connect(
"Clicked()",
"TGeoTranslationEditor",
this,
"DoCancel()");
140 fUndo->Connect(
"Clicked()",
"TGeoTranslationEditor",
this,
"DoUndo()");
141 fTransName->Connect(
"TextChanged(const char *)",
"TGeoTranslationEditor",
this,
"DoModified()");
142 fTransDx->Connect(
"ValueSet(Long_t)",
"TGeoTranslationEditor",
this,
"DoDx()");
143 fTransDy->Connect(
"ValueSet(Long_t)",
"TGeoTranslationEditor",
this,
"DoDy()");
144 fTransDz->Connect(
"ValueSet(Long_t)",
"TGeoTranslationEditor",
this,
"DoDz()");
145 fTransDx->GetNumberEntry()->Connect(
"TextChanged(const char *)",
"TGeoTranslationEditor",
this,
"DoDx()");
146 fTransDy->GetNumberEntry()->Connect(
"TextChanged(const char *)",
"TGeoTranslationEditor",
this,
"DoDy()");
147 fTransDz->GetNumberEntry()->Connect(
"TextChanged(const char *)",
"TGeoTranslationEditor",
this,
"DoDz()");
319 fRotName->SetToolTipText(
"Enter the rotation name");
344 nef->
SetToolTipText(
"Modify the second rotation angle about the new X");
372 nef->
SetToolTipText(
"Enter the new rotation angle about the selected axis");
400 fUndo->Associate(
this);
425 fApply->Connect(
"Clicked()",
"TGeoRotationEditor",
this,
"DoApply()");
426 fCancel->Connect(
"Clicked()",
"TGeoRotationEditor",
this,
"DoCancel()");
427 fUndo->Connect(
"Clicked()",
"TGeoRotationEditor",
this,
"DoUndo()");
428 fRotName->Connect(
"TextChanged(const char *)",
"TGeoRotationEditor",
this,
"DoModified()");
429 fRotPhi->Connect(
"ValueSet(Long_t)",
"TGeoRotationEditor",
this,
"DoRotPhi()");
430 fRotTheta->Connect(
"ValueSet(Long_t)",
"TGeoRotationEditor",
this,
"DoRotTheta()");
431 fRotPsi->Connect(
"ValueSet(Long_t)",
"TGeoRotationEditor",
this,
"DoRotPsi()");
432 fRotAxis->Connect(
"ValueSet(Long_t)",
"TGeoRotationEditor",
this,
"DoRotAngle()");
447 const char *sname =
fRotation->GetName();
448 if (!strcmp(sname,
fRotation->ClassName()))
486 if (
fRotPhi->GetNumber() >= 360.)
510 if (
fRotPsi->GetNumber() >= 360.)
536 Double_t phi0 = 0., theta0 = 0., psi0 = 0.;
537 fRotation->GetAngles(phi0, theta0, psi0);
539 if (phi != psi0 || theta != theta0 || psi != psi0)
649 fRotName->SetToolTipText(
"Enter the rotation name");
710 nef->
SetToolTipText(
"Modify the second rotation angle about the new X");
737 nef->
SetToolTipText(
"Enter the new rotation angle about the selected axis");
765 fUndo->Associate(
this);
790 fApply->Connect(
"Clicked()",
"TGeoCombiTransEditor",
this,
"DoApply()");
791 fCancel->Connect(
"Clicked()",
"TGeoCombiTransEditor",
this,
"DoCancel()");
792 fUndo->Connect(
"Clicked()",
"TGeoCombiTransEditor",
this,
"DoUndo()");
793 fRotName->Connect(
"TextChanged(const char *)",
"TGeoCombiTransEditor",
this,
"DoModified()");
794 fRotPhi->Connect(
"ValueSet(Long_t)",
"TGeoCombiTransEditor",
this,
"DoRotPhi()");
795 fRotTheta->Connect(
"ValueSet(Long_t)",
"TGeoCombiTransEditor",
this,
"DoRotTheta()");
796 fRotPsi->Connect(
"ValueSet(Long_t)",
"TGeoCombiTransEditor",
this,
"DoRotPsi()");
797 fRotAxis->Connect(
"ValueSet(Long_t)",
"TGeoCombiTransEditor",
this,
"DoRotAngle()");
798 fTransDx->Connect(
"ValueSet(Long_t)",
"TGeoCombiTransEditor",
this,
"DoDx()");
799 fTransDy->Connect(
"ValueSet(Long_t)",
"TGeoCombiTransEditor",
this,
"DoDy()");
800 fTransDz->Connect(
"ValueSet(Long_t)",
"TGeoCombiTransEditor",
this,
"DoDz()");
801 fTransDx->GetNumberEntry()->Connect(
"TextChanged(const char *)",
"TGeoCombiTransEditor",
this,
"DoDx()");
802 fTransDy->GetNumberEntry()->Connect(
"TextChanged(const char *)",
"TGeoCombiTransEditor",
this,
"DoDy()");
803 fTransDz->GetNumberEntry()->Connect(
"TextChanged(const char *)",
"TGeoCombiTransEditor",
this,
"DoDz()");
820 const char *sname =
fCombi->GetName();
821 if (!strcmp(sname,
fCombi->ClassName()))
867 if (
fRotPhi->GetNumber() >= 360.)
891 if (
fRotPsi->GetNumber() >= 360.)
917 if (dx !=
fCombi->GetTranslation()[0] || dy !=
fCombi->GetTranslation()[1] || dz !=
fCombi->GetTranslation()[2])
920 fCombi->SetTranslation(dx, dy, dz);
925 Double_t phi0 = 0., theta0 = 0., psi0 = 0.;
933 rot =
fCombi->GetRotation();
938 if (phi != psi0 || theta != theta0 || psi != psi0)
ULong_t Pixel_t
Pixel value.
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t r
Option_t Option_t TPoint TPoint angle
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t height
virtual void AddFrame(TGFrame *f, TGLayoutHints *l=nullptr)
Add frame to the composite frame using the specified layout hints.
virtual TList * GetList() const
virtual void Cleanup()
Cleanup and delete all objects contained in this composite frame.
UInt_t GetDefaultHeight() const override
TGCompositeFrame(const TGCompositeFrame &)=delete
void Resize(UInt_t w=0, UInt_t h=0) override
Resize the frame.
virtual Bool_t IsComposite() const
This class handles GUI labels.
This class describes layout hints used by the layout classes.
TGNumberEntry is a number entry input widget with up/down buttons.
A text buffer is used in several widgets, like TGTextEntry, TGFileDialog, etc.
Yield an action as soon as it is clicked.
A TGTextEntry is a one line text input widget.
virtual void SetToolTipText(const char *text, Long_t delayms=500)
Set tool tip text associated with this text entry.
ROOT GUI Window base class.
Bool_t fInit
init flag for setting signals/slots
virtual void MakeTitle(const char *title)
Create attribute frame title.
Editor for a TGeoCombiTrans.
TGeoCombiTransEditor(const TGWindow *p=nullptr, Int_t width=140, Int_t height=30, UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground())
Constructor for combi matrix editor.
void DoRotPsi()
Slot for psi (Euler X convention)
void DoModified()
Slot for notifying changes.
void DoUndo()
Slot for undoing last changes.
Bool_t DoParameters()
Slot for checking parameters.
void DoName()
Slot for name.
void DoRotAngle()
Slot for additional rotation about one axis.
void DoRotPhi()
Slot for phi (Euler X convention)
void DoApply()
Slot for applying modifications.
TGNumberEntry * fRotTheta
virtual void ConnectSignals2Slots()
Connect signals to slots.
void SetModel(TObject *obj) override
Connect to the selected combi matrix.
void DoRotTheta()
Slot for theta (Euler X convention)
void DoCancel()
Slot for cancelling last un-applied operations.
~TGeoCombiTransEditor() override
Destructor.
Class describing rotation + translation.
TGeoGedFrame(const TGWindow *p=nullptr, Int_t width=140, Int_t height=30, UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground())
Constructor.
virtual void SetActive(Bool_t active=kTRUE)
Set active GUI attribute frames related to the selected object.
Editor for a TGeoRotation.
void DoApply()
Slot for applying modifications.
void DoRotPhi()
Slot for phi (Euler X convention)
void DoRotAngle()
Slot for additional rotation about one axis.
void DoCancel()
Slot for cancelling last un-applied operations.
TGNumberEntry * fRotTheta
void DoUndo()
Slot for undoing last changes.
void SetModel(TObject *obj) override
Connect to the selected rotation.
void DoName()
Slot for name.
Bool_t DoParameters()
Slot for checking parameters.
void DoModified()
Slot for notifying changes.
virtual void ConnectSignals2Slots()
Connect signals to slots.
void DoRotPsi()
Slot for psi (Euler X convention)
~TGeoRotationEditor() override
Destructor.
void DoRotTheta()
Slot for theta (Euler X convention)
TGeoRotationEditor(const TGWindow *p=nullptr, Int_t width=140, Int_t height=30, UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground())
Constructor for rotation editor.
Class describing rotations.
void SetAngles(Double_t phi, Double_t theta, Double_t psi)
Set matrix elements according to Euler angles.
void GetAngles(Double_t &theta1, Double_t &phi1, Double_t &theta2, Double_t &phi2, Double_t &theta3, Double_t &phi3) const
Retrieve rotation angles.
static void Cleanup(TGCompositeFrame *frame)
Static method to cleanup hierarchically all daughters of a composite frame.
Editor for a TGeoTranslation.
~TGeoTranslationEditor() override
Destructor.
TGeoTranslation * fTranslation
void SetModel(TObject *obj) override
Connect to the new matrix.
void DoModified()
Slot for notifying changes.
void DoName()
Slot for name.
TGeoTranslationEditor(const TGWindow *p=nullptr, Int_t width=140, Int_t height=30, UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground())
Constructor for translation editor.
void DoUndo()
Slot for undoing last operation.
Bool_t DoParameters()
Slot for checking parameters.
void DoCancel()
Slot for cancelling last modifications non-applied.
virtual void ConnectSignals2Slots()
Connect signals to slots.
void DoApply()
Slot for applying changes.
Class describing translations.
Mother of all ROOT objects.
virtual TClass * IsA() const