/*****************************************************************************
- * prefs.h: MacOS X plugin for vlc
+ * prefs.h: MacOS X module for vlc
*****************************************************************************
* Copyright (C) 2002-2003 VideoLAN
- * $Id: prefs.h,v 1.4 2003/02/23 05:53:53 jlj Exp $
+ * $Id$
*
* Authors: Jon Lech Johansen <jon-vl@nanocrew.net>
*
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
-#define PREFS_WRAP 60
+#define PREFS_WRAP 300
+
+@interface VLCTreeItem : NSObject
+{
+ NSString *o_name;
+ int i_object_id;
+ VLCTreeItem *o_parent;
+ NSMutableArray *o_children;
+}
+
++ (VLCTreeItem *)rootItem;
+- (int)numberOfChildren;
+- (VLCTreeItem *)childAtIndex:(int)i_index;
+- (int)getObjectID;
+- (NSString *)getName;
+- (BOOL)hasPrefs:(NSString *)o_module_name;
+
+@end
/*****************************************************************************
* VLCPrefs interface
@interface VLCPrefs : NSObject
{
intf_thread_t *p_intf;
-
- NSMutableDictionary *o_pref_panels;
- NSMutableDictionary *o_toolbars;
- NSMutableDictionary *o_scroll_views;
- NSMutableDictionary *o_panel_views;
+ vlc_bool_t b_advanced;
+ VLCTreeItem *o_config_tree;
+ NSView *o_empty_view;
NSMutableDictionary *o_save_prefs;
+
+ IBOutlet id o_prefs_window;
+ IBOutlet id o_tree;
+ IBOutlet id o_prefs_view;
+ IBOutlet id o_save_btn;
+ IBOutlet id o_cancel_btn;
+ IBOutlet id o_reset_btn;
+ IBOutlet id o_advanced_ckb;
}
-- (BOOL)hasPrefs:(NSString *)o_module_name;
-- (void)createPrefPanel:(NSString *)o_module_name;
-- (void)destroyPrefPanel:(id)o_unknown;
-- (void)selectPrefView:(id)sender;
-
-- (void)moduleSelected:(id)sender;
-- (void)configureModule:(id)sender;
-- (void)selectModule:(id)sender;
-
+- (void)initStrings;
+- (void)showPrefs;
+- (IBAction)savePrefs: (id)sender;
+- (IBAction)closePrefs: (id)sender;
+- (IBAction)resetAll: (id)sender;
+- (void)sheetDidEnd:(NSWindow *)o_sheet returnCode:(int)i_return contextInfo:(void *)o_context;
+- (IBAction)advancedToggle: (id)sender;
+- (IBAction)openFileDialog: (id)sender;
+- (void)pathChosenInPanel:(NSOpenPanel *)o_sheet withReturn:(int)i_return_code contextInfo:(void *)o_context_info;
+- (void)showViewForID: (int) i_id andName:(NSString *)o_item_name;
- (void)configChanged:(id)o_unknown;
-- (void)clickedApplyCancelOK:(id)sender;
-
@end
@interface VLCFlippedView : NSView
@end
INTF_CONTROL_CONFIG(Button);
+INTF_CONTROL_CONFIG(PopUpButton);
INTF_CONTROL_CONFIG(ComboBox);
INTF_CONTROL_CONFIG(TextField);
+INTF_CONTROL_CONFIG(Slider);
+INTF_CONTROL_CONFIG(Matrix);
#define CONTROL_CONFIG( obj, mname, ctype, cname ) \
{ \
[obj setModuleName: mname]; \
[obj setConfigType: ctype]; \
- [obj setConfigName: [NSString stringWithCString: cname]]; \
+ [obj setConfigName: [NSString stringWithUTF8String: cname]]; \
}