1 #include "AliStorageAdministratorPanelMarkEvent.h"
2 #include "AliStorageTypes.h"
11 AliStorageAdministratorPanelMarkEvent *AliStorageAdministratorPanelMarkEvent::fInstance=0;
13 ClassImp(AliStorageAdministratorPanelMarkEvent);
15 #define WINDOWS_WIDTH 200
16 #define WINDOWS_HEIGHT 200
28 AliStorageAdministratorPanelMarkEvent::AliStorageAdministratorPanelMarkEvent() :
29 TGMainFrame(gClient->GetRoot(), 400, 400),
33 fServerSocket(SERVER_COMMUNICATION_REQ),
36 fEventManager = AliStorageEventManager::GetEventManagerInstance();
37 fEventManager->CreateSocket(fServerSocket);
41 AliStorageAdministratorPanelMarkEvent::~AliStorageAdministratorPanelMarkEvent()
43 cout<<"ADMIN PANEL -- Mark Window descructor called";
44 cout<<" --- OK"<<endl;
47 AliStorageAdministratorPanelMarkEvent* AliStorageAdministratorPanelMarkEvent::GetInstance()
49 if(!fInstance){fInstance = new AliStorageAdministratorPanelMarkEvent();}
53 void AliStorageAdministratorPanelMarkEvent::InitWindow()
55 SetCleanup(kDeepCleanup);
57 AddFrame(new TGLabel(this,"Run number:"),new TGLayoutHints(kLHintsLeft));
59 fRunNumberEntry = new TGNumberEntry(this,
63 TGNumberFormat::kNESInteger,
64 TGNumberFormat::kNEAPositive,
65 TGNumberFormat::kNELNoLimits);
66 AddFrame(fRunNumberEntry,new TGLayoutHints(kLHintsLeft));
68 AddFrame(new TGLabel(this,"Event number:"),new TGLayoutHints(kLHintsLeft));
70 fEventNumberEntry = new TGNumberEntry(this,
74 TGNumberFormat::kNESInteger,
75 TGNumberFormat::kNEAPositive,
76 TGNumberFormat::kNELNoLimits);
77 AddFrame(fEventNumberEntry,new TGLayoutHints(kLHintsLeft));
79 fStatusLabel = new TGLabel(this,"");
80 AddFrame(fStatusLabel,new TGLayoutHints(kLHintsExpandX | kLHintsLeft));
82 AddFrame(new TGTextButton(this,"Close",BUTTON_CLOSE),
83 new TGLayoutHints(kLHintsLeft));
85 AddFrame(new TGTextButton(this,"Mark event",BUTTON_MARK),
86 new TGLayoutHints(kLHintsRight));
89 SetWindowName("Mark Event");
91 Resize(WINDOWS_WIDTH,WINDOWS_HEIGHT);
98 void AliStorageAdministratorPanelMarkEvent::onMarkButton()
103 //get run and event number from TGNumberEntries
104 runNumber=fRunNumberEntry->GetIntNumber();
105 eventNumber=fEventNumberEntry->GetIntNumber();
107 struct serverRequestStruct *requestMessage = new struct serverRequestStruct;
108 struct eventStruct mark;
109 mark.runNumber = runNumber;
110 mark.eventNumber = eventNumber;
111 requestMessage->messageType = REQUEST_MARK_EVENT;
112 requestMessage->event = mark;
114 fEventManager->Send(requestMessage,fServerSocket);
115 bool response = fEventManager->GetBool(fServerSocket);
119 fStatusLabel->SetText("Event marked");
120 cout<<"ADMIN PANEL -- Event marked succesfully"<<endl;
124 fStatusLabel->SetText("Couldn't mark this event");
125 cout<<"ADMIN PANEL -- Could not matk event"<<endl;
129 void AliStorageAdministratorPanelMarkEvent::onCloseButton(){onExit();}
130 void AliStorageAdministratorPanelMarkEvent::CloseWindow(){onExit();}
132 void AliStorageAdministratorPanelMarkEvent::onExit()
134 cout<<"Quiting mark event";
135 if(fInstance){delete fInstance;fInstance=0;}
136 cout<<" -- OK"<<endl;
139 Bool_t AliStorageAdministratorPanelMarkEvent::ProcessMessage(Long_t msg, Long_t parm1, Long_t)
141 switch (GET_MSG(msg))
144 switch (GET_SUBMSG(msg))
149 case BUTTON_CLOSE:onCloseButton();break;
150 case BUTTON_MARK:onMarkButton();break;