41typedef std::map<Int_t, SurfIter_t> IterMap_t;
42typedef IterMap_t::iterator IterMapIter_t;
127 fShowBoxCut->Connect(
"Toggled(Bool_t)",
"TGL5DDataSetEditor",
this,
"BoxCutToggled()");
128 fAlpha->Connect(
"ValueChanged(Long_t)",
"TGL5DDataSetEditor",
this,
"AlphaChanged()");
129 fAlpha->Connect(
"ValueSet(Long_t)",
"TGL5DDataSetEditor",
this,
"AlphaChanged()");
130 fNumberOfPlanes->Connect(
"ValueChanged(Long_t)",
"TGL5DDataSetEditor",
this,
"NContoursChanged()");
131 fNumberOfPlanes->Connect(
"ValueSet(Long_t)",
"TGL5DDataSetEditor",
this,
"NContoursChanged()");
132 fApplyPlanes->Connect(
"Clicked()",
"TGL5DDataSetEditor",
this,
"ApplyPlanes()");
133 fApplyAlpha->Connect(
"Clicked()",
"TGL5DDataSetEditor",
this,
"ApplyAlpha()");
136 fNCellsXEntry->Connect(
"ValueSet(Long_t)",
"TGL5DDataSetEditor",
this,
"GridParametersChanged()");
137 fNCellsXEntry->Connect(
"ValueChanged(Long_t)",
"TGL5DDataSetEditor",
this,
"GridParametersChanged()");
139 fNCellsYEntry->Connect(
"ValueSet(Long_t)",
"TGL5DDataSetEditor",
this,
"GridParametersChanged()");
140 fNCellsZEntry->Connect(
"ValueSet(Long_t)",
"TGL5DDataSetEditor",
this,
"GridParametersChanged()");
142 fXRangeSlider->Connect(
"PositionChanged()",
"TGL5DDataSetEditor",
this,
"XSliderChanged()");
143 fXRangeSliderMin->Connect(
"ReturnPressed()",
"TGL5DDataSetEditor",
this,
"XSliderSetMin()");
144 fXRangeSliderMax->Connect(
"ReturnPressed()",
"TGL5DDataSetEditor",
this,
"XSliderSetMax()");
146 fYRangeSlider->Connect(
"PositionChanged()",
"TGL5DDataSetEditor",
this,
"YSliderChanged()");
147 fYRangeSliderMin->Connect(
"ReturnPressed()",
"TGL5DDataSetEditor",
this,
"YSliderSetMin()");
148 fYRangeSliderMax->Connect(
"ReturnPressed()",
"TGL5DDataSetEditor",
this,
"YSliderSetMax()");
150 fZRangeSlider->Connect(
"PositionChanged()",
"TGL5DDataSetEditor",
this,
"ZSliderChanged()");
151 fZRangeSliderMin->Connect(
"ReturnPressed()",
"TGL5DDataSetEditor",
this,
"ZSliderSetMin()");
152 fZRangeSliderMax->Connect(
"ReturnPressed()",
"TGL5DDataSetEditor",
this,
"ZSliderSetMax()");
154 fCancelGridBtn->Connect(
"Pressed()",
"TGL5DDataSetEditor",
this,
"RollbackGridParameters()");
155 fOkGridBtn->Connect(
"Pressed()",
"TGL5DDataSetEditor",
this,
"ApplyGridParameters()");
158 fIsoList->Connect(
"Selected(Int_t)",
"TGL5DDataSetEditor",
this,
"SurfaceSelected(Int_t)");
161 fHighlightCheck->Connect(
"Clicked()",
"TGL5DDataSetEditor",
this,
"HighlightClicked()");
162 fVisibleCheck->Connect(
"Clicked()",
"TGL5DDataSetEditor",
this,
"VisibleClicked()");
163 fSurfColorSelect->Connect(
"ColorSelected(Pixel_t)",
"TGL5DDataSetEditor",
this,
"ColorChanged(Pixel_t)");
164 fSurfAlphaSlider->Connect(
"PositionChanged(Int_t)",
"TGL5DDataSetEditor",
this,
"AlphaChanged(Int_t)");
165 fSurfRemoveBtn->Connect(
"Pressed()",
"TGL5DDataSetEditor",
this,
"RemoveSurface()");
167 fAddNewIsoBtn->Connect(
"Pressed()",
"TGL5DDataSetEditor",
this,
"AddNewSurface()");
239 fShowBoxCut->SetToolTipText(
"Box cut. When attached to a plot, cuts away a part of it");
247 fNumberOfPlanes->GetNumberEntry()->SetToolTipText(
"Set number of isosurfaces");
259 fAlpha->GetNumberEntry()->SetToolTipText(
"Value of alpha parameter");
284 const UInt_t min = 10, max = 300;
294 frame = make_labeled_hframe(gridGroup,
"Cells along Y:");
301 frame = make_labeled_hframe(gridGroup,
"Cells along Z:");
313 make_slider_range_entries(rangeGroup,
fXRangeSliderMin,
"Set the minimum value of the x-axis",
316 make_slider_range_entries(rangeGroup,
fYRangeSliderMin,
"Set the minimum value of the y-axis",
319 make_slider_range_entries(rangeGroup,
fZRangeSliderMin,
"Set the minimum value of the z-axis",
343 make_slider_range_entries(v4Group,
fV4MinEntry,
"Minimum value of V4",
371 fShowCloud->SetToolTipText(
"Show/hide cloud for surface");
426 if (needUpdate &&
gPad)
436 slider->
SetPosition(
a->GetBinLowEdge(1),
a->GetBinUpEdge(
a->GetLast()));
492 SurfIter_t curr =
fPainter->SurfacesBegin();
494 for (
Int_t ind = 0; curr !=
fPainter->SurfacesEnd(); ++curr, ++ind) {
498 curr->fHighlight =
kFALSE;
504 fHidden->fIterators[ind] = curr;
733 Error(
"SurfaceSelected",
"Got wrong index %d",
id);
const Mask_t kKeyPressMask
ULong_t Pixel_t
Pixel value.
int Int_t
Signed integer 4 bytes (int).
unsigned int UInt_t
Unsigned integer 4 bytes (unsigned int).
bool Bool_t
Boolean (0=false, 1=true) (bool).
short Color_t
Color number (short).
Error("WriteTObject","The current directory (%s) is not associated with a file. The object (%s) has not been written.", GetName(), objname)
Class to manage histogram axis.
static Int_t GetColor(const char *hexcolor)
static ULong_t Number2Pixel(Int_t ci)
Like a checkbutton but instead of the check mark there is color area with a little down arrow.
The base class for composite widgets (menu bars, list boxes, etc.).
virtual void AddFrame(TGFrame *f, TGLayoutHints *l=nullptr)
Add frame to the composite frame using the specified layout hints.
TGCompositeFrame(const TGCompositeFrame &)=delete
Dragging the slider will generate the event:
virtual void SetRange(Float_t min, Float_t max)
virtual void SetPosition(Float_t min, Float_t max)
void Resize(UInt_t w=0, UInt_t h=0) override
Resize the frame.
A composite frame with a border and a title.
Concrete class for horizontal slider.
A composite frame that layout their children in horizontal way.
Bool_t IsValid(Int_t index) const
void VisibleClicked()
Hide/show selected surface.
void ColorChanged(Pixel_t pixelColor)
Change the color of the selected surface.
TGTextButton * fOkGridBtn
TGDoubleHSlider * fYRangeSlider
void ApplyPlanes()
Slot connected to the Apply Planes button.
void AddNewSurface()
Add new iso-surface.
void XSliderSetMax()
Value in a number entry was modified.
TGCheckButton * fShowCloud
TGNumberEntryField * fV4MaxEntry
void SurfaceSelected(Int_t id)
Surface was selected in a list box.
TGColorSelect * fSurfColorSelect
TGCheckButton * fLogScale
TGDoubleHSlider * fXRangeSlider
TGCheckButton * fShowBoxCut
TGTextButton * fCancelGridBtn
TGNumberEntry * fNewIsoEntry
void ZSliderChanged()
Z slider in a "Grid" tab.
~TGL5DDataSetEditor() override
void XSliderChanged()
X slider in a "Grid" tab.
TGNumberEntryField * fZRangeSliderMax
void SetStyleTabWidgets()
Set "Style" tab's controls from model.
void AlphaChanged()
Slot connected to the Alpha entry.
TGL5DDataSetEditor(const TGL5DDataSetEditor &)
void DisableSurfaceControls()
Disable surface controls.
void ApplyGridParameters()
"Apply" button was pressed in a "Grid" tab.
void RemoveSurface()
Remove selected surface.
void BoxCutToggled()
Slot connected to the Show BoxCut check button.
TGTextButton * fAddNewIsoBtn
void ZSliderSetMin()
Value in a number entry was modified.
TGNumberEntryField * fZRangeSliderMin
TGNumberEntryField * fYRangeSliderMin
TGNumberEntry * fNCellsZEntry
TGNumberEntry * fNCellsXEntry
TGDoubleHSlider * fSlideRange
TGCheckButton * fVisibleCheck
TGTextButton * fApplyAlpha
TGNumberEntry * fNumberOfPlanes
void EnableSurfaceControls()
Surface was selected in a list box, enable some controls.
void YSliderChanged()
Y slider in a "Grid" tab.
TGNumberEntryField * fYRangeSliderMax
TGNumberEntryField * fV4MinEntry
TGTextButton * fApplyPlanes
void ApplyAlpha()
Slot connected to the "Apply" button for alpha value.
void CreateStyleTab()
Creates "Style" tab.
void RollbackGridParameters()
"Cancel" button was pressed in a "Grid" tab.
void ConnectSignals2Slots()
Connect signals to slots.
void CreateIsoTab()
Tab, containing controls to work with iso-surfaces.
void ZSliderSetMax()
Value in a number entry was modified.
void GridParametersChanged()
Some of controls in a "Grid" tab was modified.
void NContoursChanged()
Slot connected to the Number of Planes value-entry.
TGDoubleHSlider * fZRangeSlider
TGHSlider * fSurfAlphaSlider
TGNumberEntryField * fXRangeSliderMin
TGTextButton * fSurfRemoveBtn
void EnableGridTabButtons()
Grid parameters were changed, enable "Cancel" and "Apply" buttons.
TGL5DEditorPrivate * fHidden
void CreateGridTab()
Tab, containing controls to set the ranges and number of cells in a grid.
void SetIsoTabWidgets()
Set "Surfaces" tab's controls from model.
TGNumberEntryField * fXRangeSliderMax
TGCheckButton * fHighlightCheck
void XSliderSetMin()
Value in a number entry was modified.
void YSliderSetMin()
Value in a number entry was modified.
void DisableGridTabButtons()
Disable "Cancel" and "Apply" buttons.
void HighlightClicked()
Check, if selected surface must be highlighted.
void SetGridTabWidgets()
Set "Grid" tab's controls from model.
void SetModel(TObject *obj) override
Set model or disables/hides viewer.
void YSliderSetMax()
Value in a number entry was modified.
TGNumberEntry * fNCellsYEntry
SurfList_t::iterator SurfIter_t
This class handles GUI labels.
This class describes layout hints used by the layout classes.
A listbox is a box, possibly with scrollbar, containing entries.
virtual void SetNumber(Double_t val, Bool_t emit=kTRUE)
Set the numeric value (floating point representation).
virtual void SetLimits(ELimit limits=kNELNoLimits, Double_t min=0, Double_t max=1)
Set the numerical limits.
TGNumberEntry is a number entry input widget with up/down buttons.
Yield an action as soon as it is clicked.
virtual void SetToolTipText(const char *text, Long_t delayms=500)
Set tool tip text associated with this text entry.
ROOT GUI Window base class.
virtual TGVerticalFrame * CreateEditorTabSubFrame(const char *name)
Create a vertical frame to be used by 'owner' in extra tab 'name'.
TGedFrame(const TGedFrame &)=delete
Bool_t fInit
init flag for setting signals/slots
virtual void MakeTitle(const char *title)
Create attribute frame title.
Mother of all ROOT objects.
const char * Data() const
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString.
std::pair< Double_t, Double_t > Range_t