File indexing completed on 2024-12-01 03:46:51
0001 /* 0002 This file is part of Killbots. 0003 0004 SPDX-FileCopyrightText: 2006-2009 Parker Coates <coates@kde.org> 0005 0006 SPDX-License-Identifier: GPL-2.0-or-later 0007 */ 0008 0009 #ifndef KILLBOTS_MAINWINDOW_H 0010 #define KILLBOTS_MAINWINDOW_H 0011 0012 class QAction; 0013 class KGameHighScoreDialog; 0014 #include <KXmlGuiWindow> 0015 0016 namespace Killbots 0017 { 0018 class Engine; 0019 class Coordinator; 0020 class Scene; 0021 class View; 0022 0023 class MainWindow : public KXmlGuiWindow 0024 { 0025 Q_OBJECT 0026 0027 public: // functions 0028 explicit MainWindow(QWidget *parent = nullptr); 0029 ~MainWindow() override; 0030 0031 private: // functions 0032 void setupActions(); 0033 QAction *createMappedAction(int mapping, const QString &internalName, const QString &displayName, const QString &translatedShortcut, const int alternateShortcut, const QString &toolTip = QString(), const QString &icon = QString()); 0034 void createScoreDialog(); 0035 0036 private Q_SLOTS: 0037 void showHighscores(); 0038 void configurePreferences(); 0039 void onGameOver(int score, int round); 0040 void onSettingsChanged(); 0041 void onConfigDialogClosed(); 0042 0043 private : // data members 0044 Scene *m_scene; 0045 Engine *m_engine; 0046 View *m_view; 0047 Coordinator *m_coordinator; 0048 KGameHighScoreDialog *m_scoreDialog; 0049 bool m_rulesetChanged; 0050 }; 0051 0052 } 0053 0054 #endif 0055