]> git.sesse.net Git - vlc/blobdiff - modules/gui/macosx/prefs_widgets.h
* THANKS: hungarian translator and designer of OSX intf controller added
[vlc] / modules / gui / macosx / prefs_widgets.h
diff --git a/modules/gui/macosx/prefs_widgets.h b/modules/gui/macosx/prefs_widgets.h
new file mode 100644 (file)
index 0000000..71c3ea6
--- /dev/null
@@ -0,0 +1,144 @@
+/*****************************************************************************
+ * prefs_widgets.h: Preferences controls
+ *****************************************************************************
+ * Copyright (C) 2002-2003 VideoLAN
+ * $Id: prefs_widgets.h,v 1.1 2003/11/17 06:31:22 hartman Exp $
+ *
+ * Authors: Derk-Jan Hartman <hartman 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
+ * GNU General Public License for more details.
+ *
+ * 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.
+ *****************************************************************************/
+
+
+@interface VLCConfigControl : NSBox
+{
+    vlc_object_t    *p_this;
+    char            *psz_name;
+    NSTextField     *o_label;
+    int             i_type;
+    vlc_bool_t      b_advanced;
+}
+
++ (VLCConfigControl *)newControl: (module_config_t *)p_item withView: (NSView *)o_parent_view withObject: (vlc_object_t *)p_this;
+- (id)initWithFrame: (NSRect)frame item: (module_config_t *)p_item withObject: (vlc_object_t *)_p_this;
+- (NSString *)getName;
+- (int)getType;
+- (BOOL)isAdvanced;
+
+- (int)intValue;
+- (float)floatValue;
+- (char *)stringValue;
+
+@end
+
+@interface KeyConfigControl : VLCConfigControl
+{
+    NSMatrix        *o_matrix;
+    NSComboBox      *o_combo;
+}
+
+@end
+
+@interface ModuleConfigControl : VLCConfigControl
+{
+    NSPopUpButton   *o_popup;
+}
+
+@end
+
+@interface StringConfigControl : VLCConfigControl
+{
+    NSTextField     *o_textfield;
+}
+
+@end
+
+@interface StringListConfigControl : VLCConfigControl
+{
+    NSComboBox      *o_combo;
+}
+
+@end
+
+@interface FileConfigControl : VLCConfigControl
+{
+    NSTextField     *o_textfield;
+    NSButton        *o_button;
+    BOOL            b_directory;
+}
+
+- (IBAction)openFileDialog: (id)sender;
+- (void)pathChosenInPanel:(NSOpenPanel *)o_sheet withReturn:(int)i_return_code contextInfo:(void  *)o_context_info;
+
+@end
+
+@interface IntegerConfigControl : VLCConfigControl
+{
+    NSTextField     *o_textfield;
+    NSStepper       *o_stepper;
+}
+
+- (IBAction)stepperChanged:(id)sender;
+- (void)textfieldChanged:(NSNotification *)o_notification;
+
+@end
+
+@interface IntegerListConfigControl : VLCConfigControl
+{
+    NSComboBox      *o_combo;
+}
+
+@end
+
+@interface RangedIntegerConfigControl : VLCConfigControl
+{
+    NSSlider        *o_slider;
+    NSTextField     *o_textfield;
+    NSTextField     *o_textfield_min;
+    NSTextField     *o_textfield_max;
+}
+
+- (IBAction)sliderChanged:(id)sender;
+- (void)textfieldChanged:(NSNotification *)o_notification;
+
+@end
+
+@interface FloatConfigControl : VLCConfigControl
+{
+    NSTextField     *o_textfield;
+}
+
+@end
+
+@interface RangedFloatConfigControl : VLCConfigControl
+{
+    NSSlider        *o_slider;
+    NSTextField     *o_textfield;
+    NSTextField     *o_textfield_min;
+    NSTextField     *o_textfield_max;
+}
+
+- (IBAction)sliderChanged:(id)sender;
+- (void)textfieldChanged:(NSNotification *)o_notification;
+
+@end
+
+
+@interface BoolConfigControl : VLCConfigControl
+{
+    NSButton        *o_checkbox;
+}
+
+@end