Changeset 4830 in orxonox.OLD for orxonox/trunk/src/lib/gui
- Timestamp:
- Jul 11, 2005, 5:43:37 PM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
orxonox/trunk/src/lib/gui/gui_exec.cc
r4746 r4830 1 /* 1 /* 2 2 orxonox - the future of 3D-vertical-scrollers 3 3 … … 16 16 You should have received a copy of the GNU General Public License 17 17 along with this program; if not, write to the Free Software Foundation, 18 Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 19 19 20 20 … … 38 38 HashTable* orxonoxFlagHash; 39 39 40 /** 40 /** 41 41 \brief Creates the Exec-Frame 42 42 */ … … 59 59 CheckButton* alwaysShow; //!< A CheckButton, for if orxonox should start with or without gui. 60 60 Button* quit; //!< A Button to quit the Gui without starting orxonox. 61 61 62 62 start = new Button("Start"); 63 63 #ifdef HAVE_GTK2 … … 73 73 verboseMode = new Menu(CONFIG_NAME_VERBOSE_MODE, "nothing", 74 74 #if DEBUG >=1 75 75 "error", 76 76 #endif 77 77 #if DEBUG >=2 78 78 "warning", 79 79 #endif 80 80 #if DEBUG >=3 81 81 "info", 82 82 #endif 83 83 #if DEBUG >=4 84 84 "debug", 85 85 #endif 86 86 #if DEBUG >=5 87 88 #endif 89 87 "heavydebug", 88 #endif 89 "lastItem"); 90 90 verboseMode->setFlagName("verbose", "v", 2); 91 91 verboseMode->setDescription("Sets the Output Mode", "This Enables Outbug messages\n" 92 92 "0: nothing will be displayed, but stuff one cannot do without (eg.GUI)\n" 93 93 #if DEBUG >=1 94 94 "1: error: outputs all the above and errors" 95 95 #endif 96 96 #if DEBUG >=2 97 97 "2: warning: outputs all the above plus warnings" 98 98 #endif 99 99 #if DEBUG >=3 100 100 "3: info: outputs all the above plus Information" 101 101 #endif 102 102 #if DEBUG >=4 103 103 "4: debug: displays all the above plus debug information" 104 104 #endif 105 105 #if DEBUG >=5 106 107 #endif 108 106 "5: heavydebug: displays all the above plus heavy debug information: WARNING: the game will run very slow with this." 107 #endif 108 ); 109 109 verboseMode->saveability(); 110 110 execBox->fill(verboseMode); … … 152 152 153 153 PRINTF(5)("Config Directory is: %s.\n", this->confDir); 154 //! \todo F** Windows-support154 //! @todo F** Windows-support 155 155 #ifndef __WIN32__ 156 156 mkdir(this->confDir, 0755); … … 192 192 } 193 193 194 /** 194 /** 195 195 \brief Saves the configuration-file to the Disk.\n 196 196 \param widget from which Widget on should be saved. … … 215 215 int counter = 0; 216 216 while(counter < depth &&((widget->optionType > GUI_NOTHING 217 218 219 217 &&(static_cast<Option*>(widget)->isSaveable())) 218 ||(widget->optionType < GUI_NOTHING 219 && static_cast<Packer*>(widget)->getGroupName()))) 220 220 { 221 221 fprintf(this->CONFIG_FILE, " ", depth); 222 222 counter++; 223 223 } 224 224 225 225 // check if it is a Packer, and if it is, check if it has a name and if there is something in it. 226 226 if(widget->optionType < GUI_NOTHING) 227 227 { 228 228 if(static_cast<Packer*>(widget)->getGroupName()) 229 230 231 232 233 229 { 230 fprintf(CONFIG_FILE, "[%s]\n", static_cast<Packer*>(widget)->getGroupName()); 231 this->writeFileText(static_cast<Packer*>(widget)->down, depth+1); 232 fprintf(CONFIG_FILE, "\n"); 233 } 234 234 else 235 236 237 238 } 235 { 236 this->writeFileText(static_cast<Packer*>(widget)->down, depth); 237 } 238 } 239 239 240 240 if(widget->optionType > GUI_NOTHING) 241 241 if (static_cast<Option*>(widget)->isSaveable()) 242 242 { 243 244 245 246 247 248 249 250 251 252 243 char Buffer[256]; 244 char* space2under; 245 strcpy(Buffer, static_cast<Option*>(widget)->title); 246 if(strchr(Buffer, '_')) 247 PRINTF(2)("Optionname %s is not Valid for Saving, because it includes an underscore\n", Buffer); 248 while(space2under = strchr(Buffer, ' ')) 249 { 250 space2under[0] = '_'; 251 } 252 fprintf(CONFIG_FILE, "%s = %s\n", Buffer, static_cast<Option*>(widget)->save()); 253 253 } 254 254 … … 272 272 char* Value; 273 273 while(fscanf(this->CONFIG_FILE, "%s", Buffer) != EOF) 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 274 { 275 // group-search // 276 if(!strncmp(Buffer, "[", 1)) 277 { 278 if((groupWidget = locateGroup(widget, Buffer, 1))==NULL) 279 { 280 PRINTF(2)("!!There is no group called %s in this GUI.\n First best Widget will get the Infos assigned.\n Config-File will be updated in next Save\n", Buffer); 281 groupWidget = widget; 282 } 283 else 284 PRINT(5)("Group %s located.\n", static_cast<Packer*>(groupWidget)->groupName); 285 } 286 // option-setting // 287 if(!strcmp(Buffer, "=")) 288 { 289 char* under2space; 290 while(under2space = strchr(Variable, '_')) 291 { 292 sprintf(under2space, " %s", under2space+1); 293 } 294 295 fscanf(this->CONFIG_FILE, "%s", Buffer); 296 varInfo.variableName = Variable; 297 varInfo.variableValue = Buffer; 298 groupWidget->walkThrough(this->readFileText, &varInfo, 0); 299 sprintf(Variable, ""); 300 } 301 sprintf(Variable, "%s", Buffer); 302 } 303 303 widget->walkThrough(widget->setOptions, 0); 304 304 } 305 fclose(this->CONFIG_FILE); 305 306 } 306 307 … … 317 318 PRINT(5)("Located Option %s.\n", widget->title); 318 319 if(widget->optionType > GUI_NOTHING) 319 320 static_cast<Option*>(widget)->load(info->variableValue); 320 321 } 321 322 } … … 344 345 { 345 346 if(static_cast<Packer*>(widget)->getGroupName() && 346 347 348 349 347 !strcmp(groupName, static_cast<Packer*>(widget)->getGroupName())) 348 { 349 return widget; 350 } 350 351 else 351 352 353 354 355 } 356 352 { 353 if((tmp = locateGroup(static_cast<Packer*>(widget)->down, groupName, depth+1)) != NULL) 354 return tmp; 355 } 356 } 357 357 358 if(widget->next != NULL && depth != 0) 358 359 { 359 360 if((tmp = locateGroup(widget->next, groupName, depth)) != NULL) 360 361 return tmp; 361 362 } 362 363 return NULL;
Note: See TracChangeset
for help on using the changeset viewer.