00001 // @(#)root/guibuilder:$Id: TGuiBldEditor.h 30063 2009-09-08 12:15:59Z bellenot $ 00002 // Author: Valeriy Onuchin 12/09/04 00003 00004 /************************************************************************* 00005 * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * 00006 * All rights reserved. * 00007 * * 00008 * For the licensing terms see $ROOTSYS/LICENSE. * 00009 * For the list of contributors see $ROOTSYS/README/CREDITS. * 00010 *************************************************************************/ 00011 00012 #ifndef ROOT_TGuiBldEditor 00013 #define ROOT_TGuiBldEditor 00014 00015 00016 ////////////////////////////////////////////////////////////////////////// 00017 // // 00018 // TGuiBldEditor // 00019 // // 00020 ////////////////////////////////////////////////////////////////////////// 00021 00022 00023 #ifndef ROOT_TGFrame 00024 #include "TGFrame.h" 00025 #endif 00026 00027 #ifndef ROOT_TGNumberEntry 00028 #include "TGNumberEntry.h" 00029 #endif 00030 00031 class TGuiBldHintsEditor; 00032 class TGuiBldNameFrame; 00033 class TGuiBldBorderFrame; 00034 class TGuiBldGeometryFrame; 00035 class TGuiBldDragManager; 00036 class TGTab; 00037 class TGButton; 00038 class TGLabel; 00039 class TGGroupFrame; 00040 class TGCompositeFrame; 00041 00042 ////////////////////////////////////////////////////////////////////////// 00043 class TGuiBldEditor : public TGVerticalFrame { 00044 00045 friend class TGuiBldDragManager; 00046 00047 private: 00048 TGFrame *fSelected; // editted frame 00049 TGuiBldNameFrame *fNameFrame; // frame name 00050 TGuiBldHintsEditor *fHintsFrame; // frame hints 00051 TGuiBldBorderFrame *fBorderFrame; // frame border 00052 TGuiBldGeometryFrame *fGeomFrame; // frame geom 00053 TGGroupFrame *fPositionFrame; // X,Y coordinates 00054 TGuiBldDragManager *fManager; // main manager 00055 Bool_t fEmbedded; // kTRUE when it is inside guibuilder 00056 TGTab *fTab; // tab frame 00057 TGCompositeFrame *fTablay; // layout tab frame 00058 Int_t fLayoutId; // the id of layout tab 00059 TGTextButton *fLayoutButton; // button to enable/disable layout 00060 TGLabel *fLayoutLabel; // saying if layout is enabled 00061 TGNumberEntry *fXpos; // X position 00062 TGNumberEntry *fYpos; // Y position 00063 00064 public: 00065 TGuiBldEditor(const TGWindow *p = 0); 00066 virtual ~TGuiBldEditor(); 00067 00068 Int_t GetXPos() const { return fXpos->GetIntNumber(); } 00069 Int_t GetYPos() const { return fYpos->GetIntNumber(); } 00070 void SetXPos(Int_t pos) { fXpos->SetIntNumber(pos); } 00071 void SetYPos(Int_t pos) { fYpos->SetIntNumber(pos); } 00072 00073 TGFrame *GetSelected() const { return fSelected; } 00074 Bool_t IsEmbedded() const { return fEmbedded; } 00075 void SetEmbedded(Bool_t e = kTRUE) { fEmbedded = e; } 00076 void Hide(); 00077 void UpdateBorder(Int_t); 00078 void UpdateBackground(Pixel_t col); 00079 void UpdateForeground(Pixel_t col); 00080 void Reset(); 00081 TGuiBldHintsEditor *GetHintsEditor() const { return fHintsFrame; } 00082 00083 void RemoveFrame(TGFrame *); 00084 void TabSelected(Int_t id); 00085 void UpdateSelected(TGFrame* = 0); //*SIGNAL* 00086 void ChangeSelected(TGFrame*); //*SIGNAL* 00087 void SwitchLayout(); 00088 00089 ClassDef(TGuiBldEditor,0) // frame property editor 00090 }; 00091 00092 #endif