Changeset 7248 in orxonox.OLD for branches/preferences/src
- Timestamp:
- Mar 24, 2006, 7:03:22 PM (19 years ago)
- Location:
- branches/preferences/src
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/preferences/src/lib/event/event_handler.cc
r7166 r7248 88 88 * this has to be called before the use of the event handler 89 89 */ 90 void EventHandler::init( IniParser* iniParser)90 void EventHandler::init() 91 91 { 92 92 if (this->keyMapper == NULL) 93 93 { 94 94 this->keyMapper = new KeyMapper(); 95 this->keyMapper->loadKeyBindings( iniParser);95 this->keyMapper->loadKeyBindings(); 96 96 } 97 97 } -
branches/preferences/src/lib/event/event_handler.h
r7164 r7248 15 15 // FORWARD DECLARATION 16 16 class EventListener; 17 class IniParser;18 17 19 18 //! The one Event Handler from Orxonox … … 24 23 /** @returns a Pointer to the only object of this Class */ 25 24 inline static EventHandler* getInstance() { if (!singletonRef) singletonRef = new EventHandler(); return singletonRef; }; 26 void init( IniParser* iniParser);25 void init(); 27 26 28 27 /** @param state: to which the event handler shall change */ -
branches/preferences/src/lib/event/key_mapper.cc
r7221 r7248 25 25 #include "globals.h" 26 26 #include "parser/ini_parser/ini_parser.h" 27 #include "util/preferences.h" 27 28 #include "key_names.h" 28 29 #include "debug.h" … … 145 146 146 147 iniParser->firstVar(); 147 while( iniParser->getCurrentName() != "")148 while( iniParser->getCurrentName() != "" ) 148 149 { 149 150 PRINTF(3)("Keys: Parsing %s, %s now.\n", iniParser->getCurrentName(), iniParser->getCurrentValue()); … … 164 165 165 166 iniParser->firstVar(); 166 while( iniParser->getCurrentName() != "")167 while( iniParser->getCurrentName() != "" ) 167 168 { 168 169 PRINTF(3)("MISC: Parsing %s, %s now.\n", iniParser->getCurrentName(), iniParser->getCurrentValue()); … … 170 171 this->mapKeys(iniParser->getCurrentName(), index); 171 172 iniParser->nextVar(); 173 } 174 } 175 176 void KeyMapper::loadKeyBindings() 177 { 178 if( !Preferences::getInstance()->sectionExists(CONFIG_SECTION_PLAYER "1")) 179 { 180 PRINTF(1)("Could not find key bindings " CONFIG_SECTION_PLAYER"1\n"); 181 return; 182 } 183 int* index; 184 185 std::list<std::string> keys = Preferences::getInstance()->listKeys(CONFIG_SECTION_PLAYER "1"); 186 for ( std::list<std::string>::const_iterator it = keys.begin(); it!=keys.end(); it++ ) 187 { 188 PRINTF(0)("Keys: Parsing %s, %s now.\n", it->c_str(), Preferences::getInstance()->getString(CONFIG_SECTION_PLAYER "1", *it, "").c_str()); 189 // map the name to an sdl index 190 index = nameToIndex (Preferences::getInstance()->getString(CONFIG_SECTION_PLAYER "1", *it, "")); 191 // map the index to a internal name 192 this->mapKeys(*it, index); 193 } 194 195 196 // PARSE MISC SECTION 197 if( !Preferences::getInstance()->sectionExists (CONFIG_SECTION_MISC_KEYS)) 198 { 199 PRINTF(1)("Could not find key bindings " CONFIG_SECTION_MISC_KEYS "\n"); 200 return; 201 } 202 203 keys = Preferences::getInstance()->listKeys(CONFIG_SECTION_MISC_KEYS); 204 for ( std::list<std::string>::const_iterator it = keys.begin(); it!=keys.end(); it++ ) 205 { 206 PRINTF(3)("MISC: Parsing %s, %s now.\n", it->c_str(), Preferences::getInstance()->getString(CONFIG_SECTION_MISC_KEYS, *it, "").c_str()); 207 index = nameToIndex (Preferences::getInstance()->getString(CONFIG_SECTION_MISC_KEYS, *it, "")); 208 this->mapKeys(*it, index); 172 209 } 173 210 } -
branches/preferences/src/lib/event/key_mapper.h
r7221 r7248 29 29 virtual ~KeyMapper(); 30 30 31 void loadKeyBindings(const std::string& fileName = "" ); 31 void loadKeyBindings(const std::string& fileName ); 32 void loadKeyBindings(); 32 33 void loadKeyBindings(IniParser* iniParser); 33 34 -
branches/preferences/src/lib/util/preferences.cc
r7244 r7248 67 67 68 68 break; 69 } 70 } 71 72 return false; 73 } 74 75 /** 76 * Check if this section exists 77 * @param section name of the section 78 * @param name name of the item to check 79 * @return true if the item exists 80 */ 81 bool Preferences::sectionExists( const std::string& section ) 82 { 83 std::list<prefSection>::const_iterator it = data.begin(); 84 85 for ( ; it!=data.end(); it++) 86 { 87 if ( it->sectionName == section ) 88 { 89 return true; 69 90 } 70 91 } … … 285 306 } 286 307 287 308 /** 309 * list all keys in section 310 * @param section section 311 * @return list of keys 312 */ 313 std::list< std::string > Preferences::listKeys( const std::string section ) 314 { 315 std::list<std::string> lst; 316 317 std::list<prefSection>::const_iterator it = data.begin(); 318 319 for ( ; it!=data.end(); it++) 320 { 321 if ( it->sectionName == section ) 322 { 323 std::list<prefItem>::const_iterator it2 = it->items.begin(); 324 325 for ( ; it2!=it->items.end(); it2++) 326 { 327 lst.push_back( it2->name ); 328 } 329 330 break; 331 } 332 } 333 334 return lst; 335 } 336 337 -
branches/preferences/src/lib/util/preferences.h
r7244 r7248 36 36 37 37 //check if this entry exists 38 bool sectionExists(const std::string& section ); 38 39 bool exists(const std::string& section, const std::string& name); 39 40 … … 52 53 bool save(); 53 54 54 55 55 void debug(); 56 57 std::list<std::string> listKeys( const std::string section ); 56 58 57 59 -
branches/preferences/src/orxonox.cc
r7247 r7248 78 78 this->setName("orxonox-main"); 79 79 80 this->iniParser = NULL;81 82 80 this->argc = 0; 83 81 this->argv = NULL; … … 115 113 // output-buffer 116 114 delete ShellBuffer::getInstance(); 117 118 // orxonox class-stuff119 delete this->iniParser;120 115 121 116 SDL_QuitSubSystem(SDL_INIT_TIMER); … … 176 171 else 177 172 this->configFileName = ResourceManager::homeDirCheck(DEFAULT_CONFIG_FILE); 178 this->iniParser = new IniParser(this->configFileName); 173 179 174 PRINTF(3)("Parsed Config File: '%s'\n", this->configFileName); 180 175 } … … 261 256 PRINT(3)("> Initializing input\n"); 262 257 263 EventHandler::getInstance()->init( this->iniParser);258 EventHandler::getInstance()->init(); 264 259 EventHandler::getInstance()->subscribe(GraphicsEngine::getInstance(), ES_ALL, EV_VIDEO_RESIZE); 265 260 … … 300 295 // init the resource manager 301 296 std::string dataPath; 302 if ((dataPath = this->iniParser->getVar(CONFIG_NAME_DATADIR, CONFIG_SECTION_DATA))!= "")297 if ((dataPath = Preferences::getInstance()->getString(CONFIG_SECTION_DATA, CONFIG_NAME_DATADIR, ""))!= "") 303 298 { 304 299 if (!ResourceManager::getInstance()->setDataDir(dataPath) && -
branches/preferences/src/orxonox.h
r7221 r7248 32 32 Orxonox (); 33 33 34 void parseIniFile(const std::string& fileName);35 36 34 int initResources (); 37 35 int initVideo (); … … 46 44 static Orxonox* singletonRef; //!< singleton reference to orxonox 47 45 48 IniParser* iniParser; //!< Reference to the ini-parser used in orxonox49 46 std::string configFileName; //!< Filename of the configuration-file. 50 47 GameLoader* gameLoader; //!< The gameLoader
Note: See TracChangeset
for help on using the changeset viewer.