mp3splt-gtk
ui_manager.h
1 /**********************************************************
2  *
3  * mp3splt-gtk -- utility based on mp3splt,
4  * for mp3/ogg splitting without decoding
5  *
6  * Copyright: (C) 2005-2012 Alexandru Munteanu
7  * Contact: m@ioalex.net
8  *
9  * http://mp3splt.sourceforge.net/
10  *
11  *********************************************************/
12 
13 /**********************************************************
14  *
15  * This program is free software; you can redistribute it and/or
16  * modify it under the terms of the GNU General Public License
17  * as published by the Free Software Foundation; either version 2
18  * of the License, or (at your option) any later version.
19  *
20  * This program is distributed in the hope that it will be useful,
21  * but WITHOUT ANY WARRANTY; without even the implied warranty of
22  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23  * GNU General Public License for more details.
24  *
25  * You should have received a copy of the GNU General Public License
26  * along with this program; if not, write to the Free Software
27  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
28  * USA.
29  *
30  *********************************************************/
31 
32 #ifndef UI_MANAGER_H
33 
34 #define UI_MANAGER_H
35 
36 #include "external_includes.h"
37 #include "ui_types.h"
38 #include "player_window.h"
39 
40 #define UI_DEFAULT_WIDTH 650
41 #define UI_DEFAULT_HEIGHT 420
42 
43 ui_state *ui_state_new();
44 void ui_state_free(ui_state *ui);
45 
46 void ui_set_browser_directory(ui_state *ui, const gchar *directory);
47 const gchar *ui_get_browser_directory(ui_state *ui);
48 
49 void ui_set_main_win_position(ui_state *ui, gint x, gint y);
50 void ui_set_main_win_size(ui_state *ui, gint width, gint height);
51 const ui_main_window *ui_get_main_window_infos(ui_state *ui);
52 
53 void ui_register_spinner_int_preference(gchar *main_key, gchar *second_key,
54  gint default_value, GtkWidget *spinner,
55  void (*update_spinner_value_cb)(GtkWidget *spinner, gpointer data),
56  gpointer user_data_for_cb, ui_state *ui);
57 
58 void ui_register_range_preference(gchar *main_key, gchar *second_key,
59  gint default_value, GtkWidget *range,
60  void (*update_adjustment_value)(GtkAdjustment *adjustment, gpointer user_data),
61  gpointer user_data_for_cb, ui_state *ui);
62 
63 void ui_load_preferences(ui_state *ui);
64 void ui_save_preferences(GtkWidget *dummy_widget, ui_state *ui);
65 
66 void ui_fail(ui_state *ui, const gchar *message, ...);
67 
68 #endif
69