#import <Foundation/Foundation.h>
#import <AppKit/AppKit.h>


@interface FiltersController : NSObject

{
	id categoryTableSV;
	id categoryTable;
	id dateFromPopup;
	id dateToPopup;
	id itemText;
	id includeAllButton;
	id excludeAllButton;
	
	NSMutableArray *categories;
}


- (void) awakeFromNib;


// Action methods
//******************


- (void) includeAll: (id) sender;
- (void) excludeAll: (id) sender;


// NSTableViewDataSource methods
//*******************************


- (int) numberOfRowsInTableView: (NSTableView *) view;

- (id)            tableView: (NSTableView *) view  
  objectValueForTableColumn: (NSTableColumn *) column         
                        row: (int) row;
                     

// SwitchTableViewDataSource protocol methods
//********************************************


- (int)    tableView: (NSTableView *)aTableView 
 stateForTableColumn: (NSTableColumn *)aTableColumn
                 row: (int)rowIndex;
                 
- (void)   tableView: (NSTableView *)aTableView
            setState: (int)aState
      forTableColumn: (NSTableColumn *)aTableColumn
                 row: (int)rowIndex;
                 
                        
// Private methods and Functions
//*******************************


- (void) _setupTable; 
- (void) _updateDates: (NSNotification *) aNotification;
- (void) _updateCategories: (NSNotification *) aNotification;
- (void) _filtersChanged: (id) sender;

              
@end
