1 /*
2     DeaDBeeF -- the music player
3     Copyright (C) 2009-2015 Alexey Yakovenko and other contributors
4 
5     This software is provided 'as-is', without any express or implied
6     warranty.  In no event will the authors be held liable for any damages
7     arising from the use of this software.
8 
9     Permission is granted to anyone to use this software for any purpose,
10     including commercial applications, and to alter it and redistribute it
11     freely, subject to the following restrictions:
12 
13     1. The origin of this software must not be misrepresented; you must not
14      claim that you wrote the original software. If you use this software
15      in a product, an acknowledgment in the product documentation would be
16      appreciated but is not required.
17 
18     2. Altered source versions must be plainly marked as such, and must not be
19      misrepresented as being the original software.
20 
21     3. This notice may not be removed or altered from any source distribution.
22 */
23 
24 #ifndef __WIDGETS_H
25 #define __WIDGETS_H
26 
27 #include "gtkui_api.h"
28 
29 void
30 w_init (void);
31 
32 void
33 w_free (void);
34 
35 void
36 w_save (void);
37 
38 ddb_gtkui_widget_t *
39 w_get_rootwidget (void);
40 
41 void
42 w_set_design_mode (int active);
43 
44 int
45 w_get_design_mode (void);
46 
47 void
48 w_reg_widget (const char *title, uint32_t flags, ddb_gtkui_widget_t *(*create_func) (void), ...);
49 
50 void
51 w_unreg_widget (const char *type);
52 
53 void
54 w_override_signals (GtkWidget *widget, gpointer user_data);
55 
56 int
57 w_is_registered (const char *type);
58 
59 ddb_gtkui_widget_t *
60 w_create (const char *type);
61 
62 const char *
63 w_create_from_string (const char *s, ddb_gtkui_widget_t **parent);
64 
65 void
66 w_destroy (ddb_gtkui_widget_t *w);
67 
68 void
69 w_append (ddb_gtkui_widget_t *cont, ddb_gtkui_widget_t *child);
70 
71 void
72 w_replace (ddb_gtkui_widget_t *w, ddb_gtkui_widget_t *from, ddb_gtkui_widget_t *to);
73 
74 void
75 w_remove (ddb_gtkui_widget_t *cont, ddb_gtkui_widget_t *child);
76 
77 // returns actual container widget of a composite widget
78 // e.g. HBox is contained in EventBox, this function will return the HBox
79 GtkWidget *
80 w_get_container (ddb_gtkui_widget_t *w);
81 
82 ddb_gtkui_widget_t *
83 w_hsplitter_create (void);
84 
85 ddb_gtkui_widget_t *
86 w_vsplitter_create (void);
87 
88 ddb_gtkui_widget_t *
89 w_box_create (void);
90 
91 ddb_gtkui_widget_t *
92 w_dummy_create (void);
93 
94 ddb_gtkui_widget_t *
95 w_tabstrip_create (void);
96 
97 ddb_gtkui_widget_t *
98 w_tabbed_playlist_create (void);
99 
100 ddb_gtkui_widget_t *
101 w_playlist_create (void);
102 
103 ddb_gtkui_widget_t *
104 w_placeholder_create (void);
105 
106 ddb_gtkui_widget_t *
107 w_tabs_create (void);
108 
109 ddb_gtkui_widget_t *
110 w_selproperties_create (void);
111 
112 ddb_gtkui_widget_t *
113 w_coverart_create (void);
114 
115 ddb_gtkui_widget_t *
116 w_scope_create (void);
117 
118 ddb_gtkui_widget_t *
119 w_spectrum_create (void);
120 
121 ddb_gtkui_widget_t *
122 w_hbox_create (void);
123 
124 ddb_gtkui_widget_t *
125 w_vbox_create (void);
126 
127 ddb_gtkui_widget_t *
128 w_button_create (void);
129 
130 ddb_gtkui_widget_t *
131 w_seekbar_create (void);
132 
133 ddb_gtkui_widget_t *
134 w_playtb_create (void);
135 
136 ddb_gtkui_widget_t *
137 w_volumebar_create (void);
138 
139 ddb_gtkui_widget_t *
140 w_ctvoices_create (void);
141 
142 #endif
143