This is the verbatim text of the qwidget.h include file. It is is provided only for illustration; the copyright remains with Troll Tech.


/****************************************************************************
** $Id: qwidget.h,v 1.40 1995/05/19 23:14:47 eiriken Exp $
**
** Definition of QWidget class
**
** Author  : Haavard Nord
** Created : 931029
**
** Copyright (C) 1993-1995 by Troll Tech AS.  All rights reserved.
**
*****************************************************************************/

#ifndef QWIDGET_H
#define QWIDGET_H

#include "qwindefs.h"
#include "qobject.h"
#include "qpaintd.h"
#include "qpalette.h"
#include "qfontmet.h"
#include "qfontinf.h"
#include "qcursor.h"
#include "qevent.h"


class QWidget : public QObject, public QPaintDevice
{                                               // base class for UI objects
friend class QApplication;
friend class QPainter;
    Q_OBJECT
public:
    QWidget( QWidget *parent=0, const char *name=0, WFlags f=0 );
   ~QWidget();

    WId     id()                const   { return ident; }

  // GUI style setting

    GUIStyle style() const;                     // get widget GUI style
    void    setStyle( GUIStyle );               // set widget GUI style

  // Widget control functions

    void    enable();                           // enable events
    void    disable();                          // disable events
    bool    isDisabled()        const   { return testFlag(WState_Disabled); }

  // Widget coordinates

    QRect   frameGeometry()     const   { return frect; }
    QRect   geometry()          const   { return crect; }
    int     x()                 const   { return crect.x(); }
    int     y()                 const   { return crect.y(); }
    QPoint  pos()               const   { return crect.topLeft(); }
    QSize   size()              const   { return crect.size(); }
    int     width()             const   { return crect.width(); }
    int     height()            const   { return crect.height(); }
    QRect   rect()              const   { return QRect(0,0,crect.width(),
                                                       crect.height()); }
    void    setMinimumSize( int w, int h );
    void    setMaximumSize( int w, int h );
    void    setSizeIncrement( int w, int h );

  // Widget coordinate mapping

    QPoint  mapToGlobal( const QPoint & )   const;
    QPoint  mapFromGlobal( const QPoint & ) const;
    QPoint  mapToParent( const QPoint & )   const;
    QPoint  mapFromParent( const QPoint & ) const;

  // Widget attribute functions

    QColor  backgroundColor() const;
    QColor  foregroundColor() const;
    virtual void setBackgroundColor( const QColor & );
    virtual void setBackgroundPixmap( const QPixmap & );

    const QColorGroup &colorGroup() const;
    const QPalette    &palette()    const;
    virtual void       setPalette( const QPalette & );

    QFontMetrics fontMetrics()  const { return QFontMetrics(fnt); }
    QFontInfo    fontInfo()     const { return QFontInfo(fnt); }

    QFont       &font();                        // get/set font
    virtual void setFont( const QFont & );
    QCursor cursor() const;                     // get/set cursor
    void    setCursor( const QCursor & );

    bool    setMouseTracking( bool enable );

  // Keyboard input focus functions

    bool    hasFocus() const;
    void    setFocus();                         // set keyboard focus

  // Grab functions

    void    grabMouse();
    void    grabMouse( const QCursor & );
    void    releaseMouse();
    void    grabKeyboard();
    void    releaseKeyboard();

  // Update/refresh functions

    bool    enableUpdates( bool enable );       // enable widget update/repaint
    void    update();                           // update widget
    void    update( int x, int y, int w, int h);// update part of widget
    void    repaint( bool erase=TRUE );         // repaint widget
    void    repaint( int x, int y, int w, int h, bool erase=TRUE );
    void    repaint( const QRect &, bool erase=TRUE );

  // Widget management functions

    virtual void show();                        // show widget
    virtual void hide();                        // hide widget
    virtual bool close( bool forceKill=FALSE ); // close widget
    bool    isVisible() const { return testFlag(WState_Visible); }
    bool    isActive()  const { return testFlag(WState_Active); }
    void    raise();                            // raise widget
    void    lower();                            // lower widget
    virtual void move( int x, int y );          // move widget
    void    move( const QPoint & );
    virtual void resize( int w, int h );        // resize widget
    void    resize( const QSize & );
    virtual void setGeometry( int x, int y, int w, int h );
    void    setGeometry( const QRect & );       // move and resize

    void    recreate( QWidget *parent, WFlags f, const QPoint &p,
                      bool showIt=FALSE );

    void    erase();                            // erase widget contents
    void    scroll( int dx, int dy );           // scroll widget contents

    void    drawText( int x, int y, const char * );
    void    drawText( const QPoint &, const char * );

  // Widget events

protected:
    bool         event( QEvent * );
    virtual void timerEvent( QTimerEvent * );
    virtual void mousePressEvent( QMouseEvent * );
    virtual void mouseReleaseEvent( QMouseEvent * );
    virtual void mouseDoubleClickEvent( QMouseEvent * );
    virtual void mouseMoveEvent( QMouseEvent * );
    virtual void keyPressEvent( QKeyEvent * );
    virtual void keyReleaseEvent( QKeyEvent * );
    virtual void focusInEvent( QFocusEvent * );
    virtual void focusOutEvent( QFocusEvent * );
    virtual void paintEvent( QPaintEvent * );
    virtual void moveEvent( QMoveEvent * );
    virtual void resizeEvent( QResizeEvent * );
    virtual void closeEvent( QCloseEvent * );

#if defined(_WS_MAC_)
    virtual bool macEvent( MSG * );             // Macintosh event
#elif defined(_WS_WIN_)
    virtual bool winEvent( MSG * );             // Windows (+NT) event
#elif defined(_WS_PM_)
    virtual bool pmEvent( QMSG * );             // OS/2 PM event
#elif defined(_WS_X11_)
    virtual bool x11Event( XEvent * );          // X11 event
#endif

  // Signals

signals:
    void    destroyed();

  // Misc. functions

public:
    QWidget    *parentWidget() const    { return (QWidget*)QObject::parent(); }
    bool        testFlag( WFlags n ) const { return (flags & n) != 0; }
    static QWidget       *find( WId );          // find widget by identifier
    static QWidgetMapper *wmapper()     { return mapper; }

protected:
    WFlags      getFlags() const        { return flags; }
    void        setFlag( WFlags n )     { flags |= n; }
    void        clearFlag( WFlags n )   { flags &= ~n; }
    void        setFRect( const QRect & );
    void        setCRect( const QRect & );
    bool        acceptFocus() const     { return testFlag(WState_AcceptFocus);}
    void        setAcceptFocus( bool );
    long        metric( int )    const;         // get metric information

    virtual bool focusNextChild();
    virtual bool focusPrevChild();
    
#if defined(_WS_PM_)
    int         convertYPos( int );
    void        reposChildren();
    WId         frm_wnd;
#endif

private:
    void        set_id( WId );                  // set widget id
    bool        create();                       // create widget
    bool        destroy();                      // destroy widget
    void        createExtra();                  // create extra data
    WId         ident;                          // widget identifier
    WFlags      flags;                          // widget flags
    QRect       frect;                          // widget frame geometry
    QRect       crect;                          // widget client geometry
    QColor      bg_col;                         // background color
    QPalette    pal;                            // widget palette
    QFont       fnt;                            // widget font
    QCursor     curs;                           // widget cursor
    QWExtra    *extra;                          // extra widget data
    QWidget    *focusChild;                     // child widget in focus
    static void createMapper();                 // create widget mapper
    static void destroyMapper();                // destroy widget mapper
    static QWidgetMapper *mapper;               // maps identifier to widget
};


inline void QWidget::repaint( bool erase )
{
    repaint( rect(), erase );
}

inline void QWidget::repaint( int x, int y, int w, int h, bool erase )
{
    repaint( QRect(x,y,w,h), erase );
}

inline void QWidget::move( const QPoint &p )
{
    move( p.x(), p.y() );
}

inline void QWidget::resize( const QSize &s )
{
    resize( s.width(), s.height());
}

inline void QWidget::setGeometry( const QRect &r )
{
    setGeometry( r.left(), r.top(), r.width(), r.height() );
}

inline void QWidget::drawText( const QPoint &p, const char *s )
{
    drawText( p.x(), p.y(), s );
}


#endif // QWIDGET_H


Generated at 16:17, 1995/06/30 by the webmaster at Troll Tech