Page principale | Liste des namespaces | Hiérarchie des classes | Liste par ordre alphabétique | Liste des composants | Liste des fichiers | Membres des namespaces | Composants | Déclarations

ExManagerInterface.cpp

Aller à la documentation de ce fichier.
00001 /*
00002  * ExNihilo 3D Engine
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 2 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 Library 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, write to the Free Software
00016  *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
00017  *
00018  * Please read AUTHORS file !!!
00019  * 
00020  * $Id: ExManagerInterface.cpp,v 1.14 2002/12/08 17:57:06 data Exp $
00021  *
00022  */
00023 
00024 #include "ExManagerInterface.h"
00025 
00026 bool ExManagerInterface::m_flag = false; 
00027 ExManagerInterface* ExManagerInterface::m_instance = NULL; 
00028 
00029 ExManagerInterface* ExManagerInterface::CreateSingleton(void){
00030 Guard(ExManagerInterface* ExManagerInterface::CreateSingleton(void))
00031         if(!m_flag)
00032         {
00033                 m_flag = true; // We are creating the error log now, so set flag to true
00034                 m_instance = new ExManagerInterface; // Create the error log
00035         }else
00036         {
00037                 std::cout<<"Error singleton already created"<<std::endl;
00038         }
00039         return m_instance; 
00040 UnGuard
00041 }
00042 
00043 ExManagerInterface::ExManagerInterface(void)
00044 {
00045         m_AllDisable=false;     
00046 }
00047 
00048 ExManagerInterface::~ExManagerInterface(void)
00049 {
00050 }
00051 
00052 void ExManagerInterface::Reset(void)
00053 {
00054 Guard(void ExManagerInterface::Reset(void))
00055         ExManagerObject<ExCInterface>::Reset();
00056 UnGuard
00057 }
00058 
00059 void ExManagerInterface::Init(void)
00060 {
00061 Guard(void ExManagerInterface::Init(void))
00062         ExManagerObject<ExCInterface>::Init();
00063         SetStatus(true);
00064 UnGuard
00065 }
00066 
00067 bool ExManagerInterface::Load(std::string FileName)
00068 {
00069 Guard(bool ExManagerInterface::Load(std::string FileName))
00070         ExCInterface Inter;
00071         Inter.SetManagerTexture(ManagerTexture);
00072         Inter.Consol=Consol;
00073         if(Inter.LoadFile(FileName))
00074         {
00075                 SetCurrentObject(Inter.GetName());
00076                 Add(Inter);
00077                 return true;
00078         }
00079         return false;
00080 UnGuard
00081 }
00082 
00083 void ExManagerInterface::Draw(void)
00084 {
00085 Guard(void ExManagerInterface::Draw(void))
00086         if(!GetStatus())return;
00087         if(m_AllDisable)return;
00088         for(m_ItMap=m_Map->begin();m_ItMap!=m_Map->end();m_ItMap++)
00089         {
00090                 m_ItMap->second.Draw();
00091         }
00092 UnGuard
00093 }
00094 
00095 void ExManagerInterface::ShowRegion(void)
00096 {
00097 Guard(void ExManagerInterface::ShowRegion(void))
00098         GetCurrentObject()->ShowRegion();
00099 UnGuard
00100 }
00101 
00102 void ExManagerInterface::HideRegion(void)
00103 {
00104 Guard(void ExManagerInterface::HideRegion(void))
00105         GetCurrentObject()->HideRegion();
00106 UnGuard
00107 }
00108 
00109 ExCAction ExManagerInterface::InputCommand(int command,int mousex,int mousey)
00110 {
00111 Guard(int ExManagerInterface::InputCommand(int command,int mousex,int mousey))
00112 /*      if(GetCurrentObject()->GetInterfaceState())
00113         {
00114                 return GetCurrentObject()->InputCommand(command,mousex,mousey);
00115         }*/
00116         return NOTHING;
00117 UnGuard
00118 }
00119 
00120 int ExManagerInterface::EnableInterface(std::string param)
00121 {
00122 Guard(int ExManagerInterface::EnableInterface(std::string param))
00123         SetCurrentObject(param);
00124         GetCurrentObject()->EnableInterface();
00125         return GetNumberEnableInterface();
00126 UnGuard
00127 }
00128 
00129 int ExManagerInterface::DisableInterface(std::string param)
00130 {
00131 Guard(int ExManagerInterface::DisableInterface(std::string param))
00132         SetCurrentObject(param);
00133         GetCurrentObject()->EnableInterface();
00134         return GetNumberEnableInterface();
00135 UnGuard
00136 }
00137 
00138 int ExManagerInterface::EnableAllInterface(void)
00139 {
00140 Guard(int ExManagerInterface::EnableAllInterface(void))
00141         for(m_ItMap=m_Map->begin();m_ItMap!=m_Map->end();m_ItMap++)
00142         {
00143                 m_ItMap->second.EnableInterface();
00144         }
00145         m_AllDisable=false;     
00146         return GetNumberEnableInterface();
00147 UnGuard
00148 }
00149 
00150 int ExManagerInterface::DisableAllInterface(void)
00151 {
00152 Guard(int ExManagerInterface::DisableAllInterface(void))
00153         for(m_ItMap=m_Map->begin();m_ItMap!=m_Map->end();m_ItMap++)
00154         {
00155                 m_ItMap->second.DisableInterface();
00156         }
00157         m_AllDisable=true;      
00158         return GetNumberEnableInterface();
00159 UnGuard
00160 }
00161 
00162 int ExManagerInterface::GetNumberEnableInterface(void)
00163 {
00164 Guard(int ExManagerInterface::GetNumberEnableInterface(void))
00165         int ret=0;
00166         for(m_ItMap=m_Map->begin();m_ItMap!=m_Map->end();m_ItMap++)
00167         {
00168                         if(m_ItMap->second.GetInterfaceState())ret++;
00169         }
00170         return ret;
00171 UnGuard
00172 }
00173 
00174 ExCAction ExManagerInterface::InputCommand(ExCCommand Command)
00175 {
00176 Guard(ExCAction ExManagerInterface::InputCommand(ExCCommand Command))
00177         return NOTHING;
00178 UnGuard
00179 }
00180 ExCAction ExManagerInterface::InputAction(ExCAction Action)
00181 {
00182 Guard(ExCAction ExManagerInterface::InputAction(ExCAction Action))
00183         switch(Action.m_Action)
00184         {
00185         case ENABLE_INTERFACE:EnableInterface(Action.m_Param);break;
00186         case DISABLE_INTERFACE:DisableInterface(Action.m_Param);break;
00187         case ENABLE_ALL_INTERFACE:EnableAllInterface();break;
00188         case DISABLE_ALL_INTERFACE:DisableAllInterface();break;
00189         case LIST_INTERFACE:List();     break;
00190         case ADD_INTERFACE:Load(Action.m_Param);break;
00191         case SHOW_INTERFACE_REGION:ShowRegion();break;
00192         case HIDE_INTERFACE_REGION:HideRegion();break;
00193         default:
00194                 *Consol<<"Can not file action in INTERFACE_ACTION_MAP"<<std::endl;
00195                 break;
00196         }
00197         if(Action.m_NextAction){return *Action.m_NextAction;}
00198         else{return NOTHING;}
00199 UnGuard
00200 }
00201 

Généré le Tue Oct 28 12:43:36 2003 pour ExNihilo par doxygen 1.3.4