/**************************************************************************/
-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() );
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;
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);
{
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();
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;
/**************************************************************************/
-void RGTopFrame::Init(){
+void RGTopFrame::Init()
+{
+ gReve = this;
+
fCC = 0;
fHistoCanvas = 0;
fSelector = 0;
/**************************************************************************/
/**************************************************************************/
- 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;
}
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();