Хочу попросить совета у знающих людей, в связи с возникшей проблемой:
Пишу программу на чистом Си. Набросал простенький гтк-шный интерфейс - кнопка запуска, и несколько полей ввода данных. По нажатию кнопки вызывается функция продолжительного расчета (довольно таки долго крутящийся цикл for). Хочется чтобы в момент расчета (от 10 секунд до 5 минут в зависимости от параметров) выводилась вторая формочка с надписью уровня "подождите" и прогрессбаром, который бы двигался пропорционально итеррациям цикла. Если по какой-то причине проще было бы выводить в прогессбар лежащий на главной форме (положу туда если надо будет), то с радостью приму и такой вариант.
пример:
int long_time_func (int param1, int param2) //ф-я с долгим циклом
{
int i;
for(i=0; i<1000;++i)
{
/*действия над параметрами*/
gtk_progress_bar_set_fraction(progressbar1, i/1000);
gdk_flush();
}
return 0;
}
void on_btncalc_clicked (GtkObject *object, gpointer user_data) //ф-я нажатия кнопки
{
long_time_func (pa1, pa2);
}
Естественно результатом является то, что программа подвисает на время расчета и прогрессбар не двигается, а затем, по окончанию расчета, он сразу заполняется на 100%
Очень надеюсь на вашу помощь.