src/core/gui/configuration/engineconfigurationbasebox.h
00001 //------------------------------------------------------------------------------
00002 // engineconfigurationbasebox.h
00003 //------------------------------------------------------------------------------
00004 //
00005 // This program is free software; you can redistribute it and/or
00006 // modify it under the terms of the GNU General Public License
00007 // as published by the Free Software Foundation; either version 2
00008 // of the License, or (at your option) any later version.
00009 //
00010 // This program is distributed in the hope that it will be useful,
00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013 // GNU General Public License for more details.
00014 //
00015 // You should have received a copy of the GNU General Public License
00016 // along with this program; if not, write to the Free Software
00017 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
00018 // 02110-1301, USA.
00019 //
00020 //------------------------------------------------------------------------------
00021 // Copyright (C) 2010 "Blzut3" <admin@maniacsvault.net>
00022 //------------------------------------------------------------------------------
00023 
00024 #ifndef __ENGINECONFIGBASE_H__
00025 #define __ENGINECONFIGBASE_H__
00026 
00027 #include "gui/configuration/configurationbasebox.h"
00028 #include "ui_engineconfigurationbasebox.h"
00029 
00030 class EnginePlugin;
00031 
00032 class MAIN_EXPORT EngineConfigurationBaseBox : public ConfigurationBaseBox, private Ui::EngineConfigurationBaseBox
00033 {
00034                 Q_OBJECT
00035 
00036         public:
00037                 EngineConfigurationBaseBox(const EnginePlugin *plugin, IniSection &cfg, QWidget *parent=NULL);
00038 
00039                 QIcon                           icon() const;
00040                 QString                         name() const;
00041                 void                            readSettings();
00042 
00043         protected:
00044                 void                            addWidget(QWidget *widget);
00045                 void                            browseForBinary(QLineEdit *input, const QString &type);
00046                 void                            makeClientOnly();
00047                 void                            saveSettings();
00048 
00049         protected slots:
00050                 void                            btnBrowseClientBinaryClicked();
00051                 void                            btnBrowseServerBinaryClicked();
00052 
00053         private:
00054                 IniSection&                     config;
00055                 const EnginePlugin*     plugin;
00056 };
00057 
00058 #endif /* __ENGINECONFIGBASE_H__ */
 All Classes Files Functions Variables Typedefs Enumerations Enumerator