|  | 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