Hi everybody,
I have a problem with TGraphPolar when I use SetEditable(kFALSE), automatically it opens a white TCanvas and the graph remains in the TCanvas zone without the diagram (see picture in attachment).
I tried differents codes, and the last was that:
[code]TGraphPolar * grP1 = new TGraphPolar(1000,r1,theta);
TGraphPolar * grP2 = new TGraphPolar(1000,r1,theta2);
Hi couet,
Thanks for your reply in the two posts, so in attachment there is my full macro (that uses a TEmbeddedCanvas). To load, it’s necessary to have in the same folder transfer.dat and g3.dat, and you must have to use ACLiC, so the commands are:
[quote].L HRS.cpp+O
HRS()[/quote]
The Polar problem is in the HRS.cpp line 477.
The multiple TGraph2D problem is in HRS.cpp line 341. I tried Draw(“P same”), but it didn’t work.
Thank you very much for your help.
root [1] .L HRS.cpp++
Info in <TUnixSystem::ACLiC>: creating shared library /home/couet/Desktop/MyProblem/./HRS_cpp.so
In file included from /home/couet/Desktop/MyProblem/./HRS.cpp:1,
from /tmp/rootcint_K0T9VV.h:3,
from /tmp/aQ7Amn_cint.cxx:1:
/home/couet/Desktop/MyProblem/./HRS.h:7:23: w32pragma.h: No such file or directory
In file included from /tmp/rootcint_K0T9VV.h:3,
from /tmp/aQ7Amn_cint.cxx:1:
/home/couet/Desktop/MyProblem/./HRS.cpp:755:2: warning: no newline at end of file
Error: external preprocessing failed. :0:
!!!Removing /home/couet/Desktop/MyProblem/./HRS_cpp_ACLiC_dict.cxx /home/couet/Desktop/MyProblem/./HRS_cpp_ACLiC_dict.h !!!
Error: /home/couet/root/bin/rootcint: error loading headers...
Error in <ACLiC>: Dictionary generation failed!
Info in <ACLiC>: Invoking compiler to check macro's validity
In file included from /home/couet/Desktop/MyProblem/./HRS.cpp:1:
/home/couet/Desktop/MyProblem/./HRS.h:1: warning: ignoring #pragma warning
/home/couet/Desktop/MyProblem/./HRS.h:2: warning: ignoring #pragma warning
/home/couet/Desktop/MyProblem/./HRS.h:3: warning: ignoring #pragma warning
/home/couet/Desktop/MyProblem/./HRS.h:4: warning: ignoring #pragma warning
/home/couet/Desktop/MyProblem/./HRS.h:5: warning: ignoring #pragma warning
In file included from /home/couet/Desktop/MyProblem/./HRS.cpp:1:
/home/couet/Desktop/MyProblem/./HRS.h:7:23: w32pragma.h: No such file or directory
/home/couet/Desktop/MyProblem/./HRS.cpp: In constructor `MyMainFrame::MyMainFrame(const TGWindow*, UInt_t, UInt_t)':
/home/couet/Desktop/MyProblem/./HRS.cpp:566: warning: converting to `int' from `double'
/home/couet/Desktop/MyProblem/./HRS.cpp:180: warning: unused variable 'but'
/home/couet/Desktop/MyProblem/./HRS.cpp:755:2: warning: no newline at end of file
root [2] HRS()
Error: Function HRS() is not defined in current scope (tmpfile):1:
*** Interpreter error recovered ***
root [3]
in line 478 of HRS.cpp I set ec->GetCanvas()->SetEditable(kFALSE) and automatically, I don’t understand why, there is 2 white canvas and the Polars graphs don’t have the axis.
I only would like to set my embeddedcanvas -> SetEditable (kFALSE) and have all elements showed correctly as a photo.
Ok I see what you mean. I have no idea yet why SetEditable(kFALSE) does that. I need to debug. Meanwhile I would recommend you to not use it… Is it important for you to have SetEditable(kFALSE) ? seems to me you can leave it that way. Anyway I will check.
I think I found what the problem is. In two places in TGraphPolargram.cxx there is the line:
if (!gPad->IsEditable()) gROOT->MakeDefCanvas();
These two lines make no sense to me. If I remove them it is fine. But before removing them I need first to understand why they have been put there. I will let you know
Great, thank you for your help, and for your patience.
I have only another question:
Is it possible to eliminate the TEmbeddedCavas menu strip, in other words, don’t show anything when I click it with the right mouse button?
Looking forward your answer.
you mean the context menu ? I do not think it has something to do with the embedded canvas. It is for any canvas. If it is what you mean I do not think it is possible … At least I do not know it right away. I will have to check on Monday.
Hi couet,
I removed the line if (!gPad->IsEditable()) gROOT->MakeDefCanvas(); from TGraphPolargram.cxx (them I recompiled root), but the problem persists. Is there somenthing else to do?