Обробка подій в juce

Відео: Уроки javascript | Урок №13 - Події і обробник подій

Обробка подій в Juce
Переважна більшість тулкіта для С ++ (Gtk +, Qt, wxWidgets, FLTK, U ++) використовують для обробки подій функції зворотного виклику (callbacks) в тій чи іншій формі. У Juce використовується інша ідеологія, заснована на передавачах (broadcaster) і приймачах подій (event listeners). Різні віджети є передавачами подій певного типу. При натисканні на кнопку відповідна подія «передається в ефір» і може бути перехоплено віджетом, який є приймачем для подій саме цього типу.

У нашій програмі приймачем події кнопки може бути клас вікна MainAppWindow. Щоб зробити цей клас приймачем, потрібно успадкувати його від базового класу ButtonListener:
// Множинне успадкування!
class MainAppWindow: public DocumentWindow,
public ButtonListener

Тепер в класі є віртуальний метод buttonclicked, який перехоплює події кнопок і отримує посилання на кнопку-передавач у вигляді параметра.

Перевизначити його:
// В оголошенні класу MainAppWindow



void buttonclicked (Button * button);
// В реалізації MainAppWindow
void MainAppWindow:: buttonclicked (Button * button) {
if (button == result) {



edit1-setText (T ( "Кнопка натиснута!"));
}
}

Обробка подій в Juce

Спочатку ми перевіряємо, яка кнопка відправила сигнал (кнопок у вікні може бути кілька), а потім встановлюємо значення поля введення. Залишився останній штрих - вказати, що кнопка посилає події саме тому приймачу, який ми призначили:
// У конструкторі MainAppWindow
result-addButtonListener (this)

this посилається на основне вікно, яке і є приймачем.

Такий підхід до обробки подій має свої переваги і недоліки. До переваг відноситься угруповання коду для обробки подій одного типу в одному місці. Якщо ми реалізуємо, наприклад, калькулятор, то логіка всіх кнопок буде зосереджена в одному методі. З іншого боку, якщо логіка - складна, а кнопок - багато, то метод-обробник швидко стає занадто великим. В цілому ж за витратами праці на зв`язування подій з обработчиками підхід Juce приблизно рівноцінний використання методів зворотного виклику.



Чи плануєте відкрити платні курси по освоєнню Juce? Значить, Вам потрібно друк брошур дешево (https://abatprestige.ru/cifra-broshure.php)! Причому надруковані вони повинні бути якісно і в кольорі, тому що перший крок до успіху - привернути увагу майбутніх клієнтів! І, на щастя для Вас, саме таку печатку здійснює abatprestige.ru!

ІНШЕ

Juce: многопоточность фото

Juce: многопоточность

Нить в Juce реалізується класом Thread. Як і в багатьох інших тулкіта, це повністю віртуальний клас, наслідуючи який…

Juce: контейнери фото

Juce: контейнери

Відео: Batman Arkham City. Серія 16 [2-ий контейнер з титаном. глушилка] Найбільш загальним контейнерним класом в Juce…

Juce: враження і висновки фото

Juce: враження і висновки

Відео: Малайзійка на підлогу шишечки - NASTY Juice! Бібліотека Juce виробляє двояке враження. Багато її можливості…

Мова програмування vala фото

Мова програмування vala

Hello world! Розгляд будь-якої мови програмування традиційно належить починати з найпростішої програми «Hello…

Juce: вкладені компонування фото

Juce: вкладені компонування

вкладені компонування У Juce використовується ідеологія, розглянута в попередній статті по U ++, - ієрархія віджетів…

Використовуємо the jucer фото

Використовуємо the jucer

Відео: Соковижималка Novis Vitajuicer Візуальний редактор компоновок The Jucer Як ми вже переконалися, розміщувати…

Ultimate ++: перша програма фото

Ultimate ++: перша програма

Відео: Уроки C # (C sharp) | # 3 - Перша програма на C # Перейдемо до реального прикладу. Напишемо просту марну…

» » Обробка подій в juce