]> git.sesse.net Git - vlc/blob - modules/gui/macosx/prefs.h
3927d9c508ce1d184bdec7b442516a055c25818f
[vlc] / modules / gui / macosx / prefs.h
1 /*****************************************************************************
2  * prefs.h: MacOS X module for vlc
3  *****************************************************************************
4  * Copyright (C) 2002-2005 the VideoLAN team
5  * $Id$
6  *
7  * Authors: Jon Lech Johansen <jon-vl@nanocrew.net> 
8  *
9  * This program is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License as published by
11  * the Free Software Foundation; either version 2 of the License, or
12  * (at your option) any later version.
13  * 
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  * GNU General Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this program; if not, write to the Free Software
21  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
22  *****************************************************************************/
23
24 @interface VLCTreeItem : NSObject
25 {
26     NSString *o_name;
27     NSString *o_title;
28     NSString *o_help;
29     int i_object_id;
30     VLCTreeItem *o_parent;
31     NSMutableArray *o_children;
32     int i_object_category;
33     NSMutableArray *o_subviews;
34 }
35
36 + (VLCTreeItem *)rootItem;
37 - (int)numberOfChildren;
38 - (VLCTreeItem *)childAtIndex:(int)i_index;
39 - (int)getObjectID;
40 - (NSString *)getName;
41 - (NSString *)getTitle;
42 - (NSString *)getHelp;
43 - (BOOL)hasPrefs:(NSString *)o_module_name;
44 - (NSView *)showView:(NSScrollView *)o_prefs_view advancedView:(vlc_bool_t) b_advanced;
45 - (void)applyChanges;
46 - (void)resetView;
47
48 @end
49
50 /*****************************************************************************
51  * VLCPrefs interface
52  *****************************************************************************/
53 @interface VLCPrefs : NSObject
54 {
55     intf_thread_t *p_intf;
56     vlc_bool_t b_advanced;
57     VLCTreeItem *o_config_tree;
58     NSView *o_empty_view;
59     NSMutableDictionary *o_save_prefs;
60     
61     IBOutlet id o_prefs_window;
62     IBOutlet id o_title;
63     IBOutlet id o_tree;
64     IBOutlet id o_prefs_view;
65     IBOutlet id o_save_btn;
66     IBOutlet id o_cancel_btn;
67     IBOutlet id o_reset_btn;
68     IBOutlet id o_advanced_ckb;
69 }
70
71 + (VLCPrefs *)sharedInstance;
72
73 - (void)initStrings;
74 - (void)setTitle: (NSString *) o_title_name;
75 - (void)showPrefs;
76 - (IBAction)savePrefs: (id)sender;
77 - (IBAction)closePrefs: (id)sender;
78 - (IBAction)resetAll: (id)sender;
79 - (IBAction)advancedToggle: (id)sender;
80
81 @end
82
83 @interface VLCFlippedView : NSView
84 {
85
86 }
87
88 @end