Вызывает диалог выбора атрибута.

Вызов:

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;
}