Skip to content

Instantly share code, notes, and snippets.

@woojooin
woojooin / sort
Last active August 5, 2021 11:21
sort
// sort
[bookMarks sortUsingComparator:^NSComparisonResult(NSString* path1, NSString* path2)
{
return [path1.lastPathComponent compare:path2.lastPathComponent options:NSCaseInsensitiveSearch|NSNumericSearch];
}];
@woojooin
woojooin / TableView Usage.m
Created January 17, 2019 23:59
TableView Usage
- (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView
{
if(tableView == bookTableView)
return books.count;
return clips.count;
}
- (id)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row
{
@woojooin
woojooin / modalsheet.m
Created January 17, 2019 12:05
modal sheet open dialog
NSOpenPanel* panel = [NSOpenPanel openPanel];
[panel setMessage:@"Select Folder"];
[panel setPrompt:@"Select"];
[panel setCanChooseFiles:NO];
[panel setCanChooseDirectories:YES];
[panel beginSheetModalForWindow:self.window completionHandler:^(NSModalResponse returnCode) {
NSString* path = [[panel URL] path];
}];
@woojooin
woojooin / validateInterfaceItem.m
Last active January 17, 2019 12:05
validate Interface Item
- (BOOL)validateInterfaceItem:(id)item
{
if(_tableView.selectedRow == -1)
return NO;
NSPasteboardType type = [clipData.types objectAtIndex:_tableView.selectedRow];
if([item action] == @selector(cmdShowItemFinder:)
|| [item action] == @selector(cmdQuickView:))
{
if(fileListView.isHidden || fileListView.selectedRow == -1)
@woojooin
woojooin / TableView Drag and Drop Item Position.m
Last active January 8, 2019 10:15
[TableView Drag and Drop Item Position]
- (BOOL)tableView:(NSTableView *)tableView
writeRowsWithIndexes:(NSIndexSet *)rowIndexes
toPasteboard:(NSPasteboard*)pboard {
// Copy the row numbers to the pasteboard.
NSData *zNSIndexSetData =
[NSKeyedArchiver archivedDataWithRootObject:rowIndexes];
[pboard declareTypes:[NSArray arrayWithObject:FavoritesDataType]
owner:self];
[pboard setData:zNSIndexSetData forType:FavoritesDataType];
return YES;
@woojooin
woojooin / QuickLook.m
Last active January 3, 2019 08:03
[QuickLook]
//
// Quicklook
//
QLPreviewPanel* _previewPanel;
NSWindow* _quickLookOwner;
NSString* _quickLookItemPath;
- (void)showQuickLookPath:(NSString*)itemPath Owner:(NSWindow*)wnd;
//---------------------------------------
@woojooin
woojooin / AlertPanel.m
Last active January 2, 2019 01:30
[AlertPanel]
NSRunAlertPanel();
NSRunInformationalAlertPanel();
NSRunCriticalAlertPanel();
@woojooin
woojooin / sheet panel.m
Last active January 3, 2019 08:03
[sheet panel]
void modalSheet(NSWindow* sheet, NSWindow* window)
{
[NSApp beginSheet:sheet
modalForWindow:window
modalDelegate: nil
didEndSelector:nil
contextInfo:nil];
[NSApp runModalForWindow:sheet];
// Dialog is up here.
@woojooin
woojooin / run modal panel.m
Created January 2, 2019 01:25
[run modal panel]
PanelClass panel = [[PanelClass new] autorelease];
[panel showWindow:self];
if(IDOK != [NSApp runModalForWindow:[panel window]])
return;
@woojooin
woojooin / panel.m
Created January 2, 2019 01:22
[panel]
@interface <#PanelClass#> : NSWindowController <NSWindowDelegate>
{
NSInteger retCode;
@public
IBOutlet <#Control#>* <#variable#>;
}
- (IBAction)cmdOK:(id)sender;
- (IBAction)cmdCancel:(id)sender;