OSDN Git Service

MacGui: New queue enhancements
[handbrake-jp/handbrake-jp-git.git] / macosx / HBQueueController.h
1 /* HBQueueController
2
3    This file is part of the HandBrake source code.
4    Homepage: <http://handbrake.m0k.org/>.
5    It may be used under the terms of the GNU General Public License. */
6
7
8 #include <Cocoa/Cocoa.h>
9
10 #include "hb.h"
11 @class HBController;
12
13 // HB_OUTLINE_QUEUE turns on an outline view for the queue.
14 #define HB_OUTLINE_QUEUE 0
15
16
17 @interface HBQueueController : NSObject
18 {
19     hb_handle_t                  *fHandle;
20     HBController                 *fHBController;
21     NSViewAnimation              *fAnimation;
22     BOOL                         fCurrentJobHidden;  // YES when fCurrentJobPane has been shifted out of view (see showCurrentJobPane)
23     BOOL                         fShowsJobsAsGroups;
24     BOOL                         fShowsDetail;
25 #if HB_OUTLINE_QUEUE
26     NSMutableArray               *fEncodes;
27     IBOutlet NSOutlineView       *fOutlineView;
28 #endif
29     
30     //  +---------------fQueueWindow----------------+
31     //  |+-------------fCurrentJobPane-------------+|
32     //  ||                                         ||
33     //  ||                                         ||
34     //  ||                                         ||
35     //  |+-----------------------------------------+|
36     //  |+---------------fQueuePane----------------+|
37     //  ||                                         ||
38     //  ||                                         ||
39     //  ||                                         ||
40     //  ||                                         ||
41     //  ||                                         ||
42     //  ||                                         ||
43     //  ||                                         ||
44     //  |+-----------------------------------------+|
45     //  +-------------------------------------------+
46     
47     IBOutlet NSWindow            *fQueueWindow;
48
49     // fCurrentJobPane - visible only when processing a job
50     IBOutlet NSView              *fCurrentJobPane;
51     IBOutlet NSImageView         *fJobIconView;
52     IBOutlet NSTextField         *fJobDescTextField;
53     IBOutlet NSProgressIndicator *fProgressBar;
54     IBOutlet NSTextField         *fProgressTextField;
55     
56     // fQueuePane - always visible; fills entire window when fCurrentJobPane is hidden
57     IBOutlet NSView              *fQueuePane;
58     IBOutlet NSTableView         *fTaskView;
59     IBOutlet NSTextField         *fQueueCountField;
60     
61 }
62
63 - (void)setHandle: (hb_handle_t *)handle;
64 - (void)setHBController: (HBController *)controller;
65 - (void)updateQueueUI;
66 - (void)updateCurrentJobUI;
67
68 - (IBAction)showQueueWindow: (id)sender;
69 - (IBAction)removeSelectedJob: (id)sender;
70 - (IBAction)cancelCurrentJob: (id)sender;
71 - (IBAction)showDetail: (id)sender;
72 - (IBAction)hideDetail: (id)sender;
73 - (IBAction)showJobsAsGroups: (id)sender;
74 - (IBAction)showJobsAsPasses: (id)sender;
75 - (IBAction)toggleStartPause: (id)sender;
76
77 @end