Files
textmate/Frameworks/Find/src/FFWindowController.h
Allan Odgaard 9894969e67 Initial commit
2012-08-09 16:25:56 +02:00

121 lines
3.1 KiB
Objective-C

#import <OakFoundation/OakHistoryList.h>
#import "FFDocumentSearch.h"
@class OakStatusBar;
extern NSString* const FFSearchInDocument;
extern NSString* const FFSearchInSelection;
extern NSString* const FFSearchInProjectFolder;
extern NSString* const FFSearchInOtherFolder; // pops up a sheet requesting the folder
extern NSString* const FFSearchInOpenFiles;
@interface FFWindowController : NSWindowController
{
OBJC_WATCH_LEAKS(FFWindowController);
// The find/replace fields are bound through this controller so we can commitEditing
IBOutlet NSObjectController* findController;
IBOutlet NSPopUpButton* findInPopUp;
IBOutlet NSTextField* findStringField;
IBOutlet NSTextField* replaceStringField;
IBOutlet NSButton* findNextButton;
IBOutlet NSButton* findAllButton;
IBOutlet NSButton* replaceAllButton;
IBOutlet NSOutlineView* findAllResultsOutlineView;
IBOutlet OakStatusBar* findAllResultsHeaderView;
NSString* resultsHeaderText;
BOOL expandCollapseAllIsExpanding;
BOOL resultsHeaderEnabled;
BOOL enableReplacementSelectionCheckboxes;
IBOutlet NSTextField* statusTextField;
NSString* searchIn;
NSString* searchFolder;
NSString* projectFolder;
NSString* findString;
NSString* replaceString;
BOOL isBusy;
NSString* statusMessage;
OakHistoryList* recentFolders;
OakHistoryList* recentGlobs;
IBOutlet NSComboBox* globField;
IBOutlet NSTextField* globFieldLabel;
IBOutlet NSButton* wrapAroundField;
id delegate;
// ==============================
// = For the benefit of binding =
// ==============================
BOOL canSetFileTypes;
BOOL canSetWrapAround;
BOOL findRegularExpression;
BOOL findFullWords;
BOOL findIgnoreWhitespace;
BOOL followLinks;
BOOL searchHiddenFolders;
FFDocumentSearch* searcher;
BOOL previewReplacements;
}
@property (nonatomic, retain) FFDocumentSearch* searcher;
@property (nonatomic, assign) id delegate;
@property (nonatomic, retain) NSString* findString;
@property (nonatomic, retain) NSString* replaceString;
@property (nonatomic, retain) OakHistoryList* recentGlobs;
@property (nonatomic, assign) BOOL findRegularExpression;
@property (nonatomic, assign) BOOL findIgnoreWhitespace;
@property (nonatomic, assign) BOOL findFullWords;
@property (nonatomic, assign) BOOL followLinks;
@property (nonatomic, assign) BOOL searchHiddenFolders;
@property (nonatomic, readonly) NSString* globString;
@property (nonatomic, retain, readonly) NSString* searchFolder;
@property (nonatomic, assign, readonly) BOOL isSearchingFolders;
@property (nonatomic, retain) NSString* searchIn;
@property (nonatomic, retain) NSString* projectFolder;
@property (nonatomic, assign) BOOL isShowingFindAllResults;
@property (nonatomic, copy) NSString* statusMessage;
- (IBAction)showFolderSelectionPanel:(id)sender;
- (IBAction)searchInPopUpChanged:(id)sender;
- (IBAction)performFindAction:(id)sender;
- (IBAction)saveAll:(id)sender;
- (void)invalidate;
@end
enum FindActionTag
{
FindActionFindNext = 1,
FindActionFindPrevious,
FindActionCountMatches,
FindActionFindAll,
FindActionReplaceAll,
};
@protocol FFWindowControllerDelegate
- (void)performFindAction:(FindActionTag)action withWindowController:(FFWindowController*)controller;
@end