Mechanizm sygnałów i slotów
Mechanizm sygnałów i slotów jest techniką wykorzystywaną do zarządzania zdarzeniami w aplikacjach komputerowych, szczególnie w graficznych interfejsach użytkownika. Stanowi on formę wywołań zwrotnych, które są aktywowane w momencie wystąpienia zdarzenia. W wyniku tego procesu wykonywane są zarejestrowane procedury obsługi zdarzeń, znane jako połączenia sygnałów z slotami.
Rodzaje sygnałów
Sygnały można podzielić na dwie kategorie:
- Unicast – sygnały, które mogą być połączone z dokładnie jednym slotem.
- Multicast – sygnały, które mogą być połączone z wieloma slotami, a ich emisja powoduje wywołanie wszystkich slotów w niezdefiniowanej kolejności.
Implementacje w bibliotekach GUI
Mechanizm sygnałów i slotów jest zaimplementowany w wielu popularnych bibliotekach graficznych, takich jak:
- Boost
- GTK+
- gtkmm
- Qt
- wxWidgets
Większość z tych bibliotek obsługuje jedynie sygnały typu multicast. Również delegaty w języku C# można zaliczyć do implementacji tego mechanizmu.