mirror of
https://github.com/textmate/textmate.git
synced 2026-01-23 13:47:54 -05:00
121 lines
3.1 KiB
Objective-C
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
|