Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 4830 in orxonox.OLD for orxonox/trunk/src/lib/gui


Ignore:
Timestamp:
Jul 11, 2005, 5:43:37 PM (19 years ago)
Author:
bensch
Message:

orxonox/trunk: implemented aim

File:
1 edited

Legend:

Unmodified
Added
Removed
  • orxonox/trunk/src/lib/gui/gui_exec.cc

    r4746 r4830  
    1 /* 
     1/*
    22   orxonox - the future of 3D-vertical-scrollers
    33
     
    1616   You should have received a copy of the GNU General Public License
    1717   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.
    1919
    2020
     
    3838HashTable* orxonoxFlagHash;
    3939
    40 /** 
     40/**
    4141    \brief Creates the Exec-Frame
    4242*/
     
    5959      CheckButton* alwaysShow;     //!< A CheckButton, for if orxonox should start with or without gui.
    6060      Button* quit;                //!< A Button to quit the Gui without starting orxonox.
    61      
     61
    6262      start = new Button("Start");
    6363#ifdef HAVE_GTK2
     
    7373      verboseMode = new Menu(CONFIG_NAME_VERBOSE_MODE, "nothing",
    7474#if DEBUG >=1
    75                              "error",
     75                             "error",
    7676#endif
    7777#if DEBUG >=2
    78                              "warning",
     78                             "warning",
    7979#endif
    8080#if DEBUG >=3
    81                              "info",
     81                             "info",
    8282#endif
    8383#if DEBUG >=4
    84                              "debug",
     84                             "debug",
    8585#endif
    8686#if DEBUG >=5
    87                              "heavydebug",
    88 #endif
    89                              "lastItem");
     87                             "heavydebug",
     88#endif
     89                             "lastItem");
    9090      verboseMode->setFlagName("verbose", "v", 2);
    9191      verboseMode->setDescription("Sets the Output Mode", "This Enables Outbug messages\n"
    92                                   "0: nothing will be displayed, but stuff one cannot do without (eg.GUI)\n"
     92                                  "0: nothing will be displayed, but stuff one cannot do without (eg.GUI)\n"
    9393#if DEBUG >=1
    94                                   "1: error: outputs all the above and errors"
     94                                  "1: error: outputs all the above and errors"
    9595#endif
    9696#if DEBUG >=2
    97                                   "2: warning: outputs all the above plus warnings"
     97                                  "2: warning: outputs all the above plus warnings"
    9898#endif
    9999#if DEBUG >=3
    100                                   "3: info: outputs all the above plus Information"
     100                                  "3: info: outputs all the above plus Information"
    101101#endif
    102102#if DEBUG >=4
    103                                   "4: debug: displays all the above plus debug information"
     103                                  "4: debug: displays all the above plus debug information"
    104104#endif
    105105#if DEBUG >=5
    106                                   "5: heavydebug: displays all the above plus heavy debug information: WARNING: the game will run very slow with this."
    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                                  );
    109109      verboseMode->saveability();
    110110      execBox->fill(verboseMode);
     
    152152
    153153  PRINTF(5)("Config Directory is: %s.\n", this->confDir);
    154   //! \todo F** Windows-support
     154  //! @todo F** Windows-support
    155155#ifndef __WIN32__
    156156  mkdir(this->confDir, 0755);
     
    192192}
    193193
    194 /** 
     194/**
    195195    \brief Saves the configuration-file to the Disk.\n
    196196    \param widget from which Widget on should be saved.
     
    215215  int counter = 0;
    216216  while(counter < depth &&((widget->optionType > GUI_NOTHING
    217                               &&(static_cast<Option*>(widget)->isSaveable()))
    218                              ||(widget->optionType < GUI_NOTHING
    219                                 && static_cast<Packer*>(widget)->getGroupName())))
     217                              &&(static_cast<Option*>(widget)->isSaveable()))
     218                             ||(widget->optionType < GUI_NOTHING
     219                                && static_cast<Packer*>(widget)->getGroupName())))
    220220    {
    221221      fprintf(this->CONFIG_FILE, "  ", depth);
    222222      counter++;
    223223    }
    224  
     224
    225225  // check if it is a Packer, and if it is, check if it has a name and if there is something in it.
    226226  if(widget->optionType < GUI_NOTHING)
    227227    {
    228228      if(static_cast<Packer*>(widget)->getGroupName())
    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         }
     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        }
    234234      else
    235         {
    236           this->writeFileText(static_cast<Packer*>(widget)->down, depth);
    237         }
    238     } 
     235        {
     236          this->writeFileText(static_cast<Packer*>(widget)->down, depth);
     237        }
     238    }
    239239
    240240  if(widget->optionType > GUI_NOTHING)
    241241    if (static_cast<Option*>(widget)->isSaveable())
    242242      {
    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());
     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());
    253253      }
    254254
     
    272272      char* Value;
    273273      while(fscanf(this->CONFIG_FILE, "%s", Buffer) != EOF)
    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         }
     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        }
    303303      widget->walkThrough(widget->setOptions, 0);
    304304    }
     305    fclose(this->CONFIG_FILE);
    305306}
    306307
     
    317318      PRINT(5)("Located Option %s.\n", widget->title);
    318319      if(widget->optionType > GUI_NOTHING)
    319         static_cast<Option*>(widget)->load(info->variableValue);
     320        static_cast<Option*>(widget)->load(info->variableValue);
    320321    }
    321322}
     
    344345    {
    345346      if(static_cast<Packer*>(widget)->getGroupName() &&
    346         !strcmp(groupName, static_cast<Packer*>(widget)->getGroupName()))
    347         {
    348           return widget;
    349         }
     347        !strcmp(groupName, static_cast<Packer*>(widget)->getGroupName()))
     348        {
     349          return widget;
     350        }
    350351      else
    351         {
    352           if((tmp = locateGroup(static_cast<Packer*>(widget)->down, groupName, depth+1)) != NULL)
    353             return tmp;
    354         }
    355     } 
    356  
     352        {
     353          if((tmp = locateGroup(static_cast<Packer*>(widget)->down, groupName, depth+1)) != NULL)
     354            return tmp;
     355        }
     356    }
     357
    357358  if(widget->next != NULL && depth != 0)
    358359    {
    359360      if((tmp = locateGroup(widget->next, groupName, depth)) != NULL)
    360         return tmp;
     361        return tmp;
    361362    }
    362363  return NULL;
Note: See TracChangeset for help on using the changeset viewer.