Re[5]: Решил делать на основе регулярок
От: Went  
Дата: 10.12.16 21:41
Оценка:
Здравствуйте, night beast, Вы писали:

NB>в целом понятно.

NB>выбор цифр в качестве имени несколько сбивает с току.
Да, язык не запрещает этого (хотя можно было и добавить какой-то префикс явно). Это удобно, потому что потом это имя используется в качестве инициализатора для других полей объекта:
    option : sui.button
    {
      category =step(-3) 
      value =step(-2)
      command @.category + "(" + @.value + ")"
    }

Поле value рассчитывается как второй с конца элемент пути (то есть это и будет та цифра 8, 16 и т.д.), а поле command потом автоматически рассчитывается как имя категории плюс эта цифра в скобках, то есть перечисляемые кнопки автоматически привязываются к командам size(8), size(16) и т.д. А потом где-то в коде С++ пишем:
  dialog.command("size")
    .bind<Int>([&](Int value){info.size.set_all(value);})
    .bind_status<Int>([&](AutomationCommand::Status& status, Int value){status.checked = info.size.x == value;});

И все, полученные кнопки управляют значением переменной info.size подобно Radio Button.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.