1 /******************************************************************************
2  * Copyright (c) 2011-2012 Transmission authors and contributors
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining a
5  * copy of this software and associated documentation files (the "Software"),
6  * to deal in the Software without restriction, including without limitation
7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8  * and/or sell copies of the Software, and to permit persons to whom the
9  * Software is furnished to do so, subject to the following conditions:
10  *
11  * The above copyright notice and this permission notice shall be included in
12  * all copies or substantial portions of the Software.
13  *
14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20  * DEALINGS IN THE SOFTWARE.
21  *****************************************************************************/
22 
23 #import <Cocoa/Cocoa.h>
24 
25 @class FilterButton;
26 
27 #define FILTER_NONE     @"None"
28 #define FILTER_ACTIVE   @"Active"
29 #define FILTER_DOWNLOAD @"Download"
30 #define FILTER_SEED     @"Seed"
31 #define FILTER_PAUSE    @"Pause"
32 
33 #define FILTER_TYPE_NAME    @"Name"
34 #define FILTER_TYPE_TRACKER @"Tracker"
35 
36 #define GROUP_FILTER_ALL_TAG -2
37 
38 @interface FilterBarController : NSViewController
39 {
40     IBOutlet FilterButton * fNoFilterButton, * fActiveFilterButton, * fDownloadFilterButton,
41                             * fSeedFilterButton, * fPauseFilterButton;
42 
43     IBOutlet NSSearchField * fSearchField;
44 
45     IBOutlet NSPopUpButton * fGroupsButton;
46 }
47 
48 - (id) init;
49 
50 - (void) setFilter: (id) sender;
51 - (void) switchFilter: (BOOL) right;
52 - (void) setSearchText: (id) sender;
53 - (void) setSearchType: (id) sender;
54 - (void) setGroupFilter: (id) sender;
55 - (void) reset: (BOOL) updateUI;
56 
57 - (NSArray *) searchStrings;
58 - (void) focusSearchField;
59 
60 - (void) setCountAll: (NSUInteger) all active: (NSUInteger) active downloading: (NSUInteger) downloading
61         seeding: (NSUInteger) seeding paused: (NSUInteger) paused;
62 
63 
64 @end
65