EditAttrIndexDialog - выбор атрибута (материал, перо и т.п.)
Вызывает диалог выбора атрибута.
Вызов:
bool bres = ac_request("EditAttrIndexDialog", string sAttrType,string sHeading, string &attrname, int &attrindex);
или
bool bres = ac_request("EditAttrIndexDialog", string sAttrType,string sHeading, string &attrname, int &attrindex, string sShablonSearchREGEX_is);
или
bool bres = ac_request("EditAttrIndexDialog", string sAttrType,string sHeading, string &attrname, int &attrindex, string sShablonSearchREGEX_is, string usShablonSearchREGEX_not);
Здесь:
sAttrType - тип атрибута - ("Material", "Pen");
sHeading - заголовок диалога;
attrname - имя атрибута - возвращаемое значение;
attrindex - индекс атрибута - если на входе число больше 0, то диалог сразу выделяет строку с атрибутом, имеющим такой индекс;
sShablonSearchREGEX_is - шаблон для предоставления к выбору только тех атрибутов, в названии которых присутсвуют значения шаблона. Например, если требуется чтобы пользователь увидел и мог выбрать только атрибуты, в которых название начинается с RAL - шаблон надо задавать "^RAL.*";
usShablonSearchREGEX_not - шаблон для предоставления к выбору только тех атрибутов, в названии которых отсутствуют значения шаблона.
Изменить сортировку можно нажатием на заголовки колонок - 2.
Быстрый поиск атрибута - поле 1. Можно вводить несколько не полных фрагментов через пробел.
Для удобства можно растянуть окно - 3.
Пример.
Предоставить пользователю выбор материала из списка, в которых имя начинается с RAL.
int main()
{
string attrname;
int attrindex=1561;
bool bres = ac_request("EditAttrIndexDialog","Material","Выберите материал",attrname,attrindex, "^RAL.*");
cout << bres;
cout << attrname;
cout << attrindex;
}