controls.h

Go to the documentation of this file.
00001 /*****************************************************************************
00002  * controls.h: MacOS X interface module
00003  *****************************************************************************
00004  * Copyright (C) 2002-2009 the VideoLAN team
00005  * $Id: a229596d68f6de3e506981b2388c44ffae6d5490 $
00006  *
00007  * Authors: Jon Lech Johansen <jon-vl@nanocrew.net>
00008  *          Christophe Massiot <massiot@via.ecp.fr>
00009  *          Derk-Jan Hartman <thedj@users.sourceforge.net>
00010  *          Felix Paul Kühne <fkuehne at videolan org>
00011  *
00012  * This program is free software; you can redistribute it and/or modify
00013  * it under the terms of the GNU General Public License as published by
00014  * the Free Software Foundation; either version 2 of the License, or
00015  * (at your option) any later version.
00016  *
00017  * This program is distributed in the hope that it will be useful,
00018  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00019  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00020  * GNU General Public License for more details.
00021  *
00022  * You should have received a copy of the GNU General Public License
00023  * along with this program; if not, write to the Free Software
00024  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
00025  *****************************************************************************/
00026 
00027 #import "fspanel.h"
00028 
00029 /*****************************************************************************
00030  * VLCControls interface
00031  *****************************************************************************/
00032 @interface VLCControls : NSObject
00033 {
00034     IBOutlet id o_main;
00035 
00036     IBOutlet id o_volumeslider;
00037 
00038     IBOutlet id o_btn_shuffle;
00039     IBOutlet id o_btn_addNode;
00040     IBOutlet id o_btn_repeat;
00041     IBOutlet id o_btn_repeat_embed;
00042     IBOutlet id o_btn_shuffle_embed;
00043     
00044     NSImage * o_repeat_single;
00045     NSImage * o_repeat_all;
00046     NSImage * o_repeat_off;
00047 
00048     IBOutlet id o_specificTime_cancel_btn;
00049     IBOutlet id o_specificTime_enter_fld;
00050     IBOutlet id o_specificTime_goTo_lbl;
00051     IBOutlet id o_specificTime_ok_btn;
00052     IBOutlet id o_specificTime_win;
00053     IBOutlet id o_specificTime_sec_lbl;
00054     IBOutlet id o_specificTime_stepper;
00055     IBOutlet id o_specificTime_mi;
00056 
00057     VLCFSPanel *o_fs_panel;
00058     BOOL b_lockAspectRatio;
00059 }
00060 - (void)controlTintChanged;
00061 
00062 - (id)voutView;
00063 - (BOOL)aspectRatioIsLocked;
00064 
00065 - (IBAction)play:(id)sender;
00066 - (IBAction)stop:(id)sender;
00067 - (IBAction)faster:(id)sender;
00068 - (IBAction)slower:(id)sender;
00069 - (IBAction)normalSpeed:(id)sender;
00070 
00071 - (IBAction)prev:(id)sender;
00072 - (IBAction)next:(id)sender;
00073 - (IBAction)random:(id)sender;
00074 - (IBAction)repeat:(id)sender;
00075 - (IBAction)loop:(id)sender;
00076 - (IBAction)repeatButtonAction:(id)sender;
00077 - (IBAction)quitAfterPlayback:(id)sender;
00078 
00079 /* the three ugly helpers again */
00080 - (void)repeatOne;
00081 - (void)repeatAll;
00082 - (void)repeatOff;
00083 - (void)shuffle;
00084 
00085 - (IBAction)forward:(id)sender;
00086 - (IBAction)backward:(id)sender;
00087 
00088 - (IBAction)volumeUp:(id)sender;
00089 - (IBAction)volumeDown:(id)sender;
00090 - (IBAction)mute:(id)sender;
00091 - (IBAction)volumeSliderUpdated:(id)sender;
00092 
00093 - (IBAction)showPosition: (id)sender;
00094 - (IBAction)toogleFullscreen:(id)sender;
00095 - (BOOL)isFullscreen;
00096 - (IBAction)windowAction:(id)sender;
00097 
00098 - (IBAction)telxTransparent:(id)sender;
00099 - (IBAction)telxNavLink:(id)sender;
00100 - (IBAction)lockVideosAspectRatio:(id)sender;
00101 - (IBAction)addSubtitleFile:(id)sender;
00102 
00103 - (BOOL)keyEvent:(NSEvent *)o_event;
00104 - (void)scrollWheel: (NSEvent *)theEvent;
00105 
00106 - (void)setupVarMenuItem:(NSMenuItem *)o_mi
00107                   target:(vlc_object_t *)p_object
00108                      var:(const char *)psz_variable
00109                 selector:(SEL)pf_callback;
00110 - (void)setupVarMenu:(NSMenu *)o_menu
00111          forMenuItem: (NSMenuItem *)o_parent
00112               target:(vlc_object_t *)p_object
00113                  var:(const char *)psz_variable
00114             selector:(SEL)pf_callback;
00115 - (IBAction)toggleVar:(id)sender;
00116 - (int)toggleVarThread:(id)_o_data;
00117 
00118 - (IBAction)goToSpecificTime:(id)sender;
00119 
00120 - (id)fspanel;
00121 
00122 @end
00123 
00124 /*****************************************************************************
00125  * VLCAutoGeneratedMenuContent interface
00126  *****************************************************************************
00127  * This holds our data for autogenerated menus
00128  *****************************************************************************/
00129 @interface VLCAutoGeneratedMenuContent : NSObject
00130 {
00131     char *psz_name;
00132     vlc_object_t * _vlc_object;
00133     vlc_value_t value;
00134     int i_type;
00135 }
00136 
00137 - (id)initWithVariableName: (const char *)name 
00138                   ofObject: (vlc_object_t *)object
00139                   andValue: (vlc_value_t)value 
00140                     ofType: (int)type;
00141 - (const char *)name;
00142 - (vlc_value_t)value;
00143 - (vlc_object_t *)vlcObject;
00144 - (int)type;
00145 
00146 @end
00147 
00148 /*****************************************************************************
00149  * VLCTimeField interface
00150  *****************************************************************************
00151  * we need the implementation to catch our click-event in the controller window
00152  *****************************************************************************/
00153 
00154 @interface VLCTimeField : NSTextField
00155 {
00156 }
00157 @end
00158 

Generated on Tue May 25 08:04:56 2010 for VLC by  doxygen 1.5.6