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.6 2002/08/01 18:45:58 data Exp $ 00021 * 00022 */ 00023 00024 #include "ExManagerInterface.h" 00025 00026 ExManagerInterface::ExManagerInterface(void) 00027 { 00028 } 00029 00030 ExManagerInterface::~ExManagerInterface(void) 00031 { 00032 } 00033 00034 void ExManagerInterface::Reset(void) 00035 { 00036 Guard(void ExManagerInterface::Reset(void)) 00037 m_VecInterface.clear(); 00038 UnGuard 00039 } 00040 00041 void ExManagerInterface::init(void) 00042 { 00043 Guard(void ExManagerInterface::init(void)) 00044 00045 UnGuard 00046 } 00047 00048 bool ExManagerInterface::LoadInterface(const char * FileName) 00049 { 00050 Guard(bool ExManagerInterface::LoadInterface(const char * FileName)) 00051 ExCInterface Inter; 00052 Inter.SetManagerWindow(ManagerWindow); 00053 Inter.SetManagerTexture(ManagerTexture); 00054 Inter.WriteToConsol=WriteToConsol; 00055 Inter.Consol=Consol; 00056 if(Inter.LoadInterface(FileName)) 00057 { 00058 m_VecInterface.push_back(Inter); 00059 return true; 00060 } 00061 return false; 00062 UnGuard 00063 } 00064 00065 void ExManagerInterface::DrawInterface(void) 00066 { 00067 Guard(void ExManagerInterface::DrawInterface(void)) 00068 for(m_ItVecInterface=m_VecInterface.begin();m_ItVecInterface!=m_VecInterface.end();m_ItVecInterface++) 00069 { 00070 if(m_ItVecInterface->GetInterfaceState()) 00071 { 00072 m_ItVecInterface->DrawInterface(); 00073 } 00074 } 00075 UnGuard 00076 } 00077 00078 void ExManagerInterface::ShowRegion(void) 00079 { 00080 Guard(void ExManagerInterface::ShowRegion(void)) 00081 for(m_ItVecInterface=m_VecInterface.begin();m_ItVecInterface!=m_VecInterface.end();m_ItVecInterface++) 00082 { 00083 m_ItVecInterface->ShowRegion(); 00084 } 00085 UnGuard 00086 } 00087 00088 void ExManagerInterface::HideRegion(void) 00089 { 00090 Guard(void ExManagerInterface::HideRegion(void)) 00091 for(m_ItVecInterface=m_VecInterface.begin();m_ItVecInterface!=m_VecInterface.end();m_ItVecInterface++) 00092 { 00093 m_ItVecInterface->HideRegion(); 00094 } 00095 UnGuard 00096 } 00097 00098 SAction ExManagerInterface::InputCommand(int command,int mousex,int mousey) 00099 { 00100 Guard(int ExManagerInterface::InputCommand(int command,int mousex,int mousey)) 00101 for(m_ItVecInterface=m_VecInterface.begin();m_ItVecInterface!=m_VecInterface.end();m_ItVecInterface++) 00102 { 00103 if(m_ItVecInterface->GetInterfaceState()) 00104 { 00105 00106 return m_ItVecInterface->InputCommand(command,mousex,mousey); 00107 00108 } 00109 } 00110 return NOTHING; 00111 UnGuard 00112 } 00113 00114 int ExManagerInterface::EnableInterface(char *param) 00115 { 00116 Guard(int ExManagerInterface::EnableInterface(char *param)) 00117 for(m_ItVecInterface=m_VecInterface.begin();m_ItVecInterface!=m_VecInterface.end();m_ItVecInterface++) 00118 { 00119 00120 } 00121 return GetNumberEnableInterface(); 00122 UnGuard 00123 } 00124 00125 int ExManagerInterface::DisableInterface(char *param) 00126 { 00127 Guard(int ExManagerInterface::DisableInterface(char *param)) 00128 for(m_ItVecInterface=m_VecInterface.begin();m_ItVecInterface!=m_VecInterface.end();m_ItVecInterface++) 00129 { 00130 if(strcmp(m_ItVecInterface->GetInterfaceName(),param)==0) 00131 { 00132 m_ItVecInterface->DisableInterface(); 00133 } 00134 } 00135 return GetNumberEnableInterface(); 00136 UnGuard 00137 } 00138 00139 int ExManagerInterface::EnableAllInterface(void) 00140 { 00141 Guard(int ExManagerInterface::EnableAllInterface(void)) 00142 for(m_ItVecInterface=m_VecInterface.begin();m_ItVecInterface!=m_VecInterface.end();m_ItVecInterface++) 00143 { 00144 m_ItVecInterface->EnableInterface(); 00145 } 00146 return GetNumberEnableInterface(); 00147 UnGuard 00148 } 00149 00150 int ExManagerInterface::DisableAllInterface(void) 00151 { 00152 Guard(int ExManagerInterface::DisableAllInterface(void)) 00153 for(m_ItVecInterface=m_VecInterface.begin();m_ItVecInterface!=m_VecInterface.end();m_ItVecInterface++) 00154 { 00155 m_ItVecInterface->DisableInterface(); 00156 } 00157 return GetNumberEnableInterface(); 00158 UnGuard 00159 } 00160 00161 int ExManagerInterface::GetNumberEnableInterface(void) 00162 { 00163 Guard(int ExManagerInterface::GetNumberEnableInterface(void)) 00164 int ret=0; 00165 for(m_ItVecInterface=m_VecInterface.begin();m_ItVecInterface!=m_VecInterface.end();m_ItVecInterface++) 00166 { 00167 if(m_ItVecInterface->GetInterfaceState())ret++; 00168 } 00169 return ret; 00170 UnGuard 00171 } 00172 00173 void ExManagerInterface::ListInterface(void) 00174 { 00175 Guard(void ExManagerInterface::ListInterface(void)) 00176 for(m_ItVecInterface=m_VecInterface.begin();m_ItVecInterface!=m_VecInterface.end();m_ItVecInterface++) 00177 { 00178 if(m_ItVecInterface->GetInterfaceState()) 00179 { 00180 *Consol<<"Interface :"<<m_ItVecInterface->GetInterfaceName()<<"State : enable"<<std::endl; 00181 }else 00182 { 00183 *Consol<<"Interface :"<<m_ItVecInterface->GetInterfaceName()<<"State : Disable"<<std::endl; 00184 } 00185 } 00186 UnGuard 00187 } 00188