22#include "TStopwatch.h"
41#include <QMdiSubWindow>
69 if (!fname || (strlen(fname) == 0))
return kFALSE;
78 doOutput(
"Start hotstart script execution");
111 if (!nextcmd)
return kFALSE;
114 gROOT->ProcessLineSync(nextcmd, &error);
117 doOutput(TString::Format(
"Error = %d. CMD: %s", error, nextcmd).Data());
147 Int_t loopnumbers = 0;
148 Double_t spenttime = 0;
153 Bool_t first = kTRUE;
157 if (first) first = kFALSE;
161 spenttime += watch.RealTime();
177 }
while (loopnumbers < 1000000);
182 Wait(timeout <= 0 ? 0 : timeout*0.001);
195 doOutput(
"// Disconnect old analysis first");
196 fMainWin->DisconnectAnalysis(
false);
204 doOutput(
"// Start analysis client");
314 const char *ClientDir,
315 const char *ClientExec,
316 const char *ClientNode,
320 const char *UserArgs)
322 go4sett->setClientName(ClientName);
323 go4sett->setClientDir(ClientDir);
324 go4sett->setClientExeMode(ExeMode);
325 go4sett->setClientExec(ClientExec);
326 go4sett->setClientArgs(UserArgs);
327 const char *separ = strrchr(ClientNode,
':');
329 go4sett->setClientNode(ClientNode);
333 node.Append(ClientNode, separ - ClientNode);
334 go4sett->setClientNode(node.Data());
336 go4sett->setClientPort(TString(separ+1).Atoi());
339 go4sett->setClientShellMode(ShellMode);
340 go4sett->setClientTermMode(TermMode);
346 Int_t ControllerMode,
347 const char *password)
349 go4sett->setClientNode(ServerNode);
350 go4sett->setClientPort(ServerPort);
351 go4sett->setClientControllerMode(ControllerMode);
352 go4sett->setClientDefaultPass(!password || (*password == 0));
370 fMainWin->DisconnectAnalysis(
false);
391 if (
fMainWin->SubmitAnalysisSettings()) {
452 QWidget *gui = gui_ ? gui_->parentWidget() :
nullptr;
458 gui->showMinimized();
466 QWidget *gui = gui_ ? gui_->parentWidget() :
nullptr;
472 gui->showMinimized();
506 Bool_t enableprocess,
516 const char *sourcename,
527 const char *sourcename,
543 const char *sourcename,
558 const char *sourcename,
573 const char *sourcename,
588 const char *sourcename,
614 const char *sourcename,
639 const char *sourcename,
653 const char *sourcename,
664 const char *storename,
673 step->
SetFileStore(storename, overwrite, bufsize, splitlevel, compression, autosaveperiod);
677 const char *storename,
687 const char *storename)
695 const char *storename,
706 fMainWin->restoreState(QByteArray::fromHex(val));
712 fMainWin->restoreGeometry(QByteArray::fromHex(val));
726 panel->showMinimized();
728 panel->showMaximized();
731 panel->parentWidget()->move(QPoint(x, y));
732 panel->parentWidget()->resize(QSize(width, height));
749 if (!panel)
return TString();
750 return TString(panel->objectName().toLatin1().constData());
761 if (!handle || !newname || (strlen(newname) == 0))
return kFALSE;
763 if (
fMainWin->FindViewPanel(newname)) {
764 Message(TString::Format(
"Viewpanel with name %s already exists",newname).Data());
789 if (panel) panel->
Divide(numX, numY);
796 TPad *pad = panel->
GetSubPad(
nullptr, number,
false);
808 if (!panel)
return nullptr;
810 TPad *pad = panel->
GetSubPad(
nullptr, padnumber,
false);
831 panel =
fMainWin->DisplayBrowserItem(itemname, panel,
nullptr,
true, -1, drawopt);
835 return panel !=
nullptr;
852 if (!servername || (*servername == 0))
return nullptr;
856 if (!proxy->
Connect(servername)) {
861 const char *slotname = servername;
862 if (strncmp(slotname,
"http://",7) == 0) slotname+=7;
else
863 if (strncmp(slotname,
"https://",8) == 0) slotname+=8;
864 TString sname(slotname);
865 Int_t len = sname.Index(
"/");
866 if ((len>1) && (len<sname.Length())) sname.Resize(len);
894 std::ofstream fs(filename);
895 if (!fs.is_open())
return;
897 fs <<
"// Automatically generated startup script" << std::endl;
898 fs <<
"// Do not change it!" << std::endl << std::endl;
900 fs <<
"go4->SetMainWindowState(4, \"" <<
main->saveState().toHex().data() <<
"\");" << std::endl;
902 fs <<
"go4->SetMainWindowGeometry(4, \"" <<
main->saveGeometry().toHex().data() <<
"\");" << std::endl;
908 for (Int_t n = 0; n <= prlist.GetLast(); n++) {
910 fs <<
"go4->OpenFile(\"" << pr->
GetFileName() <<
"\");" << std::endl;
915 for (Int_t n = 0; n <= prlist.GetLast(); n++) {
917 fs <<
"go4->ConnectHServer(\""
922 << pr->
GetFilter() <<
"\");" << std::endl;
927 for (Int_t n = 0; n <= prlist.GetLast(); n++) {
929 fs <<
"go4->ConnectDabc(\"" << pr->
GetServerName() <<
"\");" << std::endl;
935 if (!isanalysis && serv && (serv != anal)) isanalysis =
true;
939 fs <<
"go4->LaunchAnalysis(\"" <<
go4sett->getClientName().toLatin1().constData() <<
"\", \""
940 <<
go4sett->getClientDir().toLatin1().constData() <<
"\", \""
941 <<
go4sett->getClientExec().toLatin1().constData() <<
"\", \""
942 <<
go4sett->getClientNode().toLatin1().constData();
944 if (
go4sett->getClientIsServer() == 2) {
947 fs <<
go4sett->getClientPort();
952 if (
go4sett->getClientShellMode() ==
Go4_rsh) fs <<
"Go4_rsh, ";
else
953 if (
go4sett->getClientShellMode() ==
Go4_ssh) fs <<
"Go4_ssh, ";
else fs <<
"Go4_sh, ";
956 if (
go4sett->getClientTermMode() ==
Go4_konsole) fs <<
"Go4_konsole, ";
else fs <<
"Go4_qt, ";
958 if (
go4sett->getClientExeMode() ==
Go4_lib) fs <<
"Go4_lib";
else fs <<
"Go4_exe";
963 if (
go4sett->getClientArgs().length()>0)
964 fs <<
", \"" <<
go4sett->getClientArgs().toLatin1().constData() <<
"\"";
965 fs <<
");" << std::endl;
967 fs <<
"go4->WaitAnalysis(300);" << std::endl << std::endl;
969 if (!confgui)
return;
970 fs <<
"// configuration of analysis" << std::endl;
973 int interval, compression;
974 bool asenabled, asoverwrite;
976 confgui->
GetAutoSaveConfig(fname, interval, compression, asenabled, asoverwrite);
977 fs <<
"go4->AnalysisAutoSave(\"" << fname.toLatin1().constData() <<
"\", "
979 << compression <<
", "
980 << (asenabled ?
"kTRUE" :
"kFALSE") <<
", "
981 << (asoverwrite ?
"kTRUE" :
"kFALSE") <<
");" << std::endl;
984 fs <<
"go4->AnalysisConfigName(\"" << fname.toLatin1().constData() <<
"\");" << std::endl << std::endl;
986 for (
int nstep = 0; nstep < confgui->
GetNumSteps(); nstep++) {
988 fs <<
"// step " << stepconf->
GetStepName().toLatin1().constData() << std::endl;
990 bool process, source, store;
992 fs <<
"go4->ConfigStep(\"" << stepconf->
GetStepName().toLatin1().constData() <<
"\", "
993 << (process ?
"kTRUE" :
"kFALSE") <<
", "
994 << (source ?
"kTRUE" :
"kFALSE") <<
", "
995 << (store ?
"kTRUE" :
"kFALSE") <<
");" << std::endl;
998 int timeout = 0, start = 0, stop = 0, interval = 0, nport = 0, nretry = 0;
999 int nsrc = stepconf->
GetSourceSetup(srcname, timeout, start, stop, interval, nport, nretry);
1002 srcargs.Form(
"(\"%s\", \"%s\", %d", stepconf->
GetStepName().toLatin1().constData(), srcname.toLatin1().constData(), timeout);
1006 fs <<
"go4->StepFileSource" << srcargs;
1011 fs <<
"go4->StepMbsFileSource" << srcargs <<
", \""
1012 << TagFile.toLatin1().constData() <<
"\"";
1016 fs <<
"go4->StepMbsStreamSource" << srcargs;
1019 fs <<
"go4->StepMbsTransportSource" << srcargs;
1022 fs <<
"go4->StepMbsEventServerSource" << srcargs;
1025 fs <<
"go4->StepMbsRevServSource" << srcargs;
1028 fs <<
"go4->StepRandomSource" << srcargs;
1034 fs <<
"go4->StepUserSource" << srcargs <<
", " << port <<
", \""
1035 << expr.toLatin1().constData() <<
"\"";
1039 fs <<
"go4->StepHDF5Source" << srcargs;
1044 fs <<
");" << std::endl;
1046 if ((start != 0) || (stop != 0) || (interval > 1)) {
1047 srcargs.Form(
"(\"%s\", %d, %d ,%d)",stepconf->
GetStepName().toLatin1().constData(), start, stop, interval);
1048 fs <<
"go4->StepMbsSelection" << srcargs <<
";" << std::endl;
1052 srcargs.Form(
"(\"%s\", %d)",stepconf->
GetStepName().toLatin1().constData(), nport);
1053 fs <<
"go4->StepMbsPort" << srcargs <<
";" << std::endl;
1057 srcargs.Form(
"(\"%s\", %d)",stepconf->
GetStepName().toLatin1().constData(), nretry);
1058 fs <<
"go4->StepMbsRetryCnt" << srcargs <<
";" << std::endl;
1066 int bufsize, splitlevel, compression, autosave;
1067 stepconf->
GetFileStore(overwrite, bufsize, splitlevel, compression, autosave);
1068 fs <<
"go4->StepFileStore(\"" << stepconf->
GetStepName().toLatin1().constData() <<
"\", \""
1069 << storename.toLatin1().constData() <<
"\", "
1070 << (overwrite ?
"kTRUE" :
"kFALSE") <<
", "
1072 << splitlevel <<
", "
1073 << compression <<
", "
1074 << autosave <<
");" << std::endl;
1079 int bufsize, splitlevel;
1081 fs <<
"go4->StepBackStore(\"" << stepconf->
GetStepName().toLatin1().constData() <<
"\", \""
1082 << storename.toLatin1().constData() <<
"\", "
1084 << splitlevel <<
");" << std::endl;
1089 fs <<
"go4->StepUserStore(\"" << stepconf->
GetStepName().toLatin1().constData() <<
"\", \""
1090 << storename.toLatin1().constData() <<
"\");" << std::endl;
1097 fs <<
"go4->StepHDF5Store(\"" << stepconf->
GetStepName().toLatin1().constData() <<
"\", \""
1098 << storename.toLatin1().constData() <<
"\", "
1099 << flags <<
");" << std::endl;
1109 fs <<
"go4->SubmitAnalysisConfig(20);" << std::endl << std::endl;
1112 QWidget *mdi = confgui ? confgui->parentWidget() :
nullptr;
1114 if (mdi->isHidden()) mode = -1;
else
1115 if (mdi->isMinimized()) mode = 0;
1117 fs <<
"go4->SetAnalysisConfigMode(" << mode <<
");" << std::endl;
1120 mdi = termgui ? termgui->parentWidget() :
nullptr;
1122 if (mdi->isHidden()) mode = -1;
else
1123 if (mdi->isMinimized()) mode = 0;
1125 fs <<
"go4->SetAnalysisTerminalMode(" << mode <<
");" << std::endl << std::endl;
1129 fs <<
"go4->ConnectAnalysis(\""
1130 <<
go4sett->getClientNode().toLatin1().constData() <<
"\", "
1131 <<
go4sett->getClientPort() <<
", "
1132 <<
go4sett->getClientControllerMode() <<
", ";
1133 if (
go4sett->getClientDefaultPass())
1134 fs <<
"0);" << std::endl;
1136 fs <<
"\"" <<
main->LastTypedPassword() <<
"\");" << std::endl;
1137 fs <<
"go4->WaitAnalysis(10);" << std::endl << std::endl;
1139 fs <<
"go4->DisconnectAnalysis();" << std::endl;
1145 for (Int_t n = 0; n <= prlist.GetLast(); n++) {
1147 if (pr == serv)
continue;
1148 fs <<
"go4->ConnectHttp(\"" << pr->
GetServerName() <<
"\");" << std::endl;
1153 fs <<
"go4->StartAnalysis();" << std::endl;
1155 fs <<
"// in some analysis one requires to wait several seconds before new histograms appears" << std::endl;
1156 fs <<
"// go4->Wait(1);" << std::endl;
1157 fs <<
"go4->RefreshNamesList();" << std::endl;
1161 fs <<
"go4->RefreshNamesList();" << std::endl;
1167 for (
int i = 0; i < windows.count(); ++i) {
1169 if (!panel)
continue;
1171 TString picname = TString::Format(
"pic%d", ++npanel);
1180 QWidget *mdi = panel->parentWidget();
1182 QPoint pos = mdi->pos();
1183 mdi->mapToParent(pos);
1184 QSize size = mdi->size();
1186 const char *mode =
"Go4_normal";
1187 if (mdi->isHidden()) mode =
"Go4_hidden";
else
1188 if (mdi->isMinimized()) mode =
"Go4_minimized";
else
1189 if (mdi->isMaximized()) mode =
"Go4_maximized";
1191 fs <<
"go4->StartViewPanel("
1194 << size.width() <<
", "
1195 << size.height() <<
", "
1196 << mode <<
", " << picname <<
");" << std::endl;
1198 fs <<
"delete " << picname <<
";" << std::endl;
1204 Bool_t goinside = kTRUE;
1206 while (iter.
next(goinside)) {
1212 Int_t ncheck = 0, ncount = 0;
1214 while (subiter.
next()) {
1221 goinside = (ncount == 0) || (ncheck != ncount);
1228 fs <<
"go4->MonitorItem(\"" << sbuf <<
"\", kFALSE);" << std::endl;
1235 fs <<
"go4->StartMonitoring(" << mperiod/1000 <<
");" << std::endl;
int main(int argc, char **argv)
Bool_t IsHotStart() const
static Int_t DelayMillisec()
Default delay during hotstart file extension.
static TGo4AbstractInterface * Instance()
Return pointer on instance of implementation of TGo4AbstractInterface class.
static const char * DefaultPicTitle()
Returns default hotstart file extension.
TGo4BrowserProxy * Browser() const
Returns pointer on browser proxy.
TGo4AbstractInterface()
Constructor.
const char * NextHotStartCmd()
TGo4ServerProxy * Server()
Returns pointer on more generic server proxy.
void Initialize(TGo4ObjectManager *om, TGo4BrowserProxy *br)
list of shared libraries when application is started
Bool_t LoadHotStart(const char *filename)
static void ProduceLoadLibs(std::ostream &fs)
virtual void GetAnalysisConfigFile(QString &filename)
TGo4ConfigStep * GetStepConfig(int n)
virtual void GetAutoSaveConfig(QString &filename, int &interval, int &compression, bool &enbaled, bool &overwrite)
virtual void SetAnalysisConfigFile(QString filename)
TGo4ConfigStep * FindStepConfig(QString name)
virtual void SetAutoSaveConfig(QString filename, int interval, int compression, bool enbaled, bool overwrite)
Bool_t IsAnalysisRunning() const override
Bool_t IsAnalysisServer() const override
TGo4AnalysisProxy * FindAnalysis(const char *itemname=nullptr)
void MakeDabcList(TObjArray *arr)
void MakeFilesList(TObjArray *arr)
TGo4Slot * BrowserTopSlot()
Int_t MonitoringPeriod() const
Int_t ItemKind(const char *name)
TGo4ServerProxy * FindServer(const char *itemname=nullptr, Bool_t asanalysis=kTRUE)
Bool_t BrowserItemName(TGo4Slot *itemslot, TString &res)
void AddServerProxy(TGo4ServerProxy *serv, const char *slotname, const char *info)
Bool_t IsItemMonitored(TGo4Slot *slot) const
void MakeHttpList(TObjArray *arr)
void MakeHServerList(TObjArray *arr)
virtual void SetMbsTransportSource()
virtual void GetBackStore(int &bufsize, int &splitlevel)
virtual void SetMbsFileSource(const QString &TagFile)
virtual void SetFileSource()
virtual void SetMbsSourceWidgets(int start, int stop, int interval, int port=0)
virtual void GetUserSource(int &port, QString &expr)
virtual void GetHDF5Store(int &flags)
virtual void SetMbsRetryCnt(int retry)
virtual void GetStepControl(bool &process, bool &source, bool &store)
virtual void SetHDF5Source(QString name)
virtual void SetMbsPort(int port)
virtual void SetMbsRevServSource(int port)
virtual void SetUserStore(QString name)
virtual void SetSourceWidgets(const QString &name, int timeout)
virtual void SetHDF5Store(QString name, int flags)
virtual void SetBackStore(QString name, int bufsize, int splitlevel)
virtual void SetUserSource(int port, QString expr)
virtual void SetRandomSource()
virtual void GetMbsFileSource(QString &TagFile)
virtual void GetFileStore(bool &overwrite, int &bufsize, int &splitlevel, int &compression, int &autosaveinterval)
virtual int GetSourceSetup(QString &name, int &timeout, int &start, int &stop, int &interval, int &port, int &nretry)
virtual int GetStoreSetup(QString &name)
virtual void SetStepControl(bool process, bool source, bool store)
virtual void SetMbsEventServerSource()
virtual QString GetStepName()
virtual void SetFileStore(QString name, bool overwrite, int bufsize, int splitlevel, int compression, int autosave=0)
virtual void SetMbsStreamSource()
const char * GetServerName() const override
const char * GetFileName() const
const char * GetUserPass() const
const char * GetServerName() const override
Int_t GetPortNumber() const
const char * GetBaseName() const
const char * GetFilter() const
Here Go4/ROOT-specific functionality of HttpProxy.
void SetAccount(const char *username, const char *passwd)
Bool_t Connect(const char *nodename)
Bool_t next(Bool_t goesinto=kTRUE)
TGo4Slot * getslot() const
TGo4BrowserProxy * Browser()
static TGo4MdiArea * Instance()
TGo4ViewPanel * GetActivePanel()
Picture cconfiguration in Go4.
void SavePrimitive(std::ostream &fs, Option_t *opt="") override
void StepMbsSelection(const char *stepname, int start, int stop, int interval) override
Set event selection for MBS source.
void StepMbsEventServerSource(const char *stepname, const char *sourcename, int timeout, int start=0, int stop=0, int interval=0) override
Set MBS event server as step data source.
void StepMbsFileSource(const char *stepname, const char *sourcename, int timeout, const char *TagFile, int start=0, int stop=0, int interval=0) override
Set MBS file source as step data source.
void LaunchAnalysis() override
Launch analysis in client mode, using default configuration.
void StopAnalysis() override
Stop (suspend) analysis execution.
void AnalysisAutoSave(const char *filename, Int_t interval, Int_t compression, Bool_t enabled, Bool_t overwrite) override
Configure autosave properties of analysis.
Bool_t DrawItem(const char *itemname, ViewPanelHandle panel=nullptr, const char *drawopt=nullptr) override
Draw browser item on specified viewpanel.
void ShutdownAnalysis() override
Shutdown running analysis.
void StepFileStore(const char *stepname, const char *storename, bool overwrite, int bufsize, int splitlevel, int compression, int autosaveperiod=10000) override
Set file as step data storage.
Int_t fiWaitForGUIReaction
void SetMainWindowGeometry(int qtversion, const char *val) override
Set geometry of main window.
ViewPanelHandle FindViewPanel(const char *name) override
Return handle on viewpanel with specified name.
void SetApplyToAll(ViewPanelHandle panel, Bool_t on=kTRUE) override
Set apply to all flag for active pad of viewpanel.
void StartFitPanel() override
Starts fit panel.
TGo4Picture * GetPadOptions(ViewPanelHandle panel, Int_t padnumber=0) override
Returns pad options for pad with specified number.
void SetMainWindowState(int qtversion, const char *val) override
Set state of all tool boxes in main window.
TGo4Script(TGo4MainWindow *mainwin)
void Wait(double tm_sec) override
Wait specified number of seconds.
void DisconnectAnalysis() override
Disconnects from running analysis.
Bool_t ContinueExecution()
void StepUserSource(const char *stepname, const char *sourcename, int timeout, int port, const char *expr) override
Set user data source as step data source.
void StartAnalysis() override
Starts (resume) analysis execution.
void StepUserStore(const char *stepname, const char *storename) override
Set user store as step data storage.
TString GetViewPanelName(ViewPanelHandle panel) override
Return name of viewpanel.
static void ProduceScript(const char *filename, TGo4MainWindow *main)
TGo4ServerProxy * ConnectHttp(const char *servername, const char *account=nullptr, const char *pass=nullptr) override
Connect to HTTP server.
ViewPanelHandle GetActiveViewPanel() override
Return handle of last active viewpanel.
void DivideViewPanel(ViewPanelHandle panel, Int_t numX, Int_t numY) override
Divide viewpanel on subpads.
Bool_t IsWaitSomething() const
void StepHDF5Source(const char *stepname, const char *sourcename, int timeout) override
Set hdf5 data source as step data source.
void StepMbsRetryCnt(const char *stepname, int cnt) override
Set retry number for MBS source like stream or transport server.
void AnalysisConfigName(const char *filename) override
Configure name of file, where analysis configuration will be saved.
TGo4MainWindow * fMainWin
void StepMbsTransportSource(const char *stepname, const char *sourcename, int timeout, int start=0, int stop=0, int interval=0) override
Set MBS transport server as step data source.
Bool_t CanConfigureAnalysis()
void WaitAnalysis(Int_t delay_sec) override
Waits, until connection to analysis is established.
void SetAnalysisTerminalMode(int mode) override
Set analysis terminal window mode.
void ConfigStep(const char *stepname, Bool_t enableprocess, Bool_t enablesource, Bool_t enablestore) override
Set basic step properties.
void SetAnalysisConfigMode(int mode) override
Set analysis configuration window mode.
void StepMbsRevServSource(const char *stepname, const char *sourcename, int timeout, int port=0, int start=0, int stop=0, int interval=0) override
Set MBS remote event server as step data source.
static TGo4Script * ScriptInstance()
void RefreshNamesList(int tmout=10) override
Sends new request to the analysis and waits for new names list.
void doOutput(const char *str)
void StepMbsStreamSource(const char *stepname, const char *sourcename, int timeout, int start=0, int stop=0, int interval=0) override
Set MBS stream server as step data source.
void RedrawPanel(ViewPanelHandle handle) override
Forces of panel redraw.
void HotStart(const char *filename) override
Executes hotstart file, generated in go4 GUI.
friend class TGo4MainWindow
void ConnectAnalysis(const char *ServerNode, Int_t ServerPort, Int_t ControllerMode, const char *password=nullptr) override
Connect to running analysis server.
void StepHDF5Store(const char *stepname, const char *storename, int flags) override
Set hdf5 data source as step data storage.
Bool_t StartScriptExecution(const char *fname)
void SetSuperimpose(ViewPanelHandle panel, Bool_t on=kTRUE) override
Set superimpose flag for active pad of viewpanel.
Bool_t SetViewPanelName(ViewPanelHandle panel, const char *newname) override
Change name of viewpanel.
void StepRandomSource(const char *stepname, const char *sourcename, int timeout) override
Set random generator as step data source.
void StepMbsPort(const char *stepname, int port) override
Set custom port number for MBS source like stream or transport server.
TPad * SelectPad(ViewPanelHandle panel, Int_t number=0) override
Set active pad on viewpanel.
Int_t getCounts(Double_t time)
void SubmitAnalysisConfig(int tmout=20) override
Submit configuration to analysis.
void Message(const char *msg) override
Display message in GUI status line.
void StepFileSource(const char *stepname, const char *sourcename, int timeout) override
Set file source as step data source.
TGo4ConfigStep * GetStepGUI(const char *stepname)
void ProcessEvents(Int_t timeout=-1) override
ViewPanelHandle StartViewPanel() override
Create new view panel.
const char * GetDrawnItemName(ViewPanelHandle panel, int cnt=0) override
Provide item name, drawn in the view panel.
void StepBackStore(const char *stepname, const char *storename, int bufsize, int splitlevel) override
Set back store as step data storage.
special base class for remote data servers like DABC, HTTP, hist server
Bool_t IsAnalysisSettingsReady() const
virtual const char * GetServerName() const
Int_t IsAnalysisLaunched() const
virtual Bool_t IsAnalysisRunning() const
Bool_t IsAnalysisReady() const
virtual Bool_t NamesListReceived() const
virtual Bool_t RefreshNamesList()
virtual void RedrawPanel(TPad *pad, bool force)
virtual void ShootRepaintTimer()
virtual void SetPanelName(const char *newname)
virtual void Divide(int numX, int numY)
virtual void ProcessPictureRedraw(const char *picitemname, TPad *pad, TGo4Picture *pic)
virtual void SetPadSuperImpose(TPad *pad, bool on)
virtual void MakePictureForPad(TGo4Picture *pic, TPad *pad, bool useitemname)
virtual void SetApplyToAllFlag(bool on)
virtual void UpdatePanelCaption()
virtual void SetFreezedTitle(const QString &title)
virtual TGo4Picture * GetPadOptions(TPad *pad)
virtual TPad * GetActivePad()
virtual void SetActivePad(TPad *pad)
virtual TCanvas * GetCanvas()
virtual const char * GetDrawItemName(int itemcnt=0)
virtual TPad * GetSubPad(TPad *toppad, int num, bool onlytoplevel)