1 /* GSequencer - Advanced GTK Sequencer
2 * Copyright (C) 2005-2020 Joël Krähemann
3 *
4 * This file is part of GSequencer.
5 *
6 * GSequencer is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * GSequencer is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with GSequencer. If not, see <http://www.gnu.org/licenses/>.
18 */
19
20 #include <ags/X/ags_ui_provider.h>
21
22 void ags_ui_provider_class_init(AgsUiProviderInterface *ginterface);
23
24 /**
25 * SECTION:ags_ui_provider
26 * @short_description: provide user interface
27 * @title: AgsUiProvider
28 * @section_id: AgsUiProvider
29 * @include: ags/X/ags_ui_provider.h
30 *
31 * The #AgsUiProvider provides you the window capabilities.
32 */
33
34 enum {
35 SETUP_COMPLETED,
36 CHECK_MESSAGE,
37 CLEAN_MESSAGE,
38 LAST_SIGNAL,
39 };
40
41 static guint ui_provider_signals[LAST_SIGNAL];
42
43 GType
ags_ui_provider_get_type()44 ags_ui_provider_get_type()
45 {
46 static volatile gsize g_define_type_id__volatile = 0;
47
48 if(g_once_init_enter (&g_define_type_id__volatile)){
49 GType ags_type_ui_provider = 0;
50
51 ags_type_ui_provider = g_type_register_static_simple(G_TYPE_INTERFACE,
52 "AgsUiProvider",
53 sizeof(AgsUiProviderInterface),
54 (GClassInitFunc) ags_ui_provider_class_init,
55 0, NULL, 0);
56
57 g_once_init_leave(&g_define_type_id__volatile, ags_type_ui_provider);
58 }
59
60 return g_define_type_id__volatile;
61 }
62
63 void
ags_ui_provider_class_init(AgsUiProviderInterface * ginterface)64 ags_ui_provider_class_init(AgsUiProviderInterface *ginterface)
65 {
66 /**
67 * AgsUiProvider::setup-completed:
68 * @ui_provider: the #AgsUiProvider object
69 *
70 * The ::setup-completed signal is emitted every check message of the UI provider. This notifies
71 * about to check for messages from message delivery.
72 *
73 * Since: 3.0.8
74 */
75 ui_provider_signals[SETUP_COMPLETED] =
76 g_signal_new("setup-completed",
77 G_TYPE_FROM_INTERFACE(ginterface),
78 G_SIGNAL_RUN_LAST,
79 G_STRUCT_OFFSET(AgsUiProviderInterface, setup_completed),
80 NULL, NULL,
81 g_cclosure_marshal_VOID__VOID,
82 G_TYPE_NONE, 0);
83
84 /**
85 * AgsUiProvider::check-message:
86 * @ui_provider: the #AgsUiProvider object
87 *
88 * The ::check-message signal is emitted every check message of the UI provider. This notifies
89 * about to check for messages from message delivery.
90 *
91 * Since: 3.0.0
92 */
93 ui_provider_signals[CHECK_MESSAGE] =
94 g_signal_new("check-message",
95 G_TYPE_FROM_INTERFACE(ginterface),
96 G_SIGNAL_RUN_LAST,
97 G_STRUCT_OFFSET(AgsUiProviderInterface, check_message),
98 NULL, NULL,
99 g_cclosure_marshal_VOID__VOID,
100 G_TYPE_NONE, 0);
101
102 /**
103 * AgsUiProvider::clean-message:
104 * @ui_provider: the #AgsUiProvider object
105 *
106 * The ::clean-message signal is emitted every clean message of the UI provider. This notifies
107 * about to clean messages from message delivery.
108 *
109 * Since: 3.0.0
110 */
111 ui_provider_signals[CLEAN_MESSAGE] =
112 g_signal_new("clean-message",
113 G_TYPE_FROM_INTERFACE(ginterface),
114 G_SIGNAL_RUN_LAST,
115 G_STRUCT_OFFSET(AgsUiProviderInterface, clean_message),
116 NULL, NULL,
117 g_cclosure_marshal_VOID__VOID,
118 G_TYPE_NONE, 0);
119 }
120
121 /**
122 * ags_ui_provider_get_show_animation:
123 * @ui_provider: the #AgsUiProvider
124 *
125 * Get show animation.
126 *
127 * Returns: %TRUE if animation does show, else %FALSE
128 *
129 * Since: 3.0.0
130 */
131 gboolean
ags_ui_provider_get_show_animation(AgsUiProvider * ui_provider)132 ags_ui_provider_get_show_animation(AgsUiProvider *ui_provider)
133 {
134 AgsUiProviderInterface *ui_provider_interface;
135
136 g_return_val_if_fail(AGS_IS_UI_PROVIDER(ui_provider), FALSE);
137 ui_provider_interface = AGS_UI_PROVIDER_GET_INTERFACE(ui_provider);
138 g_return_val_if_fail(ui_provider_interface->get_show_animation, FALSE);
139
140 return(ui_provider_interface->get_show_animation(ui_provider));
141 }
142
143 /**
144 * ags_ui_provider_set_show_animation:
145 * @ui_provider: the #AgsUiProvider
146 * @show_animation: do show animation
147 *
148 * Set show animation.
149 *
150 * Since: 3.0.0
151 */
152 void
ags_ui_provider_set_show_animation(AgsUiProvider * ui_provider,gboolean show_animation)153 ags_ui_provider_set_show_animation(AgsUiProvider *ui_provider,
154 gboolean show_animation)
155 {
156 AgsUiProviderInterface *ui_provider_interface;
157
158 g_return_if_fail(AGS_IS_UI_PROVIDER(ui_provider));
159 ui_provider_interface = AGS_UI_PROVIDER_GET_INTERFACE(ui_provider);
160 g_return_if_fail(ui_provider_interface->set_show_animation);
161
162 ui_provider_interface->set_show_animation(ui_provider,
163 show_animation);
164 }
165
166 /**
167 * ags_ui_provider_get_gui_ready:
168 * @ui_provider: the #AgsUiProvider
169 *
170 * Get GUI ready.
171 *
172 * Returns: %TRUE if gui is ready, else %FALSE
173 *
174 * Since: 3.0.0
175 */
176 gboolean
ags_ui_provider_get_gui_ready(AgsUiProvider * ui_provider)177 ags_ui_provider_get_gui_ready(AgsUiProvider *ui_provider)
178 {
179 AgsUiProviderInterface *ui_provider_interface;
180
181 g_return_val_if_fail(AGS_IS_UI_PROVIDER(ui_provider), FALSE);
182 ui_provider_interface = AGS_UI_PROVIDER_GET_INTERFACE(ui_provider);
183 g_return_val_if_fail(ui_provider_interface->get_gui_ready, FALSE);
184
185 return(ui_provider_interface->get_gui_ready(ui_provider));
186 }
187
188 /**
189 * ags_ui_provider_set_gui_ready:
190 * @ui_provider: the #AgsUiProvider
191 * @gui_ready: is GUI ready
192 *
193 * Set GUI ready.
194 *
195 * Since: 3.0.0
196 */
197 void
ags_ui_provider_set_gui_ready(AgsUiProvider * ui_provider,gboolean gui_ready)198 ags_ui_provider_set_gui_ready(AgsUiProvider *ui_provider,
199 gboolean gui_ready)
200 {
201 AgsUiProviderInterface *ui_provider_interface;
202
203 g_return_if_fail(AGS_IS_UI_PROVIDER(ui_provider));
204 ui_provider_interface = AGS_UI_PROVIDER_GET_INTERFACE(ui_provider);
205 g_return_if_fail(ui_provider_interface->set_gui_ready);
206
207 ui_provider_interface->set_gui_ready(ui_provider,
208 gui_ready);
209 }
210
211 /**
212 * ags_ui_provider_get_file_ready:
213 * @ui_provider: the #AgsUiProvider
214 *
215 * Get file ready.
216 *
217 * Returns: %TRUE if gui is ready, else %FALSE
218 *
219 * Since: 3.0.0
220 */
221 gboolean
ags_ui_provider_get_file_ready(AgsUiProvider * ui_provider)222 ags_ui_provider_get_file_ready(AgsUiProvider *ui_provider)
223 {
224 AgsUiProviderInterface *ui_provider_interface;
225
226 g_return_val_if_fail(AGS_IS_UI_PROVIDER(ui_provider), FALSE);
227 ui_provider_interface = AGS_UI_PROVIDER_GET_INTERFACE(ui_provider);
228 g_return_val_if_fail(ui_provider_interface->get_file_ready, FALSE);
229
230 return(ui_provider_interface->get_file_ready(ui_provider));
231 }
232
233 /**
234 * ags_ui_provider_set_file_ready:
235 * @ui_provider: the #AgsUiProvider
236 * @file_ready: is GUI ready
237 *
238 * Set file ready.
239 *
240 * Since: 3.0.0
241 */
242 void
ags_ui_provider_set_file_ready(AgsUiProvider * ui_provider,gboolean file_ready)243 ags_ui_provider_set_file_ready(AgsUiProvider *ui_provider,
244 gboolean file_ready)
245 {
246 AgsUiProviderInterface *ui_provider_interface;
247
248 g_return_if_fail(AGS_IS_UI_PROVIDER(ui_provider));
249 ui_provider_interface = AGS_UI_PROVIDER_GET_INTERFACE(ui_provider);
250 g_return_if_fail(ui_provider_interface->set_file_ready);
251
252 ui_provider_interface->set_file_ready(ui_provider,
253 file_ready);
254 }
255
256 /**
257 * ags_ui_provider_get_gui_scale_factor:
258 * @ui_provider: the #AgsUiProvider
259 *
260 * Get GUI scale factor.
261 *
262 * Returns: the GUI scale factor as gdouble
263 *
264 * Since: 3.0.0
265 */
266 gdouble
ags_ui_provider_get_gui_scale_factor(AgsUiProvider * ui_provider)267 ags_ui_provider_get_gui_scale_factor(AgsUiProvider *ui_provider)
268 {
269 AgsUiProviderInterface *ui_provider_interface;
270
271 g_return_val_if_fail(AGS_IS_UI_PROVIDER(ui_provider), FALSE);
272 ui_provider_interface = AGS_UI_PROVIDER_GET_INTERFACE(ui_provider);
273 g_return_val_if_fail(ui_provider_interface->get_gui_scale_factor, FALSE);
274
275 return(ui_provider_interface->get_gui_scale_factor(ui_provider));
276 }
277
278 /**
279 * ags_ui_provider_set_gui_scale_factor:
280 * @ui_provider: the #AgsUiProvider
281 * @gui_scale_factor: GUI scale factor
282 *
283 * Set the GUI scale factor as gdouble.
284 *
285 * Since: 3.0.0
286 */
287 void
ags_ui_provider_set_gui_scale_factor(AgsUiProvider * ui_provider,gdouble gui_scale_factor)288 ags_ui_provider_set_gui_scale_factor(AgsUiProvider *ui_provider,
289 gdouble gui_scale_factor)
290 {
291 AgsUiProviderInterface *ui_provider_interface;
292
293 g_return_if_fail(AGS_IS_UI_PROVIDER(ui_provider));
294 ui_provider_interface = AGS_UI_PROVIDER_GET_INTERFACE(ui_provider);
295 g_return_if_fail(ui_provider_interface->set_gui_scale_factor);
296
297 ui_provider_interface->set_gui_scale_factor(ui_provider,
298 gui_scale_factor);
299 }
300
301 /**
302 * ags_ui_provider_schedule_task:
303 * @ui_provider: the #AgsUiProvider
304 * @task: the #AgsTask
305 *
306 * Schedule @task to be launched.
307 *
308 * Since: 3.0.0
309 */
310 void
ags_ui_provider_schedule_task(AgsUiProvider * ui_provider,AgsTask * task)311 ags_ui_provider_schedule_task(AgsUiProvider *ui_provider,
312 AgsTask *task)
313 {
314 AgsUiProviderInterface *ui_provider_interface;
315
316 g_return_if_fail(AGS_IS_UI_PROVIDER(ui_provider));
317 ui_provider_interface = AGS_UI_PROVIDER_GET_INTERFACE(ui_provider);
318 g_return_if_fail(ui_provider_interface->schedule_task);
319
320 ui_provider_interface->schedule_task(ui_provider,
321 task);
322 }
323
324 /**
325 * ags_ui_provider_schedule_task_all:
326 * @ui_provider: the #AgsUiProvider
327 * @task: the #GList-struct containig #AgsTask
328 *
329 * Schedule all @task to be launched.
330 *
331 * Since: 3.0.0
332 */
333 void
ags_ui_provider_schedule_task_all(AgsUiProvider * ui_provider,GList * task)334 ags_ui_provider_schedule_task_all(AgsUiProvider *ui_provider,
335 GList *task)
336 {
337 AgsUiProviderInterface *ui_provider_interface;
338
339 g_return_if_fail(AGS_IS_UI_PROVIDER(ui_provider));
340 ui_provider_interface = AGS_UI_PROVIDER_GET_INTERFACE(ui_provider);
341 g_return_if_fail(ui_provider_interface->schedule_task_all);
342
343 ui_provider_interface->schedule_task_all(ui_provider,
344 task);
345 }
346
347 /**
348 * ags_ui_provider_setup_completed:
349 * @ui_provider: the #AgsUiProvider
350 *
351 * Application context setup completed.
352 *
353 * Since: 3.0.8
354 */
355 void
ags_ui_provider_setup_completed(AgsUiProvider * ui_provider)356 ags_ui_provider_setup_completed(AgsUiProvider *ui_provider)
357 {
358 g_signal_emit(ui_provider, ui_provider_signals[SETUP_COMPLETED], 0);
359 }
360
361 /**
362 * ags_ui_provider_check_message:
363 * @ui_provider: the #AgsUiProvider
364 *
365 * Check messages the UI provider needs to consume.
366 *
367 * Since: 3.0.0
368 */
369 void
ags_ui_provider_check_message(AgsUiProvider * ui_provider)370 ags_ui_provider_check_message(AgsUiProvider *ui_provider)
371 {
372 g_signal_emit(ui_provider, ui_provider_signals[CHECK_MESSAGE], 0);
373 }
374
375 /**
376 * ags_ui_provider_clean_message:
377 * @ui_provider: the #AgsUiProvider
378 *
379 * Clean messages the UI provider needs to consume.
380 *
381 * Since: 3.0.0
382 */
383 void
ags_ui_provider_clean_message(AgsUiProvider * ui_provider)384 ags_ui_provider_clean_message(AgsUiProvider *ui_provider)
385 {
386 g_signal_emit(ui_provider, ui_provider_signals[CLEAN_MESSAGE], 0);
387 }
388
389 /**
390 * ags_ui_provider_get_animation_window:
391 * @ui_provider: the #AgsUiProvider
392 *
393 * Get animation window.
394 *
395 * Returns: the #GtkWidget
396 *
397 * Since: 3.0.0
398 */
399 GtkWidget*
ags_ui_provider_get_animation_window(AgsUiProvider * ui_provider)400 ags_ui_provider_get_animation_window(AgsUiProvider *ui_provider)
401 {
402 AgsUiProviderInterface *ui_provider_interface;
403
404 g_return_val_if_fail(AGS_IS_UI_PROVIDER(ui_provider), NULL);
405 ui_provider_interface = AGS_UI_PROVIDER_GET_INTERFACE(ui_provider);
406 g_return_val_if_fail(ui_provider_interface->get_animation_window, NULL);
407
408 return(ui_provider_interface->get_animation_window(ui_provider));
409 }
410
411 /**
412 * ags_ui_provider_set_animation_window:
413 * @ui_provider: the #AgsUiProvider
414 * @animation_window: the #GtkWidget
415 *
416 * Set animation window.
417 *
418 * Since: 3.0.0
419 */
420 void
ags_ui_provider_set_animation_window(AgsUiProvider * ui_provider,GtkWidget * animation_window)421 ags_ui_provider_set_animation_window(AgsUiProvider *ui_provider,
422 GtkWidget *animation_window)
423 {
424 AgsUiProviderInterface *ui_provider_interface;
425
426 g_return_if_fail(AGS_IS_UI_PROVIDER(ui_provider));
427 ui_provider_interface = AGS_UI_PROVIDER_GET_INTERFACE(ui_provider);
428 g_return_if_fail(ui_provider_interface->set_animation_window);
429
430 ui_provider_interface->set_animation_window(ui_provider,
431 animation_window);
432 }
433
434 /**
435 * ags_ui_provider_get_window:
436 * @ui_provider: the #AgsUiProvider
437 *
438 * Get window.
439 *
440 * Returns: the #AgsWindow
441 *
442 * Since: 3.0.0
443 */
444 GtkWidget*
ags_ui_provider_get_window(AgsUiProvider * ui_provider)445 ags_ui_provider_get_window(AgsUiProvider *ui_provider)
446 {
447 AgsUiProviderInterface *ui_provider_interface;
448
449 g_return_val_if_fail(AGS_IS_UI_PROVIDER(ui_provider), NULL);
450 ui_provider_interface = AGS_UI_PROVIDER_GET_INTERFACE(ui_provider);
451 g_return_val_if_fail(ui_provider_interface->get_window, NULL);
452
453 return(ui_provider_interface->get_window(ui_provider));
454 }
455
456 /**
457 * ags_ui_provider_set_window:
458 * @ui_provider: the #AgsUiProvider
459 * @window: the #AgsWindow
460 *
461 * Set window.
462 *
463 * Since: 3.0.0
464 */
465 void
ags_ui_provider_set_window(AgsUiProvider * ui_provider,GtkWidget * window)466 ags_ui_provider_set_window(AgsUiProvider *ui_provider,
467 GtkWidget *window)
468 {
469 AgsUiProviderInterface *ui_provider_interface;
470
471 g_return_if_fail(AGS_IS_UI_PROVIDER(ui_provider));
472 ui_provider_interface = AGS_UI_PROVIDER_GET_INTERFACE(ui_provider);
473 g_return_if_fail(ui_provider_interface->set_window);
474
475 ui_provider_interface->set_window(ui_provider,
476 window);
477 }
478
479 /**
480 * ags_ui_provider_get_automation_window:
481 * @ui_provider: the #AgsUiProvider
482 *
483 * Get automation window.
484 *
485 * Returns: the #GtkWidget
486 *
487 * Since: 3.0.0
488 */
489 GtkWidget*
ags_ui_provider_get_automation_window(AgsUiProvider * ui_provider)490 ags_ui_provider_get_automation_window(AgsUiProvider *ui_provider)
491 {
492 AgsUiProviderInterface *ui_provider_interface;
493
494 g_return_val_if_fail(AGS_IS_UI_PROVIDER(ui_provider), NULL);
495 ui_provider_interface = AGS_UI_PROVIDER_GET_INTERFACE(ui_provider);
496 g_return_val_if_fail(ui_provider_interface->get_automation_window, NULL);
497
498 return(ui_provider_interface->get_automation_window(ui_provider));
499 }
500
501 /**
502 * ags_ui_provider_set_automation_window:
503 * @ui_provider: the #AgsUiProvider
504 * @automation_window: the #GtkWidget
505 *
506 * Set automation window.
507 *
508 * Since: 3.0.0
509 */
510 void
ags_ui_provider_set_automation_window(AgsUiProvider * ui_provider,GtkWidget * automation_window)511 ags_ui_provider_set_automation_window(AgsUiProvider *ui_provider,
512 GtkWidget *automation_window)
513 {
514 AgsUiProviderInterface *ui_provider_interface;
515
516 g_return_if_fail(AGS_IS_UI_PROVIDER(ui_provider));
517 ui_provider_interface = AGS_UI_PROVIDER_GET_INTERFACE(ui_provider);
518 g_return_if_fail(ui_provider_interface->set_automation_window);
519
520 ui_provider_interface->set_automation_window(ui_provider,
521 automation_window);
522 }
523
524 /**
525 * ags_ui_provider_get_wave_window:
526 * @ui_provider: the #AgsUiProvider
527 *
528 * Get wave window.
529 *
530 * Returns: the #GtkWidget
531 *
532 * Since: 3.0.0
533 */
534 GtkWidget*
ags_ui_provider_get_wave_window(AgsUiProvider * ui_provider)535 ags_ui_provider_get_wave_window(AgsUiProvider *ui_provider)
536 {
537 AgsUiProviderInterface *ui_provider_interface;
538
539 g_return_val_if_fail(AGS_IS_UI_PROVIDER(ui_provider), NULL);
540 ui_provider_interface = AGS_UI_PROVIDER_GET_INTERFACE(ui_provider);
541 g_return_val_if_fail(ui_provider_interface->get_wave_window, NULL);
542
543 return(ui_provider_interface->get_wave_window(ui_provider));
544 }
545
546 /**
547 * ags_ui_provider_set_wave_window:
548 * @ui_provider: the #AgsUiProvider
549 * @wave_window: the #GtkWidget
550 *
551 * Set wave window.
552 *
553 * Since: 3.0.0
554 */
555 void
ags_ui_provider_set_wave_window(AgsUiProvider * ui_provider,GtkWidget * wave_window)556 ags_ui_provider_set_wave_window(AgsUiProvider *ui_provider,
557 GtkWidget *wave_window)
558 {
559 AgsUiProviderInterface *ui_provider_interface;
560
561 g_return_if_fail(AGS_IS_UI_PROVIDER(ui_provider));
562 ui_provider_interface = AGS_UI_PROVIDER_GET_INTERFACE(ui_provider);
563 g_return_if_fail(ui_provider_interface->set_wave_window);
564
565 ui_provider_interface->set_wave_window(ui_provider,
566 wave_window);
567 }
568
569 /**
570 * ags_ui_provider_get_sheet_window:
571 * @ui_provider: the #AgsUiProvider
572 *
573 * Get sheet window.
574 *
575 * Returns: the #GtkWidget
576 *
577 * Since: 3.0.0
578 */
579 GtkWidget*
ags_ui_provider_get_sheet_window(AgsUiProvider * ui_provider)580 ags_ui_provider_get_sheet_window(AgsUiProvider *ui_provider)
581 {
582 AgsUiProviderInterface *ui_provider_interface;
583
584 g_return_val_if_fail(AGS_IS_UI_PROVIDER(ui_provider), NULL);
585 ui_provider_interface = AGS_UI_PROVIDER_GET_INTERFACE(ui_provider);
586 g_return_val_if_fail(ui_provider_interface->get_sheet_window, NULL);
587
588 return(ui_provider_interface->get_sheet_window(ui_provider));
589 }
590
591 /**
592 * ags_ui_provider_set_sheet_window:
593 * @ui_provider: the #AgsUiProvider
594 * @sheet_window: the #GtkWidget
595 *
596 * Set sheet window.
597 *
598 * Since: 3.0.0
599 */
600 void
ags_ui_provider_set_sheet_window(AgsUiProvider * ui_provider,GtkWidget * sheet_window)601 ags_ui_provider_set_sheet_window(AgsUiProvider *ui_provider,
602 GtkWidget *sheet_window)
603 {
604 AgsUiProviderInterface *ui_provider_interface;
605
606 g_return_if_fail(AGS_IS_UI_PROVIDER(ui_provider));
607 ui_provider_interface = AGS_UI_PROVIDER_GET_INTERFACE(ui_provider);
608 g_return_if_fail(ui_provider_interface->set_sheet_window);
609
610 ui_provider_interface->set_sheet_window(ui_provider,
611 sheet_window);
612 }
613
614 /**
615 * ags_ui_provider_get_export_window:
616 * @ui_provider: the #AgsUiProvider
617 *
618 * Get export window.
619 *
620 * Returns: the #GtkWidget
621 *
622 * Since: 3.0.0
623 */
624 GtkWidget*
ags_ui_provider_get_export_window(AgsUiProvider * ui_provider)625 ags_ui_provider_get_export_window(AgsUiProvider *ui_provider)
626 {
627 AgsUiProviderInterface *ui_provider_interface;
628
629 g_return_val_if_fail(AGS_IS_UI_PROVIDER(ui_provider), NULL);
630 ui_provider_interface = AGS_UI_PROVIDER_GET_INTERFACE(ui_provider);
631 g_return_val_if_fail(ui_provider_interface->get_export_window, NULL);
632
633 return(ui_provider_interface->get_export_window(ui_provider));
634 }
635
636 /**
637 * ags_ui_provider_set_export_window:
638 * @ui_provider: the #AgsUiProvider
639 * @export_window: the #GtkWidget
640 *
641 * Set export window.
642 *
643 * Since: 3.0.0
644 */
645 void
ags_ui_provider_set_export_window(AgsUiProvider * ui_provider,GtkWidget * export_window)646 ags_ui_provider_set_export_window(AgsUiProvider *ui_provider,
647 GtkWidget *export_window)
648 {
649 AgsUiProviderInterface *ui_provider_interface;
650
651 g_return_if_fail(AGS_IS_UI_PROVIDER(ui_provider));
652 ui_provider_interface = AGS_UI_PROVIDER_GET_INTERFACE(ui_provider);
653 g_return_if_fail(ui_provider_interface->set_export_window);
654
655 ui_provider_interface->set_export_window(ui_provider,
656 export_window);
657 }
658
659 /**
660 * ags_ui_provider_get_online_help_window:
661 * @ui_provider: the #AgsUiProvider
662 *
663 * Get online help window.
664 *
665 * Returns: the #GtkWidget
666 *
667 * Since: 3.5.0
668 */
669 GtkWidget*
ags_ui_provider_get_online_help_window(AgsUiProvider * ui_provider)670 ags_ui_provider_get_online_help_window(AgsUiProvider *ui_provider)
671 {
672 AgsUiProviderInterface *ui_provider_interface;
673
674 g_return_val_if_fail(AGS_IS_UI_PROVIDER(ui_provider), NULL);
675 ui_provider_interface = AGS_UI_PROVIDER_GET_INTERFACE(ui_provider);
676 g_return_val_if_fail(ui_provider_interface->get_online_help_window, NULL);
677
678 return(ui_provider_interface->get_online_help_window(ui_provider));
679 }
680
681 /**
682 * ags_ui_provider_set_online_help_window:
683 * @ui_provider: the #AgsUiProvider
684 * @online_help_window: the #GtkWidget
685 *
686 * Set online help window.
687 *
688 * Since: 3.5.0
689 */
690 void
ags_ui_provider_set_online_help_window(AgsUiProvider * ui_provider,GtkWidget * online_help_window)691 ags_ui_provider_set_online_help_window(AgsUiProvider *ui_provider,
692 GtkWidget *online_help_window)
693 {
694 AgsUiProviderInterface *ui_provider_interface;
695
696 g_return_if_fail(AGS_IS_UI_PROVIDER(ui_provider));
697 ui_provider_interface = AGS_UI_PROVIDER_GET_INTERFACE(ui_provider);
698 g_return_if_fail(ui_provider_interface->set_online_help_window);
699
700 ui_provider_interface->set_online_help_window(ui_provider,
701 online_help_window);
702 }
703
704 /**
705 * ags_ui_provider_get_preferences:
706 * @ui_provider: the #AgsUiProvider
707 *
708 * Get animation window.
709 *
710 * Returns: the #GtkWidget
711 *
712 * Since: 3.0.0
713 */
714 GtkWidget*
ags_ui_provider_get_preferences(AgsUiProvider * ui_provider)715 ags_ui_provider_get_preferences(AgsUiProvider *ui_provider)
716 {
717 AgsUiProviderInterface *ui_provider_interface;
718
719 g_return_val_if_fail(AGS_IS_UI_PROVIDER(ui_provider), NULL);
720 ui_provider_interface = AGS_UI_PROVIDER_GET_INTERFACE(ui_provider);
721 g_return_val_if_fail(ui_provider_interface->get_preferences, NULL);
722
723 return(ui_provider_interface->get_preferences(ui_provider));
724 }
725
726 /**
727 * ags_ui_provider_set_preferences:
728 * @ui_provider: the #AgsUiProvider
729 * @preferences: the #GtkWidget
730 *
731 * Set animation window.
732 *
733 * Since: 3.0.0
734 */
735 void
ags_ui_provider_set_preferences(AgsUiProvider * ui_provider,GtkWidget * preferences)736 ags_ui_provider_set_preferences(AgsUiProvider *ui_provider,
737 GtkWidget *preferences)
738 {
739 AgsUiProviderInterface *ui_provider_interface;
740
741 g_return_if_fail(AGS_IS_UI_PROVIDER(ui_provider));
742 ui_provider_interface = AGS_UI_PROVIDER_GET_INTERFACE(ui_provider);
743 g_return_if_fail(ui_provider_interface->set_preferences);
744
745 ui_provider_interface->set_preferences(ui_provider,
746 preferences);
747 }
748
749 /**
750 * ags_ui_provider_get_history_browser:
751 * @ui_provider: the #AgsUiProvider
752 *
753 * Get animation window.
754 *
755 * Returns: the #GtkWidget
756 *
757 * Since: 3.0.0
758 */
759 GtkWidget*
ags_ui_provider_get_history_browser(AgsUiProvider * ui_provider)760 ags_ui_provider_get_history_browser(AgsUiProvider *ui_provider)
761 {
762 AgsUiProviderInterface *ui_provider_interface;
763
764 g_return_val_if_fail(AGS_IS_UI_PROVIDER(ui_provider), NULL);
765 ui_provider_interface = AGS_UI_PROVIDER_GET_INTERFACE(ui_provider);
766 g_return_val_if_fail(ui_provider_interface->get_history_browser, NULL);
767
768 return(ui_provider_interface->get_history_browser(ui_provider));
769 }
770
771 /**
772 * ags_ui_provider_set_history_browser:
773 * @ui_provider: the #AgsUiProvider
774 * @history_browser: the #GtkWidget
775 *
776 * Set animation window.
777 *
778 * Since: 3.0.0
779 */
780 void
ags_ui_provider_set_history_browser(AgsUiProvider * ui_provider,GtkWidget * history_browser)781 ags_ui_provider_set_history_browser(AgsUiProvider *ui_provider,
782 GtkWidget *history_browser)
783 {
784 AgsUiProviderInterface *ui_provider_interface;
785
786 g_return_if_fail(AGS_IS_UI_PROVIDER(ui_provider));
787 ui_provider_interface = AGS_UI_PROVIDER_GET_INTERFACE(ui_provider);
788 g_return_if_fail(ui_provider_interface->set_history_browser);
789
790 ui_provider_interface->set_history_browser(ui_provider,
791 history_browser);
792 }
793
794 /**
795 * ags_ui_provider_get_midi_browser:
796 * @ui_provider: the #AgsUiProvider
797 *
798 * Get animation window.
799 *
800 * Returns: the #GtkWidget
801 *
802 * Since: 3.0.0
803 */
804 GtkWidget*
ags_ui_provider_get_midi_browser(AgsUiProvider * ui_provider)805 ags_ui_provider_get_midi_browser(AgsUiProvider *ui_provider)
806 {
807 AgsUiProviderInterface *ui_provider_interface;
808
809 g_return_val_if_fail(AGS_IS_UI_PROVIDER(ui_provider), NULL);
810 ui_provider_interface = AGS_UI_PROVIDER_GET_INTERFACE(ui_provider);
811 g_return_val_if_fail(ui_provider_interface->get_midi_browser, NULL);
812
813 return(ui_provider_interface->get_midi_browser(ui_provider));
814 }
815
816 /**
817 * ags_ui_provider_set_midi_browser:
818 * @ui_provider: the #AgsUiProvider
819 * @midi_browser: the #GtkWidget
820 *
821 * Set animation window.
822 *
823 * Since: 3.0.0
824 */
825 void
ags_ui_provider_set_midi_browser(AgsUiProvider * ui_provider,GtkWidget * midi_browser)826 ags_ui_provider_set_midi_browser(AgsUiProvider *ui_provider,
827 GtkWidget *midi_browser)
828 {
829 AgsUiProviderInterface *ui_provider_interface;
830
831 g_return_if_fail(AGS_IS_UI_PROVIDER(ui_provider));
832 ui_provider_interface = AGS_UI_PROVIDER_GET_INTERFACE(ui_provider);
833 g_return_if_fail(ui_provider_interface->set_midi_browser);
834
835 ui_provider_interface->set_midi_browser(ui_provider,
836 midi_browser);
837 }
838
839 /**
840 * ags_ui_provider_et_sample_browser:
841 * @ui_provider: the #AgsUiProvider
842 *
843 * Get animation window.
844 *
845 * Returns: the #GtkWidget
846 *
847 * Since: 3.0.0
848 */
849 GtkWidget*
ags_ui_provider_get_sample_browser(AgsUiProvider * ui_provider)850 ags_ui_provider_get_sample_browser(AgsUiProvider *ui_provider)
851 {
852 AgsUiProviderInterface *ui_provider_interface;
853
854 g_return_val_if_fail(AGS_IS_UI_PROVIDER(ui_provider), NULL);
855 ui_provider_interface = AGS_UI_PROVIDER_GET_INTERFACE(ui_provider);
856 g_return_val_if_fail(ui_provider_interface->get_sample_browser, NULL);
857
858 return(ui_provider_interface->get_sample_browser(ui_provider));
859 }
860
861 /**
862 * ags_ui_provider_set_sample_browser:
863 * @ui_provider: the #AgsUiProvider
864 * @sample_browser: the #GtkWidget
865 *
866 * Set animation window.
867 *
868 * Since: 3.0.0
869 */
870 void
ags_ui_provider_set_sample_browser(AgsUiProvider * ui_provider,GtkWidget * sample_browser)871 ags_ui_provider_set_sample_browser(AgsUiProvider *ui_provider,
872 GtkWidget *sample_browser)
873 {
874 AgsUiProviderInterface *ui_provider_interface;
875
876 g_return_if_fail(AGS_IS_UI_PROVIDER(ui_provider));
877 ui_provider_interface = AGS_UI_PROVIDER_GET_INTERFACE(ui_provider);
878 g_return_if_fail(ui_provider_interface->set_sample_browser);
879
880 ui_provider_interface->set_sample_browser(ui_provider,
881 sample_browser);
882 }
883
884 /**
885 * ags_ui_provider_get_midi_import_wizard:
886 * @ui_provider: the #AgsUiProvider
887 *
888 * Get animation window.
889 *
890 * Returns: the #GtkWidget
891 *
892 * Since: 3.0.0
893 */
894 GtkWidget*
ags_ui_provider_get_midi_import_wizard(AgsUiProvider * ui_provider)895 ags_ui_provider_get_midi_import_wizard(AgsUiProvider *ui_provider)
896 {
897 AgsUiProviderInterface *ui_provider_interface;
898
899 g_return_val_if_fail(AGS_IS_UI_PROVIDER(ui_provider), NULL);
900 ui_provider_interface = AGS_UI_PROVIDER_GET_INTERFACE(ui_provider);
901 g_return_val_if_fail(ui_provider_interface->get_midi_import_wizard, NULL);
902
903 return(ui_provider_interface->get_midi_import_wizard(ui_provider));
904 }
905
906 /**
907 * ags_ui_provider_set_midi_import_wizard:
908 * @ui_provider: the #AgsUiProvider
909 * @midi_import_wizard: the #GtkWidget
910 *
911 * Set animation window.
912 *
913 * Since: 3.0.0
914 */
915 void
ags_ui_provider_set_midi_import_wizard(AgsUiProvider * ui_provider,GtkWidget * midi_import_wizard)916 ags_ui_provider_set_midi_import_wizard(AgsUiProvider *ui_provider,
917 GtkWidget *midi_import_wizard)
918 {
919 AgsUiProviderInterface *ui_provider_interface;
920
921 g_return_if_fail(AGS_IS_UI_PROVIDER(ui_provider));
922 ui_provider_interface = AGS_UI_PROVIDER_GET_INTERFACE(ui_provider);
923 g_return_if_fail(ui_provider_interface->set_midi_import_wizard);
924
925 ui_provider_interface->set_midi_import_wizard(ui_provider,
926 midi_import_wizard);
927 }
928
929 /**
930 * ags_ui_provider_get_midi_export_wizard:
931 * @ui_provider: the #AgsUiProvider
932 *
933 * Get animation window.
934 *
935 * Returns: the #GtkWidget
936 *
937 * Since: 3.0.0
938 */
939 GtkWidget*
ags_ui_provider_get_midi_export_wizard(AgsUiProvider * ui_provider)940 ags_ui_provider_get_midi_export_wizard(AgsUiProvider *ui_provider)
941 {
942 AgsUiProviderInterface *ui_provider_interface;
943
944 g_return_val_if_fail(AGS_IS_UI_PROVIDER(ui_provider), NULL);
945 ui_provider_interface = AGS_UI_PROVIDER_GET_INTERFACE(ui_provider);
946 g_return_val_if_fail(ui_provider_interface->get_midi_export_wizard, NULL);
947
948 return(ui_provider_interface->get_midi_export_wizard(ui_provider));
949 }
950
951 /**
952 * ags_ui_provider_set_midi_export_wizard:
953 * @ui_provider: the #AgsUiProvider
954 * @midi_export_wizard: the #GtkWidget
955 *
956 * Set animation window.
957 *
958 * Since: 3.0.0
959 */
960 void
ags_ui_provider_set_midi_export_wizard(AgsUiProvider * ui_provider,GtkWidget * midi_export_wizard)961 ags_ui_provider_set_midi_export_wizard(AgsUiProvider *ui_provider,
962 GtkWidget *midi_export_wizard)
963 {
964 AgsUiProviderInterface *ui_provider_interface;
965
966 g_return_if_fail(AGS_IS_UI_PROVIDER(ui_provider));
967 ui_provider_interface = AGS_UI_PROVIDER_GET_INTERFACE(ui_provider);
968 g_return_if_fail(ui_provider_interface->set_midi_export_wizard);
969
970 ui_provider_interface->set_midi_export_wizard(ui_provider,
971 midi_export_wizard);
972 }
973
974 /**
975 * ags_ui_provider_get_machine:
976 * @ui_provider: the #AgsUiProvider
977 *
978 * Get machine.
979 *
980 * Returns: the #GList-struct containing #AgsMachine
981 *
982 * Since: 3.0.0
983 */
984 GList*
ags_ui_provider_get_machine(AgsUiProvider * ui_provider)985 ags_ui_provider_get_machine(AgsUiProvider *ui_provider)
986 {
987 AgsUiProviderInterface *ui_provider_interface;
988
989 g_return_val_if_fail(AGS_IS_UI_PROVIDER(ui_provider), NULL);
990 ui_provider_interface = AGS_UI_PROVIDER_GET_INTERFACE(ui_provider);
991 g_return_val_if_fail(ui_provider_interface->get_machine, NULL);
992
993 return(ui_provider_interface->get_machine(ui_provider));
994 }
995
996 /**
997 * ags_ui_provider_set_machine:
998 * @ui_provider: the #AgsUiProvider
999 * @machine: the #GList-struct containing #AgsMachine
1000 *
1001 * Set machine.
1002 *
1003 * Since: 3.0.0
1004 */
1005 void
ags_ui_provider_set_machine(AgsUiProvider * ui_provider,GList * machine)1006 ags_ui_provider_set_machine(AgsUiProvider *ui_provider,
1007 GList *machine)
1008 {
1009 AgsUiProviderInterface *ui_provider_interface;
1010
1011 g_return_if_fail(AGS_IS_UI_PROVIDER(ui_provider));
1012 ui_provider_interface = AGS_UI_PROVIDER_GET_INTERFACE(ui_provider);
1013 g_return_if_fail(ui_provider_interface->set_machine);
1014
1015 ui_provider_interface->set_machine(ui_provider,
1016 machine);
1017 }
1018
1019 /**
1020 * ags_ui_provider_get_composite_editor:
1021 * @ui_provider: the #AgsUiProvider
1022 *
1023 * Get animation window.
1024 *
1025 * Returns: the #GtkWidget
1026 *
1027 * Since: 3.0.0
1028 */
1029 GtkWidget*
ags_ui_provider_get_composite_editor(AgsUiProvider * ui_provider)1030 ags_ui_provider_get_composite_editor(AgsUiProvider *ui_provider)
1031 {
1032 AgsUiProviderInterface *ui_provider_interface;
1033
1034 g_return_val_if_fail(AGS_IS_UI_PROVIDER(ui_provider), NULL);
1035 ui_provider_interface = AGS_UI_PROVIDER_GET_INTERFACE(ui_provider);
1036 g_return_val_if_fail(ui_provider_interface->get_composite_editor, NULL);
1037
1038 return(ui_provider_interface->get_composite_editor(ui_provider));
1039 }
1040
1041 /**
1042 * ags_ui_provider_set_composite_editor:
1043 * @ui_provider: the #AgsUiProvider
1044 * @composite_editor: the #GtkWidget
1045 *
1046 * Set animation window.
1047 *
1048 * Since: 3.0.0
1049 */
1050 void
ags_ui_provider_set_composite_editor(AgsUiProvider * ui_provider,GtkWidget * composite_editor)1051 ags_ui_provider_set_composite_editor(AgsUiProvider *ui_provider,
1052 GtkWidget *composite_editor)
1053 {
1054 AgsUiProviderInterface *ui_provider_interface;
1055
1056 g_return_if_fail(AGS_IS_UI_PROVIDER(ui_provider));
1057 ui_provider_interface = AGS_UI_PROVIDER_GET_INTERFACE(ui_provider);
1058 g_return_if_fail(ui_provider_interface->set_composite_editor);
1059
1060 ui_provider_interface->set_composite_editor(ui_provider,
1061 composite_editor);
1062 }
1063
1064 /**
1065 * ags_ui_provider_get_navigation:
1066 * @ui_provider: the #AgsUiProvider
1067 *
1068 * Get animation window.
1069 *
1070 * Returns: the #GtkWidget
1071 *
1072 * Since: 3.0.0
1073 */
1074 GtkWidget*
ags_ui_provider_get_navigation(AgsUiProvider * ui_provider)1075 ags_ui_provider_get_navigation(AgsUiProvider *ui_provider)
1076 {
1077 AgsUiProviderInterface *ui_provider_interface;
1078
1079 g_return_val_if_fail(AGS_IS_UI_PROVIDER(ui_provider), NULL);
1080 ui_provider_interface = AGS_UI_PROVIDER_GET_INTERFACE(ui_provider);
1081 g_return_val_if_fail(ui_provider_interface->get_navigation, NULL);
1082
1083 return(ui_provider_interface->get_navigation(ui_provider));
1084 }
1085
1086 /**
1087 * ags_ui_provider_set_navigation:
1088 * @ui_provider: the #AgsUiProvider
1089 * @navigation: the #GtkWidget
1090 *
1091 * Set animation window.
1092 *
1093 * Since: 3.0.0
1094 */
1095 void
ags_ui_provider_set_navigation(AgsUiProvider * ui_provider,GtkWidget * navigation)1096 ags_ui_provider_set_navigation(AgsUiProvider *ui_provider,
1097 GtkWidget *navigation)
1098 {
1099 AgsUiProviderInterface *ui_provider_interface;
1100
1101 g_return_if_fail(AGS_IS_UI_PROVIDER(ui_provider));
1102 ui_provider_interface = AGS_UI_PROVIDER_GET_INTERFACE(ui_provider);
1103 g_return_if_fail(ui_provider_interface->set_navigation);
1104
1105 ui_provider_interface->set_navigation(ui_provider,
1106 navigation);
1107 }
1108