File: CollectionController.h

package info (click to toggle)
mpdcon.app 1.5.1-0.2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 820 kB
  • sloc: objc: 4,941; makefile: 25
file content (95 lines) | stat: -rw-r--r-- 2,588 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
/* 
   Project: MPDCon

   Copyright (C) 2004

   Author: Daniel Luederwald

   Created: 2004-05-12 17:59:14 +0200 by flip
   
   Collection Controller

   This application 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 application 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
   Library General Public License for more details.
 
   You should have received a copy of the GNU General Public
   License along with this library; if not, write to the Free
   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/

#ifndef _PCAPPPROJ_COLLECTIONCONTROLLER_H
#define _PCAPPPROJ_COLLECTIONCONTROLLER_H

#include <AppKit/AppKit.h>
#include "MPDController.h"
#include "PlaylistItem.h"
#include "Strings.h"
#include "BoldFormatter.h"
#include "NormalFormatter.h"


@interface CollectionController : NSWindowController
{
  IBOutlet NSBrowser *collectionView;
  IBOutlet NSTableView *trackView;
  IBOutlet NSWindow *window;
  IBOutlet NSTextField *filterField;

  NSArray *allArtists;
  NSArray *allAlbums;
  NSArray *allSongs;
  NSArray *filteredTracks;
}



// Initialization Methods
+ (id) sharedCollectionController;

// Playlist Methods
- (void) addSelected: (id)sender;

// Gui Methods
- (void) updateCollection: (id)sender;
- (void) doubleClicked: (id)sender;
- (void) filterCollection: (id)sender;
- (void) clearFilter: (id)sender;

- (NSArray *) getAllTracks;

// TableView dataSource Methods
- (NSInteger) numberOfRowsInTableView: (NSTableView *)tableView;

-            (id) tableView: (NSTableView *)tableView 
  objectValueForTableColumn: (NSTableColumn *)tableColumn 
                        row:(NSInteger) row;


// Browser delegate Methods
- (NSInteger)browser:(NSBrowser *)sender numberOfRowsInColumn:(NSInteger)column;
- (void)browser:(NSBrowser *)sender willDisplayCell:(id)cell
          atRow:(NSInteger)row
         column:(NSInteger)column;
- (NSString *)browser:(NSBrowser *)sender
        titleOfColumn:(NSInteger)column;

- (void) selectionChanged: (id)sender;


// TableView dragging Methods
- (BOOL) tableView: (NSTableView *)tv 
         writeRows: (NSArray *)rows 
      toPasteboard: (NSPasteboard*)pboard;
      
// Notification Methods
- (void) didNotConnect: (NSNotification *)aNotif;
@end

#endif