1 /*****************************************************************************
2 * prefs_widgets.h: Preferences controls
3 *****************************************************************************
4 * Copyright (C) 2002-2012 VLC authors and VideoLAN
7 * Authors: Derk-Jan Hartman <hartman at videolan.org>
8 * Felix Paul Kühne <fkuehne at videolan.org>
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version.
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
20 * You should have received a copy of the GNU General Public License
21 * along with this program; if not, write to the Free Software
22 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
23 *****************************************************************************/
25 static NSMenu
*o_keys_menu
= nil
;
27 @interface VLCConfigControl
: NSView
29 @
property (readonly
) module_config_t
*p_item
;
31 @
property (readwrite
) NSTextField
*label
;
33 @
property (readonly
) NSString
*name
;
34 @
property (readonly
) int type
;
35 @
property (readwrite
) int viewType
;
36 @
property (readonly
) bool advanced
;
37 @
property (readonly
) int intValue
;
38 @
property (readonly
) float floatValue
;
39 @
property (readonly
) char *stringValue
;
40 @
property (readonly
) int labelSize
;
43 + (VLCConfigControl
*)newControl
:(module_config_t
*)_p_item
44 withView
:(NSView
*)o_parent_view
;
45 + (int)calcVerticalMargin
:(int)i_curItem lastItem
:(int)i_lastItem
;
47 - (id
)initWithFrame
:(NSRect
)frame
48 item
:(module_config_t
*)p_item
;
50 - (void)setYPos
:(int)i_yPos
;
51 - (void)alignWithXPosition
:(int)i_xPos
;
58 @interface StringConfigControl
: VLCConfigControl
60 - (id
)initWithItem
:(module_config_t
*)_p_item
61 withView
:(NSView
*)o_parent_view
;
65 @interface StringListConfigControl
: VLCConfigControl
67 - (id
)initWithItem
:(module_config_t
*)_p_item
68 withView
:(NSView
*)o_parent_view
;
72 @interface FileConfigControl
: VLCConfigControl
74 - (id
)initWithItem
:(module_config_t
*)_p_item
75 withView
:(NSView
*)o_parent_view
;
77 - (IBAction
)openFileDialog
:(id
)sender
;
81 @interface ModuleConfigControl
: VLCConfigControl
83 - (id
)initWithItem
:(module_config_t
*)_p_item
84 withView
:(NSView
*)o_parent_view
;
88 @interface IntegerConfigControl
: VLCConfigControl
90 - (id
)initWithItem
:(module_config_t
*)_p_item
91 withView
:(NSView
*)o_parent_view
;
93 - (IBAction
)stepperChanged
:(id
)sender
;
97 @interface IntegerListConfigControl
: VLCConfigControl
99 - (id
)initWithItem
:(module_config_t
*)_p_item
100 withView
:(NSView
*)o_parent_view
;
104 @interface RangedIntegerConfigControl
: VLCConfigControl
106 - (id
)initWithItem
:(module_config_t
*)_p_item
107 withView
:(NSView
*)o_parent_view
;
109 - (IBAction
)sliderChanged
:(id
)sender
;
113 @interface BoolConfigControl
: VLCConfigControl
115 - (id
)initWithItem
:(module_config_t
*)_p_item
116 withView
:(NSView
*)o_parent_view
;
120 @interface FloatConfigControl
: VLCConfigControl
122 - (id
)initWithItem
:(module_config_t
*)_p_item
123 withView
:(NSView
*)o_parent_view
;
125 - (IBAction
)stepperChanged
:(id
)sender
;
129 @interface RangedFloatConfigControl
: VLCConfigControl
131 - (id
)initWithItem
:(module_config_t
*)_p_item
132 withView
:(NSView
*)o_parent_view
;
134 - (IBAction
)sliderChanged
:(id
)sender
;
138 @interface KeyConfigControl
: VLCConfigControl
140 - (id
)initWithItem
:(module_config_t
*)_p_item
141 withView
:(NSView
*)o_parent_view
;
145 @interface ModuleListConfigControl
: VLCConfigControl
147 - (id
)initWithItem
:(module_config_t
*)_p_item
148 withView
:(NSView
*)o_parent_view
;
152 @interface SectionControl
: VLCConfigControl
154 - (id
)initWithItem
:(module_config_t
*)_p_item
155 withView
:(NSView
*)o_parent_view
;