File indexing completed on 2024-04-21 05:54:01

0001 /*
0002     This file is part of the Okteta program, made within the KDE community.
0003 
0004     SPDX-FileCopyrightText: 2006-2007, 2011, 2014 Friedrich W. H. Kossebau <kossebau@kde.org>
0005 
0006     SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0007 */
0008 
0009 #ifndef OKTETAPROGRAM_HPP
0010 #define OKTETAPROGRAM_HPP
0011 
0012 // Qt
0013 #include <QApplication>
0014 
0015 namespace Kasten {
0016 
0017 class DialogHandler;
0018 class DocumentManager;
0019 class ViewManager;
0020 class MultiDocumentStrategy;
0021 // tmp
0022 class ByteArrayViewProfileManager;
0023 
0024 class OktetaProgram
0025 {
0026 public:
0027     OktetaProgram(int& argc, char* argv[]);
0028     OktetaProgram(const OktetaProgram&) = delete;
0029     ~OktetaProgram();
0030 
0031     OktetaProgram& operator=(const OktetaProgram&) = delete;
0032 
0033 public:
0034     int execute();
0035     void quit();
0036 
0037 public:
0038     DocumentManager* documentManager();
0039     ViewManager* viewManager();
0040     MultiDocumentStrategy* documentStrategy();
0041     ByteArrayViewProfileManager* byteArrayViewProfileManager();
0042 
0043 private:
0044     QApplication mApp;
0045 
0046     DocumentManager* mDocumentManager;
0047     ViewManager* mViewManager;
0048     MultiDocumentStrategy* mDocumentStrategy;
0049 
0050     DialogHandler* mDialogHandler;
0051 
0052     ByteArrayViewProfileManager* mByteArrayViewProfileManager;
0053 };
0054 
0055 inline DocumentManager* OktetaProgram::documentManager() { return mDocumentManager; }
0056 inline ViewManager* OktetaProgram::viewManager()         { return mViewManager; }
0057 inline MultiDocumentStrategy* OktetaProgram::documentStrategy() { return mDocumentStrategy; }
0058 inline ByteArrayViewProfileManager* OktetaProgram::byteArrayViewProfileManager() { return mByteArrayViewProfileManager; }
0059 
0060 }
0061 
0062 #endif