Avoid jumping of entries in data-selector window -- restore scrollbar position after...
[u/mrichter/AliRoot.git] / EVE / EveBase / AliEveGedEditor.cxx
1 // $Id$
2 // Author: Matevz Tadel 2009
3
4 /**************************************************************************
5  * Copyright(c) 1998-2009, ALICE Experiment at CERN, all rights reserved. *
6  * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for          *
7  * full copyright notice.                                                 *
8  **************************************************************************/
9
10 #include "AliEveGedEditor.h"
11 #include <TGButton.h>
12
13
14 //==============================================================================
15 // AliEveGedFrame
16 //==============================================================================
17
18 //______________________________________________________________________________
19 // Full description of AliEveGedFrame
20 //
21
22 ClassImp(AliEveGedFrame)
23
24 //______________________________________________________________________________
25 AliEveGedFrame::AliEveGedFrame(const TGWindow *p) :
26   TGedFrame(p)
27 {
28   // Constructor.
29
30   fB = new TGTextButton(this);
31   AddFrame(fB, new TGLayoutHints(kLHintsExpandX|kLHintsExpandY));
32 }
33
34 //______________________________________________________________________________
35 void AliEveGedFrame::SetModel(TObject* obj)
36 {
37   // Set model object.
38
39   if (obj)
40     fB->SetText(Form("%s [%s]", obj->GetName(), obj->ClassName()));
41   else
42     fB->SetText("No object selected");
43 }
44
45
46 //==============================================================================
47 // AliEveGedEditor
48 //==============================================================================
49
50 //______________________________________________________________________________
51 // Full description of AliEveGedEditor
52 //
53
54 ClassImp(AliEveGedEditor)
55
56 //______________________________________________________________________________
57 AliEveGedEditor::AliEveGedEditor() :
58   TEveGedEditor()
59 {
60   // Constructor.
61
62   // Remove old name-frame -- it is created in TGedEditor constructor
63   // so virtuals are not active yet.
64   fTabContainer->RemoveAll();
65
66   // Replace with a new one.
67   TGedFrame* nf = CreateNameFrame(fTabContainer, "Style");
68   nf->SetGedEditor(this);
69   nf->SetModelClass(0);
70   fTabContainer->AddFrame(nf, nf->GetLayoutHints());
71 }
72
73 //______________________________________________________________________________
74 TGedFrame* AliEveGedEditor::CreateNameFrame(const TGWindow* parent, const char* /*tab_name*/)
75 {
76   // Create name-frame for a tab.
77
78   return new AliEveGedFrame(parent);
79 }