MacOSX/VLC_app: port the fullscreen zoom and the fspanel from gui/macosx to VLC_app.
[vlc.git] / extras / MacOSX / VLC_app / Sources / VLCMainWindow.h
1 /*****************************************************************************
2  * VLCMainWindow.h: VLCMainWindow implementation
3  *****************************************************************************
4  * Copyright (C) 2007 Pierre d'Herbemont
5  * Copyright (C) 2007 the VideoLAN team
6  * $Id$
7  *
8  * Authors: Pierre d'Herbemont <pdherbemont # videolan.org>
9  *
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.
14  *
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.
19  *
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  *****************************************************************************/
24
25 #import <Cocoa/Cocoa.h>
26 #import "VLCController.h"
27 #import "VLCMediaArrayController.h"
28 #import "VLCAppAdditions.h"
29 #import "VLCBrowsableVideoView.h"
30
31 @interface VLCMainWindow : NSWindow {
32     /* IB elements */
33     IBOutlet id mediaListItemFetchedStatus;
34     IBOutlet id mediaListItemsCount;
35     IBOutlet id mediaListSearchField;
36
37     IBOutlet NSOutlineView * categoriesListView;
38     IBOutlet NSTableView * mediaListView;
39
40     IBOutlet VLCBrowsableVideoView * videoView;
41     IBOutlet id fillScreenButton;
42     IBOutlet id fullScreenButton;
43     IBOutlet NSSlider * mediaReadingProgressSlider;
44     IBOutlet NSTextField * mediaReadingProgressText;
45     IBOutlet NSTextField * mediaDescriptionText;
46
47     IBOutlet NSSlider * mediaSoundVolume;
48
49     IBOutlet NSButton * mediaPlayerForwardNextButton;
50     IBOutlet NSButton * mediaPlayerBackwardPrevButton;
51     IBOutlet NSButton * mediaPlayerPlayPauseStopButton;
52
53     IBOutlet id navigatorViewToggleButton;
54     IBOutlet VLCOneSplitView * mainSplitView;
55     IBOutlet NSView * navigatorView;
56     IBOutlet NSView * videoPlayerAndControlView;
57     IBOutlet NSView * controlView;
58
59     IBOutlet NSButton * addPlaylistButton;
60     IBOutlet NSButton * removePlaylistButton;
61
62     /* Toolbar */
63     IBOutlet NSView * toolbarMediaAudioVolume;
64     IBOutlet NSView * toolbarMediaDescription;
65     IBOutlet NSView * toolbarMediaControl;
66
67     IBOutlet VLCMediaPlayer * mediaPlayer;
68
69     IBOutlet VLCController * controller; /* This is a VLCController binded to the File's Owner of the nib */
70
71     /* Controllers */
72     NSTreeController * categoriesTreeController;
73     VLCMediaArrayController * mediaArrayController;
74     
75     /* Window state */
76     CGFloat navigatorHeight;
77 }
78
79 @property BOOL navigatorViewVisible;
80 @property (readonly) VLCMediaPlayer * mediaPlayer;
81 @property (readonly) VLCBrowsableVideoView * videoView;
82 @end