library: libGuiBld #include "TGuiBldDragManager.h"

# TGuiBldDragManager

class description - source file - inheritance tree (.pdf)

## class TGuiBldDragManager : public TVirtualDragManager, public TGFrame

| Inheritance Chart:
`TVirtualDragManager`
`TObject`
| <- | `TGObject`
| <- | `TGWindow`
`TQObject`
| <- | `TGFrame`
| <- | `TGuiBldDragManager` |

        private:

                       void CloseMenus()
                       void DrawGrabRect(Int_t i, Int_t x, Int_t y)
                       void DrawGrabRectangles(TGWindow* win = 0)
          TGCompositeFrame* FindLayoutFrame(TGFrame* f)
               virtual void Init()
                     Bool_t IsSelectedVisible()

        public:

                             TGuiBldDragManager()
                             TGuiBldDragManager(const TGuiBldDragManager&)
                     virtual ~TGuiBldDragManager()
                        void BreakLayout()
              virtual Bool_t Cancel(Bool_t delSrc)
                      Bool_t CheckDragResize(Event_t* event)
                        void CheckTargetUnderGrab()
              static TClass* Class()
                        void CloneEditable()
                        void Compact(Bool_t global = kTRUE)
                        void CreatePropertyEditor()
                        void DeleteFrame(TGFrame* frame)
                        void DeletePropertyEditor()
                        void DoMove()
                virtual void DoRedraw()
                        void DoReplace(TGFrame* frame)
                        void DoResize()
                        void DrawLasso()
              virtual Bool_t Drop()
              virtual Bool_t EndDrag()
                        void ExecuteQuickAction(Event_t*)
           TGCompositeFrame* FindCompositeFrame(Window_t id)
                      Bool_t GetDropStatus() const
               virtual Int_t GetEndDragX() const
               virtual Int_t GetEndDragY() const
                      TList* GetFramesInside(Int_t x0, Int_t y0, Int_t x, Int_t y)
                      UInt_t GetGridStep()
                    TGFrame* GetSelected() const
               virtual Int_t GetStrartDragX() const
               virtual Int_t GetStrartDragY() const
                    TGFrame* GetTarget() const
                        void GrabFrame(TGFrame* frame)
                        void HandleAction(Int_t act)
                        void HandleAlignment(Int_t to, Bool_t lineup = kFALSE)
                        void HandleButon3Pressed(Event_t*, TGFrame* frame = 0)
              virtual Bool_t HandleButton(Event_t*)
                      Bool_t HandleButtonPress(Event_t*)
                      Bool_t HandleButtonRelease(Event_t*)
              virtual Bool_t HandleClientMessage(Event_t*)
              virtual Bool_t HandleConfigureNotify(Event_t*)
                        void HandleCopy()
                        void HandleCut()
                        void HandleDelete(Bool_t crop = kFALSE)
              virtual Bool_t HandleDoubleClick(Event_t*)
              virtual Bool_t HandleEvent(Event_t*)
              virtual Bool_t HandleExpose(Event_t*)
                        void HandleGrid()
              virtual Bool_t HandleKey(Event_t*)
                        void HandleLayoutOrder(Bool_t forward = kTRUE)
              virtual Bool_t HandleMotion(Event_t*)
                        void HandlePaste()
                        void HandleReplace()
                        void HandleReturn(Bool_t on = kFALSE)
              virtual Bool_t HandleSelection(Event_t*)
              virtual Bool_t HandleSelectionRequest(Event_t*)
              virtual Bool_t HandleTimer(TTimer*)
                        void HandleUpdateSelected(TGFrame*)
                        void HideGrabRectangles()
                        void HighlightCompositeFrame(Window_t)
              virtual Bool_t IgnoreEvent(Event_t* e)
                    TGFrame* InEditable(Window_t id)
             virtual TClass* IsA() const
                      Bool_t IsLassoDrawn() const
                      Bool_t IsMoveWaiting() const
                        void Menu4Frame(TGFrame*, Int_t x, Int_t y)
                        void Menu4Lasso(Int_t x, Int_t y)
                        void PlaceFrame(TGFrame*, TGLayoutHints*)
                      Bool_t RecognizeGesture(Event_t*, TGFrame* frame = 0)
                        void ReparentFrames(TGFrame* newfr, TGCompositeFrame* oldfr)
                        void Save(const char* file = "")
                        void Selected(TGFrame* frame)
                        void SelectFrame(TGFrame* frame, Bool_t add = kFALSE)
                        void SetBuilder(TRootGuiBuilder* b)
                        void SetCursorType(Int_t cur)
                virtual void SetEditable(Bool_t on = kTRUE)
                        void SetGridStep(UInt_t step)
                        void SetPropertyEditor(TGuiBldEditor* e)
                virtual void ShowMembers(TMemberInspector& insp, char* parent)
                        void Snap2Grid()
              virtual Bool_t StartDrag(TGFrame* src, Int_t x, Int_t y)
                virtual void Streamer(TBuffer& b)
                        void StreamerNVirtual(TBuffer& b)
                        void SwitchEditable(TGFrame* frame)
                        void SwitchLayout()
                        void ToGrid(Int_t& x, Int_t& y)
                        void UngrabFrame()

### Data Members

        private:

          TGuiBldDragManagerPimpl* fPimpl          private data
                  TRootGuiBuilder* fBuilder        pointer to gui builder
                    TGuiBldEditor* fEditor         frame property editor
              TGuiBldQuickHandler* fQuickHandler   quick action handler
                            Bool_t fLassoDrawn     kTRUE if  lasso drawn
                           TString fPasteFileName  paste_clippboard file name
                            Bool_t fSelectionIsOn  selection with Shift key pressed
                      TGPopupMenu* fFrameMenu      context menu for frames
                      TGPopupMenu* fLassoMenu      context menu for lasso drawn
                          Window_t fTargetId       an id of window where drop
                            Bool_t fDropStatus     kTRUE if drop was successfull

## Class Description

     TGuiBldDragManager

TGuiBldDragManager() : TVirtualDragManager() , TGFrame(gClient->GetDefaultRoot(), 1, 1)

     Constructor. Create "fantom window".

~TGuiBldDragManager()

     Destructor

void Init()

void Snap2Grid()

UInt_t GetGridStep()

void SetGridStep(UInt_t step)

Bool_t IgnoreEvent(Event_t *event)

TGFrame* InEditable(Window_t id)

TGCompositeFrame* FindCompositeFrame(Window_t id)

void SetCursorType(Int_t cur)

     sets cursor

Bool_t CheckDragResize(Event_t *event)

     check resize type event

void DoRedraw()

void SwitchEditable(TGFrame *frame)

void SelectFrame(TGFrame *frame, Bool_t add)

void Selected(TGFrame *frame)

void GrabFrame(TGFrame *frame)

void UngrabFrame()

Bool_t IsSelectedVisible()

void DrawGrabRectangles(TGWindow *win)

void DrawGrabRect(Int_t i, Int_t x, Int_t y)

void HighlightCompositeFrame(Window_t win)

Bool_t HandleTimer(TTimer *t)

     Handle repeat timer while dragging. Every time timer times out we move
     dragged frame set to another position.

Bool_t RecognizeGesture(Event_t *event, TGFrame *frame)

void HandleButon3Pressed(Event_t *event, TGFrame *frame)

Bool_t HandleButton(Event_t *event)

     handle button event occured in some ROOT frame

Bool_t HandleConfigureNotify(Event_t *event)

     resize events

Bool_t HandleExpose(Event_t *event)

     repaint events

Bool_t HandleEvent(Event_t *event)

     Handle all events.

Bool_t HandleDoubleClick(Event_t *)

Bool_t HandleButtonPress(Event_t *event)

     handle button press event

Bool_t HandleButtonRelease(Event_t *event)

     handle button release event

Bool_t HandleKey(Event_t *event)

     handle key event

void ReparentFrames(TGFrame *newfr, TGCompositeFrame *oldfr)

TList* GetFramesInside(Int_t x0, Int_t y0, Int_t x, Int_t y)

void HandleReturn(Bool_t on)

void HandleAlignment(Int_t to, Bool_t lineup)

     align frames located inside lasso

void HandleDelete(Bool_t crop)

void DeleteFrame(TGFrame *frame)

void HandleCut()

void HandleCopy()

void HandlePaste()

void DoReplace(TGFrame *frame)

void HandleReplace()

void CloneEditable()

void Save(const char *file)

void DoResize()

     handle resize

void DoMove()

void CheckTargetUnderGrab()

Bool_t HandleMotion(Event_t *event)

     handle motion event

void PlaceFrame(TGFrame *frame, TGLayoutHints *hints)

void DrawLasso()

     draw lasso for allocation new object

Bool_t HandleClientMessage(Event_t *event)

Bool_t HandleSelection(Event_t *)

Bool_t HandleSelectionRequest(Event_t *)

Bool_t StartDrag(TGFrame *src, Int_t x, Int_t y)

     start dragging

Bool_t EndDrag()

     end dragging

Bool_t Cancel(Bool_t /*delSrc*/)

Bool_t Drop()

Bool_t IsMoveWaiting() const

     Waits for either the mouse move from the given initial ButtonPress location
     or for the mouse button to be released. If mouse moves away from the initial
     ButtonPress location before the mouse button is released "IsMoveWaiting"
     returns kTRUE. If the mouse button released before the mose moved from the
     initial ButtonPress location, "IsMoveWaiting" returns kFALSE.

void Compact(Bool_t global)

     Layout and Resize frame.
     If global is kFALSE - compact selected frame
     If global is kFALSE - compact main frame of selected frame

void SetEditable(Bool_t on)

     grab server

void ToGrid(Int_t &x, Int_t &y)

void HandleAction(Int_t act)

void Menu4Frame(TGFrame *frame, Int_t x, Int_t y)

     create and  place context menu for selected frame

void Menu4Lasso(Int_t x, Int_t y)

void CreatePropertyEditor()

void SetPropertyEditor(TGuiBldEditor *e)

void HandleLayoutOrder(Bool_t forward)

void HandleGrid()

TGCompositeFrame* FindLayoutFrame(TGFrame *f)

void HandleUpdateSelected(TGFrame *f)

void HideGrabRectangles()

void DeletePropertyEditor()

Int_t GetStrartDragX() const

Int_t GetStrartDragY() const

Int_t GetEndDragX() const

Int_t GetEndDragY() const

void ExecuteQuickAction(Event_t *event)

void BreakLayout()

void SwitchLayout()

TGFrame* GetSelected() const

void CloseMenus()

### Inline Functions

                        Bool_t IsLassoDrawn() const
                      TGFrame* GetTarget() const
                        Bool_t GetDropStatus() const
                          void SetBuilder(TRootGuiBuilder* b)
                       TClass* Class()
                       TClass* IsA() const
                          void ShowMembers(TMemberInspector& insp, char* parent)
                          void Streamer(TBuffer& b)
                          void StreamerNVirtual(TBuffer& b)
            TGuiBldDragManager TGuiBldDragManager(const TGuiBldDragManager&)

Author: Valeriy Onuchin 12/09/04
Last update: root/guibuilder:$Name: $:$Id: TGuiBldDragManager.cxx,v 1.32 2005/02/18 11:22:28 rdm Exp $
Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *