view dstep/appkit/NSBrowser.d @ 16:19885b43130e

Huge update, the bridge actually works now
author Jacob Carlborg <doob@me.com>
date Sun, 03 Jan 2010 22:06:11 +0100
parents
children b9de51448c6b
line wrap: on
line source

/**
 * Copyright: Copyright (c) 2009 Jacob Carlborg.
 * Authors: Jacob Carlborg
 * Version: Initial created: Sep 24, 2009 
 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0)
 */
module dstep.appkit.NSBrowser;

import dstep.appkit.NSCell;
import dstep.appkit.NSColor;
import dstep.appkit.NSControl;
import dstep.appkit.NSDragging;
import dstep.appkit.NSEvent;
import dstep.appkit.NSImage;
import dstep.appkit.NSMatrix;
import dstep.appkit.NSScroller;
import dstep.applicationservices.coregraphics.CGBase;
import dstep.foundation.NSArray;
import dstep.foundation.NSGeometry;
import dstep.foundation.NSIndexSet;
import dstep.foundation.NSObjCRuntime;
import dstep.foundation.NSString;
import dstep.objc.bridge.Bridge;
import dstep.objc.objc;

import bindings = dstep.appkit.NSBrowser_bindings;

alias NSUInteger NSBrowserColumnResizingType;
alias NSUInteger NSBrowserDropOperation;

private
{
	NSString NSBrowserColumnConfigurationDidChangeNotification_;
}

NSString NSBrowserColumnConfigurationDidChangeNotification ()
{
	if (NSBrowserColumnConfigurationDidChangeNotification_)
		return NSBrowserColumnConfigurationDidChangeNotification_;

	return NSBrowserColumnConfigurationDidChangeNotification_ = new NSString(bindings.NSBrowserColumnConfigurationDidChangeNotification);
}

enum
{
	NSBrowserNoColumnResizing = 0,
	NSBrowserAutoColumnResizing = 1,
	NSBrowserUserColumnResizing = 2
}

enum
{
	NSBrowserDropOn,
	NSBrowserDropAbove
}

struct _Brflags
{
	uint firstVisibleCalculationDisabled;
	uint prefersAllColumnUserResizing;
	uint usesSmallScrollers;
	uint usesSmallSizeTitleFont;
	uint actionNeedsToBeSent;
	uint acceptsFirstMouse;
	uint refusesFirstResponder;
	uint disableCompositing;
	uint delegateSelectsCellsByRow;
	uint allowsIncrementalSearching;
	uint time;
	uint hasHorizontalScroller;
	uint prohibitEmptySel;
	uint sendActionOnArrowKeys;
	uint dontDrawTitles;
	uint acceptArrowKeys;
	uint delegateValidatesColumns;
	uint delegateDoesNotCreateRowsInMatrix;
	uint delegateSelectsCellsByString;
	uint delegateSetsTitles;
	uint delegateImplementsWillDisplayCell;
	uint separateColumns;
	uint titleFromPrevious;
	uint isTitled;
	uint reuseColumns;
	uint allowsBranchSelection;
	uint allowsMultipleSelection;
}

class NSBrowser : NSControl
{
	mixin (ObjcWrap);

	static Class cellClass ()
	{
		return invokeObjcSelfClass!(Class, "cellClass");
	}

	void loadColumnZero ()
	{
		return invokeObjcSelf!(void, "loadColumnZero");
	}

	bool isLoaded ()
	{
		return invokeObjcSelf!(bool, "isLoaded");
	}

	void setDoubleAction (SEL aSelector)
	{
		return invokeObjcSelf!(void, "setDoubleAction:", SEL)(aSelector);
	}

	SEL doubleAction ()
	{
		return invokeObjcSelf!(SEL, "doubleAction");
	}

	void setMatrixClass (Class factoryId)
	{
		return invokeObjcSelf!(void, "setMatrixClass:", Class)(factoryId);
	}

	Class matrixClass ()
	{
		return invokeObjcSelf!(Class, "matrixClass");
	}

	void setCellClass (Class factoryId)
	{
		return invokeObjcSelf!(void, "setCellClass:", Class)(factoryId);
	}

	void setCellPrototype (NSCell aCell)
	{
		return invokeObjcSelf!(void, "setCellPrototype:", NSCell)(aCell);
	}

	Object cellPrototype ()
	{
		return invokeObjcSelf!(Object, "cellPrototype");
	}

	void setDelegate (Object anObject)
	{
		return invokeObjcSelf!(void, "setDelegate:", Object)(anObject);
	}

	Object delegate_ ()
	{
		return invokeObjcSelf!(Object, "delegate");
	}

	void setReusesColumns (bool flag)
	{
		return invokeObjcSelf!(void, "setReusesColumns:", bool)(flag);
	}

	bool reusesColumns ()
	{
		return invokeObjcSelf!(bool, "reusesColumns");
	}

	void setHasHorizontalScroller (bool flag)
	{
		return invokeObjcSelf!(void, "setHasHorizontalScroller:", bool)(flag);
	}

	bool hasHorizontalScroller ()
	{
		return invokeObjcSelf!(bool, "hasHorizontalScroller");
	}

	void setSeparatesColumns (bool flag)
	{
		return invokeObjcSelf!(void, "setSeparatesColumns:", bool)(flag);
	}

	bool separatesColumns ()
	{
		return invokeObjcSelf!(bool, "separatesColumns");
	}

	void setTitled (bool flag)
	{
		return invokeObjcSelf!(void, "setTitled:", bool)(flag);
	}

	bool isTitled ()
	{
		return invokeObjcSelf!(bool, "isTitled");
	}

	void setMinColumnWidth (CGFloat columnWidth)
	{
		return invokeObjcSelf!(void, "setMinColumnWidth:", CGFloat)(columnWidth);
	}

	CGFloat minColumnWidth ()
	{
		return invokeObjcSelf!(CGFloat, "minColumnWidth");
	}

	void setMaxVisibleColumns (NSInteger columnCount)
	{
		return invokeObjcSelf!(void, "setMaxVisibleColumns:", NSInteger)(columnCount);
	}

	NSInteger maxVisibleColumns ()
	{
		return invokeObjcSelf!(NSInteger, "maxVisibleColumns");
	}

	void setAllowsMultipleSelection (bool flag)
	{
		return invokeObjcSelf!(void, "setAllowsMultipleSelection:", bool)(flag);
	}

	bool allowsMultipleSelection ()
	{
		return invokeObjcSelf!(bool, "allowsMultipleSelection");
	}

	void setAllowsBranchSelection (bool flag)
	{
		return invokeObjcSelf!(void, "setAllowsBranchSelection:", bool)(flag);
	}

	bool allowsBranchSelection ()
	{
		return invokeObjcSelf!(bool, "allowsBranchSelection");
	}

	void setAllowsEmptySelection (bool flag)
	{
		return invokeObjcSelf!(void, "setAllowsEmptySelection:", bool)(flag);
	}

	bool allowsEmptySelection ()
	{
		return invokeObjcSelf!(bool, "allowsEmptySelection");
	}

	void setTakesTitleFromPreviousColumn (bool flag)
	{
		return invokeObjcSelf!(void, "setTakesTitleFromPreviousColumn:", bool)(flag);
	}

	bool takesTitleFromPreviousColumn ()
	{
		return invokeObjcSelf!(bool, "takesTitleFromPreviousColumn");
	}

	void setAcceptsArrowKeys (bool flag)
	{
		return invokeObjcSelf!(void, "setAcceptsArrowKeys:", bool)(flag);
	}

	bool acceptsArrowKeys ()
	{
		return invokeObjcSelf!(bool, "acceptsArrowKeys");
	}

	void setSendsActionOnArrowKeys (bool flag)
	{
		return invokeObjcSelf!(void, "setSendsActionOnArrowKeys:", bool)(flag);
	}

	bool sendsActionOnArrowKeys ()
	{
		return invokeObjcSelf!(bool, "sendsActionOnArrowKeys");
	}

	void setTitle (NSString aString, NSInteger column)
	{
		return invokeObjcSelf!(void, "setTitle:ofColumn:", NSString, NSInteger)(aString, column);
	}

	NSString titleOfColumn (NSInteger column)
	{
		return invokeObjcSelf!(NSString, "titleOfColumn:", NSInteger)(column);
	}

	void setPathSeparator (NSString newString)
	{
		return invokeObjcSelf!(void, "setPathSeparator:", NSString)(newString);
	}

	NSString pathSeparator ()
	{
		return invokeObjcSelf!(NSString, "pathSeparator");
	}

	bool setPath (NSString path)
	{
		return invokeObjcSelf!(bool, "setPath:", NSString)(path);
	}

	NSString path ()
	{
		return invokeObjcSelf!(NSString, "path");
	}

	NSString pathToColumn (NSInteger column)
	{
		return invokeObjcSelf!(NSString, "pathToColumn:", NSInteger)(column);
	}

	NSInteger selectedColumn ()
	{
		return invokeObjcSelf!(NSInteger, "selectedColumn");
	}

	Object selectedCell ()
	{
		return invokeObjcSelf!(Object, "selectedCell");
	}

	Object selectedCellInColumn (NSInteger column)
	{
		return invokeObjcSelf!(Object, "selectedCellInColumn:", NSInteger)(column);
	}

	NSArray selectedCells ()
	{
		return invokeObjcSelf!(NSArray, "selectedCells");
	}

	void selectRow (NSInteger row, NSInteger column)
	{
		return invokeObjcSelf!(void, "selectRow:inColumn:", NSInteger, NSInteger)(row, column);
	}

	NSInteger selectedRowInColumn (NSInteger column)
	{
		return invokeObjcSelf!(NSInteger, "selectedRowInColumn:", NSInteger)(column);
	}

	void selectRowIndexes (NSIndexSet indexes, NSInteger column)
	{
		return invokeObjcSelf!(void, "selectRowIndexes:inColumn:", NSIndexSet, NSInteger)(indexes, column);
	}

	NSIndexSet selectedRowIndexesInColumn (NSInteger column)
	{
		return invokeObjcSelf!(NSIndexSet, "selectedRowIndexesInColumn:", NSInteger)(column);
	}

	void reloadColumn (NSInteger column)
	{
		return invokeObjcSelf!(void, "reloadColumn:", NSInteger)(column);
	}

	void validateVisibleColumns ()
	{
		return invokeObjcSelf!(void, "validateVisibleColumns");
	}

	void scrollColumnsRightBy (NSInteger shiftAmount)
	{
		return invokeObjcSelf!(void, "scrollColumnsRightBy:", NSInteger)(shiftAmount);
	}

	void scrollColumnsLeftBy (NSInteger shiftAmount)
	{
		return invokeObjcSelf!(void, "scrollColumnsLeftBy:", NSInteger)(shiftAmount);
	}

	void scrollColumnToVisible (NSInteger column)
	{
		return invokeObjcSelf!(void, "scrollColumnToVisible:", NSInteger)(column);
	}

	void setLastColumn (NSInteger column)
	{
		return invokeObjcSelf!(void, "setLastColumn:", NSInteger)(column);
	}

	NSInteger lastColumn ()
	{
		return invokeObjcSelf!(NSInteger, "lastColumn");
	}

	void addColumn ()
	{
		return invokeObjcSelf!(void, "addColumn");
	}

	NSInteger numberOfVisibleColumns ()
	{
		return invokeObjcSelf!(NSInteger, "numberOfVisibleColumns");
	}

	NSInteger firstVisibleColumn ()
	{
		return invokeObjcSelf!(NSInteger, "firstVisibleColumn");
	}

	NSInteger lastVisibleColumn ()
	{
		return invokeObjcSelf!(NSInteger, "lastVisibleColumn");
	}

	NSInteger columnOfMatrix (NSMatrix matrix)
	{
		return invokeObjcSelf!(NSInteger, "columnOfMatrix:", NSMatrix)(matrix);
	}

	NSMatrix matrixInColumn (NSInteger column)
	{
		return invokeObjcSelf!(NSMatrix, "matrixInColumn:", NSInteger)(column);
	}

	Object loadedCellAtRow (NSInteger row, NSInteger col)
	{
		return invokeObjcSelf!(Object, "loadedCellAtRow:column:", NSInteger, NSInteger)(row, col);
	}

	void selectAll (Object sender)
	{
		return invokeObjcSelf!(void, "selectAll:", Object)(sender);
	}

	void tile ()
	{
		return invokeObjcSelf!(void, "tile");
	}

	void doClick (Object sender)
	{
		return invokeObjcSelf!(void, "doClick:", Object)(sender);
	}

	void doDoubleClick (Object sender)
	{
		return invokeObjcSelf!(void, "doDoubleClick:", Object)(sender);
	}

	bool sendAction ()
	{
		return invokeObjcSelf!(bool, "sendAction");
	}

	NSRect titleFrameOfColumn (NSInteger column)
	{
		return invokeObjcSelf!(NSRect, "titleFrameOfColumn:", NSInteger)(column);
	}

	void drawTitleOfColumn (NSInteger column, NSRect aRect)
	{
		return invokeObjcSelf!(void, "drawTitleOfColumn:inRect:", NSInteger, NSRect)(column, aRect);
	}

	CGFloat titleHeight ()
	{
		return invokeObjcSelf!(CGFloat, "titleHeight");
	}

	NSRect frameOfColumn (NSInteger column)
	{
		return invokeObjcSelf!(NSRect, "frameOfColumn:", NSInteger)(column);
	}

	NSRect frameOfInsideOfColumn (NSInteger column)
	{
		return invokeObjcSelf!(NSRect, "frameOfInsideOfColumn:", NSInteger)(column);
	}

	CGFloat columnWidthForColumnContentWidth (CGFloat columnContentWidth)
	{
		return invokeObjcSelf!(CGFloat, "columnWidthForColumnContentWidth:", CGFloat)(columnContentWidth);
	}

	CGFloat columnContentWidthForColumnWidth (CGFloat columnWidth)
	{
		return invokeObjcSelf!(CGFloat, "columnContentWidthForColumnWidth:", CGFloat)(columnWidth);
	}

	void setColumnResizingType (uint columnResizingType)
	{
		return invokeObjcSelf!(void, "setColumnResizingType:", uint)(columnResizingType);
	}

	uint columnResizingType ()
	{
		return invokeObjcSelf!(uint, "columnResizingType");
	}

	void setPrefersAllColumnUserResizing (bool prefersAllColumnResizing)
	{
		return invokeObjcSelf!(void, "setPrefersAllColumnUserResizing:", bool)(prefersAllColumnResizing);
	}

	bool prefersAllColumnUserResizing ()
	{
		return invokeObjcSelf!(bool, "prefersAllColumnUserResizing");
	}

	void setWidth (CGFloat columnWidth, NSInteger columnIndex)
	{
		return invokeObjcSelf!(void, "setWidth:ofColumn:", CGFloat, NSInteger)(columnWidth, columnIndex);
	}

	CGFloat widthOfColumn (NSInteger column)
	{
		return invokeObjcSelf!(CGFloat, "widthOfColumn:", NSInteger)(column);
	}

	void setColumnsAutosaveName (NSString name)
	{
		return invokeObjcSelf!(void, "setColumnsAutosaveName:", NSString)(name);
	}

	NSString columnsAutosaveName ()
	{
		return invokeObjcSelf!(NSString, "columnsAutosaveName");
	}

	static void removeSavedColumnsWithAutosaveName (NSString name)
	{
		return invokeObjcSelfClass!(void, "removeSavedColumnsWithAutosaveName:", NSString)(name);
	}

	bool canDragRowsWithIndexes (NSIndexSet rowIndexes, NSInteger column, NSEvent event)
	{
		return invokeObjcSelf!(bool, "canDragRowsWithIndexes:inColumn:withEvent:", NSIndexSet, NSInteger, NSEvent)(rowIndexes, column, event);
	}

	NSImage draggingImageForRowsWithIndexes (NSIndexSet rowIndexes, NSInteger column, NSEvent event, NSPointPointer dragImageOffset)
	{
		return invokeObjcSelf!(NSImage, "draggingImageForRowsWithIndexes:inColumn:withEvent:offset:", NSIndexSet, NSInteger, NSEvent, NSPointPointer)(rowIndexes, column, event, dragImageOffset);
	}

	void setDraggingSourceOperationMask (uint mask, bool isLocal)
	{
		return invokeObjcSelf!(void, "setDraggingSourceOperationMask:forLocal:", uint, bool)(mask, isLocal);
	}

	bool allowsTypeSelect ()
	{
		return invokeObjcSelf!(bool, "allowsTypeSelect");
	}

	void setAllowsTypeSelect (bool value)
	{
		return invokeObjcSelf!(void, "setAllowsTypeSelect:", bool)(value);
	}

	void setBackgroundColor (NSColor color)
	{
		return invokeObjcSelf!(void, "setBackgroundColor:", NSColor)(color);
	}

	NSColor backgroundColor ()
	{
		return invokeObjcSelf!(NSColor, "backgroundColor");
	}

	void displayColumn (NSInteger column)
	{
		return invokeObjcSelf!(void, "displayColumn:", NSInteger)(column);
	}

	void displayAllColumns ()
	{
		return invokeObjcSelf!(void, "displayAllColumns");
	}

	void scrollViaScroller (NSScroller sender)
	{
		return invokeObjcSelf!(void, "scrollViaScroller:", NSScroller)(sender);
	}

	void updateScroller ()
	{
		return invokeObjcSelf!(void, "updateScroller");
	}
}

const TNSBrowserDelegate = `

	NSInteger browser (NSBrowser sender, NSInteger column)
	{
		return invokeObjcSelf!(NSInteger, "browser:numberOfRowsInColumn:", NSBrowser, NSInteger)(sender, column);
	}

	void browser (NSBrowser sender, NSInteger column, NSMatrix matrix)
	{
		return invokeObjcSelf!(void, "browser:createRowsForColumn:inMatrix:", NSBrowser, NSInteger, NSMatrix)(sender, column, matrix);
	}

	void browser (NSBrowser sender, Object cell, NSInteger row, NSInteger column)
	{
		return invokeObjcSelf!(void, "browser:willDisplayCell:atRow:column:", NSBrowser, Object, NSInteger, NSInteger)(sender, cell, row, column);
	}

	NSString browser (NSBrowser sender, NSInteger column)
	{
		return invokeObjcSelf!(NSString, "browser:titleOfColumn:", NSBrowser, NSInteger)(sender, column);
	}

	bool browser (NSBrowser sender, NSString title, NSInteger column)
	{
		return invokeObjcSelf!(bool, "browser:selectCellWithString:inColumn:", NSBrowser, NSString, NSInteger)(sender, title, column);
	}

	bool browser (NSBrowser sender, NSInteger row, NSInteger column)
	{
		return invokeObjcSelf!(bool, "browser:selectRow:inColumn:", NSBrowser, NSInteger, NSInteger)(sender, row, column);
	}

	bool browser (NSBrowser sender, NSInteger column)
	{
		return invokeObjcSelf!(bool, "browser:isColumnValid:", NSBrowser, NSInteger)(sender, column);
	}

	void browserWillScroll (NSBrowser sender)
	{
		return invokeObjcSelf!(void, "browserWillScroll:", NSBrowser)(sender);
	}

	void browserDidScroll (NSBrowser sender)
	{
		return invokeObjcSelf!(void, "browserDidScroll:", NSBrowser)(sender);
	}

	CGFloat browser (NSBrowser browser, NSInteger columnIndex, bool forUserResize, CGFloat suggestedWidth)
	{
		return invokeObjcSelf!(CGFloat, "browser:shouldSizeColumn:forUserResize:toWidth:", NSBrowser, NSInteger, bool, CGFloat)(browser, columnIndex, forUserResize, suggestedWidth);
	}

	CGFloat browser (NSBrowser browser, NSInteger columnIndex)
	{
		return invokeObjcSelf!(CGFloat, "browser:sizeToFitWidthOfColumn:", NSBrowser, NSInteger)(browser, columnIndex);
	}

	void browserColumnConfigurationDidChange (NSNotification notification)
	{
		return invokeObjcSelf!(void, "browserColumnConfigurationDidChange:", NSNotification)(notification);
	}

	bool browser (NSBrowser browser, NSInteger row, NSInteger column)
	{
		return invokeObjcSelf!(bool, "browser:shouldShowCellExpansionForRow:column:", NSBrowser, NSInteger, NSInteger)(browser, row, column);
	}

	bool browser (NSBrowser browser, NSIndexSet rowIndexes, NSInteger column, NSPasteboard pasteboard)
	{
		return invokeObjcSelf!(bool, "browser:writeRowsWithIndexes:inColumn:toPasteboard:", NSBrowser, NSIndexSet, NSInteger, NSPasteboard)(browser, rowIndexes, column, pasteboard);
	}

	NSArray browser (NSBrowser browser, NSURL dropDestination, NSIndexSet rowIndexes, NSInteger column)
	{
		return invokeObjcSelf!(NSArray, "browser:namesOfPromisedFilesDroppedAtDestination:forDraggedRowsWithIndexes:inColumn:", NSBrowser, NSURL, NSIndexSet, NSInteger)(browser, dropDestination, rowIndexes, column);
	}

	bool browser (NSBrowser browser, NSIndexSet rowIndexes, NSInteger column, NSEvent event)
	{
		return invokeObjcSelf!(bool, "browser:canDragRowsWithIndexes:inColumn:withEvent:", NSBrowser, NSIndexSet, NSInteger, NSEvent)(browser, rowIndexes, column, event);
	}

	NSImage browser (NSBrowser browser, NSIndexSet rowIndexes, NSInteger column, NSEvent event, NSPointPointer dragImageOffset)
	{
		return invokeObjcSelf!(NSImage, "browser:draggingImageForRowsWithIndexes:inColumn:withEvent:offset:", NSBrowser, NSIndexSet, NSInteger, NSEvent, NSPointPointer)(browser, rowIndexes, column, event, dragImageOffset);
	}

	uint browser (NSBrowser browser, INSDraggingInfo info, NSInteger* row, NSInteger* column, NSBrowserDropOperation* dropOperation)
	{
		return invokeObjcSelf!(uint, "browser:validateDrop:proposedRow:column:dropOperation:", NSBrowser, INSDraggingInfo, NSInteger*, NSInteger*, NSBrowserDropOperation*)(browser, info, row, column, dropOperation);
	}

	bool browser (NSBrowser browser, INSDraggingInfo info, NSInteger row, NSInteger column, uint dropOperation)
	{
		return invokeObjcSelf!(bool, "browser:acceptDrop:atRow:column:dropOperation:", NSBrowser, INSDraggingInfo, NSInteger, NSInteger, uint)(browser, info, row, column, dropOperation);
	}

	NSString browser (NSBrowser browser, NSInteger row, NSInteger column)
	{
		return invokeObjcSelf!(NSString, "browser:typeSelectStringForRow:inColumn:", NSBrowser, NSInteger, NSInteger)(browser, row, column);
	}

	bool browser (NSBrowser browser, NSEvent event, NSString searchString)
	{
		return invokeObjcSelf!(bool, "browser:shouldTypeSelectForEvent:withCurrentSearchString:", NSBrowser, NSEvent, NSString)(browser, event, searchString);
	}

	NSInteger browser (NSBrowser browser, NSInteger startRow, NSInteger endRow, NSInteger column, NSString searchString)
	{
		return invokeObjcSelf!(NSInteger, "browser:nextTypeSelectMatchFromRow:toRow:inColumn:forString:", NSBrowser, NSInteger, NSInteger, NSInteger, NSString)(browser, startRow, endRow, column, searchString);
	}

	//mixin ObjcBindMethod!(browser, "browser:numberOfRowsInColumn:");
	//mixin ObjcBindMethod!(browser, "browser:createRowsForColumn:inMatrix:");
	//mixin ObjcBindMethod!(browser, "browser:willDisplayCell:atRow:column:");
	//mixin ObjcBindMethod!(browser, "browser:titleOfColumn:");
	//mixin ObjcBindMethod!(browser, "browser:selectCellWithString:inColumn:");
	//mixin ObjcBindMethod!(browser, "browser:selectRow:inColumn:");
	//mixin ObjcBindMethod!(browser, "browser:isColumnValid:");
	//mixin ObjcBindMethod!(browserWillScroll, "browserWillScroll:");
	//mixin ObjcBindMethod!(browserDidScroll, "browserDidScroll:");
	//mixin ObjcBindMethod!(browser, "browser:shouldSizeColumn:forUserResize:toWidth:");
	//mixin ObjcBindMethod!(browser, "browser:sizeToFitWidthOfColumn:");
	//mixin ObjcBindMethod!(browserColumnConfigurationDidChange, "browserColumnConfigurationDidChange:");
	//mixin ObjcBindMethod!(browser, "browser:shouldShowCellExpansionForRow:column:");
	//mixin ObjcBindMethod!(browser, "browser:writeRowsWithIndexes:inColumn:toPasteboard:");
	//mixin ObjcBindMethod!(browser, "browser:namesOfPromisedFilesDroppedAtDestination:forDraggedRowsWithIndexes:inColumn:");
	//mixin ObjcBindMethod!(browser, "browser:canDragRowsWithIndexes:inColumn:withEvent:");
	//mixin ObjcBindMethod!(browser, "browser:draggingImageForRowsWithIndexes:inColumn:withEvent:offset:");
	//mixin ObjcBindMethod!(browser, "browser:validateDrop:proposedRow:column:dropOperation:");
	//mixin ObjcBindMethod!(browser, "browser:acceptDrop:atRow:column:dropOperation:");
	//mixin ObjcBindMethod!(browser, "browser:typeSelectStringForRow:inColumn:");
	//mixin ObjcBindMethod!(browser, "browser:shouldTypeSelectForEvent:withCurrentSearchString:");
	//mixin ObjcBindMethod!(browser, "browser:nextTypeSelectMatchFromRow:toRow:inColumn:forString:");

`;