// @(#)root/guibuilder:$Id$
// Author: Valeriy Onuchin   12/09/04

/*************************************************************************
 * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers.               *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

#ifndef ROOT_TGuiBldNameFrame
#define ROOT_TGuiBldNameFrame

//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TGuiBldNameFrame - frame sdisplaying the class name of frame         //
//                    and the name  of frame                            //
//                                                                      //
//                                                                      //
//////////////////////////////////////////////////////////////////////////


#ifndef ROOT_TGFrame
#include "TGFrame.h"
#endif

class TGLabel;
class TGTextEntry;
class TGuiBldEditor;
class TGuiBldEditor;
class TRootGuiBuilder;
class TGListTree;
class TGFrame;
class TGCanvas;
class TGListTreeItem;
class TGuiBldDragManager;


//////////////////////////////////////////////////////////////////////////
class TGuiBldNameFrame : public TGCompositeFrame {

private:
   TGLabel              *fLabel;       // label of frame class name
   TGTextEntry          *fFrameName;   // name of the frame
   TGuiBldEditor        *fEditor;      // pointer to main editor
   TGCompositeFrame     *fTitleFrame;  // frame saying that it's "Name Frame"
   TRootGuiBuilder      *fBuilder;     // pointer to builder
   TGuiBldDragManager   *fManager;     // main manager
   TGListTree           *fListTree;    // list tree containing frames hierarchy
   TGCanvas             *fCanvas;

protected:
   void DoRedraw();

public:
   TGuiBldNameFrame(const TGWindow *p, TGuiBldEditor *editor);
   virtual ~TGuiBldNameFrame() { }

   void              ChangeSelected(TGFrame *frame);
   Bool_t            CheckItems(TGCompositeFrame *main);
   TGListTreeItem   *FindItemByName(TGListTree *tree, const char* name, TGListTreeItem *item = 0);
   TGCompositeFrame *GetMdi(TGFrame *frame);
   void              MapItems(TGCompositeFrame *main);
   void              RemoveFrame(TGFrame *frame);
   void              Reset();
   void              SelectFrameByItem(TGListTreeItem* item, Int_t i = 0);
   void              UpdateName();

   ClassDef(TGuiBldNameFrame, 0) // frame name editor
};


#endif
 TGuiBldNameFrame.h:1
 TGuiBldNameFrame.h:2
 TGuiBldNameFrame.h:3
 TGuiBldNameFrame.h:4
 TGuiBldNameFrame.h:5
 TGuiBldNameFrame.h:6
 TGuiBldNameFrame.h:7
 TGuiBldNameFrame.h:8
 TGuiBldNameFrame.h:9
 TGuiBldNameFrame.h:10
 TGuiBldNameFrame.h:11
 TGuiBldNameFrame.h:12
 TGuiBldNameFrame.h:13
 TGuiBldNameFrame.h:14
 TGuiBldNameFrame.h:15
 TGuiBldNameFrame.h:16
 TGuiBldNameFrame.h:17
 TGuiBldNameFrame.h:18
 TGuiBldNameFrame.h:19
 TGuiBldNameFrame.h:20
 TGuiBldNameFrame.h:21
 TGuiBldNameFrame.h:22
 TGuiBldNameFrame.h:23
 TGuiBldNameFrame.h:24
 TGuiBldNameFrame.h:25
 TGuiBldNameFrame.h:26
 TGuiBldNameFrame.h:27
 TGuiBldNameFrame.h:28
 TGuiBldNameFrame.h:29
 TGuiBldNameFrame.h:30
 TGuiBldNameFrame.h:31
 TGuiBldNameFrame.h:32
 TGuiBldNameFrame.h:33
 TGuiBldNameFrame.h:34
 TGuiBldNameFrame.h:35
 TGuiBldNameFrame.h:36
 TGuiBldNameFrame.h:37
 TGuiBldNameFrame.h:38
 TGuiBldNameFrame.h:39
 TGuiBldNameFrame.h:40
 TGuiBldNameFrame.h:41
 TGuiBldNameFrame.h:42
 TGuiBldNameFrame.h:43
 TGuiBldNameFrame.h:44
 TGuiBldNameFrame.h:45
 TGuiBldNameFrame.h:46
 TGuiBldNameFrame.h:47
 TGuiBldNameFrame.h:48
 TGuiBldNameFrame.h:49
 TGuiBldNameFrame.h:50
 TGuiBldNameFrame.h:51
 TGuiBldNameFrame.h:52
 TGuiBldNameFrame.h:53
 TGuiBldNameFrame.h:54
 TGuiBldNameFrame.h:55
 TGuiBldNameFrame.h:56
 TGuiBldNameFrame.h:57
 TGuiBldNameFrame.h:58
 TGuiBldNameFrame.h:59
 TGuiBldNameFrame.h:60
 TGuiBldNameFrame.h:61
 TGuiBldNameFrame.h:62
 TGuiBldNameFrame.h:63
 TGuiBldNameFrame.h:64
 TGuiBldNameFrame.h:65
 TGuiBldNameFrame.h:66
 TGuiBldNameFrame.h:67
 TGuiBldNameFrame.h:68
 TGuiBldNameFrame.h:69
 TGuiBldNameFrame.h:70
 TGuiBldNameFrame.h:71
 TGuiBldNameFrame.h:72
 TGuiBldNameFrame.h:73
 TGuiBldNameFrame.h:74