|  | Home · All Classes · Main Classes · Grouped Classes · Modules · Functions |

# toplevel.h Example File
graphicsview/portedasteroids/toplevel.h

    /****************************************************************************
    **
    ** Copyright (C) 2006-2006 Trolltech ASA. All rights reserved.
    **
    ** This file is part of the example classes of the Qt Toolkit.
    **
    ** Licensees holding valid Qt Preview licenses may use this file in
    ** accordance with the Qt Preview License Agreement provided with the
    ** Software.
    **
    ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
    ** information about Qt Commercial License Agreements.
    **
    ** Contact info@trolltech.com if any conditions of this licensing are
    ** not clear to you.
    **
    ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
    ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
    **
    ****************************************************************************/

    /*
     * KAsteroids - Copyright (c) Martin R. Jones 1997
     *
     * Part of the KDE project
     */

    #ifndef __KAST_TOPLEVEL_H__
    #define __KAST_TOPLEVEL_H__

    #include <q3mainwindow.h>
    #include <q3dict.h>
    #include <qmap.h>
    //Added by qt3to4:
    #include <QShowEvent>
    #include <QHideEvent>
    #include <QKeyEvent>

    #include "view.h"

    class KALedMeter;
    class QLCDNumber;

    class KAstTopLevel : public Q3MainWindow
    {
        Q_OBJECT
    public:
        KAstTopLevel( QWidget *parent=0, const char *name=0 );
        virtual ~KAstTopLevel();

    private:
        void playSound( const char *snd );
        void readSoundMapping();
        void doStats();

    protected:
        virtual void showEvent( QShowEvent * );
        virtual void hideEvent( QHideEvent * );
        virtual void keyPressEvent( QKeyEvent *event );
        virtual void keyReleaseEvent( QKeyEvent *event );

    private slots:
        void slotNewGame();

        void slotShipKilled();
        void slotRockHit( int size );
        void slotRocksRemoved();

        void slotUpdateVitals();

    private:
        KAsteroidsView *view;
        QLCDNumber *scoreLCD;
        QLCDNumber *levelLCD;
        QLCDNumber *shipsLCD;

        QLCDNumber *teleportsLCD;
    //    QLCDNumber *bombsLCD;
        QLCDNumber *brakesLCD;
        QLCDNumber *shieldLCD;
        QLCDNumber *shootLCD;
        KALedMeter *powerMeter;

        bool   sound;
        Q3Dict<QString> soundDict;

        // waiting for user to press Enter to launch a ship
        bool waitShip;
        bool isPaused;

        int shipsRemain;
        int score;
        int level;
        bool showHiscores;

        enum Action { Launch, Thrust, RotateLeft, RotateRight, Shoot, Teleport,
                        Brake, Shield, Pause, NewGame  };

        QMap<int,Action> actions;
    };

    #endif