File indexing completed on 2024-05-05 04:02:03
0001 /* 0002 SPDX-FileCopyrightText: 2007-2008 John-Paul Stanford <jp@stanwood.org.uk> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #ifndef BOMBER_H 0008 #define BOMBER_H 0009 0010 // KF 0011 #include <KXmlGuiWindow> 0012 0013 // KDEGames 0014 #include <KGameThemeProvider> 0015 0016 // Bomber 0017 #include "bomberwidget.h" 0018 0019 class QAction; 0020 class QStatusBar; 0021 class KToggleAction; 0022 class KGameThemeSelector; 0023 class QLabel; 0024 0025 /** 0026 * This class serves as the main window for Bomber. It handles the 0027 * menus, toolbars, and status bars. 0028 * 0029 * @short Main window class 0030 */ 0031 class Bomber : public KXmlGuiWindow 0032 { 0033 Q_OBJECT 0034 public: 0035 Bomber(); 0036 ~Bomber() override; 0037 0038 void readSettings(); 0039 0040 private Q_SLOTS: 0041 void closeGame(); 0042 void newGame(); 0043 void pauseGame(); 0044 void showHighscore(); 0045 void showPreferences(); 0046 0047 void displayLevel(unsigned int level); 0048 void displayScore(unsigned int score); 0049 void displayLives(unsigned int lives); 0050 void gameStateChanged(BomberGameWidget::State state); 0051 0052 private: 0053 void highscore(); 0054 void initXMLUI(); 0055 0056 KGameThemeProvider m_provider; 0057 KGameThemeSelector * m_selector; 0058 0059 BomberGameWidget * m_gameWidget; 0060 QStatusBar * m_statusBar; 0061 0062 KToggleAction *m_pauseAction, *m_backgroundShowAction, *m_soundAction; 0063 QAction * m_newAction; 0064 QLabel *m_level, *m_score, *m_lives; 0065 }; 0066 0067 #endif