]> git.sesse.net Git - vlc/blobdiff - modules/gui/macosx/prefs_widgets.h
macosx: minor code optimization
[vlc] / modules / gui / macosx / prefs_widgets.h
index b664474b4cd0adac3a458ad25060533ebf1d1307..ab5be7c12b6ce730ecc9b93e20bb87e076a40abf 100644 (file)
@@ -1,16 +1,17 @@
 /*****************************************************************************
  * prefs_widgets.h: Preferences controls
  *****************************************************************************
- * Copyright (C) 2002-2003 VideoLAN
+ * Copyright (C) 2002-2012 VLC authors and VideoLAN
  * $Id$
  *
- * Authors: Derk-Jan Hartman <hartman at videolan.org> 
+ * Authors: Derk-Jan Hartman <hartman at videolan.org>
+ *          Felix Paul Kühne <fkuehne at videolan.org>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation; either version 2 of the License, or
  * (at your option) any later version.
- * 
+ *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  *****************************************************************************/
 
-#define CONFIG_ITEM_STRING_LIST (CONFIG_ITEM_STRING + 1)
-#define CONFIG_ITEM_RANGED_INTEGER (CONFIG_ITEM_INTEGER + 1)
-#define CONFIG_ITEM_KEY_BEFORE_10_3 (CONFIG_ITEM_KEY + 1)
-#define CONFIG_ITEM_KEY_AFTER_10_3 (CONFIG_ITEM_KEY + 2)
-#define MACOS_VERSION [[[NSDictionary dictionaryWithContentsOfFile: \
-            @"/System/Library/CoreServices/SystemVersion.plist"] \
-            objectForKey: @"ProductVersion"] floatValue]
+#define CONFIG_ITEM_STRING_LIST (CONFIG_ITEM_STRING + 10)
+#define CONFIG_ITEM_RANGED_INTEGER (CONFIG_ITEM_INTEGER + 10)
+#define LEFTMARGIN  18
+#define RIGHTMARGIN 18
+
+static NSMenu   *o_keys_menu = nil;
 
 @interface VLCConfigControl : NSView
 {
     NSTextField     *o_label;
     int             i_type;
     int             i_view_type;
-    vlc_bool_t      b_advanced;
+    bool      b_advanced;
 }
 
+@property (readonly) NSString * name;
+@property (readonly) int type;
+@property (readonly) int viewType;
+@property (readonly) bool advanced;
+@property (readonly) int intValue;
+@property (readonly) float floatValue;
+@property (readonly) char * stringValue;
+@property (readonly) int labelSize;
+
 + (VLCConfigControl *)newControl: (module_config_t *)_p_item
-        withView: (NSView *)o_parent_view yOffset:(int) i_yPos;
+        withView: (NSView *)o_parent_view;
++ (int)calcVerticalMargin: (int)i_curItem lastItem:(int)i_lastItem;
+
 - (id)initWithFrame: (NSRect)frame item: (module_config_t *)p_item;
-- (NSString *)getName;
-- (int)getType;
-- (int)getViewType;
-- (BOOL)isAdvanced;
+
 - (void)setYPos:(int)i_yPos;
-- (int)intValue;
-- (float)floatValue;
-- (char *)stringValue;
-- (void)applyChanges;
-static NSMenu   *o_keys_menu = nil;
+- (void)alignWithXPosition:(int)i_xPos;
 
-+ (int)calcVerticalMargin: (int)i_curItem lastItem:(int)i_lastItem;
+- (void)applyChanges;
+- (void)resetValues;
 
 @end
 
@@ -63,19 +68,17 @@ static NSMenu   *o_keys_menu = nil;
 }
 
 - (id) initWithItem: (module_config_t *)_p_item
-           withView: (NSView *)o_parent_view
-           withVerticalOffset: (int)i_yPos;
+           withView: (NSView *)o_parent_view;
 
 @end
 
 @interface StringListConfigControl : VLCConfigControl
 {
-    NSComboBox      *o_combo;
+    NSPopUpButton      *o_popup;
 }
 
 - (id) initWithItem: (module_config_t *)_p_item
-           withView: (NSView *)o_parent_view
-           withVerticalOffset: (int)i_yPos;
+           withView: (NSView *)o_parent_view;
 
 @end
 
@@ -87,11 +90,9 @@ static NSMenu   *o_keys_menu = nil;
 }
 
 - (id) initWithItem: (module_config_t *)_p_item
-           withView: (NSView *)o_parent_view
-           withVerticalOffset: (int)i_yPos;
+           withView: (NSView *)o_parent_view;
 
 - (IBAction)openFileDialog: (id)sender;
-- (void)pathChosenInPanel:(NSOpenPanel *)o_sheet withReturn:(int)i_return_code contextInfo:(void  *)o_context_info;
 
 @end
 
@@ -101,12 +102,11 @@ static NSMenu   *o_keys_menu = nil;
 }
 
 - (id) initWithItem: (module_config_t *)_p_item
-           withView: (NSView *)o_parent_view
-           withVerticalOffset: (int)i_yPos;
+           withView: (NSView *)o_parent_view;
 
 @end
 
-@interface IntegerConfigControl : VLCConfigControl
+@interface IntegerConfigControl : VLCConfigControl <NSTextFieldDelegate>
 {
     NSTextField     *o_textfield;
     NSStepper       *o_stepper;
@@ -114,8 +114,7 @@ static NSMenu   *o_keys_menu = nil;
 
 
 - (id) initWithItem: (module_config_t *)_p_item
-           withView: (NSView *)o_parent_view
-           withVerticalOffset: (int)i_yPos;
+           withView: (NSView *)o_parent_view;
 - (IBAction)stepperChanged:(id)sender;
 - (void)textfieldChanged:(NSNotification *)o_notification;
 
@@ -123,16 +122,15 @@ static NSMenu   *o_keys_menu = nil;
 
 @interface IntegerListConfigControl : VLCConfigControl
 {
-    NSComboBox      *o_combo;
+    NSPopUpButton      *o_popup;
 }
 
 - (id) initWithItem: (module_config_t *)_p_item
-           withView: (NSView *)o_parent_view
-           withVerticalOffset: (int)i_yPos;
+           withView: (NSView *)o_parent_view;
 
 @end
 
-@interface RangedIntegerConfigControl : VLCConfigControl
+@interface RangedIntegerConfigControl : VLCConfigControl <NSTextFieldDelegate>
 {
     NSSlider        *o_slider;
     NSTextField     *o_textfield;
@@ -142,8 +140,7 @@ static NSMenu   *o_keys_menu = nil;
 
 
 - (id) initWithItem: (module_config_t *)_p_item
-           withView: (NSView *)o_parent_view
-           withVerticalOffset: (int)i_yPos;
+           withView: (NSView *)o_parent_view;
 - (IBAction)sliderChanged:(id)sender;
 - (void)textfieldChanged:(NSNotification *)o_notification;
 
@@ -155,12 +152,11 @@ static NSMenu   *o_keys_menu = nil;
 }
 
 - (id) initWithItem: (module_config_t *)_p_item
-           withView: (NSView *)o_parent_view
-           withVerticalOffset: (int)i_yPos;
+           withView: (NSView *)o_parent_view;
 
 @end
 
-@interface FloatConfigControl : VLCConfigControl
+@interface FloatConfigControl : VLCConfigControl <NSTextFieldDelegate>
 {
     NSTextField     *o_textfield;
     NSStepper       *o_stepper;
@@ -168,14 +164,13 @@ static NSMenu   *o_keys_menu = nil;
 
 
 - (id) initWithItem: (module_config_t *)_p_item
-           withView: (NSView *)o_parent_view
-           withVerticalOffset: (int)i_yPos;
+           withView: (NSView *)o_parent_view;
 - (IBAction)stepperChanged:(id)sender;
 - (void)textfieldChanged:(NSNotification *)o_notification;
 
 @end
 
-@interface RangedFloatConfigControl : VLCConfigControl
+@interface RangedFloatConfigControl : VLCConfigControl <NSTextFieldDelegate>
 {
     NSSlider        *o_slider;
     NSTextField     *o_textfield;
@@ -185,54 +180,43 @@ static NSMenu   *o_keys_menu = nil;
 
 
 - (id) initWithItem: (module_config_t *)_p_item
-           withView: (NSView *)o_parent_view
-           withVerticalOffset: (int)i_yPos;
+           withView: (NSView *)o_parent_view;
 - (IBAction)sliderChanged:(id)sender;
 - (void)textfieldChanged:(NSNotification *)o_notification;
 
 @end
 
-@interface KeyConfigControlBefore103 : VLCConfigControl
+@interface KeyConfigControl : VLCConfigControl
 {
-    NSButton        *o_cmd_checkbox;
-    NSButton        *o_ctrl_checkbox;
-    NSButton        *o_alt_checkbox;
-    NSButton        *o_shift_checkbox;
     NSPopUpButton   *o_popup;
 }
 
 - (id) initWithItem: (module_config_t *)_p_item
-           withView: (NSView *)o_parent_view
-           withVerticalOffset: (int)i_yPos;
+           withView: (NSView *)o_parent_view;
 
 @end
 
-@interface KeyConfigControlAfter103 : VLCConfigControl
+@interface ModuleListConfigControl : VLCConfigControl <NSTableViewDataSource>
 {
-    NSPopUpButton   *o_popup;
+    NSTextField     *o_textfield;
+    NSScrollView    *o_scrollview;
+    NSMutableArray  *o_modulearray;
 }
 
 - (id) initWithItem: (module_config_t *)_p_item
-           withView: (NSView *)o_parent_view
-           withVerticalOffset: (int)i_yPos;
+           withView: (NSView *)o_parent_view;
 
 @end
 
-@interface ModuleListConfigControl : VLCConfigControl
+@interface SectionControl : VLCConfigControl
 {
-    NSTextField     *o_textfield;
-    NSScrollView    *o_scrollview;
-    NSMutableArray  *o_modulearray;
 }
 
 - (id) initWithItem: (module_config_t *)_p_item
-           withView: (NSView *)o_parent_view
-           withVerticalOffset: (int)i_yPos;
+           withView: (NSView *)o_parent_view;
 
 @end
 
 //#undef CONFIG_ITEM_LIST_STRING
 //#undef CONFIG_ITEM_RANGED_INTEGER
-//#undef CONFIG_ITEM_KEY_BEFORE_10_3
-//#undef CONFIG_ITEM_KEY_AFTER_10_3