diff --git a/ged/inc/TGedFrame.h b/ged/inc/TGedFrame.h index 6aec281a4d5bc58aabb5975f00b3f74385f573fd..ef06211578225ded10739317025558479746c15e 100644 --- a/ged/inc/TGedFrame.h +++ b/ged/inc/TGedFrame.h @@ -1,4 +1,4 @@ -// @(#)root/ged:$Name: $:$Id: TGedFrame.h,v 1.6 2006/05/23 04:47:36 brun Exp $ +// @(#)root/ged:$Name: $:$Id: TGedFrame.h,v 1.7 2006/05/26 15:13:01 rdm Exp $ // Author: Ilka Antcheva 10/05/04 /************************************************************************* @@ -37,10 +37,11 @@ class TGTab; class TGedFrame : public TGCompositeFrame, public TGWidget { protected: - TObject *fModel; //selected object, if exists - TVirtualPad *fPad; //selected pad, if exists - Bool_t fInit; //init flag for setting signals/slots - TGTab *fTab; //pointer to the parent tab + TObject *fModel; //selected object, if exists + TVirtualPad *fPad; //selected pad, if exists + Bool_t fInit; //init flag for setting signals/slots + Bool_t fAvoidSignal; //flag for executing slots + TGTab *fTab; //pointer to the parent tab TGedFrame(const TGedFrame&); TGedFrame& operator=(const TGedFrame&); diff --git a/ged/inc/TGraphEditor.h b/ged/inc/TGraphEditor.h index e15c0cc5737d0b2fc6f4fd763b83cc6be363f71b..4b15a95d81c49b324586702eca77c0aa604e4a4c 100644 --- a/ged/inc/TGraphEditor.h +++ b/ged/inc/TGraphEditor.h @@ -1,4 +1,4 @@ -// @(#)root/ged:$Name: $:$Id: TGraphEditor.h,v 1.6 2006/04/05 08:30:26 antcheva Exp $ +// @(#)root/ged:$Name: $:$Id: TGraphEditor.h,v 1.7 2006/04/13 13:22:31 antcheva Exp $ // Author: Carsten Hof 28/07/04 /************************************************************************* @@ -64,7 +64,7 @@ public: virtual void SetModel(TVirtualPad *pad, TObject *obj, Int_t event); // slots related to graph attributes - virtual void DoShape(Int_t s); + virtual void DoShape(); virtual void DoMarkerOnOff(Bool_t on); virtual void DoTitle(const char *text); virtual void DoGraphLineWidth(); diff --git a/ged/inc/TH1Editor.h b/ged/inc/TH1Editor.h index dd5cfd73e31ee5d707fc3e7a83be971d250fe40b..006374ec78506d349a96ea3b1db08903426e0c0f 100644 --- a/ged/inc/TH1Editor.h +++ b/ged/inc/TH1Editor.h @@ -1,4 +1,4 @@ -// @(#)root/ged:$Name: $:$Id: TH1Editor.h $ +// @(#)root/ged:$Name: $:$Id: TH1Editor.h,v 1.13 2006/01/30 17:42:05 rdm Exp $ // Author: Carsten Hof 16/08/04 /************************************************************************* @@ -155,6 +155,7 @@ public: virtual void DoHistSimple(); virtual void DoHistComplex(); virtual void DoHistChanges(); + virtual void DoHistView(); virtual void DoBarOffset(); virtual void DoBarWidth(); virtual void DoPercent(); diff --git a/ged/inc/TH2Editor.h b/ged/inc/TH2Editor.h index e693eda5e13432df5eb178a7e5a1500437720944..5465154ac20b904ef89324b0793cd93649cdbdd5 100644 --- a/ged/inc/TH2Editor.h +++ b/ged/inc/TH2Editor.h @@ -1,4 +1,4 @@ -// @(#)root/ged:$Name: $:$Id: TH2Editor.h $ +// @(#)root/ged:$Name: $:$Id: TH2Editor.h,v 1.11 2006/01/30 17:42:05 rdm Exp $ // Author: Carsten Hof 08/08/04 /************************************************************************* @@ -167,6 +167,7 @@ public: virtual void SetModel(TVirtualPad *pad, TObject *obj, Int_t event); virtual void DoTitle(const char *text); + virtual void DoHistView(); virtual void DoHistSimple(); virtual void DoHistComplex(); virtual void DoHistChanges(); diff --git a/ged/inc/TPadEditor.h b/ged/inc/TPadEditor.h index e15244469c8173475d5310e48cca09a17c0a5e54..af2234acbd592f067af645409804f061c0c21d7b 100644 --- a/ged/inc/TPadEditor.h +++ b/ged/inc/TPadEditor.h @@ -31,6 +31,7 @@ class TGColorSelect; class TGCheckButton; class TGRadioButton; class TGLineWidthComboBox; +class TGButtonGroup; class TPad; @@ -52,9 +53,8 @@ protected: TGRadioButton *fBmode0; // set no pad border TGRadioButton *fBmode1; // set raised pad border mode TGLineWidthComboBox *fBsize; // set pad border size - Bool_t fInit; // init flag - TGCompositeFrame *f7; // container frame - + TGButtonGroup *fBgroup; // button group of border mode + virtual void ConnectSignals2Slots(); public: diff --git a/ged/src/TArrowEditor.cxx b/ged/src/TArrowEditor.cxx index 81faa4d2cc3643a1b0be41d8a7111167dd9e98da..fd2268646348bd285835dc5adf5beb2cf2ea9b4b 100644 --- a/ged/src/TArrowEditor.cxx +++ b/ged/src/TArrowEditor.cxx @@ -1,4 +1,4 @@ -// @(#)root/ged:$Name: $:$Id: TArrowEditor.cxx,v 1.9 2006/03/20 21:43:41 pcanal Exp $ +// @(#)root/ged:$Name: $:$Id: TArrowEditor.cxx,v 1.10 2006/04/25 08:14:20 antcheva Exp $ // Author: Ilka Antcheva 20/10/04 /************************************************************************* @@ -141,6 +141,7 @@ void TArrowEditor::SetModel(TVirtualPad* pad, TObject* obj, Int_t) fPad = pad; fArrow = (TArrow *)fModel; + fAvoidSignal = kTRUE; Int_t id = GetShapeEntry(fArrow->GetDrawOption()); if (id != fOptionCombo->GetSelected()) @@ -154,6 +155,7 @@ void TArrowEditor::SetModel(TVirtualPad* pad, TObject* obj, Int_t) if (fInit) ConnectSignals2Slots(); SetActive(); + fAvoidSignal = kFALSE; } //______________________________________________________________________________ @@ -161,6 +163,7 @@ void TArrowEditor::DoAngle() { // Slot connected to the arrow opening angle setting. + if (fAvoidSignal) return; fArrow->SetAngle((Float_t)fAngleEntry->GetNumber()); fArrow->Paint(fArrow->GetDrawOption()); Update(); @@ -171,6 +174,7 @@ void TArrowEditor::DoOption(Int_t id) { // Slot connected to the arrow shape setting. + if (fAvoidSignal) return; const char* opt=0; switch (id) { case 1: @@ -215,6 +219,7 @@ void TArrowEditor::DoSize() { // Slot connected to the arrow size. + if (fAvoidSignal) return; fArrow->SetArrowSize(fSizeEntry->GetNumber()); fArrow->Paint(fArrow->GetDrawOption()); Update(); diff --git a/ged/src/TAttFillEditor.cxx b/ged/src/TAttFillEditor.cxx index 4b5f7430ebffa08bbf58e5f4f4a7847f4031bcb6..a8e5b0b1499ca0b7fd6f1429fc1e64b01385b575 100644 --- a/ged/src/TAttFillEditor.cxx +++ b/ged/src/TAttFillEditor.cxx @@ -1,4 +1,4 @@ -// @(#)root/ged:$Name: $:$Id: TAttFillEditor.cxx,v 1.10 2006/03/20 21:43:41 pcanal Exp $ +// @(#)root/ged:$Name: $:$Id: TAttFillEditor.cxx,v 1.11 2006/06/21 15:40:23 antcheva Exp $ // Author: Ilka Antcheva 10/05/04 /************************************************************************* @@ -108,9 +108,10 @@ void TAttFillEditor::SetModel(TVirtualPad* pad, TObject* obj, Int_t) fModel = obj; fPad = pad; - + fAttFill = dynamic_cast<TAttFill *>(fModel); - + fAvoidSignal = kTRUE; + Color_t c = fAttFill->GetFillColor(); Pixel_t p = TColor::Number2Pixel(c); fColorSelect->SetColor(p, kFALSE); @@ -120,6 +121,7 @@ void TAttFillEditor::SetModel(TVirtualPad* pad, TObject* obj, Int_t) if (fInit) ConnectSignals2Slots(); SetActive(); + fAvoidSignal = kFALSE; } //______________________________________________________________________________ @@ -127,6 +129,7 @@ void TAttFillEditor::DoFillColor(Pixel_t color) { // Slot connected to the fill area color. + if (fAvoidSignal) return; fAttFill->SetFillColor(TColor::GetColor(color)); Update(); } @@ -136,6 +139,7 @@ void TAttFillEditor::DoFillPattern(Style_t pattern) { // Slot connected to the fill area pattern. + if (fAvoidSignal) return; fAttFill->SetFillStyle(pattern); Update(); } diff --git a/ged/src/TAttLineEditor.cxx b/ged/src/TAttLineEditor.cxx index 18c0baa3a3567c6d95c974efd26f1f7a9a24eb76..c5b4c0b41e753120d8312f7d8e114f901269e2aa 100644 --- a/ged/src/TAttLineEditor.cxx +++ b/ged/src/TAttLineEditor.cxx @@ -1,4 +1,4 @@ -// @(#)root/ged:$Name: $:$Id: TAttLineEditor.cxx,v 1.9 2006/04/07 15:13:14 antcheva Exp $ +// @(#)root/ged:$Name: $:$Id: TAttLineEditor.cxx,v 1.10 2006/06/21 15:40:23 antcheva Exp $ // Author: Ilka Antcheva 10/05/04 /************************************************************************* @@ -123,21 +123,23 @@ void TAttLineEditor::SetModel(TVirtualPad* pad, TObject* obj, Int_t) fPad = pad; fAttLine = dynamic_cast<TAttLine *>(fModel); + fAvoidSignal = kTRUE; - fStyleCombo->Select(fAttLine->GetLineStyle(), kFALSE); + fStyleCombo->Select(fAttLine->GetLineStyle()); if (fModel->InheritsFrom(TGraph::Class())) { - fWidthCombo->Select(TMath::Abs(fAttLine->GetLineWidth()%100), kFALSE); + fWidthCombo->Select(TMath::Abs(fAttLine->GetLineWidth()%100)); } else { - fWidthCombo->Select(fAttLine->GetLineWidth(), kFALSE); + fWidthCombo->Select(fAttLine->GetLineWidth()); } Color_t c = fAttLine->GetLineColor(); Pixel_t p = TColor::Number2Pixel(c); - fColorSelect->SetColor(p, kFALSE); + fColorSelect->SetColor(p); if (fInit) ConnectSignals2Slots(); SetActive(); + fAvoidSignal = kFALSE; } //______________________________________________________________________________ @@ -145,6 +147,7 @@ void TAttLineEditor::DoLineColor(Pixel_t color) { // Slot connected to the line color. + if (fAvoidSignal) return; fAttLine->SetLineColor(TColor::GetColor(color)); Update(); } @@ -155,6 +158,7 @@ void TAttLineEditor::DoLineStyle(Int_t style) { // Slot connected to the line style. + if (fAvoidSignal) return; fAttLine->SetLineStyle(style); Update(); } @@ -165,6 +169,7 @@ void TAttLineEditor::DoLineWidth(Int_t width) { // Slot connected to the line width. + if (fAvoidSignal) return; if (fModel->InheritsFrom(TGraph::Class())) { Int_t graphLineWidth = 100*Int_t(fAttLine->GetLineWidth()/100); if (graphLineWidth >= 0) { diff --git a/ged/src/TAttMarkerEditor.cxx b/ged/src/TAttMarkerEditor.cxx index a4549de35f1af7e2a4441efb06b2a5782f1bf114..11f037ed73e285d918dc22cf156f250eaf434c8f 100644 --- a/ged/src/TAttMarkerEditor.cxx +++ b/ged/src/TAttMarkerEditor.cxx @@ -1,4 +1,4 @@ -// @(#)root/ged:$Name: $:$Id: TAttMarkerEditor.cxx,v 1.8 2005/11/25 09:56:35 brun Exp $ +// @(#)root/ged:$Name: $:$Id: TAttMarkerEditor.cxx,v 1.9 2006/03/20 21:43:41 pcanal Exp $ // Author: Ilka Antcheva 11/05/04 /************************************************************************* @@ -122,6 +122,7 @@ void TAttMarkerEditor::SetModel(TVirtualPad* pad, TObject* obj, Int_t) fModel = obj; fPad = pad; + fAvoidSignal = kTRUE; fAttMarker = dynamic_cast<TAttMarker *>(fModel); @@ -142,6 +143,7 @@ void TAttMarkerEditor::SetModel(TVirtualPad* pad, TObject* obj, Int_t) if (fInit) ConnectSignals2Slots(); SetActive(); + fAvoidSignal = kFALSE; } @@ -150,6 +152,7 @@ void TAttMarkerEditor::DoMarkerColor(Pixel_t color) { // Slot connected to the marker color. + if (fAvoidSignal) return; fAttMarker->SetMarkerColor(TColor::GetColor(color)); Update(); } @@ -159,6 +162,7 @@ void TAttMarkerEditor::DoMarkerStyle(Style_t marker) { // Slot connected to the marker type. + if (fAvoidSignal) return; if (marker==1 || marker==6 || marker==7) { fMarkerSize->SetNumber(1.); fMarkerSize->SetState(kFALSE); @@ -174,6 +178,7 @@ void TAttMarkerEditor::DoMarkerSize() { // Slot connected to the marker size. + if (fAvoidSignal) return; Float_t size = fMarkerSize->GetNumber(); fAttMarker->SetMarkerSize(size); Update(); diff --git a/ged/src/TAttTextEditor.cxx b/ged/src/TAttTextEditor.cxx index 0c1b735bb8bf14a0292571a548f56ab1cd406636..f8bf48c57041cd096ba918ad80599d5b272e43ae 100644 --- a/ged/src/TAttTextEditor.cxx +++ b/ged/src/TAttTextEditor.cxx @@ -1,4 +1,4 @@ -// @(#)root/ged:$Name: $:$Id: TAttTextEditor.cxx,v 1.7 2005/11/25 09:56:35 brun Exp $ +// @(#)root/ged:$Name: $:$Id: TAttTextEditor.cxx,v 1.8 2006/03/20 21:43:41 pcanal Exp $ // Author: Ilka Antcheva 11/05/04 /************************************************************************* @@ -111,6 +111,7 @@ void TAttTextEditor::SetModel(TVirtualPad* pad, TObject* obj, Int_t) fPad = pad; fAttText = dynamic_cast<TAttText *>(fModel); + fAvoidSignal = kTRUE; fTypeCombo->Select(fAttText->GetTextFont() / 10); @@ -127,15 +128,16 @@ void TAttTextEditor::SetModel(TVirtualPad* pad, TObject* obj, Int_t) Int_t size = fPad->YtoPixel(0.0) - fPad->YtoPixel(dy); if (size > 50) size = 50; if (size < 0) size = 0; - fSizeCombo->Select(size); + fSizeCombo->Select(size, kFALSE); - fAlignCombo->Select(fAttText->GetTextAlign()); + fAlignCombo->Select(fAttText->GetTextAlign(), kFALSE); Color_t c = fAttText->GetTextColor(); Pixel_t p = TColor::Number2Pixel(c); - fColorSelect->SetColor(p); + fColorSelect->SetColor(p, kFALSE); SetActive(); + fAvoidSignal = kFALSE; } //______________________________________________________________________________ @@ -180,7 +182,7 @@ Bool_t TAttTextEditor::ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2) } } - if (b) Update(); + if (b && !fAvoidSignal) Update(); return kTRUE; } diff --git a/ged/src/TAxisEditor.cxx b/ged/src/TAxisEditor.cxx index 82e87177a2051105dbf0d2852469fa7a19709cf0..5a76740f9832b4522be3d78effc5ffddc6bb2cc6 100644 --- a/ged/src/TAxisEditor.cxx +++ b/ged/src/TAxisEditor.cxx @@ -1,4 +1,4 @@ -// @(#)root/ged:$Name: $:$Id: TAxisEditor.cxx,v 1.11 2005/11/25 09:56:35 brun Exp $ +// @(#)root/ged:$Name: $:$Id: TAxisEditor.cxx,v 1.12 2006/03/20 21:43:41 pcanal Exp $ // Author: Ilka Antcheva 11/05/04 /************************************************************************* @@ -319,6 +319,7 @@ void TAxisEditor::SetModel(TVirtualPad* pad, TObject* obj, Int_t) fPad = pad; fAxis = (TAxis *)fModel; + fAvoidSignal = kTRUE; Color_t c = fAxis->GetAxisColor(); Pixel_t p = TColor::Number2Pixel(c); @@ -405,6 +406,7 @@ void TAxisEditor::SetModel(TVirtualPad* pad, TObject* obj, Int_t) if (fInit) ConnectSignals2Slots(); SetActive(); + fAvoidSignal = kFALSE; } //______________________________________________________________________________ @@ -412,6 +414,7 @@ void TAxisEditor::DoAxisColor(Pixel_t color) { // Slot connected to the axis color. + if (fAvoidSignal) return; fAxis->SetAxisColor(TColor::GetColor(color)); Update(); } @@ -421,6 +424,7 @@ void TAxisEditor::DoTickLength() { // Slot connected to the tick length settings. + if (fAvoidSignal) return; Float_t ticks = fTickLength->GetNumber(); fAxis->SetTickLength(ticks); Update(); @@ -433,6 +437,7 @@ void TAxisEditor::DoTicks() { // Slot connected to the ticks draw settings. + if (fAvoidSignal) return; if (fTicksBoth->GetState() == kButtonDown) { fAxis->SetTicks("+-"); } else { @@ -448,6 +453,7 @@ void TAxisEditor::DoDivisions() // Slot connected to the number of divisions. // the number of divisions are used 3 number entry widgets + if (fAvoidSignal) return; Int_t div = (Int_t)(fDiv1->GetNumber() + fDiv2->GetNumber() * 100 + fDiv3->GetNumber() * 10000); fAxis->SetNdivisions(div, fOptimize->GetState()); @@ -459,6 +465,8 @@ void TAxisEditor::DoLogAxis() { // Slot for Log scale setting. + if (fAvoidSignal) return; + gPad = fPad; if (fLogAxis->GetState() == kButtonDown) { @@ -487,6 +495,7 @@ void TAxisEditor::DoMoreLog() { // Slot connected to more Log labels flag + if (fAvoidSignal) return; Int_t flag = 0; if (fMoreLog->GetState() == kButtonDown) flag = 1; else if (fMoreLog->GetState() == kButtonUp) flag = 0; @@ -499,6 +508,7 @@ void TAxisEditor::DoTitle(const char *text) { // Slot connected to the axis color. + if (fAvoidSignal) return; fAxis->SetTitle(text); Update(); } @@ -508,6 +518,7 @@ void TAxisEditor::DoTitleColor(Pixel_t color) { // Slot connected to the title color. + if (fAvoidSignal) return; fAxis->SetTitleColor(TColor::GetColor(color)); Update(); } @@ -517,6 +528,7 @@ void TAxisEditor::DoTitleSize() { // Slot connected to the title font size. + if (fAvoidSignal) return; Float_t size = fTitleSize->GetNumber(); fAxis->SetTitleSize(size); Update(); @@ -527,6 +539,7 @@ void TAxisEditor::DoTitleFont(Int_t font) { // Slot connected to the title font. + if (fAvoidSignal) return; Int_t f = font * 10 + fTitlePrec; fAxis->SetTitleFont(f); Update(); @@ -537,6 +550,7 @@ void TAxisEditor::DoTitleOffset() { // Slot connected to the title offset. + if (fAvoidSignal) return; Float_t offset = fTitleOffset->GetNumber(); fAxis->SetTitleOffset(offset); Update(); @@ -547,6 +561,7 @@ void TAxisEditor::DoTitleCentered() { // Slot connected to centered title option. + if (fAvoidSignal) return; Int_t ctr = fCentered->GetState(); fAxis->CenterTitle(ctr); Update(); @@ -557,6 +572,7 @@ void TAxisEditor::DoTitleRotated() { // Slot connected to the title rotation. + if (fAvoidSignal) return; Int_t rot = fRotated->GetState(); fAxis->RotateTitle(rot); Update(); @@ -567,6 +583,7 @@ void TAxisEditor::DoLabelColor(Pixel_t color) { // Slot connected to the label color. + if (fAvoidSignal) return; fAxis->SetLabelColor(TColor::GetColor(color)); Update(); } @@ -576,6 +593,7 @@ void TAxisEditor::DoLabelSize() { // Slot connected to the label size. + if (fAvoidSignal) return; Float_t size = fLabelSize->GetNumber(); fAxis->SetLabelSize(size); Update(); @@ -586,6 +604,7 @@ void TAxisEditor::DoLabelFont(Int_t font) { // Slot connected to the label font. + if (fAvoidSignal) return; Int_t f = font * 10 + fLabelPrec; fAxis->SetLabelFont(f); Update(); @@ -596,6 +615,7 @@ void TAxisEditor::DoLabelOffset() { // Slot connected to the label offset. + if (fAvoidSignal) return; Float_t offset = fLabelOffset->GetNumber(); fAxis->SetLabelOffset(offset); Update(); @@ -606,6 +626,7 @@ void TAxisEditor::DoNoExponent() { // Slot connected to the labels' exponent flag. + if (fAvoidSignal) return; Int_t exp = fNoExponent->GetState(); fAxis->SetNoExponent(exp); Update(); @@ -616,6 +637,7 @@ void TAxisEditor::DoDecimal(Bool_t on) { // Slot connected to the decimal part setting. + if (fAvoidSignal) return; fAxis->SetDecimals(on); gStyle->SetStripDecimals(!on); Update(); diff --git a/ged/src/TCurlyArcEditor.cxx b/ged/src/TCurlyArcEditor.cxx index e37076e56ea0485fffc23f0ec8d301ee93d36184..a47d408dac4681ac6f9f62a37319ae3553f316ba 100644 --- a/ged/src/TCurlyArcEditor.cxx +++ b/ged/src/TCurlyArcEditor.cxx @@ -1,4 +1,4 @@ -// @(#)root/ged:$Name: $:$Id: TCurlyArcEditor.cxx,v 1.8 2006/01/30 17:42:05 rdm Exp $ +// @(#)root/ged:$Name: $:$Id: TCurlyArcEditor.cxx,v 1.9 2006/03/20 21:43:41 pcanal Exp $ // Author: Ilka Antcheva, Otto Schaile 15/12/04 /************************************************************************* @@ -170,6 +170,7 @@ void TCurlyArcEditor::SetModel(TVirtualPad* pad, TObject* obj, Int_t) fPad = pad; fCurlyArc = (TCurlyArc *)fModel; + fAvoidSignal = kTRUE; Double_t val = fCurlyArc->GetRadius(); fRadiusEntry->SetNumber(val); @@ -188,6 +189,7 @@ void TCurlyArcEditor::SetModel(TVirtualPad* pad, TObject* obj, Int_t) if (fInit) ConnectSignals2Slots(); SetActive(); + fAvoidSignal = kFALSE; } //______________________________________________________________________________ @@ -195,6 +197,7 @@ void TCurlyArcEditor::DoCenterXY() { // Slot connected to set center . + if (fAvoidSignal) return; fCurlyArc->SetCenter((Double_t)fCenterXEntry->GetNumber(), (Double_t)fCenterYEntry->GetNumber()); fCurlyArc->Paint(fCurlyArc->GetDrawOption()); Update(); @@ -205,6 +208,7 @@ void TCurlyArcEditor::DoRadius() { // Slot connected to the radius setting. + if (fAvoidSignal) return; fCurlyArc->SetRadius((Double_t)fRadiusEntry->GetNumber()); fCurlyArc->Paint(fCurlyArc->GetDrawOption()); Update(); @@ -215,6 +219,7 @@ void TCurlyArcEditor::DoPhimin() { // Slot connected to the phimin setting. + if (fAvoidSignal) return; fCurlyArc->SetPhimin((Double_t)fPhiminEntry->GetNumber()); fCurlyArc->Paint(fCurlyArc->GetDrawOption()); Update(); @@ -224,10 +229,9 @@ void TCurlyArcEditor::DoPhimin() void TCurlyArcEditor::DoPhimax() { // Slot connected to the phimax setting. + + if (fAvoidSignal) return; fCurlyArc->SetPhimax((Double_t)fPhimaxEntry->GetNumber()); fCurlyArc->Paint(fCurlyArc->GetDrawOption()); Update(); } - - -//______________________________________________________________________________ diff --git a/ged/src/TCurlyLineEditor.cxx b/ged/src/TCurlyLineEditor.cxx index ca24c9a83406bb955324f199f190a81baabf856c..a101df6a7c1d8087082297f47719bc49e21e4b63 100644 --- a/ged/src/TCurlyLineEditor.cxx +++ b/ged/src/TCurlyLineEditor.cxx @@ -1,4 +1,4 @@ -// @(#)root/ged:$Name: $:$Id: TCurlyLineEditor.cxx,v 1.9 2006/01/30 17:42:05 rdm Exp $ +// @(#)root/ged:$Name: $:$Id: TCurlyLineEditor.cxx,v 1.10 2006/03/20 21:43:41 pcanal Exp $ // Author: Ilka Antcheva, Otto Schaile 15/12/04 /************************************************************************* @@ -84,7 +84,6 @@ TCurlyLineEditor::TCurlyLineEditor(const TGWindow *p, Int_t id, Int_t width, fIsWavy->SetToolTipText("Toggle between wavy line (Gluon) if selected; curly line (Gamma) otherwise."); AddFrame(fIsWavy, new TGLayoutHints(kLHintsLeft, 5, 1, 5, 8)); -// fStartXFrame = new TGCompositeFrame(this, 80, 20, kHorizontalFrame); AddFrame(fStartXFrame, new TGLayoutHints(kLHintsTop, 1, 1, 3, 0)); @@ -96,7 +95,7 @@ TCurlyLineEditor::TCurlyLineEditor(const TGWindow *p, Int_t id, Int_t width, TGNumberFormat::kNELNoLimits); fStartXEntry->GetNumberEntry()->SetToolTipText("Set start point X ccordinate of curly line."); fStartXFrame->AddFrame(fStartXEntry, new TGLayoutHints(kLHintsLeft, 5, 1, 1, 1)); -// + fStartYFrame = new TGCompositeFrame(this, 80, 20, kHorizontalFrame); AddFrame(fStartYFrame, new TGLayoutHints(kLHintsTop, 1, 1, 3, 0)); @@ -108,7 +107,7 @@ TCurlyLineEditor::TCurlyLineEditor(const TGWindow *p, Int_t id, Int_t width, TGNumberFormat::kNELNoLimits); fStartYEntry->GetNumberEntry()->SetToolTipText("Set start point Y coordinate of curly line."); fStartYFrame->AddFrame(fStartYEntry, new TGLayoutHints(kLHintsLeft, 5, 1, 1, 1)); -// + fEndXFrame = new TGCompositeFrame(this, 80, 20, kHorizontalFrame); AddFrame(fEndXFrame, new TGLayoutHints(kLHintsTop, 1, 1, 3, 0)); @@ -120,7 +119,7 @@ TCurlyLineEditor::TCurlyLineEditor(const TGWindow *p, Int_t id, Int_t width, TGNumberFormat::kNELNoLimits); fEndXEntry->GetNumberEntry()->SetToolTipText("Set end point X coordinate of curly line."); fEndXFrame->AddFrame(fEndXEntry, new TGLayoutHints(kLHintsLeft, 6, 1, 1, 1)); -// + fEndYFrame = new TGCompositeFrame(this, 80, 20, kHorizontalFrame); AddFrame(fEndYFrame, new TGLayoutHints(kLHintsTop, 1, 1, 3, 0)); @@ -201,6 +200,7 @@ void TCurlyLineEditor::SetModel(TVirtualPad* pad, TObject* obj, Int_t) } fCurlyLine = (TCurlyLine *)fModel; + fAvoidSignal = kTRUE; Double_t val = fCurlyLine->GetAmplitude(); fAmplitudeEntry->SetNumber(val); @@ -227,6 +227,7 @@ void TCurlyLineEditor::SetModel(TVirtualPad* pad, TObject* obj, Int_t) if (fInit) ConnectSignals2Slots(); SetActive(); + fAvoidSignal = kFALSE; } //______________________________________________________________________________ @@ -234,6 +235,7 @@ void TCurlyLineEditor::DoStartXY() { // Slot connected to the CurlyLine StartPoint. + if (fAvoidSignal) return; fCurlyLine->SetStartPoint(fStartXEntry->GetNumber(), fStartYEntry->GetNumber()); fCurlyLine->Paint(fCurlyLine->GetDrawOption()); Update(); @@ -243,6 +245,7 @@ void TCurlyLineEditor::DoEndXY() { // Slot connected to the CurlyLine End. + if (fAvoidSignal) return; fCurlyLine->SetEndPoint(fEndXEntry->GetNumber(), fEndYEntry->GetNumber()); fCurlyLine->Paint(fCurlyLine->GetDrawOption()); Update(); @@ -253,6 +256,7 @@ void TCurlyLineEditor::DoAmplitude() { // Slot connected to the amplitude setting. + if (fAvoidSignal) return; fCurlyLine->SetAmplitude((Double_t)fAmplitudeEntry->GetNumber()); fCurlyLine->Paint(fCurlyLine->GetDrawOption()); Update(); @@ -263,6 +267,7 @@ void TCurlyLineEditor::DoWaveLength() { // Slot connected to the wavelength setting. + if (fAvoidSignal) return; fCurlyLine->SetWaveLength((Double_t)fWaveLengthEntry->GetNumber()); fCurlyLine->Paint(fCurlyLine->GetDrawOption()); HideFrame(fWaveLengthEntry); @@ -274,10 +279,11 @@ void TCurlyLineEditor::DoWavy() { // Slot connected to the wavy / curly setting. - if (fIsWavy->GetState() == kButtonDown) fCurlyLine->SetCurly(); - else fCurlyLine->SetWavy(); + if (fAvoidSignal) return; + if (fIsWavy->GetState() == kButtonDown) + fCurlyLine->SetCurly(); + else + fCurlyLine->SetWavy(); fCurlyLine->Paint(fCurlyLine->GetDrawOption()); Update(); } - -//______________________________________________________________________________ diff --git a/ged/src/TGedEditor.cxx b/ged/src/TGedEditor.cxx index d8facd4d1d0015d5bfe736291217747849bfd7e7..45c87b19ca73ca552a64e6900e2bafb7ba657582 100644 --- a/ged/src/TGedEditor.cxx +++ b/ged/src/TGedEditor.cxx @@ -1,4 +1,4 @@ -// @(#)root/ged:$Name: $:$Id: TGedEditor.cxx,v 1.27 2006/05/23 04:47:36 brun Exp $ +// @(#)root/ged:$Name: $:$Id: TGedEditor.cxx,v 1.28 2006/05/24 14:49:21 brun Exp $ // Author: Marek Biskup, Ilka Antcheva 02/08/2003 /************************************************************************* @@ -187,13 +187,13 @@ void TGedEditor::GetEditors() } } else { - //search for a class editor = classname + 'Editor' - GetClassEditor(fModel->IsA()); - - //now scan all base classes + // scan list of base classes list = fModel->IsA()->GetListOfBases(); if (list->First() != 0) GetBaseClassEditor(fModel->IsA()); + + //search for a class editor = classname + 'Editor' + GetClassEditor(fModel->IsA()); } fStyle->Layout(); @@ -323,6 +323,8 @@ void TGedEditor::SetModel(TVirtualPad* pad, TObject* obj, Int_t event) return; } } + if (gPad) gPad->GetVirtCanvas()->SetCursor(kWatch); + gVirtualX->SetCursor(GetId(), gVirtualX->CreateCursor(kWatch)); TGFrameElement *el; TIter next(fStyle->GetList()); @@ -330,6 +332,13 @@ void TGedEditor::SetModel(TVirtualPad* pad, TObject* obj, Int_t event) if ((el->fFrame)->InheritsFrom(TGedFrame::Class())) ((TGedFrame *)(el->fFrame))->SetModel(fPad, fModel, event); } + if (fGlobal) + Layout(); + else + ((TGMainFrame*)GetMainFrame())->Layout(); + + if (gPad) gPad->GetVirtCanvas()->SetCursor(kPointer); + gVirtualX->SetCursor(GetId(), gVirtualX->CreateCursor(kPointer)); } //______________________________________________________________________________ diff --git a/ged/src/TGedFrame.cxx b/ged/src/TGedFrame.cxx index d733a3384e88ca6ebd65678dc69c0d2f66fb7625..2b01e30bdbd3edc094508bd084519c4e293a6f57 100644 --- a/ged/src/TGedFrame.cxx +++ b/ged/src/TGedFrame.cxx @@ -1,4 +1,4 @@ -// @(#)root/ged:$Name: $:$Id: TGedFrame.cxx,v 1.10 2006/05/23 04:47:36 brun Exp $ +// @(#)root/ged:$Name: $:$Id: TGedFrame.cxx,v 1.11 2006/05/24 14:49:21 brun Exp $ // Author: Ilka Antcheva 10/05/04 /************************************************************************* @@ -39,6 +39,7 @@ TGedFrame::TGedFrame(const TGWindow *p, Int_t id, Int_t width, fPad = 0; fModel = 0; fInit = kTRUE; + fAvoidSignal = kFALSE; Associate(p); fTab = (TGTab*)p->GetParent()->GetParent(); @@ -53,21 +54,24 @@ TGedFrame::TGedFrame(const TGedFrame& gf) : fModel(gf.fModel), fPad(gf.fPad), fInit(gf.fInit), + fAvoidSignal(gf.fAvoidSignal), fTab(gf.fTab) { - //copy constructor + // Copy constructor. } //______________________________________________________________________________ TGedFrame& TGedFrame::operator=(const TGedFrame& gf) { - //assignement operator + // Assignement operator. + if(this!=&gf) { TGCompositeFrame::operator=(gf); TGWidget::operator=(gf); fModel=gf.fModel; fPad=gf.fPad; fInit=gf.fInit; + fAvoidSignal=gf.fAvoidSignal; fTab=gf.fTab; } return *this; @@ -122,8 +126,9 @@ void TGedFrame::SetActive(Bool_t active) ((TGCompositeFrame*)GetParent())->ShowFrame(this); else ((TGCompositeFrame*)GetParent())->HideFrame(this); - - ((TGMainFrame*)GetMainFrame())->Layout(); + +// no need to call for every single editor Layout of TGMainFrame +// ((TGMainFrame*)GetMainFrame())->Layout(); // to avoid that the user changes options on a deactivated Tab if (fTab->IsEnabled(fTab->GetCurrent())) @@ -217,13 +222,14 @@ TGedNameFrame::TGedNameFrame(const TGedNameFrame& nf) : f1(nf.f1), f2(nf.f2) { - //copy constructor + // Copy constructor. } //______________________________________________________________________________ TGedNameFrame& TGedNameFrame::operator=(const TGedNameFrame& nf) { - //assignement operator + // Assignement operator. + if(this!=&nf) { TGedFrame::operator=(nf); fLabel=nf.fLabel; diff --git a/ged/src/TGraphEditor.cxx b/ged/src/TGraphEditor.cxx index 120a5f932afe3b499735c53114dda969de404c04..1afb5e32dbce0b70519844c1fc50d2c1a9098d4a 100644 --- a/ged/src/TGraphEditor.cxx +++ b/ged/src/TGraphEditor.cxx @@ -1,4 +1,4 @@ -// @(#)root/ged:$Name: $:$Id: TGraphEditor.cxx,v 1.17 2006/04/13 13:22:31 antcheva Exp $ +// @(#)root/ged:$Name: $:$Id: TGraphEditor.cxx,v 1.18 2006/05/30 11:46:35 antcheva Exp $ // Author: Carsten Hof 16/08/04 /************************************************************************* @@ -165,7 +165,7 @@ void TGraphEditor::ConnectSignals2Slots() // Connect signals to slots. fTitle->Connect("TextChanged(const char *)","TGraphEditor",this,"DoTitle(const char *)"); - fgr->Connect("Pressed(Int_t)","TGraphEditor",this,"DoShape(Int_t)"); + fgr->Connect("Released(Int_t)","TGraphEditor",this,"DoShape()"); fMarkerOnOff->Connect("Toggled(Bool_t)","TGraphEditor",this,"DoMarkerOnOff(Bool_t)"); fWidthCombo->Connect("Selected(Int_t)", "TGraphEditor", this, "DoGraphLineWidth()"); fExSide->Connect("Clicked()","TGraphEditor",this,"DoGraphLineWidth()"); @@ -190,6 +190,7 @@ void TGraphEditor::SetModel(TVirtualPad* pad, TObject* obj, Int_t) fModel = obj; fPad = pad; fGraph = (TGraph *)fModel; + fAvoidSignal = kTRUE; // set the Title TextEntry const char *text = fGraph->GetTitle(); @@ -248,6 +249,7 @@ void TGraphEditor::SetModel(TVirtualPad* pad, TObject* obj, Int_t) if (fInit) ConnectSignals2Slots(); SetActive(); // activates this Editor + fAvoidSignal = kFALSE; } //______________________________________________________________________________ @@ -256,25 +258,32 @@ void TGraphEditor::DoTitle(const char *text) { // Slot for setting the graph title. + if (fAvoidSignal) return; fGraph->SetTitle(text); Update(); } //______________________________________________________________________________ -void TGraphEditor::DoShape(Int_t s) +void TGraphEditor::DoShape() { // Slot connected to the draw options. + if (fAvoidSignal) return; TString opt; - if (fGraph->InheritsFrom("TGraphErrors")) opt = fGraph->GetDrawOption(); else opt = GetDrawOption(); opt.ToUpper(); - + Int_t s = 0; + if (fShape->GetState() == kButtonDown) s = kSHAPE_NOLINE; + else if (fShape0->GetState() == kButtonDown) s = kSHAPE_SMOOTH; + else if (fShape1->GetState() == kButtonDown) s = kSHAPE_SIMPLE; + else if (fShape2->GetState() == kButtonDown) s = kSHAPE_BAR; + else s = kSHAPE_FILL; + switch (s) { // change draw option to No Line: @@ -362,6 +371,7 @@ void TGraphEditor::DoMarkerOnOff(Bool_t on) { // Slot for setting markers as visible/invisible. + if (fAvoidSignal) return; TString t = GetDrawOption(); t.ToUpper(); @@ -383,6 +393,7 @@ void TGraphEditor::DoGraphLineWidth() { // Slot connected to the graph line width. + if (fAvoidSignal) return; Int_t width = fWidthCombo->GetSelected(); Int_t lineWidth = TMath::Abs(fGraph->GetLineWidth()%100); Int_t side = 1; diff --git a/ged/src/TH1Editor.cxx b/ged/src/TH1Editor.cxx index e16fa7a6a6b0184e096cec99b3e8f4a3f526b1a2..a6f1498611f22c60ac93debb1aa94c0b6a6f6c8f 100644 --- a/ged/src/TH1Editor.cxx +++ b/ged/src/TH1Editor.cxx @@ -172,7 +172,6 @@ enum ETH1Wid{ }; //______________________________________________________________________________ - TH1Editor::TH1Editor(const TGWindow *p, Int_t id, Int_t width, Int_t height, UInt_t options, Pixel_t back) : TGedFrame(p, id, width, height, options | kVerticalFrame, back) @@ -364,8 +363,6 @@ TH1Editor::TH1Editor(const TGWindow *p, Int_t id, Int_t width, fTab->Layout(); fTab->MapWindow(); -// ((TGMainFrame*)GetMainFrame())->Layout(); not needed? - TClass *cl = TH1::Class(); TGedElement *ge = new TGedElement; ge->fGedFrame = this; @@ -374,7 +371,6 @@ TH1Editor::TH1Editor(const TGWindow *p, Int_t id, Int_t width, } //______________________________________________________________________________ - TH1Editor::~TH1Editor() { // Destructor of TH1 editor. @@ -395,8 +391,8 @@ TH1Editor::~TH1Editor() if (!strcmp(el2->fFrame->ClassName(), "TGCompositeFrame")) ((TGCompositeFrame *)el2->fFrame)->Cleanup(); } + ((TGCompositeFrame *)el1->fFrame)->Cleanup(); } - ((TGCompositeFrame *)el1->fFrame)->Cleanup(); } ((TGCompositeFrame *)el->fFrame)->Cleanup(); } @@ -422,7 +418,6 @@ TH1Editor::~TH1Editor() } //______________________________________________________________________________ - void TH1Editor::ConnectSignals2Slots() { // Connect signals to slots. @@ -439,8 +434,7 @@ void TH1Editor::ConnectSignals2Slots() fAddSimple->Connect("Toggled(Bool_t)", "TH1Editor", this, "DoAddSimple(Bool_t)"); //change 2D <-> 3D plot - fDim->Connect("Pressed()","TH1Editor",this,"DoHistSimple()"); - fDim0->Connect("Pressed()","TH1Editor",this,"DoHistComplex()"); + fDimGroup->Connect("Released(Int_t)","TH1Editor",this,"DoHistView()"); // change Bar Width/Offset, the second connection is needed to have the ability to confirm the value also with enter fBarWidth->Connect("ValueSet(Long_t)", "TH1Editor", this, "DoBarWidth()"); @@ -480,7 +474,6 @@ void TH1Editor::ConnectSignals2Slots() } //______________________________________________________________________________ - void TH1Editor::SetModel(TVirtualPad* pad, TObject* obj, Int_t) { // Pick up current values of histogram attributes. @@ -534,6 +527,10 @@ void TH1Editor::SetModel(TVirtualPad* pad, TObject* obj, Int_t) fModel = obj; fPad = pad; fHist = (TH1*)fModel; + fAvoidSignal = kTRUE; + + if (gPad) gPad->GetVirtCanvas()->SetCursor(kWatch); + gVirtualX->SetCursor(GetId(), gVirtualX->CreateCursor(kWatch)); //set the selected object name on Binning tab TString string; @@ -803,24 +800,28 @@ void TH1Editor::SetModel(TVirtualPad* pad, TObject* obj, Int_t) fMake=kTRUE; fTab->SetEnabled(1, kTRUE); SetActive(kTRUE); + fAvoidSignal = kFALSE; + + if (gPad) gPad->GetVirtCanvas()->SetCursor(kPointer); + gVirtualX->SetCursor(GetId(), gVirtualX->CreateCursor(kPointer)); } //______________________________________________________________________________ - void TH1Editor::DoTitle(const char *text) { // Slot connected to the histogram title setting. + if (fAvoidSignal) return; fHist->SetTitle(text); Update(); } //______________________________________________________________________________ - void TH1Editor::DoAddMarker(Bool_t on) { // Slot connected to the show markers check box. + if (fAvoidSignal) return; TString str = GetDrawOption(); str.ToUpper(); if (str.Contains("SAME")) @@ -862,11 +863,11 @@ void TH1Editor::DoAddMarker(Bool_t on) } //______________________________________________________________________________ - void TH1Editor::DoAddB(Bool_t on) { // Slot connected to the bar Add check box. + if (fAvoidSignal) return; TString str = GetDrawOption(); str.ToUpper(); if (str.Contains("SAME")) @@ -906,11 +907,11 @@ void TH1Editor::DoAddB(Bool_t on) } //______________________________________________________________________________ - void TH1Editor::DoAddBar(Bool_t on) { // Slot connected to the bar Add check box. + if (fAvoidSignal) return; Disconnect(fAddMarker); TString str = GetDrawOption(); str.ToUpper(); @@ -1006,13 +1007,13 @@ void TH1Editor::DoAddBar(Bool_t on) } //______________________________________________________________________________ - void TH1Editor::DoAddSimple(Bool_t on) { // Slot connected to fAddSimple check box for drawing a simple histogram // without errors (== HIST draw option) in combination with some other // draw options. It draws an additional line on the top of the bins. + if (fAvoidSignal) return; Disconnect(fAddMarker); // Bool_t make=kFALSE; fMake = kFALSE; @@ -1042,11 +1043,28 @@ void TH1Editor::DoAddSimple(Bool_t on) } //______________________________________________________________________________ +void TH1Editor::DoHistView() +{ + // Slot connected to the 'Plot' button group. + if (gPad) gPad->GetVirtCanvas()->SetCursor(kWatch); + gVirtualX->SetCursor(GetId(), gVirtualX->CreateCursor(kWatch)); + + if (fDim->GetState() == kButtonDown) + DoHistSimple(); + else + DoHistComplex(); + + if (gPad) gPad->GetVirtCanvas()->SetCursor(kPointer); + gVirtualX->SetCursor(GetId(), gVirtualX->CreateCursor(kPointer)); +} + +//______________________________________________________________________________ void TH1Editor::DoHistSimple() { // Slot connected to the 2D radio button. + if (fAvoidSignal) return; if (fDim->GetState()==kButtonDown){ TString str =""; fMake=kFALSE; @@ -1133,11 +1151,11 @@ void TH1Editor::DoHistSimple() } //______________________________________________________________________________ - void TH1Editor::DoHistComplex() { // Slot connected to the 3D radio button. + if (fAvoidSignal) return; if (fDim0->GetState()==kButtonDown) { TString str =""; fMake=kFALSE; @@ -1181,12 +1199,12 @@ void TH1Editor::DoHistComplex() } //______________________________________________________________________________ - void TH1Editor::DoHistChanges() { // Slot connected to the histogram type, the coordinate type, the error type // and the Add combo box. + if (fAvoidSignal) return; fMakeB= kFALSE; TGListBox* lb; if (GetHistTypeLabel().Contains("SURF")) { @@ -1293,32 +1311,32 @@ void TH1Editor::DoHistChanges() } //______________________________________________________________________________ - void TH1Editor::DoBarWidth() { // Slot connected to the Bar Width of the Bar Charts. + if (fAvoidSignal) return; fHist->SetBarWidth(fBarWidth->GetNumber()); Update(); } //______________________________________________________________________________ - void TH1Editor::DoBarOffset() { // Slot connected to the Bar Offset of the Bar Charts. + if (fAvoidSignal) return; Float_t f = fBarOffset->GetNumber(); fHist->SetBarOffset(f); Update(); } //______________________________________________________________________________ - void TH1Editor::DoPercent() { // Slot connected to the bar percentage settings. + if (fAvoidSignal) return; TString str = GetDrawOption(); str.ToUpper(); if (str.Contains("SAME")) @@ -1354,11 +1372,11 @@ void TH1Editor::DoPercent() } //______________________________________________________________________________ - void TH1Editor::DoHBar(Bool_t on) { // Slot connected to the Horizontal Bar check button. + if (fAvoidSignal) return; TString str = GetDrawOption(); str.ToUpper(); if (str.Contains("SAME")) @@ -1379,12 +1397,12 @@ void TH1Editor::DoHBar(Bool_t on) } //______________________________________________________________________________ - void TH1Editor::DoSliderMoved() { // Slot connected to the x-Slider for redrawing of the histogram // according to the new Slider range. + if (fAvoidSignal) return; fPad->GetCanvas()->FeedbackMode(kTRUE); fPad->cd(); if (fDelaydraw->GetState()==kButtonDown && fDim->GetState()==kButtonDown) { @@ -1473,12 +1491,12 @@ void TH1Editor::DoSliderMoved() } //______________________________________________________________________________ - void TH1Editor::DoSliderPressed() { // Slot connected to the x-axis Range slider for initialising the // values of the slider movement. + if (fAvoidSignal) return; fPad->GetCanvas()->FeedbackMode(kTRUE); fPad->cd(); static Float_t ymin,ymax,xleft,xright; @@ -1522,12 +1540,12 @@ void TH1Editor::DoSliderPressed() } //______________________________________________________________________________ - void TH1Editor::DoSliderReleased() { // Slot connected to the x-axis Range slider for finalizing the // values of the slider movement. + if (fAvoidSignal) return; if (fDelaydraw->GetState()==kButtonDown) { fHist->GetXaxis()->SetRange((Int_t)((fSlider->GetMinPosition())+0.5), (Int_t)((fSlider->GetMaxPosition())+0.5)); @@ -1545,12 +1563,12 @@ void TH1Editor::DoSliderReleased() } //______________________________________________________________________________ - void TH1Editor::DoAxisRange() { // Slot connected to the number entry fields containing the Max/Min // value of the x-axis. + if (fAvoidSignal) return; Int_t nx = fHist->GetXaxis()->GetNbins(); Double_t width = fHist->GetXaxis()->GetBinWidth(1); Double_t lowLimit = fHist->GetXaxis()->GetBinLowEdge(1); @@ -1569,13 +1587,13 @@ void TH1Editor::DoAxisRange() } //______________________________________________________________________________ - void TH1Editor::DoBinReleased() { // Slot connected to the rebin slider in case of a not ntuple histogram // Updates some other widgets which are related to the rebin slider. // draw the rebinned histogram in case of delay draw mode + if (fAvoidSignal) return; if (fDelaydraw->GetState()==kButtonDown){ if (!fBinHist) { fBinHist = (TH1*)fHist->Clone("BinHist"); @@ -1618,7 +1636,6 @@ void TH1Editor::DoBinReleased() } //______________________________________________________________________________ - void TH1Editor::DoBinMoved(Int_t numx) { // Slot connected to the rebin slider in case of a not ntuple histogram @@ -1626,6 +1643,7 @@ void TH1Editor::DoBinMoved(Int_t numx) // create a clone in the background, when the slider is moved for // the first time + if (fAvoidSignal) return; if (!fBinHist /*&& fDelaydraw->GetState()!=kButtonDown*/) { Int_t* divx = Dividers(fHist->GetXaxis()->GetNbins()); if (divx[0]==2) return; @@ -1672,11 +1690,11 @@ void TH1Editor::DoBinMoved(Int_t numx) } //______________________________________________________________________________ - void TH1Editor::DoBinPressed() { // Slot connected to the rebin slider in case of a not ntuple histogram. + if (fAvoidSignal) return; Int_t* d = Dividers(fHist->GetXaxis()->GetNbins()); if (d[0]==2 && !fBinHist) { new TGMsgBox(fClient->GetDefaultRoot(), this->GetMainFrame(), @@ -1688,12 +1706,12 @@ void TH1Editor::DoBinPressed() } //______________________________________________________________________________ - void TH1Editor::DoBinReleased1() { // Slot connected to the BinNumber Slider in case of a ntuple histogram // (does the Rebinning of the histogram). + if (fAvoidSignal) return; Double_t oldOffset = fOffsetNumberEntry->GetNumber(); Int_t number = fBinSlider1->GetPosition(); if (number==5) return; @@ -1750,12 +1768,12 @@ void TH1Editor::DoBinReleased1() } //______________________________________________________________________________ - void TH1Editor::DoBinMoved1() { // Slot connected to the rebin slider in case of an ntuple histogram. // It updates the BinNumberEntryField during the BinSlider movement. + if (fAvoidSignal) return; TAxis* xaxis = fHist->GetXaxis(); Int_t first = xaxis->GetFirst(); Int_t last = xaxis->GetLast(); @@ -1774,11 +1792,11 @@ void TH1Editor::DoBinMoved1() } //______________________________________________________________________________ - void TH1Editor::DoBinLabel() { // Slot connected to the Bin number entry of the Rebinning tab. + if (fAvoidSignal) return; Int_t num = (Int_t)(fBinNumberEntry->GetNumber()); Int_t nx = 0; if (fBinHist) nx = fBinHist->GetXaxis()->GetNbins(); @@ -1802,11 +1820,11 @@ void TH1Editor::DoBinLabel() } //______________________________________________________________________________ - void TH1Editor::DoBinLabel1() { // Slot connected to the Bin number entry of the Rebinning tab. + if (fAvoidSignal) return; Double_t oldOffset = fOffsetNumberEntry->GetNumber(); Int_t num = (Int_t)fBinNumberEntry1->GetNumber(); TAxis* xaxis = fHist->GetXaxis(); @@ -1852,17 +1870,16 @@ void TH1Editor::DoBinLabel1() } //______________________________________________________________________________ - void TH1Editor::DoOffsetPressed() { // Slot connected to the OffSetSlider that saves the OldBinOffset // (nessesary for delay draw mode). + if (fAvoidSignal) return; fOldOffset = fOffsetNumberEntry->GetNumber(); } //______________________________________________________________________________ - void TH1Editor::DoOffsetReleased() { // Slot connected to the OffSetSlider. @@ -1872,6 +1889,7 @@ void TH1Editor::DoOffsetReleased() // !!problem: histogram with variable binwidth?? // computes the new histogram in "delay draw" mode + if (fAvoidSignal) return; if (fDelaydraw->GetState()==kButtonDown) { Int_t num = (Int_t) fBinOffsetSld->GetPosition(); TAxis* xaxis = fHist->GetXaxis(); @@ -1910,7 +1928,6 @@ void TH1Editor::DoOffsetReleased() } //______________________________________________________________________________ - void TH1Editor::DoOffsetMoved(Int_t num) { // Slot connected to the OffSetSlider. @@ -1920,6 +1937,7 @@ void TH1Editor::DoOffsetMoved(Int_t num) // !!histogram with variable binwidth?? // !!only works for histograms with fixed binwidth + if (fAvoidSignal) return; TAxis* xaxis = fHist->GetXaxis(); Double_t binWidth = xaxis->GetBinWidth(1); Double_t offset = 1.*num/100*binWidth; @@ -1959,12 +1977,12 @@ void TH1Editor::DoOffsetMoved(Int_t num) } //______________________________________________________________________________ - void TH1Editor::DoBinOffset() { // Slot connected to the OffSetNumberEntry which is related to the // OffSetSlider changes the origin of the histogram inbetween a binwidth. + if (fAvoidSignal) return; TAxis* xaxis = fHist->GetXaxis(); Double_t binWidth = xaxis->GetBinWidth(1); Double_t offset = fOffsetNumberEntry->GetNumber(); @@ -2000,7 +2018,6 @@ void TH1Editor::DoBinOffset() } //______________________________________________________________________________ - void TH1Editor::DoApply() { // Slot connected to the Apply button of the Binning tab. @@ -2031,7 +2048,6 @@ void TH1Editor::DoApply() } //______________________________________________________________________________ - void TH1Editor::DoCancel() { // Slot connected to the Cancel button of the Binning tab. @@ -2058,7 +2074,6 @@ void TH1Editor::DoCancel() } //______________________________________________________________________________ - TString TH1Editor::GetHistTypeLabel() { // Returns the selected histogram type (HIST, LEGO1-2, SURF1-5). @@ -2082,7 +2097,6 @@ TString TH1Editor::GetHistTypeLabel() } //______________________________________________________________________________ - TString TH1Editor::GetHistCoordsLabel() { // Return the selected coordinate system of the histogram (POL,CYL,SPH,PSR). @@ -2104,7 +2118,6 @@ TString TH1Editor::GetHistCoordsLabel() } //______________________________________________________________________________ - TString TH1Editor::GetHistErrorLabel() { // Return the selected error type (E,E1-5). @@ -2125,7 +2138,6 @@ TString TH1Editor::GetHistErrorLabel() } //______________________________________________________________________________ - TString TH1Editor::GetHistAddLabel() { // Return the selected shape of the histogram (C, L, LF2). @@ -2156,7 +2168,6 @@ TString TH1Editor::GetHistAddLabel() } //______________________________________________________________________________ - TGComboBox* TH1Editor::BuildHistTypeComboBox(TGFrame* parent, Int_t id) { // Create histogram type combo box. @@ -2177,7 +2188,6 @@ TGComboBox* TH1Editor::BuildHistTypeComboBox(TGFrame* parent, Int_t id) } //______________________________________________________________________________ - TGComboBox* TH1Editor::BuildHistCoordsComboBox(TGFrame* parent, Int_t id) { // Create coordinate system type combo box. @@ -2196,7 +2206,6 @@ TGComboBox* TH1Editor::BuildHistCoordsComboBox(TGFrame* parent, Int_t id) } //______________________________________________________________________________ - TGComboBox* TH1Editor::BuildHistErrorComboBox(TGFrame* parent, Int_t id) { // Create error type combo box. @@ -2214,7 +2223,6 @@ TGComboBox* TH1Editor::BuildHistErrorComboBox(TGFrame* parent, Int_t id) } //______________________________________________________________________________ - TGComboBox* TH1Editor::BuildHistAddComboBox(TGFrame* parent, Int_t id) { // Create Line/Bar combo box. @@ -2231,7 +2239,6 @@ TGComboBox* TH1Editor::BuildHistAddComboBox(TGFrame* parent, Int_t id) } //______________________________________________________________________________ - TGComboBox* TH1Editor::BuildPercentComboBox(TGFrame* parent, Int_t id) { // Create Percentage combo box for bar option. @@ -2250,7 +2257,6 @@ TGComboBox* TH1Editor::BuildPercentComboBox(TGFrame* parent, Int_t id) } //______________________________________________________________________________ - void TH1Editor::ChangeErrorCombo(Int_t i) { // Change the error combo box entry. @@ -2280,7 +2286,6 @@ void TH1Editor::ChangeErrorCombo(Int_t i) } //______________________________________________________________________________ - void TH1Editor::PaintBox3D(Float_t *p1, Float_t *p2,Float_t *p3, Float_t *p4) { // Paint a 3D box. @@ -2296,7 +2301,6 @@ void TH1Editor::PaintBox3D(Float_t *p1, Float_t *p2,Float_t *p3, Float_t *p4) } //______________________________________________________________________________ - Int_t* TH1Editor::Dividers(Int_t n) { // Return an array of dividers of n (without the trivial divider n). @@ -2331,7 +2335,6 @@ Int_t* TH1Editor::Dividers(Int_t n) } //______________________________________________________________________________ - void TH1Editor::CreateBinTab() { // Create the Binning tab. diff --git a/ged/src/TH2Editor.cxx b/ged/src/TH2Editor.cxx index 399718e726ce46abee5899be152c79062662aff1..7d0f05508cd11c210088ea65e7e75519c206a23d 100644 --- a/ged/src/TH2Editor.cxx +++ b/ged/src/TH2Editor.cxx @@ -174,7 +174,6 @@ enum ETH2Wid { }; //______________________________________________________________________________ - TH2Editor::TH2Editor(const TGWindow *p, Int_t id, Int_t width, Int_t height, UInt_t options, Pixel_t back) : TGedFrame(p, id, width, height, options | kVerticalFrame, back) @@ -711,7 +710,6 @@ TH2Editor::TH2Editor(const TGWindow *p, Int_t id, Int_t width, } //______________________________________________________________________________ - TH2Editor::~TH2Editor() { // Destructor of TH2 editor. @@ -732,8 +730,8 @@ TH2Editor::~TH2Editor() if (!strcmp(el2->fFrame->ClassName(), "TGCompositeFrame")) ((TGCompositeFrame *)el2->fFrame)->Cleanup(); } + ((TGCompositeFrame *)el1->fFrame)->Cleanup(); } - ((TGCompositeFrame *)el1->fFrame)->Cleanup(); } ((TGCompositeFrame *)el->fFrame)->Cleanup(); } @@ -759,14 +757,12 @@ TH2Editor::~TH2Editor() } //______________________________________________________________________________ - void TH2Editor::ConnectSignals2Slots() { // Connect signals to slots. fTitle->Connect("TextChanged(const char *)", "TH2Editor", this, "DoTitle(const char *)"); - fDim->Connect("Pressed()","TH2Editor",this,"DoHistSimple()"); - fDim0->Connect("Pressed()","TH2Editor",this,"DoHistComplex()"); + fDimGroup->Connect("Released(Int_t)","TH2Editor",this,"DoHistView()"); fTypeCombo->Connect("Selected(Int_t)", "TH2Editor", this, "DoHistChanges()"); fCoordsCombo->Connect("Selected(Int_t)", "TH2Editor", this, "DoHistChanges()"); fContCombo->Connect("Selected(Int_t)", "TH2Editor", this, "DoHistChanges()"); @@ -833,7 +829,6 @@ void TH2Editor::ConnectSignals2Slots() } //______________________________________________________________________________ - void TH2Editor::SetModel(TVirtualPad* pad, TObject* obj, Int_t) { // Pick up the values of current histogram attributes. @@ -860,6 +855,7 @@ void TH2Editor::SetModel(TVirtualPad* pad, TObject* obj, Int_t) return; } */ + fAvoidSignal = kTRUE; if (fBinHist && (obj != fHist)) { //we have probably moved to a different pad. //let's restore the original histogram @@ -883,6 +879,9 @@ void TH2Editor::SetModel(TVirtualPad* pad, TObject* obj, Int_t) fPad = pad; fHist = (TH2*) fModel; + if (gPad) gPad->GetVirtCanvas()->SetCursor(kWatch); + gVirtualX->SetCursor(GetId(), gVirtualX->CreateCursor(kWatch)); + //set the selected object name on Binning tab TString string; string.Append(fModel->GetName()); @@ -1139,31 +1138,51 @@ void TH2Editor::SetModel(TVirtualPad* pad, TObject* obj, Int_t) } if (!fTab->IsEnabled(fTab->GetCurrent())) fTab->SetTab(0); - Layout(); +// Layout(); fTab->Layout(); if (fInit) ConnectSignals2Slots(); fTab->SetEnabled(1, kTRUE); - SetActive(kTRUE); -// Update(); + SetActive(kTRUE); + fAvoidSignal = kFALSE; + + if (gPad) gPad->GetVirtCanvas()->SetCursor(kPointer); + gVirtualX->SetCursor(GetId(), gVirtualX->CreateCursor(kPointer)); } //______________________________________________________________________________ - void TH2Editor::DoTitle(const char *text) { // Slot connected to the histogram title setting. + if (fAvoidSignal) return; fHist->SetTitle(text); Update(); } //______________________________________________________________________________ +void TH2Editor::DoHistView() +{ + // Slot connected to the 'Plot' button group. + + if (gPad) gPad->GetVirtCanvas()->SetCursor(kWatch); + gVirtualX->SetCursor(GetId(), gVirtualX->CreateCursor(kWatch)); + + if (fDim->GetState() == kButtonDown) + DoHistSimple(); + else + DoHistComplex(); + if (gPad) gPad->GetVirtCanvas()->SetCursor(kPointer); + gVirtualX->SetCursor(GetId(), gVirtualX->CreateCursor(kPointer)); +} + +//______________________________________________________________________________ void TH2Editor::DoHistSimple() { // Slot connected to the 2D-Plot radio button. + if (fAvoidSignal) return; TString str = ""; HideFrame(f3); HideFrame(f4); @@ -1198,11 +1217,11 @@ void TH2Editor::DoHistSimple() } //______________________________________________________________________________ - void TH2Editor::DoHistComplex() { // Slot connected to the 3D-Plot radio button. + if (fAvoidSignal) return; TString str = ""; ShowFrame(f3); ShowFrame(f4); @@ -1242,11 +1261,11 @@ void TH2Editor::DoHistComplex() } //______________________________________________________________________________ - void TH2Editor::DoHistChanges() { // Slot connected to histogram type, coordinate system, contour combo box. + if (fAvoidSignal) return; TString str = ""; if (fDim->GetState() == kButtonDown) { str = GetHistContLabel()+GetHistAdditiveLabel(); @@ -1313,11 +1332,11 @@ void TH2Editor::DoHistChanges() } //______________________________________________________________________________ - void TH2Editor::DoAddArr(Bool_t on) { // Slot connected to the "Arrow draw option" check button. + if (fAvoidSignal) return; Bool_t make=kFALSE; TString str = GetDrawOption(); str.ToUpper(); @@ -1346,11 +1365,11 @@ void TH2Editor::DoAddArr(Bool_t on) } //______________________________________________________________________________ - void TH2Editor::DoAddBox(Bool_t on) { // Slot connected to the "Box draw option" check button. + if (fAvoidSignal) return; Bool_t make=kFALSE; TString str = GetDrawOption(); str.ToUpper(); @@ -1379,11 +1398,11 @@ void TH2Editor::DoAddBox(Bool_t on) } //______________________________________________________________________________ - void TH2Editor::DoAddCol(Bool_t on) { // Slot connected to the "Col draw option" check button. + if (fAvoidSignal) return; Bool_t make=kFALSE; TString str = GetDrawOption(); str.ToUpper(); @@ -1423,11 +1442,11 @@ void TH2Editor::DoAddCol(Bool_t on) } //______________________________________________________________________________ - void TH2Editor::DoAddScat(Bool_t on) { // Slot connected to the "Scat draw option" check button. + if (fAvoidSignal) return; Bool_t make=kFALSE; TString str = GetDrawOption(); str.ToUpper(); @@ -1450,11 +1469,11 @@ void TH2Editor::DoAddScat(Bool_t on) } //______________________________________________________________________________ - void TH2Editor::DoAddText(Bool_t on) { // Slot connected to the "Text draw option" check button. + if (fAvoidSignal) return; Bool_t make=kFALSE; TString str = GetDrawOption(); str.ToUpper(); @@ -1481,11 +1500,11 @@ void TH2Editor::DoAddText(Bool_t on) } //______________________________________________________________________________ - void TH2Editor::DoAddError(Bool_t on) { // Slot connected to the "Error" check button. + if (fAvoidSignal) return; Bool_t make=kFALSE; TString str = GetDrawOption(); str.ToUpper(); @@ -1514,11 +1533,11 @@ void TH2Editor::DoAddError(Bool_t on) } //______________________________________________________________________________ - void TH2Editor::DoAddPalette(Bool_t on) { // Slot connected to the color palette check button. + if (fAvoidSignal) return; Bool_t make=kFALSE; TString str = GetDrawOption(); str.ToUpper(); @@ -1542,11 +1561,11 @@ void TH2Editor::DoAddPalette(Bool_t on) } //______________________________________________________________________________ - void TH2Editor::DoAddFB() { // Slot connected to the "FB front-box draw option" check button. + if (fAvoidSignal) return; Bool_t make=kFALSE; TString str = GetDrawOption(); str.ToUpper(); @@ -1577,11 +1596,11 @@ void TH2Editor::DoAddFB() } //______________________________________________________________________________ - void TH2Editor::DoAddBB() { // Slot connected to the "BB back-box draw option" check button. + if (fAvoidSignal) return; Bool_t make=kFALSE; TString str = GetDrawOption(); str.ToUpper(); @@ -1609,55 +1628,55 @@ void TH2Editor::DoAddBB() } //______________________________________________________________________________ - void TH2Editor::DoContLevel() { // Slot connected to the contour level number entry fContLevels. + if (fAvoidSignal) return; fHist->SetContour((Int_t)fContLevels->GetNumber()); fContLevels1->SetNumber((Int_t)fContLevels->GetNumber()); Update(); } //______________________________________________________________________________ - void TH2Editor::DoContLevel1() { // Slot connected to the contour level number entry fContLevels1. + if (fAvoidSignal) return; fHist->SetContour((Int_t)fContLevels1->GetNumber()); fContLevels->SetNumber((Int_t)fContLevels1->GetNumber()); Update(); } //______________________________________________________________________________ - void TH2Editor::DoBarWidth() { // Slot connected to the bar width of the bar chart. + if (fAvoidSignal) return; fHist->SetBarWidth(fBarWidth->GetNumber()); Update(); } //______________________________________________________________________________ - void TH2Editor::DoBarOffset() { // Slot connected to the bar offset of the bar chart. + if (fAvoidSignal) return; fHist->SetBarOffset((Float_t)fBarOffset->GetNumber()); Update(); } //______________________________________________________________________________ - void TH2Editor::DoBinReleased() { // Slot connected to the rebin slider in case of no ntuple histogram. // It updates some other widgets related to the rebin slider. // Draw the rebinned histogram in case of the delay draw mode + if (fAvoidSignal) return; if (fDelaydraw->GetState()==kButtonDown){ if (!fBinHist) { fBinHist = (TH2*)fHist->Clone("BinHist"); @@ -1717,11 +1736,11 @@ void TH2Editor::DoBinReleased() } //______________________________________________________________________________ - void TH2Editor::DoBinPressed() { // Slot connected to the rebin slider in case of no ntuple histogram. + if (fAvoidSignal) return; Int_t* divx = Dividers(fHist->GetXaxis()->GetNbins()); Int_t* divy = Dividers(fHist->GetYaxis()->GetNbins()); if (divx[0]==2 && divy[0]==2 && !fBinHist) @@ -1732,13 +1751,13 @@ void TH2Editor::DoBinPressed() } //______________________________________________________________________________ - void TH2Editor::DoBinMoved() { // Slot connected to the rebin sliders in case of no ntuple histogram // does the rebinning of the selected histogram. // create a clone in the background, when the slider is moved for 1st time + if (fAvoidSignal) return; if (!fBinHist /*&& fDelaydraw->GetState()!=kButtonDown*/) { Int_t* divx = Dividers(fHist->GetXaxis()->GetNbins()); Int_t* divy = Dividers(fHist->GetYaxis()->GetNbins()); @@ -1815,11 +1834,11 @@ void TH2Editor::DoBinMoved() } //______________________________________________________________________________ - void TH2Editor::DoBinLabel() { // Slot connected to the Bin Number Entry for the Rebin. + if (fAvoidSignal) return; Int_t i; Int_t numx = (Int_t)(fBinXNumberEntry->GetNumber()); Int_t numy = (Int_t)(fBinYNumberEntry->GetNumber()); @@ -1862,10 +1881,9 @@ void TH2Editor::DoBinLabel() } //______________________________________________________________________________ - void TH2Editor::DoApply() { - // Slot connected to the Cancel Button in the Rebinned histogram Window. + // Slot connected to the Apply Button in the Rebinned histogram Window. Int_t ret = 0; new TGMsgBox(fClient->GetDefaultRoot(), this->GetMainFrame(), @@ -1900,7 +1918,6 @@ void TH2Editor::DoApply() } //______________________________________________________________________________ - void TH2Editor::DoCancel() { // Slot connected to the Cancel Button in the Rebinned histogram Window. @@ -1935,12 +1952,12 @@ void TH2Editor::DoCancel() //______________________________________________________________________________ - void TH2Editor::DoBinReleased1() { // Slot connected to the BinNumber Slider in case of a 'ntuple histogram'. // It does the rebin. + if (fAvoidSignal) return; Double_t oldXOffset = fXOffsetNumberEntry->GetNumber(); Int_t xnumber = fBinXSlider1->GetPosition(); Double_t oldYOffset = fYOffsetNumberEntry->GetNumber(); @@ -2038,12 +2055,12 @@ void TH2Editor::DoBinReleased1() } //______________________________________________________________________________ - void TH2Editor::DoBinMoved1() { // Slot connected to the rebin slider in case of an ntuple histogram. // Updates the BinNumberEntryField during the BinSlider movement. + if (fAvoidSignal) return; TAxis* xaxis = fHist->GetXaxis(); TAxis* yaxis = fHist->GetYaxis(); Int_t firstx = xaxis->GetFirst(); @@ -2078,11 +2095,11 @@ void TH2Editor::DoBinMoved1() } //______________________________________________________________________________ - void TH2Editor::DoBinLabel1() { // Slot connected to the Bin Number Entry for the Rebin. + if (fAvoidSignal) return; Double_t oldXOffset = fXOffsetNumberEntry->GetNumber(); Int_t numx = (Int_t)fBinXNumberEntry1->GetNumber(); Double_t oldYOffset = fYOffsetNumberEntry->GetNumber(); @@ -2157,18 +2174,17 @@ void TH2Editor::DoBinLabel1() } //______________________________________________________________________________ - void TH2Editor::DoOffsetPressed() { // Slot connected to the OffSetSlider. It saves the OldBinOffset // (nessesary for delay draw mode). + if (fAvoidSignal) return; fOldXOffset = fXOffsetNumberEntry->GetNumber(); fOldYOffset = fYOffsetNumberEntry->GetNumber(); } //______________________________________________________________________________ - void TH2Editor::DoOffsetReleased() { // Slot connected to the OffSetSlider that @@ -2176,6 +2192,7 @@ void TH2Editor::DoOffsetReleased() // rebin the histogram with the new Offset given by the slider. // problem: histogram with variable binwidth?? + if (fAvoidSignal) return; if (fDelaydraw->GetState()==kButtonDown){ Int_t numx = (Int_t)fXBinOffsetSld->GetPosition(); Int_t numy = (Int_t)fYBinOffsetSld->GetPosition(); @@ -2236,7 +2253,6 @@ void TH2Editor::DoOffsetReleased() } //______________________________________________________________________________ - void TH2Editor::DoOffsetMoved() { // Slot connected to the OffSetSlider. @@ -2244,6 +2260,7 @@ void TH2Editor::DoOffsetMoved() // rebin the histogram with the new offset given by the slider. // problem: histogram with variable binwidth?? + if (fAvoidSignal) return; Int_t numx = (Int_t)fXBinOffsetSld->GetPosition(); Int_t numy = (Int_t)fYBinOffsetSld->GetPosition(); TAxis* xaxis = fHist->GetXaxis(); @@ -2308,12 +2325,12 @@ void TH2Editor::DoOffsetMoved() } //______________________________________________________________________________ - void TH2Editor::DoBinOffset() { // Slot connected to the OffSetNumberEntry, related to the OffSetSlider // changes the origin of the histogram inbetween a binwidth. + if (fAvoidSignal) return; TAxis* xaxis = fHist->GetXaxis(); TAxis* yaxis = fHist->GetYaxis(); Double_t xBinWidth = xaxis->GetBinWidth(1); @@ -2368,12 +2385,12 @@ void TH2Editor::DoBinOffset() } //______________________________________________________________________________ - void TH2Editor::DoSliderXMoved() { // Slot connected to the x-Slider that redraws the histogram // with the new slider range. + if (fAvoidSignal) return; TAxis* xaxis = fHist->GetXaxis(); if (fDelaydraw->GetState()==kButtonDown && fDim->GetState()==kButtonDown) { // 2D plot @@ -2453,12 +2470,12 @@ void TH2Editor::DoSliderXMoved() } //______________________________________________________________________________ - void TH2Editor::DoSliderXPressed() { // Slot connected to the x axis range slider that initialises // the "virtual" box which is drawn in delay draw mode. + if (fAvoidSignal) return; TAxis* xaxis = fHist->GetXaxis(); Float_t ymin,ymax,xleft,xright; if (fDelaydraw->GetState()==kButtonDown && fDim->GetState()==kButtonDown) { @@ -2503,12 +2520,12 @@ void TH2Editor::DoSliderXPressed() } //______________________________________________________________________________ - void TH2Editor::DoSliderXReleased() { // Slot connected to the x-axis slider finalizing values after // the slider movement. + if (fAvoidSignal) return; if (fDelaydraw->GetState()==kButtonDown) { fHist->GetXaxis()->SetRange((Int_t)((fSliderX->GetMinPosition())+0.5), (Int_t)((fSliderX->GetMaxPosition())+0.5)); @@ -2526,7 +2543,6 @@ void TH2Editor::DoSliderXReleased() } //______________________________________________________________________________ - void TH2Editor::DoXAxisRange() { // Slot connected to the Max/Min number entry fields showing x-axis range. @@ -2547,13 +2563,12 @@ void TH2Editor::DoXAxisRange() } //______________________________________________________________________________ - - void TH2Editor::DoSliderYMoved() { // Slot connected to the x-slider for redrawing the // histogram with the new slider Range (immediately). + if (fAvoidSignal) return; TAxis* yaxis = fHist->GetYaxis(); if (fDelaydraw->GetState()==kButtonDown && fDim->GetState()==kButtonDown) { Int_t px1,py1,px2,py2; @@ -2632,12 +2647,12 @@ void TH2Editor::DoSliderYMoved() } //______________________________________________________________________________ - void TH2Editor::DoSliderYPressed() { // Slot connected to y-axis slider which initialises // the "virtual" box which is drawn in delay draw mode. + if (fAvoidSignal) return; TAxis* yaxis = fHist->GetYaxis(); Float_t xmin,xmax,ytop,ybottom; if (fDelaydraw->GetState()==kButtonDown && fDim->GetState()==kButtonDown) { @@ -2682,12 +2697,12 @@ void TH2Editor::DoSliderYPressed() } //______________________________________________________________________________ - void TH2Editor::DoSliderYReleased() { // Slot connected to the y-axis slider finalizing values after // the slider movement. + if (fAvoidSignal) return; if (fDelaydraw->GetState()==kButtonDown) { fHist->GetYaxis()->SetRange((Int_t)((fSliderY->GetMinPosition())+0.5), (Int_t)((fSliderY->GetMaxPosition())+0.5)); @@ -2706,11 +2721,11 @@ void TH2Editor::DoSliderYReleased() } //______________________________________________________________________________ - void TH2Editor::DoYAxisRange() { // Slot connected to the Max/Min number entry fields showing y-axis range. + if (fAvoidSignal) return; TAxis* yaxis = fHist->GetYaxis(); Int_t ny = yaxis->GetNbins(); Double_t width = yaxis->GetBinWidth(1); @@ -2729,31 +2744,28 @@ void TH2Editor::DoYAxisRange() } //______________________________________________________________________________ - void TH2Editor::DoFillColor(Pixel_t color) { // Slot connected to the fill area color. - if (!fPad) return; + if (fAvoidSignal || !fPad) return; fPad->cd(); fPad->SetFrameFillColor(TColor::GetColor(color)); Update(); } //______________________________________________________________________________ - void TH2Editor::DoFillPattern(Style_t pattern) { // Slot connected to the fill area pattern. - if (!fPad) return; + if (fAvoidSignal || !fPad) return; fPad->cd(); fPad->SetFrameFillStyle(pattern); Update(); } //______________________________________________________________________________ - TString TH2Editor::GetHistTypeLabel() { // Return the immediate histogram type (HIST, LEGO1-2, SURF1-5). @@ -2776,7 +2788,6 @@ TString TH2Editor::GetHistTypeLabel() } //______________________________________________________________________________ - TString TH2Editor::GetHistCoordsLabel() { // Return the immediate coordinate system of the histogram. @@ -2796,7 +2807,6 @@ TString TH2Editor::GetHistCoordsLabel() } //______________________________________________________________________________ - TString TH2Editor::GetHistContLabel() { // Returns histogram contour option (None,Cont0..5). @@ -2816,7 +2826,6 @@ TString TH2Editor::GetHistContLabel() } //______________________________________________________________________________ - TString TH2Editor::GetHistAdditiveLabel() { // Return histogram additive options (Arr,Box,Col,Scat,Col,Text,E,Z,FB,BB). @@ -2839,7 +2848,6 @@ TString TH2Editor::GetHistAdditiveLabel() } //______________________________________________________________________________ - TGComboBox* TH2Editor::BuildHistTypeComboBox(TGFrame* parent, Int_t id) { // Create histogram type combo box. @@ -2860,7 +2868,6 @@ TGComboBox* TH2Editor::BuildHistTypeComboBox(TGFrame* parent, Int_t id) } //______________________________________________________________________________ - TGComboBox* TH2Editor::BuildHistCoordsComboBox(TGFrame* parent, Int_t id) { // Create coordinate system combo box. @@ -2879,7 +2886,6 @@ TGComboBox* TH2Editor::BuildHistCoordsComboBox(TGFrame* parent, Int_t id) } //______________________________________________________________________________ - TGComboBox* TH2Editor::BuildHistContComboBox(TGFrame* parent, Int_t id) { // Create contour combo box. @@ -2897,7 +2903,6 @@ TGComboBox* TH2Editor::BuildHistContComboBox(TGFrame* parent, Int_t id) } //______________________________________________________________________________ - void TH2Editor::PaintBox3D(Float_t *p1, Float_t *p2,Float_t *p3, Float_t *p4) { // Paint a square in 3D. @@ -2908,7 +2913,6 @@ void TH2Editor::PaintBox3D(Float_t *p1, Float_t *p2,Float_t *p3, Float_t *p4) fPad->PaintLine3D(p4, p1); } //______________________________________________________________________________ - Int_t* TH2Editor::Dividers(Int_t n) { // Give an array of dividers of n (without the trivial divider n)) diff --git a/ged/src/TLineEditor.cxx b/ged/src/TLineEditor.cxx index 035d633146f61bb41ccaa09e1dd2c3b0a7a30967..ea81eabfa4c5625e44e7d5085f5e813b37fbb5fd 100644 --- a/ged/src/TLineEditor.cxx +++ b/ged/src/TLineEditor.cxx @@ -1,4 +1,4 @@ -// @(#)root/ged:$Name: $:$Id: TLineEditor.cxx,v 1.1 2006/04/25 08:14:20 antcheva Exp $ +// @(#)root/ged:$Name: $:$Id: TLineEditor.cxx,v 1.2 2006/04/25 16:15:07 antcheva Exp $ // Author: Ilka Antcheva 24/04/06 /************************************************************************* @@ -171,6 +171,7 @@ void TLineEditor::SetModel(TVirtualPad* pad, TObject* obj, Int_t) fPad = pad; fLine = (TLine *)fModel; + fAvoidSignal = kTRUE; Float_t val = fLine->GetX1(); fStartPointX->SetNumber(val); @@ -192,6 +193,7 @@ void TLineEditor::SetModel(TVirtualPad* pad, TObject* obj, Int_t) if (fInit) ConnectSignals2Slots(); SetActive(); + fAvoidSignal = kFALSE; } //______________________________________________________________________________ @@ -199,6 +201,7 @@ void TLineEditor::DoStartPoint() { // Slot connected to the line start point. + if (fAvoidSignal) return; fLine->SetX1((Double_t)fStartPointX->GetNumber()); fLine->SetY1((Double_t)fStartPointY->GetNumber()); fLine->Paint(fLine->GetDrawOption()); @@ -209,6 +212,7 @@ void TLineEditor::DoEndPoint() { // Slot connected to the line EndPoint. + if (fAvoidSignal) return; fLine->SetX2((Double_t)fEndPointX->GetNumber()); fLine->SetY2((Double_t)fEndPointY->GetNumber()); fLine->Paint(fLine->GetDrawOption()); @@ -220,6 +224,7 @@ void TLineEditor::DoLineVertical() { // Slot so set the line vertical + if (fAvoidSignal) return; if (fVertical->GetState() == kButtonDown) { fLine->SetVertical(); fHorizontal->SetState(kButtonUp, kFALSE); @@ -234,6 +239,7 @@ void TLineEditor::DoLineHorizontal() { // Slot so set the line horizontal + if (fAvoidSignal) return; if (fHorizontal->GetState() == kButtonDown) { fLine->SetHorizontal(); fVertical->SetState(kButtonUp, kFALSE); diff --git a/ged/src/TPadEditor.cxx b/ged/src/TPadEditor.cxx index 266f07b677c275e0aed642863fc179a269660b9c..84145e986b156e7624c3d1be7aa3e51a33e27e84 100644 --- a/ged/src/TPadEditor.cxx +++ b/ged/src/TPadEditor.cxx @@ -117,35 +117,29 @@ TPadEditor::TPadEditor(const TGWindow *p, Int_t id, Int_t width, AddFrame(f5, new TGLayoutHints(kLHintsTop, 1, 1, 0, 0)); TGCompositeFrame *f6 = new TGCompositeFrame(this, 80, 20, kHorizontalFrame); - TGButtonGroup *bgr = new TGButtonGroup(f6,3,1,3,0, "Border Mode"); - bgr->SetRadioButtonExclusive(kTRUE); - fBmode = new TGRadioButton(bgr, " Sunken border", 77); + fBgroup = new TGButtonGroup(f6,3,1,3,0, "Border Mode"); + fBgroup->SetRadioButtonExclusive(kTRUE); + fBmode = new TGRadioButton(fBgroup, " Sunken border", 77); fBmode->SetToolTipText("Set a sinken border of the pad/canvas"); - fBmode0 = new TGRadioButton(bgr, " No border", 78); + fBmode0 = new TGRadioButton(fBgroup, " No border", 78); fBmode0->SetToolTipText("Set no border of the pad/canvas"); - fBmode1 = new TGRadioButton(bgr, " Raised border", 79); + fBmode1 = new TGRadioButton(fBgroup, " Raised border", 79); fBmode1->SetToolTipText("Set a raised border of the pad/canvas"); - bgr->SetButton(79, kTRUE); - bgr->SetLayoutHints(new TGLayoutHints(kLHintsLeft, 0,0,3,0), fBmode); - bgr->Show(); - bgr->ChangeOptions(kFitWidth|kChildFrame|kVerticalFrame); - f6->AddFrame(bgr, new TGLayoutHints(kLHintsCenterY | kLHintsLeft, 4, 1, 0, 0)); + fBgroup->SetLayoutHints(new TGLayoutHints(kLHintsLeft, 0,0,3,0), fBmode); + fBgroup->Show(); + fBgroup->ChangeOptions(kFitWidth|kChildFrame|kVerticalFrame); + f6->AddFrame(fBgroup, new TGLayoutHints(kLHintsCenterY | kLHintsLeft, 4, 1, 0, 0)); AddFrame(f6, new TGLayoutHints(kLHintsTop, 1, 1, 0, 0)); - f7 = new TGCompositeFrame(this, 80, 20, kHorizontalFrame); + TGCompositeFrame *f7 = new TGCompositeFrame(this, 80, 20, kHorizontalFrame); TGLabel *fSizeLbl = new TGLabel(f7, "Size:"); f7->AddFrame(fSizeLbl, new TGLayoutHints(kLHintsCenterY | kLHintsLeft, 6, 1, 0, 0)); fBsize = new TGLineWidthComboBox(f7, kPAD_BSIZE); - fBsize->Connect("Selected(Int_t)", "TPadEditor", this, "DoBorderSize(Int_t)"); fBsize->Resize(92, 20); f7->AddFrame(fBsize, new TGLayoutHints(kLHintsLeft, 13, 1, 0, 0)); fBsize->Associate(this); AddFrame(f7, new TGLayoutHints(kLHintsTop, 1, 1, 0, 0)); - MapSubwindows(); - Layout(); - MapWindow(); - TClass *cl = TPad::Class(); TGedElement *ge = new TGedElement; ge->fGedFrame = this; @@ -198,9 +192,7 @@ void TPadEditor::ConnectSignals2Slots() fLogX->Connect("Toggled(Bool_t)","TPadEditor",this,"DoLogX(Bool_t)"); fLogY->Connect("Toggled(Bool_t)","TPadEditor",this,"DoLogY(Bool_t)"); fLogZ->Connect("Toggled(Bool_t)","TPadEditor",this,"DoLogZ(Bool_t)"); - fBmode->Connect("Toggled(Bool_t)","TPadEditor",this,"DoBorderMode()"); - fBmode0->Connect("Toggled(Bool_t)","TPadEditor",this,"DoBorderMode()"); - fBmode1->Connect("Toggled(Bool_t)","TPadEditor",this,"DoBorderMode()"); + fBgroup->Connect("Released(Int_t)","TPadEditor",this,"DoBorderMode()"); fInit = kFALSE; } @@ -222,7 +214,7 @@ void TPadEditor::SetModel(TVirtualPad* pad, TObject* obj, Int_t) fPad = pad; fPadPointer = (TPad *)fModel; - + fAvoidSignal = kTRUE; Bool_t on; on = fPadPointer->HasFixedAspectRatio(); @@ -267,10 +259,16 @@ void TPadEditor::SetModel(TVirtualPad* pad, TObject* obj, Int_t) else fTickY->SetState(kButtonUp); par = fPadPointer->GetBorderMode(); - if (par == -1) fBmode->SetState(kButtonDown); - else if (par == 1) fBmode1->SetState(kButtonDown); - else fBmode0->SetState(kButtonDown); - + if (par == -1) { + fBgroup->SetButton(77, kTRUE); + fBsize->SetEnabled(kTRUE); + } else if (par == 1) { + fBgroup->SetButton(79, kTRUE); + fBsize->SetEnabled(kTRUE); + } else { + fBgroup->SetButton(78, kTRUE); + fBsize->SetEnabled(kFALSE); + } par = fPadPointer->GetBorderSize(); if (par < 1) par = 1; if (par > 16) par = 16; @@ -278,6 +276,7 @@ void TPadEditor::SetModel(TVirtualPad* pad, TObject* obj, Int_t) if (fInit) ConnectSignals2Slots(); SetActive(); + fAvoidSignal = kFALSE; } //______________________________________________________________________________ @@ -285,6 +284,7 @@ void TPadEditor::DoEditable(Bool_t on) { // Slot connected to the check box 'Editable'. + if (fAvoidSignal) return; fPadPointer->SetEditable(on); Update(); } @@ -294,6 +294,7 @@ void TPadEditor::DoCrosshair(Bool_t on) { // Slot connected to the check box 'Crosshair'. + if (fAvoidSignal) return; fPadPointer->SetCrosshair(on); Update(); } @@ -303,6 +304,7 @@ void TPadEditor::DoFixedAspectRatio(Bool_t on) { // Slot connected to the check box 'Fixed aspect ratio'. + if (fAvoidSignal) return; fPadPointer->SetFixedAspectRatio(on); Update(); } @@ -312,6 +314,7 @@ void TPadEditor::DoGridX(Bool_t on) { // Slot connected to the check box 'GridX'. + if (fAvoidSignal) return; fPadPointer->SetGridx(on); Update(); } @@ -321,6 +324,7 @@ void TPadEditor::DoGridY(Bool_t on) { // Slot connected to the check box 'GridY'. + if (fAvoidSignal) return; fPadPointer->SetGridy(on); Update(); } @@ -330,6 +334,7 @@ void TPadEditor::DoLogX(Bool_t on) { // Slot connected to the check box 'LogX'. + if (fAvoidSignal) return; fPadPointer->SetLogx(on); Update(); } @@ -339,6 +344,7 @@ void TPadEditor::DoLogY(Bool_t on) { // Slot connected to the check box 'LogY'. + if (fAvoidSignal) return; fPadPointer->SetLogy(on); Update(); } @@ -348,6 +354,7 @@ void TPadEditor::DoLogZ(Bool_t on) { // Slot connected to the check box 'LogZ'. + if (fAvoidSignal) return; fPadPointer->SetLogz(on); Update(); } @@ -357,6 +364,7 @@ void TPadEditor::DoTickX(Bool_t on) { // Slot connected to the check box 'TickX'. + if (fAvoidSignal) return; fPadPointer->SetTickx(on); Update(); } @@ -366,6 +374,7 @@ void TPadEditor::DoTickY(Bool_t on) { // Slot connected to the check box 'TickY'. + if (fAvoidSignal) return; fPadPointer->SetTicky(on); Update(); } @@ -374,27 +383,28 @@ void TPadEditor::DoTickY(Bool_t on) void TPadEditor::DoBorderMode() { // Slot connected to the border mode settings. - + + if (fAvoidSignal) return; Int_t mode = 0; if (fBmode->GetState() == kButtonDown) mode = -1; else if (fBmode0->GetState() == kButtonDown) mode = 0; else mode = 1; - if (!mode) HideFrame(f7); - else ShowFrame(f7); - Layout(); - + if (!mode) { + fBsize->SetEnabled(kFALSE); + } else { + fBsize->SetEnabled(kTRUE); + } fPadPointer->SetBorderMode(mode); Update(); - gPad->Modified(); - gPad->Update(); } //______________________________________________________________________________ void TPadEditor::DoBorderSize(Int_t size) { // Slot connected to the border size settings. - + + if (fAvoidSignal) return; fPadPointer->SetBorderSize(size); Update(); } diff --git a/ged/src/TPaveStatsEditor.cxx b/ged/src/TPaveStatsEditor.cxx index c43b620fdbc79dfe6dd48628cf1a1448c3ad38e3..9f787f59c3cb99b3dc3691457998bb430d056e66 100644 --- a/ged/src/TPaveStatsEditor.cxx +++ b/ged/src/TPaveStatsEditor.cxx @@ -206,6 +206,7 @@ void TPaveStatsEditor::SetModel(TVirtualPad* pad, TObject* obj, Int_t) fPad = pad; fPaveStats = (TPaveStats *)fModel; + fAvoidSignal = kTRUE; Int_t stat = fPaveStats->GetOptStat(); @@ -255,6 +256,7 @@ void TPaveStatsEditor::SetModel(TVirtualPad* pad, TObject* obj, Int_t) if (fInit) ConnectSignals2Slots(); SetActive(); + fAvoidSignal = kFALSE; } //______________________________________________________________________________ @@ -262,6 +264,7 @@ void TPaveStatsEditor::DoStatOptions() { // Slot connected to the stat options. + if (fAvoidSignal) return; Int_t stat = 0; if (fHistoName->GetState() == kButtonDown) stat +=1; if (fEntries->GetState() == kButtonDown) stat +=10; @@ -293,6 +296,7 @@ void TPaveStatsEditor::DoFitOptions() { // Slot connected to the fit options. + if (fAvoidSignal) return; Int_t fit = 0; if (fNameValues->GetState() == kButtonDown) fit +=1; if (fErrors->GetState() == kButtonDown) fit +=10; @@ -310,5 +314,6 @@ void TPaveStatsEditor::SetValuesON(Bool_t on) // Slot connected to the selection of the button 'Errors': // check button Values should be selected if Errors is selected. + if (fAvoidSignal) return; if (on == kTRUE) fNameValues->SetState(kButtonDown); }