TQtClientWidget is QFrame designed to back the ROOT GUI TGWindow class objects TQtClientWidget is a QFrame implementation backing ROOT TGWindow objects It tries to mimic the X11 Widget behaviour, that kind the ROOT Gui relies on heavily. Since ROOT has a habit to destroy the widget many times, to protect the C++ QWidget against of double deleting all TQtClientWidgets are to be registered with a special "guard" container
| virtual | ~TQtClientWidget() | 
| virtual void | Accelerate(int id) | 
| EMouseButton | Button() const | 
| UInt_t | ButtonEventMask() const | 
| UInt_t | ButtonMask() const | 
| static TClass* | Class() | 
| virtual void | closeEvent(QCloseEvent* ev) | 
| bool | DeleteNotify() | 
| TQtWidget* | GetCanvasWidget() const | 
| QCursor* | GrabButtonCursor() const | 
| void | GrabEvent(Event_t& ev, bool own = TRUE) | 
| QCursor* | GrabPointerCursor() const | 
| Q3Accel* | HasAccel() const | 
| virtual TClass* | IsA() const | 
| bool | IsClosing() | 
| UInt_t | IsEventSelected(UInt_t evmask) const | 
| bool | IsGrabbed(Event_t& ev) | 
| bool | IsGrabButtonSelected(UInt_t evmask) const | 
| bool | IsGrabOwner() | 
| bool | IsGrabPointerSelected(UInt_t evmask) const | 
| TQtClientWidget* | IsKeyGrabbed(const Event_t& ev) | 
| UInt_t | PointerMask() const | 
| virtual void | polish() | 
| UInt_t | SelectEventMask() const | 
| void | SelectInput(UInt_t evmask) | 
| void | SetAttributeEventMask(UInt_t evmask) | 
| void | SetButtonEventMask(UInt_t evmask, Cursor_t cursor = 0) | 
| void | SetButtonMask(UInt_t modifier = kAnyModifier, EMouseButton button = kAnyButton) | 
| void | SetClosing(bool flag = kTRUE) | 
| void | SetCursor() | 
| void | SetCursor(Cursor_t cursor) | 
| void | SetDeleteNotify(bool flag = true) | 
| virtual void | setEraseColor(const QColor& color) | 
| virtual void | setErasePixmap(const QPixmap& pixmap) | 
| Bool_t | SetKeyMask(Int_t keycode = 0, UInt_t modifier = kAnyModifier, int insert = kInsert) | 
| virtual void | ShowMembers(TMemberInspector& insp, char* parent) | 
| virtual void | Streamer(TBuffer& b) | 
| void | StreamerNVirtual(TBuffer& b) | 
| void | UnSetButtonMask(bool dtor = false) | 
| void | UnSetKeyMask(Int_t keycode = 0, UInt_t modifier = kAnyModifier) | 
| TQtClientWidget(TQtClientGuard* guard, int* parent = 0, const char* name = 0, int f = 0) | |
| virtual void | paintEvent(QPaintEvent*) | 
| void | SetCanvasWidget(TQtWidget* widget) | 
| TQtClientWidget(const TQtClientWidget&) | |
| void | operator=(const TQtClientWidget&) | 
| EMouseButton | fButton | |
| TQtWidget* | fCanvasWidget | |
| bool | fDeleteNotify | |
| QColor* | fEraseColor | Color to paint widget background with our PainEvent | 
| QPixmap* | fErasePixmap | pixmap to paint widget background with our PainEvent | 
| QCursor* | fGrabButtonCursor | |
| UInt_t | fGrabButtonMask | modifier button mask for TVirtualX::GrabButton | 
| UInt_t | fGrabEventButtonMask | input event mask for TVirtualX::GrabButton | 
| UInt_t | fGrabEventPointerMask | input event mask for TVirtualX::GrabPointer | 
| QCursor* | fGrabPointerCursor | |
| QAccel* | fGrabbedKey | |
| TQtClientGuard* | fGuard | |
| bool | fIsClosing | |
| TGWindow* | fMyRootWindow | back pointer to the host window object | 
| QCursor* | fNormalPointerCursor | |
| Bool_t | fPointerOwner | |
| UInt_t | fSaveSelectInputMask | To save dutinr the grabbing the selectInput | 
| UInt_t | fSelectEventMask | input mask for SelectInput | 

 fprintf(stderr, "TQtClientWidget::~TQtClientWidget dtor %p\n", this);
 remove the event filter
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 XGrabButton(3X11)         XLIB FUNCTIONS        XGrabButton(3X11)
   ·    The pointer is not grabbed, and the specified button is logically
        pressed when the specified modifier keys are logically down,
        and no other buttons or modifier keys are logically down.
   ·    The grab_window contains the pointer.
   ·    The confine_to window (if any) is viewable.
   ·    A passive grab on the same button/key combination does not exist
        on any ancestor of grab_window.
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
replace the original Windows_t with the grabbing id and re-caclulate the mouse coordinate to respect the new Windows_t id if any
Set the Button mask
 Set the key button mask
 insert   = -1 - remove
             0 - test
            +1 - insert
Delayed initialization of a widget. This function will be called after a widget has been fully created and before it is shown the very first time.
{ fGrabEventButtonMask = evmask; fGrabButtonCursor =(QCursor *) cursor; }