first canvas menu dummy implementation
This commit is contained in:
parent
983e7607c4
commit
6cc5c2478c
@ -53,6 +53,10 @@ PMusrCanvas::PMusrCanvas()
|
||||
fPlotType = -1;
|
||||
fPlotNumber = -1;
|
||||
|
||||
fImp = 0;
|
||||
fBar = 0;
|
||||
fPopup = 0;
|
||||
|
||||
fStyle = 0;
|
||||
fMainCanvas = 0;
|
||||
fTitlePad = 0;
|
||||
@ -171,6 +175,10 @@ void PMusrCanvas::InitMusrCanvas(const char* title, Int_t wtopx, Int_t wtopy, In
|
||||
fDifferencePlot = false;
|
||||
fPlotType = -1;
|
||||
|
||||
fImp = 0;
|
||||
fBar = 0;
|
||||
fPopup = 0;
|
||||
|
||||
fMainCanvas = 0;
|
||||
fTitlePad = 0;
|
||||
fDataTheoryPad = 0;
|
||||
@ -187,6 +195,19 @@ void PMusrCanvas::InitMusrCanvas(const char* title, Int_t wtopx, Int_t wtopy, In
|
||||
return;
|
||||
}
|
||||
|
||||
// add canvas menu
|
||||
TRootCanvas *fImp = (TRootCanvas*)fMainCanvas->GetCanvasImp();
|
||||
TGMenuBar *fBar = fImp->GetMenuBar();
|
||||
TGPopupMenu *fPopup = fBar->AddPopup("&Musrfit");
|
||||
fPopup->AddEntry("&Fourier", P_MENU_ID_FOURIER);
|
||||
fPopup->AddEntry("&Difference", P_MENU_ID_DIFFERENCE);
|
||||
fPopup->AddSeparator();
|
||||
fPopup->AddEntry("&Save Data", P_MENU_ID_SAVE_DATA);
|
||||
fBar->MapSubwindows();
|
||||
fBar->Layout();
|
||||
|
||||
fPopup->Connect("TGPopupMenu", "Activated(Int_t)", "PMusrCanvas", this, "HandleMenuPopup(Int_t)");
|
||||
|
||||
// divide the canvas into 4 pads
|
||||
// title pad
|
||||
fTitlePad = new TPaveText(0.0, YTITLE, 1.0, 1.0, "NDC");
|
||||
@ -291,6 +312,30 @@ void PMusrCanvas::HandleCmdKey(Int_t event, Int_t x, Int_t y, TObject *selected)
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// HandleMenuPopup (SLOT)
|
||||
//--------------------------------------------------------------------------
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
*/
|
||||
void PMusrCanvas::HandleMenuPopup(Int_t id)
|
||||
{
|
||||
switch (id) {
|
||||
case P_MENU_ID_FOURIER:
|
||||
cout << endl << ">> will handle Fourier ..." << endl;
|
||||
break;
|
||||
case P_MENU_ID_DIFFERENCE:
|
||||
cout << endl << ">> will handle Difference ..." << endl;
|
||||
break;
|
||||
case P_MENU_ID_SAVE_DATA:
|
||||
cout << endl << ">> will handle Save Data ..." << endl;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// LastCanvasClosed (SLOT)
|
||||
//--------------------------------------------------------------------------
|
||||
|
@ -35,6 +35,8 @@
|
||||
#include <TObject.h>
|
||||
#include <TQObject.h>
|
||||
#include <TStyle.h>
|
||||
#include <TRootCanvas.h>
|
||||
#include <TGMenu.h>
|
||||
#include <TCanvas.h>
|
||||
#include <TPaveText.h>
|
||||
#include <TLegend.h>
|
||||
@ -52,6 +54,11 @@
|
||||
#define YTITLE 0.95
|
||||
#define XTHEO 0.75
|
||||
|
||||
// Canvas menu id's
|
||||
#define P_MENU_ID_FOURIER 10001
|
||||
#define P_MENU_ID_DIFFERENCE 10002
|
||||
#define P_MENU_ID_SAVE_DATA 10003
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
/**
|
||||
* <p>
|
||||
@ -137,6 +144,7 @@ class PMusrCanvas : public TObject, public TQObject
|
||||
|
||||
virtual void Done(Int_t status=0); // *SIGNAL*
|
||||
virtual void HandleCmdKey(Int_t event, Int_t x, Int_t y, TObject *selected); // SLOT
|
||||
virtual void HandleMenuPopup(Int_t id); // SLOT
|
||||
virtual void LastCanvasClosed(); // SLOT
|
||||
|
||||
private:
|
||||
@ -147,6 +155,12 @@ class PMusrCanvas : public TObject, public TQObject
|
||||
|
||||
TStyle *fStyle;
|
||||
|
||||
// canvas menu related variables
|
||||
TRootCanvas *fImp;
|
||||
TGMenuBar *fBar;
|
||||
TGPopupMenu *fPopup;
|
||||
|
||||
// canvas related variables
|
||||
TCanvas *fMainCanvas;
|
||||
TPaveText *fTitlePad;
|
||||
TPad *fDataTheoryPad;
|
||||
|
@ -34,9 +34,9 @@ using namespace std;
|
||||
|
||||
#include "PMyCanvas.h"
|
||||
|
||||
#define P_ID_FOURIER 1
|
||||
#define P_ID_DIFFERENCE 2
|
||||
#define P_ID_SAVE_DATA 3
|
||||
#define P_ID_FOURIER 10001
|
||||
#define P_ID_DIFFERENCE 10002
|
||||
#define P_ID_SAVE_DATA 10003
|
||||
|
||||
ClassImpQ(PMyCanvas)
|
||||
|
||||
@ -58,10 +58,10 @@ cout << endl << ">> fImp=" << fImp << endl;
|
||||
cout << endl << ">> fBar=" << fBar << endl;
|
||||
TGPopupMenu *fPopup = fBar->AddPopup("m&y menu");
|
||||
cout << endl << ">> fPopup=" << fPopup << endl;
|
||||
fPopup->AddEntry("F&ourier", 1);
|
||||
fPopup->AddEntry("&Difference", 2);
|
||||
fPopup->AddEntry("F&ourier", P_ID_FOURIER);
|
||||
fPopup->AddEntry("&Difference", P_ID_DIFFERENCE);
|
||||
fPopup->AddSeparator();
|
||||
fPopup->AddEntry("Save Data", 3);
|
||||
fPopup->AddEntry("Save Data", P_ID_SAVE_DATA);
|
||||
fBar->MapSubwindows();
|
||||
fBar->Layout();
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user