diff options
author | Scott Kovatch <skovatch> | 2010-11-01 15:50:35 +0000 |
---|---|---|
committer | Scott Kovatch <skovatch> | 2010-11-01 15:50:35 +0000 |
commit | ff9455a446c1c0d9507f87b8ba0cd725e34bab5b (patch) | |
tree | 52fab6d15c425fe36ac050aedf06ec0cbafe0fc4 | |
parent | 4b69a6c50c70b7a7eac74306ab4ac446602b7106 (diff) | |
download | eclipse.platform.swt-ff9455a446c1c0d9507f87b8ba0cd725e34bab5b.tar.gz eclipse.platform.swt-ff9455a446c1c0d9507f87b8ba0cd725e34bab5b.tar.xz eclipse.platform.swt-ff9455a446c1c0d9507f87b8ba0cd725e34bab5b.zip |
328864 - implement methods to block Cocoa's normal cell editing path.
7 files changed, 23 insertions, 11 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/AppKitFull.bridgesupport.extras b/bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/AppKitFull.bridgesupport.extras index dda6dc1c32..cfb06f2049 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/AppKitFull.bridgesupport.extras +++ b/bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/AppKitFull.bridgesupport.extras @@ -2000,6 +2000,12 @@ <method selector="draggingSourceOperationMask" swt_gen="true"> <retval swt_gen="true"></retval> </method> + <method selector="outlineView:shouldEditTableColumn:item:" swt_gen="true"> + <arg swt_gen="true"></arg> + <arg swt_gen="true"></arg> + <arg swt_gen="true"></arg> + <retval swt_gen="true"></retval> + </method> <method selector="readSelectionFromPasteboard:" swt_gen="true"> <arg swt_gen="true"></arg> <retval swt_gen="true"></retval> diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/NSObject.java b/bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/NSObject.java index 8d986f811b..1db07f688b 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/NSObject.java +++ b/bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/NSObject.java @@ -62,6 +62,10 @@ public int /*long*/ draggingSourceOperationMask() { return OS.objc_msgSend(this.id, OS.sel_draggingSourceOperationMask); } +public boolean outlineView(NSOutlineView outlineView, NSTableColumn tableColumn, id item) { + return OS.objc_msgSend_bool(this.id, OS.sel_outlineView_shouldEditTableColumn_item_, outlineView != null ? outlineView.id : 0, tableColumn != null ? tableColumn.id : 0, item != null ? item.id : 0); +} + public boolean readSelectionFromPasteboard(NSPasteboard pboard) { return OS.objc_msgSend_bool(this.id, OS.sel_readSelectionFromPasteboard_, pboard != null ? pboard.id : 0); } diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/OS.java b/bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/OS.java index a5d43aff2b..5e23fd5770 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/OS.java +++ b/bundles/org.eclipse.swt/Eclipse SWT PI/cocoa/org/eclipse/swt/internal/cocoa/OS.java @@ -1480,6 +1480,7 @@ public static final int /*long*/ sel_outlineView_objectValueForTableColumn_byIte public static final int /*long*/ sel_outlineView_selectionIndexesForProposedSelection_ = sel_registerName("outlineView:selectionIndexesForProposedSelection:"); public static final int /*long*/ sel_outlineView_setObjectValue_forTableColumn_byItem_ = sel_registerName("outlineView:setObjectValue:forTableColumn:byItem:"); public static final int /*long*/ sel_outlineView_shouldCollapseItem_ = sel_registerName("outlineView:shouldCollapseItem:"); +public static final int /*long*/ sel_outlineView_shouldEditTableColumn_item_ = sel_registerName("outlineView:shouldEditTableColumn:item:"); public static final int /*long*/ sel_outlineView_shouldExpandItem_ = sel_registerName("outlineView:shouldExpandItem:"); public static final int /*long*/ sel_outlineView_validateDrop_proposedItem_proposedChildIndex_ = sel_registerName("outlineView:validateDrop:proposedItem:proposedChildIndex:"); public static final int /*long*/ sel_outlineView_willDisplayCell_forTableColumn_item_ = sel_registerName("outlineView:willDisplayCell:forTableColumn:item:"); diff --git a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Display.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Display.java index 4feb99b535..98c8c1ce50 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Display.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Display.java @@ -288,6 +288,7 @@ public class Display extends Device { static String APP_VERSION = ""; //$NON-NLS-1$ static final String ADD_WIDGET_KEY = "org.eclipse.swt.internal.addWidget"; //$NON-NLS-1$ static final byte[] SWT_OBJECT = {'S', 'W', 'T', '_', 'O', 'B', 'J', 'E', 'C', 'T', '\0'}; + static final byte[] SWT_EMBED_FRAMES = {'S', 'W', 'T', '_', 'E', 'M', 'B', 'E', 'D', '_', 'F', 'R', 'A', 'M', 'E', 'S', '\0'}; static final byte[] SWT_IMAGE = {'S', 'W', 'T', '_', 'I', 'M', 'A', 'G', 'E', '\0'}; static final byte[] SWT_ROW = {'S', 'W', 'T', '_', 'R', 'O', 'W', '\0'}; static final byte[] SWT_COLUMN = {'S', 'W', 'T', '_', 'C', 'O', 'L', 'U', 'M', 'N', '\0'}; @@ -2188,6 +2189,7 @@ int /*long*/ createWindowSubclass(int /*long*/ baseClass, String newClass) { int /*long*/ accessibilityHitTestProc = OS.CALLBACK_accessibilityHitTest_(proc3); OS.class_addIvar(cls, SWT_OBJECT, size, (byte)align, types); + OS.class_addIvar(cls, SWT_EMBED_FRAMES, size, (byte)align, types); OS.class_addMethod(cls, OS.sel_sendEvent_, proc3, "@:@"); OS.class_addMethod(cls, OS.sel_helpRequested_, proc3, "@:@"); OS.class_addMethod(cls, OS.sel_canBecomeKeyWindow, proc2, "@:"); @@ -2430,6 +2432,7 @@ void initClasses () { OS.class_addMethod(cls, OS.sel_outlineView_objectValueForTableColumn_byItem_, proc5, "@:@@@"); OS.class_addMethod(cls, OS.sel_outlineView_willDisplayCell_forTableColumn_item_, proc6, "@:@@@@"); OS.class_addMethod(cls, OS.sel_outlineView_setObjectValue_forTableColumn_byItem_, proc6, "@:@@@@"); + OS.class_addMethod(cls, OS.sel_outlineView_shouldEditTableColumn_item_, proc5, "@:@@@"); OS.class_addMethod(cls, OS.sel_outlineViewColumnDidMove_, proc3, "@:@"); OS.class_addMethod(cls, OS.sel_outlineViewColumnDidResize_, proc3, "@:@"); OS.class_addMethod(cls, OS.sel_outlineView_didClickTableColumn_, proc4, "@:@@"); @@ -2594,8 +2597,8 @@ void initClasses () { OS.class_addMethod(cls, OS.sel_highlightSelectionInClipRect_, highlightSelectionInClipRectProc, "@:{NSRect}"); OS.class_addMethod(cls, OS.sel_sendDoubleSelection, proc2, "@:"); OS.class_addMethod(cls, OS.sel_numberOfRowsInTableView_, proc3, "@:@"); - OS.class_addMethod(cls, OS.sel_tableView_objectValueForTableColumn_row_, proc5, "@:@:@:@"); - OS.class_addMethod(cls, OS.sel_tableView_shouldEditTableColumn_row_, proc5, "@:@:@:@"); + OS.class_addMethod(cls, OS.sel_tableView_objectValueForTableColumn_row_, proc5, "@:@@i"); + OS.class_addMethod(cls, OS.sel_tableView_shouldEditTableColumn_row_, proc5, "@:@@i"); OS.class_addMethod(cls, OS.sel_tableViewSelectionIsChanging_, proc3, "@:@"); OS.class_addMethod(cls, OS.sel_tableViewSelectionDidChange_, proc3, "@:@"); OS.class_addMethod(cls, OS.sel_tableView_willDisplayCell_forTableColumn_row_, proc6, "@:@@@i"); @@ -5518,6 +5521,8 @@ static int /*long*/ windowProc(int /*long*/ id, int /*long*/ sel, int /*long*/ a return widget.tableView_objectValueForTableColumn_row(id, sel, arg0, arg1, arg2); } else if (sel == OS.sel_tableView_shouldEditTableColumn_row_) { return widget.tableView_shouldEditTableColumn_row(id, sel, arg0, arg1, arg2) ? 1 : 0; + } else if (sel == OS.sel_outlineView_shouldEditTableColumn_item_) { + return widget.outlineView_shouldEditTableColumn_row(id, sel, arg0, arg1, arg2) ? 1 : 0; } else if (sel == OS.sel_textView_clickedOnLink_atIndex_) { return widget.textView_clickOnLink_atIndex(id, sel, arg0, arg1, arg2) ? 1 : 0; } else if (sel == OS.sel_outlineView_child_ofItem_) { diff --git a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/List.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/List.java index 3d3e308ac7..fe29829ff1 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/List.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/List.java @@ -1428,10 +1428,6 @@ void tableViewSelectionIsChanging (int /*long*/ id, int /*long*/ sel, int /*long sendSelection(); } -boolean tableView_shouldEditTableColumn_row(int /*long*/ id, int /*long*/ sel, int /*long*/ aTableView, int /*long*/ aTableColumn, int /*long*/ rowIndex) { - return false; -} - int /*long*/ tableView_objectValueForTableColumn_row(int /*long*/ id, int /*long*/ sel, int /*long*/ aTableView, int /*long*/ aTableColumn, int /*long*/ rowIndex) { float /*double*/ [] fg = ((NSTableView)view).isRowSelected(rowIndex) ? null : foreground; NSAttributedString attribStr = createString(items[(int)/*64*/rowIndex], null, fg, SWT.LEFT, false, getEnabled(), false); diff --git a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Table.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Table.java index b20c209994..424f7a4cee 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Table.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Table.java @@ -3219,10 +3219,6 @@ void tableView_setObjectValue_forTableColumn_row (int /*long*/ id, int /*long*/ } } -boolean tableView_shouldEditTableColumn_row (int /*long*/ id, int /*long*/ sel, int /*long*/ aTableView, int /*long*/ aTableColumn, int /*long*/ rowIndex) { - return false; -} - void tableView_willDisplayCell_forTableColumn_row (int /*long*/ id, int /*long*/ sel, int /*long*/ aTableView, int /*long*/ cell, int /*long*/ tableColumn, int /*long*/ rowIndex) { if (checkColumn != null && tableColumn == checkColumn.id) return; TableItem item = items [(int)/*64*/rowIndex]; diff --git a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Widget.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Widget.java index 8662652fc5..460f906f55 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Widget.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Widget.java @@ -1198,6 +1198,10 @@ int /*long*/ outlineView_selectionIndexesForProposedSelection (int /*long*/ id, return indexSet; } +boolean outlineView_shouldEditTableColumn_row(int /*long*/ id, int /*long*/ sel, int /*long*/ aTableView, int /*long*/ aTableColumn, int /*long*/ item) { + return false; +} + void outlineView_willDisplayCell_forTableColumn_item(int /*long*/ id, int /*long*/ sel, int /*long*/ outlineView, int /*long*/ cell, int /*long*/ tableColumn, int /*long*/ item) { } @@ -1907,7 +1911,7 @@ void tableView_setObjectValue_forTableColumn_row(int /*long*/ id, int /*long*/ s } boolean tableView_shouldEditTableColumn_row(int /*long*/ id, int /*long*/ sel, int /*long*/ aTableView, int /*long*/ aTableColumn, int /*long*/ rowIndex) { - return true; + return false; } void tableView_willDisplayCell_forTableColumn_row(int /*long*/ id, int /*long*/ sel, int /*long*/ aTableView, int /*long*/ aCell, int /*long*/ aTableColumn, int /*long*/ rowIndex) { |