Beispiel #1
0
enum menu_entry_type menu_entry_get_type(uint32_t i)
{
   rarch_setting_t *setting  = menu_entries_get_setting(i);

   /* XXX Really a special kind of ST_ACTION, but this should be changed */
   if (menu_setting_is_of_path_type(setting))
      return MENU_ENTRY_PATH;

   if (setting)
   {
      enum setting_type setting_type = 
         menu_setting_get_type(setting);

      switch (setting_type)
      {
         case ST_BOOL:
            return MENU_ENTRY_BOOL;
         case ST_BIND:
            return MENU_ENTRY_BIND;
         case ST_INT:
            return MENU_ENTRY_INT;
         case ST_UINT:
            return MENU_ENTRY_UINT;
         case ST_FLOAT:
            return MENU_ENTRY_FLOAT;
         case ST_PATH:
            return MENU_ENTRY_PATH;
         case ST_DIR:
            return MENU_ENTRY_DIR;
         case ST_STRING_OPTIONS:
            return MENU_ENTRY_ENUM;
         case ST_STRING:
            return MENU_ENTRY_STRING;
         case ST_HEX:
            return MENU_ENTRY_HEX;

         default:
            break;
      }
   }

   return MENU_ENTRY_ACTION;
}
Beispiel #2
0
enum menu_entry_type menu_entry_get_type(uint32_t i)
{
   rarch_setting_t *setting  = NULL;
   const char *path          = NULL;
   const char *entry_label   = NULL;
   const char *dir           = NULL;
   const char *label         = NULL;
   menu_list_t *menu_list    = menu_list_get_ptr();
   unsigned type             = 0;
   unsigned menu_type        = 0;

   menu_list_get_last_stack(menu_list, &dir,
         &label, &menu_type, NULL);

   menu_list_get_at_offset(menu_list->selection_buf, i, &path,
         &entry_label, &type, NULL);

   setting = menu_entry_get_setting(i);

   // XXX Really a special kind of ST_ACTION, but this should be
   // changed
   if (menu_setting_is_of_path_type(setting))
      return MENU_ENTRY_PATH;

   if (menu_setting_is_of_enum_type(setting))
      return MENU_ENTRY_ENUM;

   if (setting)
   {
      switch (setting->type)
      {
         case ST_BOOL:
            return MENU_ENTRY_BOOL;
         case ST_BIND:
            return MENU_ENTRY_BIND;
         case ST_INT:
            return MENU_ENTRY_INT;
         case ST_UINT:
            return MENU_ENTRY_UINT;
         case ST_FLOAT:
            return MENU_ENTRY_FLOAT;
         case ST_PATH:
            return MENU_ENTRY_PATH;
         case ST_DIR:
            return MENU_ENTRY_DIR;
         case ST_STRING:
            return MENU_ENTRY_STRING;
         case ST_HEX:
            return MENU_ENTRY_HEX;
           
         case ST_NONE:
         case ST_ACTION:
         case ST_GROUP:
         case ST_SUB_GROUP:
         case ST_END_GROUP:
         case ST_END_SUB_GROUP:
            break;
      }
   }

   return MENU_ENTRY_ACTION;
}
Beispiel #3
0
void menu_entry_pathdir_selected(uint32_t i)
{
   rarch_setting_t *setting = menu_entry_get_setting(i);
   if (menu_setting_is_of_path_type(setting))
      setting->action_right(setting, false);
}