12 #ifndef ROOT_TVirtualDragManager
13 #define ROOT_TVirtualDragManager
24 enum EDragType { kDragNone, kDragMove, kDragCopy,
25 kDragLink, kDragLasso, kDragResize };
28 class TVirtualDragManager {
45 TVirtualDragManager();
46 virtual ~TVirtualDragManager() {}
48 EDragType GetEDragType()
const {
return fDragType; }
49 Bool_t IsMoveWaiting()
const {
return fMoveWaiting; }
50 Bool_t IsDragging()
const {
return fDragging; }
51 Bool_t IsDropping()
const {
return fDropping; }
52 Bool_t IsPasting()
const {
return fPasting; }
53 TGFrame *GetTarget()
const {
return fTarget; }
54 TGFrame *GetSource()
const {
return fSource; }
55 TGFrame *GetFrameUnder()
const {
return fFrameUnder; }
56 TGFrame *GetPasteFrame()
const {
return fPasteFrame; }
58 virtual void SetTarget(TGFrame *f) { fTarget = f; }
59 virtual void SetSource(TGFrame *f) { fSource = f; }
60 virtual void SetPasteFrame(TGFrame *f) { fPasteFrame = f; }
62 virtual Bool_t StartDrag(TGFrame * = 0, Int_t = 0, Int_t = 0) {
return kFALSE; }
63 virtual Bool_t EndDrag() {
return kFALSE; }
64 virtual Bool_t Drop() {
return kFALSE; }
65 virtual Bool_t Cancel(Bool_t = kTRUE) {
return kFALSE; }
67 virtual Bool_t HandleEvent(Event_t *) {
return kFALSE; }
68 virtual Bool_t HandleTimerEvent(Event_t *, TTimer *) {
return kFALSE; }
69 virtual Bool_t IgnoreEvent(Event_t *) {
return kTRUE; }
70 virtual void SetEditable(Bool_t) {}
72 virtual Int_t GetStrartDragX()
const {
return 0; }
73 virtual Int_t GetStrartDragY()
const {
return 0; }
74 virtual Int_t GetEndDragX()
const {
return 0; }
75 virtual Int_t GetEndDragY()
const {
return 0; }
77 static TVirtualDragManager *Instance();
79 ClassDef(TVirtualDragManager,0)
82 R__EXTERN TVirtualDragManager *gDragManager;