library: libGQt
#include "TQtWidget.h"

TQtWidget


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

class TQtWidget : public QWidget

Inheritance Chart:
QWidget
<-
TQtWidget
    private:
TQtWidget(const TQtWidget&) void operator=(const TQtWidget&) const void operator=(const TQtWidget&) protected:
void AdjustBufferSize() TCanvas* Canvas() virtual void customEvent(QCustomEvent*) virtual void EmitCanvasPainted() virtual void enterEvent(QEvent*) virtual void exitSizeEvent() virtual void focusInEvent(QFocusEvent*) virtual void focusOutEvent(QFocusEvent*) QWidget* GetRootID() const virtual void keyPressEvent(QKeyEvent*) virtual void keyReleaseEvent(QKeyEvent*) virtual void leaveEvent(QEvent*) virtual void mouseDoubleClickEvent(QMouseEvent*) virtual void mouseMoveEvent(QMouseEvent*) virtual void mousePressEvent(QMouseEvent*) virtual void mouseReleaseEvent(QMouseEvent*) virtual void paintEvent(QPaintEvent*) bool paintFlag(bool mode = TRUE) bool paintingActive() const virtual void resizeEvent(QResizeEvent*) void SetRootID(QWidget* wrapper) virtual void SetSizeHint(const QSize& size) virtual void showEvent(QShowEvent*) virtual void stretchWidget(QResizeEvent* e) public:
TQtWidget(QWidget* parent = 0) virtual ~TQtWidget() virtual void adjustSize() virtual void cd() virtual void cd(int subpadnumber) static TClass* Class() void DisableSignalEvents(UInt_t f) void Disconnect() void EmitSignal(UInt_t f) void EmitTestedSignal() void EnableSignalEvents(UInt_t f) virtual void erase() UInt_t GetAllBits() const QPixmap& GetBuffer() const QPixmap& GetBuffer() const TCanvas* GetCanvas() const Int_t GetEvent() const Int_t GetEventX() const Int_t GetEventY() const TObject* GetSelected() const TVirtualPad* GetSelectedPad() const Int_t GetSelectedX() const Int_t GetSelectedY() const static TApplication* InitRint(Bool_t prompt = kFALSE, const char* appClassName = "QtRint", int* argc = 0, char** argv = "0", void* options = 0, int numOptions = 0, Bool_t noLogo = kFALSE) void InvertBit(UInt_t f) virtual TClass* IsA() const bool IsDoubleBuffered() Bool_t IsSignalEventEnabled(UInt_t f) const virtual QSize minimumSizeHint() const void Refresh() void ResetBit(UInt_t f) virtual void resize(int w, int h) virtual bool Save(const QString& fileName) const virtual bool Save(const char* fileName) const virtual bool Save(const QString& fileName, const char* format, int quality = 60) const virtual bool Save(const char* fileName, const char* format, int quality = 60) const void SetAllBits(UInt_t f) void SetBit(UInt_t f, Bool_t set) void SetBit(UInt_t f) void SetCanvas(TCanvas* c) void SetDoubleBuffer(bool on = TRUE) virtual void SetSaveFormat(const char* format) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual QSize sizeHint() const virtual QSizePolicy sizePolicy() const virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b) Bool_t TestBit(UInt_t f) const Int_t TestBits(UInt_t f) const

Data Members

    private:
UInt_t fBits bit field status word protected:
TCanvas* fCanvas TQtWidgetBuffer fPixmapID Double buffer of this widget bool fPaint bool fSizeChanged bool fDoubleBufferOn bool fEmbedded QSize fSizeHint QWidget* fWrapper QString fSaveFormat public:
static const enum TQtWidget:: kBitMask static const enum TQtWidget:: kEXITSIZEMOVE static const enum TQtWidget:: kENTERSIZEMOVE static const enum TQtWidget:: kFORCESIZE

Class Description


  TQtWidget is a QWidget with the QPixmap double buffer
  It is designed to back the ROOT TCanvasImp class interface  and it can be used
  as a regular Qt Widget to create Qt-based GUI with the embedded TCanvas objects

           This widget can be used as a Qt "custom widget"
         to build a custom GUI interfaces with  Qt Designer

 The class emits the Qt signals and has Qt public slots

  Public slots:  (Qt)

   virtual void cd();  // make the associated TCanvas the current one (shortcut to TCanvas::cd())
   virtual void cd(int subpadnumber); // as above - shortcut to Canvas::cd(int subpadnumber)
   void Disconnect(); // disconnect the QWidget from the ROOT TCanvas (used in the class dtor)
   void Refresh();    // force the associated TCanvas::Update to be called
   virtual bool Save(const QString &fileName) const;  // Save the widget image with some ppixmap file
   virtual bool Save(const char    *fileName) const;
   virtual bool Save(const QString &fileName,const char *format,int quality=60) const;
   virtual bool Save(const char    *fileName,const char *format,int quality=60) const;

  signals        (Qt)

    CanvasPainted();  // Signal the TCanvas has been painted onto the screen
    Saved(bool ok);   // Signal the TCanvas has been saved into the file
    RootEventProcessed(TObject *selected, unsigned int event, TCanvas *c);
                      // Signal the Qt mouse/keyboard event has been process by ROOT
                      // This "signal" is emitted by the enabled mouse events only.
                      // See: EnableSignalEvents
                      // ---  DisableSignalEvents

  public methods:
    The methods below define whether the TQtWidget object emits "RootEventProcessed" Qt signals
     (By default no  RootEventProcessed Qt signal is emitted )
     void EnableSignalEvents (UInt_t f)
     void DisableSignalEvents(UInt_t f),
         where f is a bitwise OR of the mouse event flags:
                  kMousePressEvent       // TCanvas processed QEvent mousePressEvent
                  kMouseMoveEvent        // TCanvas processed QEvent mouseMoveEvent
                  kMouseReleaseEvent     // TCanvas processed QEvent mouseReleaseEvent
                  kMouseDoubleClickEvent // TCanvas processed QEvent mouseDoubleClickEvent
                  kKeyPressEvent         // TCanvas processed QEvent keyPressEvent
                  kEnterEvent            // TCanvas processed QEvent enterEvent
                  kLeaveEvent            // TCanvas processed QEvent leaveEvent

  For example to create the custom responce to the mouse crossing TCanvas
  connect the RootEventProsecced signal with your qt slot:

 connect(tQtWidget,SIGNAL(RootEventProcessed(TObject *, unsigned int, TCanvas *))
          ,this,SLOT(CanvasEvent(TObject *, unsigned int, TCanvas *)));
  . . .

void qtrootexample1::CanvasEvent(TObject *obj, unsigned int event, TCanvas *)
{
  TQtWidget *tipped = (TQtWidget *)sender();
  const char *objectInfo =
        obj->GetObjectInfo(tipped->GetEventX(),tipped->GetEventY());
  QString tipText ="You have ";
  if  (tipped == tQtWidget1)
     tipText +="clicked";
  else
     tipText +="passed";
  tipText += " the object <";
  tipText += obj->GetName();
  tipText += "> of class ";
  tipText += obj->ClassName();
  tipText += " : ";
  tipText += objectInfo;

   QWhatsThis::display(tipText)
 }


TCanvas * Canvas()
TQtWidget(QWidget* parent, const char* name, Qt::WFlags f,bool embedded)
~TQtWidget()
void adjustSize()
 Adjusts the size of the widget to fit the contents.
 Adjust the size of the double buffer to the
 current Widget size
void cd()
 [slot] to make this embedded canvas the current one
void cd(int subpadnumber)
 [slot] to make this embedded canvas / pad the current one
void Disconnect()
 [slot] Disconnect the Qt widget from TCanvas object before deleting
 to avoid the dead lock
 one has to set CanvasID = 0 to disconnect things properly.
void Refresh()
 [slot]  to allow Qt signal refreshing the ROOT TCanvas if needed
void customEvent(QCustomEvent *e)
 The custom responce to the special WIN32 events
 These events are not present with X11 systems
void mouseReleaseEvent(QMouseEvent * e)
  Map the Qt mouse button release event to the ROOT TCanvas events
   kButton1Up     = 11, kButton2Up     = 12, kButton3Up     = 13
void mouseDoubleClickEvent(QMouseEvent * e)
  Map the Qt mouse double click button event to the ROOT TCanvas events
  kButton1Double = 61, kButton2Double = 62, kButton3Double = 63
void keyPressEvent(QKeyEvent * e)
  Map the Qt key press event to the ROOT TCanvas events
 kKeyDown  =  4
void keyReleaseEvent(QKeyEvent * e)
 Map the Qt key release event to the ROOT TCanvas events
 kKeyUp    = 14
void enterEvent(QEvent *e)
 Map the Qt mouse enters widget event to the ROOT TCanvas events
 kMouseEnter    = 52
void resizeEvent(QResizeEvent *e)
 The widget will be erased and receive a paint event immediately after
 processing the resize event.
 No drawing need be (or should be) done inside this handler.
void SetSaveFormat(const char *format)
 Set the default save format for the widget
bool Save(const char *fileName)
  TQtWidget::Save(const QString &fileName) is a public Qt slot.
  it saves the double buffer of this object using the default save
  format  defined the file extension
  If the "fileName" has no extension the "default" format is to be used instead
  The deafult format is "PNG".
  It can be changed with the TQtWidget::SetSaveFormat method

bool Save(const QString &fileName)
  TQtWidget::Save(const QString &fileName) is a public Qt slot.
  it saves the double buffer of this object using the default save
  format  defined the file extension
  If the "fileName" has no extension the "default" format is to be used instead
  The deafult format is "PNG".
  It can be changed with the TQtWidget::SetSaveFormat method

bool Save(const char *fileName,const char *format,int quality)
bool Save(const QString &fileName,const char *format,int quality)
  TQtWidget::save is a public Qt slot.
  it saves the double buffer of this object using QPixmap facility
bool paintFlag(bool mode)
  Set new fPaint flag
  Returns: the previous version of the flag
void EmitTestedSignal()
void SetBit(UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f.
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________

  Proxy methods to access the TCanvas selected TObject
  and last processed event
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
----- bit manipulation








void operator=(const TQtWidget&)
void operator=(const TQtWidget&)
TQtWidget(const TQtWidget&)
void SetCanvas(TCanvas *c)
bool IsDoubleBuffered()
void SetDoubleBuffer(bool on=TRUE)
void SetRootID(QWidget *wrapper)
void EmitCanvasPainted()
void AdjustBufferSize()
void stretchWidget(QResizeEvent *e)
UInt_t GetAllBits()
void SetAllBits(UInt_t f)
Int_t GetEvent()
  Proxy methods to access the TCanvas selected TObject
  and last processed ROOT TCanvas event
Int_t GetEventX()
Int_t GetEventY()
Int_t GetSelectedX()
Int_t GetSelectedY()
Bool_t IsSignalEventEnabled(UInt_t f)

Author: Valeri Fine 23/01/2003
Last update: root/qt:$Name: $:$Id: TQtWidget.cxx,v 1.23 2006/05/08 13:16:56 antcheva Exp $
Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *


ROOT page - Class index - Class Hierarchy - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.