]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Fixed creation of editor frame so that it uses X client's SetRoot() functionality.
authormtadel <mtadel@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 27 Jun 2006 17:53:20 +0000 (17:53 +0000)
committermtadel <mtadel@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 27 Jun 2006 17:53:20 +0000 (17:53 +0000)
EVE/Reve/RGBrowser.cxx
EVE/Reve/RGBrowser.h
EVE/Reve/RGTopFrame.cxx

index baed0caa24fd45f57fd22bba37636fb38927b08d..2ec4081674f44775bf620428a0a1f1f91a51b9fd 100644 (file)
@@ -143,7 +143,7 @@ RGBrowser::RGBrowser(const TGWindow *p, UInt_t w, UInt_t h)
 
 /**************************************************************************/
 
-void RGBrowser::SetupClassicLook()
+void RGBrowser::SetupClassicLook(RGEditor*& editor, TCanvas* glpad)
 {
   fCanvasWindow = new TGCanvas(fV2, 25, 250);
   fDisplayFrame = new TGCompositeFrame(fCanvasWindow->GetViewPort(), 0, 0,kVerticalFrame, TGFrame::GetWhitePixel() );
@@ -152,22 +152,33 @@ void RGBrowser::SetupClassicLook()
 
   fV2->AddFrame(fCanvasWindow, new TGLayoutHints(kLHintsExpandX | kLHintsExpandY, 0, 0, 2, 2));
   fV2->MapSubwindows();
-}
-
 
+  editor = new RGEditor(glpad);
+  editor->GetCan()->ChangeOptions(0);
+  editor->SetWindowName("Reve Editor");
+}
 
-void RGBrowser::SetupEditorLook(RGEditor* editor)
+void RGBrowser::SetupEditorLook(RGEditor*& editor, TCanvas* glpad)
 {
-  editor->UnmapWindow();
-  fV2->AddFrame(editor, new TGLayoutHints(kLHintsExpandX | kLHintsExpandY, 0, 0, 2, 2));
-  Int_t x, y;
-  CalculateReparentXY(fV2, x, y);
-  editor->ReparentWindow(fV2, x, y);
+  fClient->SetRoot(fV2);
+  editor = new RGEditor(glpad);
+  editor->GetCan()->ChangeOptions(0);
+  fV2->RemoveFrame(editor);
+  fV2->AddFrame(editor, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsExpandX | kLHintsExpandY, 0, 0, 2, 2));
+  fClient->SetRoot();
+
+  /*
+    editor->UnmapWindow();
+    fV2->AddFrame(editor, new TGLayoutHints(kLHintsExpandX | kLHintsExpandY, 0, 0, 2, 2));
+    Int_t x, y;
+    CalculateReparentXY(fV2, x, y);
+    editor->ReparentWindow(fV2, x, y);
+  */
 
   fV2->MapSubwindows();
 }
 
-void RGBrowser::SetupGLViewerLook(RGEditor* editor, TVirtualPad* glpad)
+void RGBrowser::SetupGLViewerLook(RGEditor*& editor, TCanvas* glpad)
 {
   TGLayoutHints *lo;
 
@@ -182,14 +193,24 @@ void RGBrowser::SetupGLViewerLook(RGEditor* editor, TVirtualPad* glpad)
   TGHSplitter *splitter = new TGHSplitter(fV1);
   lo = new TGLayoutHints(kLHintsTop | kLHintsExpandX, 4, 2, 2, 0);
   fSelectionFrame->AddFrame(splitter, lo);
-   
-  editor->UnmapWindow();
+
+  fClient->SetRoot(fV1);
+  editor = new RGEditor(glpad);
+  editor->GetCan()->ChangeOptions(0);
   editor->ChangeOptions(editor->GetOptions() | kFixedHeight);
-  lo = new TGLayoutHints(kLHintsTop | kLHintsExpandX, 0,2,2,2);
-  fV1->AddFrame(editor, lo);
-  Int_t x, y;
-  CalculateReparentXY(fV1, x, y);
-  editor->ReparentWindow(fV1, x, y);
+  fV1->RemoveFrame(editor);
+  fV1->AddFrame(editor, new TGLayoutHints(kLHintsTop | kLHintsExpandX, 0,2,2,2));
+  fClient->SetRoot();
+
+  /*
+    editor->UnmapWindow();
+    editor->ChangeOptions(editor->GetOptions() | kFixedHeight);
+    lo = new TGLayoutHints(kLHintsTop | kLHintsExpandX, 0,2,2,2);
+    fV1->AddFrame(editor, lo);
+    Int_t x, y;
+    CalculateReparentXY(fV1, x, y);
+    editor->ReparentWindow(fV1, x, y);
+  */
 
   splitter->SetFrame(editor, kFALSE);
 
@@ -242,7 +263,7 @@ void RGBrowser::DbClickListItem(TGListTreeItem* item, Int_t btn)
 {
   static const Exc_t eH("RGBrowser::DbClickListItem ");
 
-  printf("dbclick item %s\n", item->GetText());
+  // printf("dbclick item %s\n", item->GetText());
   RenderElement* re = (RenderElement*)item->GetUserData();
   if(re == 0) return;
   TObject* obj = re->GetObject();
@@ -280,13 +301,18 @@ void RGBrowser::ExportToCINT(Text_t* var_name, TObject* obj)
 
 void RGBrowser::DisplayChildren(TGListTreeItem *item, Int_t btn)
 {
+  // Display widgets for children of clicked item in a tabular format.
   // Only classic mode provides direct children editing.
+
   if(fDisplayFrame == 0)
     return;
 
+  if(btn > 1)
+    return;
+
   fDisplayFrame->DestroySubwindows();
   fDisplayFrame->Cleanup();
-  printf("DisplayChildren item %s List %d btn=%d\n", item->GetText(),fDisplayFrame->GetList()->GetEntries(), btn);
+  // printf("DisplayChildren item %s List %d btn=%d\n", item->GetText(),fDisplayFrame->GetList()->GetEntries(), btn);
 
   if(item->GetFirstChild() == 0) return;
 
index 9d2f451cc399645d164cb84f85fce9638c688ae1..306540a3e3de896ec2ad00df3f22121e18989d77 100644 (file)
@@ -86,9 +86,9 @@ protected:
   RGBrowser(const TGWindow *p, UInt_t w, UInt_t h);
   virtual ~RGBrowser() {}
 
-  void SetupClassicLook();
-  void SetupEditorLook(RGEditor* editor);
-  void SetupGLViewerLook(RGEditor* editor, TVirtualPad* glpad);
+  void SetupClassicLook(RGEditor*& editor, TCanvas* glpad);
+  void SetupEditorLook(RGEditor*& editor, TCanvas* glpad);
+  void SetupGLViewerLook(RGEditor*& editor, TCanvas* glpad);
 
   void RedrawListTree();
 
index 704e5b9d8fc739c3eff3f479c68981b2b9abe850..4ea17a45fe4e96ba4596eec44fac9432134eb2e3 100644 (file)
@@ -71,7 +71,10 @@ ToolBarData_t tb_data[] = {
 /**************************************************************************/
 
 
-void RGTopFrame::Init(){
+void RGTopFrame::Init()
+{
+  gReve = this;
+
   fCC          = 0;
   fHistoCanvas = 0;
   fSelector    = 0;
@@ -156,26 +159,22 @@ RGTopFrame::RGTopFrame(const TGWindow *p, UInt_t w, UInt_t h, LookType_e look)
   /**************************************************************************/
   /**************************************************************************/
   
-  fEditor = new RGEditor(fCC);
-  fEditor->GetCan()->ChangeOptions(0);
 
   switch(look) {
   case LT_Classic: {
-    fBrowser->SetupClassicLook();
-    // Need push/pop pad around here? Not.
+    fBrowser->SetupClassicLook(fEditor, fCC);
     fCC->GetViewer3D("ogl");
     break;
   }
 
   case LT_Editor: {
-    fBrowser->SetupEditorLook(fEditor);
+    fBrowser->SetupEditorLook(fEditor, fCC);
     fCC->GetViewer3D("ogl");
     break;
   }
 
   case LT_GLViewer: {
     fBrowser->SetupGLViewerLook(fEditor, fCC);
-    printf("Crap1 %d %d\n", GetWidth(), GetHeight());
     break;
   }
 
@@ -268,18 +267,21 @@ void RGTopFrame::DoRedraw3D()
 int RGTopFrame::SpawnGuiAndRun(int argc, char **argv)
 {
   LookType_e revemode = LT_Editor;
+  Int_t w = 540;
+  Int_t h = 500;
   if(argc >= 3 && (strcmp(argv[1], "-revemode")==0 || strcmp(argv[1], "-mode")==0)) {
     LookType_e m = LookType_e(atoi(argv[2]));
     if(m >= LT_Classic && m <= LT_GLViewer)
       revemode = m;
     printf("revemode = %d\n", revemode);
+    if(revemode == LT_GLViewer) {
+      w = 1024; h = 768;
+    }
   }
 
   TRint theApp("App", &argc, argv);
-  Int_t w = 800;
-  Int_t h = 600;
 
-  gReve = new RGTopFrame(gClient->GetRoot(), w, h, revemode);
+  /* gReve = */ new RGTopFrame(gClient->GetRoot(), w, h, revemode);
  run_loop:
   try {
     theApp.Run();