Fltk aktywacja buttona gdy aktywny jest inny

0

Witam!
Tworze właśnie swój pierwszy program graficzny, właśnie w Fltk i mam taki problem:
Otóż mój główny algorytm jest wywoływany naciśnięciem guzika. Rzecz w tym, że chce aby użytkownik mógł przerwać jego działania w trakcie. Stworzyłem więc guzik STOP, którego callback ustawia zmienną globalną "przerwij" na true. Ta zmienna jest sprawdzana w każdym obiegu pętli i jeśli jest true przerywa pętle.

Problem jest taki, że dopóki algorytm się nie wykona do końca wszystkie widgety są nie aktywne i nie mogę zrobić nic z wciśnięciem guzika STOP włącznie.

Ma ktoś pomysł jak to rozwiązać?

0

Algorytm zajmuje główny wątek więc główny wątek nie ma możliwości "sprawdzić" czy kliknięto w przycisk stop.
Zrób algorytm w osobnym wątku, lub znajdź jak w FLTK odwołać się do kolejki komunikatów, coś w stylu ProcessMessages.

0

Dzięki. Wprawdzie pojęcia nie mam ani o wielowątkowości, ani o kolejkach, ale zawsze to jakiś trop.....

1 użytkowników online, w tym zalogowanych: 0, gości: 1