![]() |
RTXI 1.3
|
00001 /* 00002 Copyright (C) 2011 Georgia Institute of Technology, University of Utah, Weill Cornell Medical College 00003 00004 This program is free software: you can redistribute it and/or modify 00005 it under the terms of the GNU General Public License as published by 00006 the Free Software Foundation, either version 3 of the License, or 00007 (at your option) any later version. 00008 00009 This program is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 GNU General Public License for more details. 00013 00014 You should have received a copy of the GNU General Public License 00015 along with this program. If not, see <http://www.gnu.org/licenses/>. 00016 00017 */ 00018 00019 #ifndef SYSTEM_CONTROL_H 00020 #define SYSTEM_CONTROL_H 00021 00022 #include <plugin.h> 00023 #include <qobject.h> 00024 #include <system_control_panel.h> 00025 00026 class SystemControl : public QObject, public Plugin::Object 00027 { 00028 00029 Q_OBJECT 00030 00031 friend class SystemControlPanel; 00032 00033 public: 00034 00035 static SystemControl *getInstance(void); 00036 00037 public slots: 00038 00039 void createControlPanel(void); 00040 00041 private: 00042 00043 SystemControl(void); 00044 ~SystemControl(void); 00045 SystemControl(const SystemControl &) {}; 00046 SystemControl &operator=(const SystemControl &) { return *getInstance(); }; 00047 00048 static SystemControl *instance; 00049 00050 void removeControlPanel(SystemControlPanel *); 00051 00052 int menuID; 00053 std::list<SystemControlPanel *> panelList; 00054 00055 }; 00056 00057 #endif /* SYSTEM_CONTROL_H */