mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-22 19:59:37 +02:00
Cocoa: Fix #19169, TCustomListView.OnChanging()
This commit is contained in:
parent
ba509cfde3
commit
e8132d722a
@ -46,6 +46,7 @@ type
|
|||||||
procedure SetItemTextAt(ARow, ACol: Integer; const Text: String);
|
procedure SetItemTextAt(ARow, ACol: Integer; const Text: String);
|
||||||
procedure SetItemCheckedAt(ARow, ACol: Integer; CheckState: Integer);
|
procedure SetItemCheckedAt(ARow, ACol: Integer; CheckState: Integer);
|
||||||
procedure tableSelectionChange(ARow: Integer; Added, Removed: NSIndexSet);
|
procedure tableSelectionChange(ARow: Integer; Added, Removed: NSIndexSet);
|
||||||
|
function shouldTableSelectionChange(NewSel: Integer): Boolean;
|
||||||
procedure ColumnClicked(ACol: Integer);
|
procedure ColumnClicked(ACol: Integer);
|
||||||
procedure DrawRow(rowidx: Integer; ctx: TCocoaContext; const r: TRect; state: TOwnerDrawState);
|
procedure DrawRow(rowidx: Integer; ctx: TCocoaContext; const r: TRect; state: TOwnerDrawState);
|
||||||
procedure GetRowHeight(rowidx: Integer; var height: Integer);
|
procedure GetRowHeight(rowidx: Integer; var height: Integer);
|
||||||
@ -139,8 +140,8 @@ type
|
|||||||
//procedure tableView_willDisplayCell_forTableColumn_row(tableView: NSTableView; cell: id; tableColumn: NSTableColumn; row: NSInteger); message 'tableView:willDisplayCell:forTableColumn:row:';
|
//procedure tableView_willDisplayCell_forTableColumn_row(tableView: NSTableView; cell: id; tableColumn: NSTableColumn; row: NSInteger); message 'tableView:willDisplayCell:forTableColumn:row:';
|
||||||
function tableView_shouldEditTableColumn_row(tableView: NSTableView; tableColumn: NSTableColumn; row: NSInteger): Boolean; message 'tableView:shouldEditTableColumn:row:';
|
function tableView_shouldEditTableColumn_row(tableView: NSTableView; tableColumn: NSTableColumn; row: NSInteger): Boolean; message 'tableView:shouldEditTableColumn:row:';
|
||||||
function selectionShouldChangeInTableView(tableView: NSTableView): Boolean; message 'selectionShouldChangeInTableView:';
|
function selectionShouldChangeInTableView(tableView: NSTableView): Boolean; message 'selectionShouldChangeInTableView:';
|
||||||
{function tableView_shouldSelectRow(tableView: NSTableView; row: NSInteger): Boolean; message 'tableView:shouldSelectRow:';
|
function tableView_shouldSelectRow(tableView: NSTableView; row: NSInteger): Boolean; message 'tableView:shouldSelectRow:';
|
||||||
function tableView_selectionIndexesForProposedSelection(tableView: NSTableView; proposedSelectionIndexes: NSIndexSet): NSIndexSet; message 'tableView:selectionIndexesForProposedSelection:';
|
{function tableView_selectionIndexesForProposedSelection(tableView: NSTableView; proposedSelectionIndexes: NSIndexSet): NSIndexSet; message 'tableView:selectionIndexesForProposedSelection:';
|
||||||
function tableView_shouldSelectTableColumn(tableView: NSTableView; tableColumn: NSTableColumn): Boolean; message 'tableView:shouldSelectTableColumn:';
|
function tableView_shouldSelectTableColumn(tableView: NSTableView; tableColumn: NSTableColumn): Boolean; message 'tableView:shouldSelectTableColumn:';
|
||||||
procedure tableView_mouseDownInHeaderOfTableColumn(tableView: NSTableView; tableColumn: NSTableColumn); message 'tableView:mouseDownInHeaderOfTableColumn:';}
|
procedure tableView_mouseDownInHeaderOfTableColumn(tableView: NSTableView; tableColumn: NSTableColumn); message 'tableView:mouseDownInHeaderOfTableColumn:';}
|
||||||
procedure tableView_didClickTableColumn(tableView: NSTableView; tableColumn: NSTableColumn); message 'tableView:didClickTableColumn:';
|
procedure tableView_didClickTableColumn(tableView: NSTableView; tableColumn: NSTableColumn); message 'tableView:didClickTableColumn:';
|
||||||
@ -644,6 +645,12 @@ begin
|
|||||||
Result := true;
|
Result := true;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TCocoaTableListView.tableView_shouldSelectRow(tableView: NSTableView;
|
||||||
|
row: NSInteger): Boolean;
|
||||||
|
begin
|
||||||
|
Result:= callback.shouldTableSelectionChange( row );
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TCocoaTableListView.tableView_didClickTableColumn(
|
procedure TCocoaTableListView.tableView_didClickTableColumn(
|
||||||
tableView: NSTableView; tableColumn: NSTableColumn);
|
tableView: NSTableView; tableColumn: NSTableColumn);
|
||||||
begin
|
begin
|
||||||
|
@ -136,6 +136,7 @@ type
|
|||||||
procedure SetItemTextAt(ARow, ACol: Integer; const Text: String);
|
procedure SetItemTextAt(ARow, ACol: Integer; const Text: String);
|
||||||
procedure SetItemCheckedAt(ARow, ACol: Integer; IsChecked: Integer);
|
procedure SetItemCheckedAt(ARow, ACol: Integer; IsChecked: Integer);
|
||||||
procedure tableSelectionChange(NewSel: Integer; Added, Removed: NSIndexSet);
|
procedure tableSelectionChange(NewSel: Integer; Added, Removed: NSIndexSet);
|
||||||
|
function shouldTableSelectionChange(NewSel: Integer): Boolean;
|
||||||
procedure ColumnClicked(ACol: Integer);
|
procedure ColumnClicked(ACol: Integer);
|
||||||
procedure DrawRow(rowidx: Integer; ctx: TCocoaContext; const r: TRect;
|
procedure DrawRow(rowidx: Integer; ctx: TCocoaContext; const r: TRect;
|
||||||
state: TOwnerDrawState);
|
state: TOwnerDrawState);
|
||||||
@ -283,6 +284,9 @@ type
|
|||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
|
type
|
||||||
|
TCustomListViewAccess = class(TCustomListView);
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
||||||
{ TUpdownCommonCallback }
|
{ TUpdownCommonCallback }
|
||||||
@ -2036,6 +2040,16 @@ begin
|
|||||||
LCLMessageGlue.DeliverMessage(ListView, Msg);}
|
LCLMessageGlue.DeliverMessage(ListView, Msg);}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TLCLListViewCallback.shouldTableSelectionChange(NewSel: Integer
|
||||||
|
): Boolean;
|
||||||
|
var
|
||||||
|
item: TListItem = nil;
|
||||||
|
begin
|
||||||
|
if (NewSel>=0) and (NewSel<self.listView.Items.Count) then
|
||||||
|
item:= self.listView.Items[NewSel];
|
||||||
|
Result:= TCustomListViewAccess(self.listView).CanChange( item, LVIF_TEXT );
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TLCLListViewCallback.ColumnClicked(ACol: Integer);
|
procedure TLCLListViewCallback.ColumnClicked(ACol: Integer);
|
||||||
var
|
var
|
||||||
Msg: TLMNotify;
|
Msg: TLMNotify;
|
||||||
|
@ -274,6 +274,7 @@ type
|
|||||||
procedure SetItemTextAt(ARow, ACol: Integer; const Text: String); virtual;
|
procedure SetItemTextAt(ARow, ACol: Integer; const Text: String); virtual;
|
||||||
procedure SetItemCheckedAt(ARow, ACol: Integer; isChecked: Integer); virtual;
|
procedure SetItemCheckedAt(ARow, ACol: Integer; isChecked: Integer); virtual;
|
||||||
procedure tableSelectionChange(ARow: Integer; Added, Removed: NSIndexSet); virtual;
|
procedure tableSelectionChange(ARow: Integer; Added, Removed: NSIndexSet); virtual;
|
||||||
|
function shouldTableSelectionChange(NewSel: Integer): Boolean; virtual;
|
||||||
procedure ColumnClicked(ACol: Integer); virtual;
|
procedure ColumnClicked(ACol: Integer); virtual;
|
||||||
procedure DrawRow(rowidx: Integer; ctx: TCocoaContext; const r: TRect; state: TOwnerDrawState); virtual;
|
procedure DrawRow(rowidx: Integer; ctx: TCocoaContext; const r: TRect; state: TOwnerDrawState); virtual;
|
||||||
procedure GetRowHeight(rowidx: integer; var h: Integer); virtual;
|
procedure GetRowHeight(rowidx: integer; var h: Integer); virtual;
|
||||||
@ -682,6 +683,12 @@ begin
|
|||||||
SendSimpleMessage(Target, LM_SELCHANGE);
|
SendSimpleMessage(Target, LM_SELCHANGE);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TLCLListBoxCallback.shouldTableSelectionChange(NewSel: Integer
|
||||||
|
): Boolean;
|
||||||
|
begin
|
||||||
|
Result:= true;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TLCLListBoxCallback.ColumnClicked(ACol: Integer);
|
procedure TLCLListBoxCallback.ColumnClicked(ACol: Integer);
|
||||||
begin
|
begin
|
||||||
// not needed
|
// not needed
|
||||||
|
Loading…
Reference in New Issue
Block a user