mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-19 06:29:32 +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 SetItemCheckedAt(ARow, ACol: Integer; CheckState: Integer);
|
||||
procedure tableSelectionChange(ARow: Integer; Added, Removed: NSIndexSet);
|
||||
function shouldTableSelectionChange(NewSel: Integer): Boolean;
|
||||
procedure ColumnClicked(ACol: Integer);
|
||||
procedure DrawRow(rowidx: Integer; ctx: TCocoaContext; const r: TRect; state: TOwnerDrawState);
|
||||
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:';
|
||||
function tableView_shouldEditTableColumn_row(tableView: NSTableView; tableColumn: NSTableColumn; row: NSInteger): Boolean; message 'tableView:shouldEditTableColumn:row:';
|
||||
function selectionShouldChangeInTableView(tableView: NSTableView): Boolean; message 'selectionShouldChangeInTableView:';
|
||||
{function tableView_shouldSelectRow(tableView: NSTableView; row: NSInteger): Boolean; message 'tableView:shouldSelectRow:';
|
||||
function tableView_selectionIndexesForProposedSelection(tableView: NSTableView; proposedSelectionIndexes: NSIndexSet): NSIndexSet; message 'tableView:selectionIndexesForProposedSelection:';
|
||||
function tableView_shouldSelectRow(tableView: NSTableView; row: NSInteger): Boolean; message 'tableView:shouldSelectRow:';
|
||||
{function tableView_selectionIndexesForProposedSelection(tableView: NSTableView; proposedSelectionIndexes: NSIndexSet): NSIndexSet; message 'tableView:selectionIndexesForProposedSelection:';
|
||||
function tableView_shouldSelectTableColumn(tableView: NSTableView; tableColumn: NSTableColumn): Boolean; message 'tableView:shouldSelectTableColumn:';
|
||||
procedure tableView_mouseDownInHeaderOfTableColumn(tableView: NSTableView; tableColumn: NSTableColumn); message 'tableView:mouseDownInHeaderOfTableColumn:';}
|
||||
procedure tableView_didClickTableColumn(tableView: NSTableView; tableColumn: NSTableColumn); message 'tableView:didClickTableColumn:';
|
||||
@ -644,6 +645,12 @@ begin
|
||||
Result := true;
|
||||
end;
|
||||
|
||||
function TCocoaTableListView.tableView_shouldSelectRow(tableView: NSTableView;
|
||||
row: NSInteger): Boolean;
|
||||
begin
|
||||
Result:= callback.shouldTableSelectionChange( row );
|
||||
end;
|
||||
|
||||
procedure TCocoaTableListView.tableView_didClickTableColumn(
|
||||
tableView: NSTableView; tableColumn: NSTableColumn);
|
||||
begin
|
||||
|
@ -136,6 +136,7 @@ type
|
||||
procedure SetItemTextAt(ARow, ACol: Integer; const Text: String);
|
||||
procedure SetItemCheckedAt(ARow, ACol: Integer; IsChecked: Integer);
|
||||
procedure tableSelectionChange(NewSel: Integer; Added, Removed: NSIndexSet);
|
||||
function shouldTableSelectionChange(NewSel: Integer): Boolean;
|
||||
procedure ColumnClicked(ACol: Integer);
|
||||
procedure DrawRow(rowidx: Integer; ctx: TCocoaContext; const r: TRect;
|
||||
state: TOwnerDrawState);
|
||||
@ -283,6 +284,9 @@ type
|
||||
|
||||
implementation
|
||||
|
||||
type
|
||||
TCustomListViewAccess = class(TCustomListView);
|
||||
|
||||
type
|
||||
|
||||
{ TUpdownCommonCallback }
|
||||
@ -2036,6 +2040,16 @@ begin
|
||||
LCLMessageGlue.DeliverMessage(ListView, Msg);}
|
||||
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);
|
||||
var
|
||||
Msg: TLMNotify;
|
||||
|
@ -274,6 +274,7 @@ type
|
||||
procedure SetItemTextAt(ARow, ACol: Integer; const Text: String); virtual;
|
||||
procedure SetItemCheckedAt(ARow, ACol: Integer; isChecked: Integer); virtual;
|
||||
procedure tableSelectionChange(ARow: Integer; Added, Removed: NSIndexSet); virtual;
|
||||
function shouldTableSelectionChange(NewSel: Integer): Boolean; virtual;
|
||||
procedure ColumnClicked(ACol: Integer); virtual;
|
||||
procedure DrawRow(rowidx: Integer; ctx: TCocoaContext; const r: TRect; state: TOwnerDrawState); virtual;
|
||||
procedure GetRowHeight(rowidx: integer; var h: Integer); virtual;
|
||||
@ -682,6 +683,12 @@ begin
|
||||
SendSimpleMessage(Target, LM_SELCHANGE);
|
||||
end;
|
||||
|
||||
function TLCLListBoxCallback.shouldTableSelectionChange(NewSel: Integer
|
||||
): Boolean;
|
||||
begin
|
||||
Result:= true;
|
||||
end;
|
||||
|
||||
procedure TLCLListBoxCallback.ColumnClicked(ACol: Integer);
|
||||
begin
|
||||
// not needed
|
||||
|
Loading…
Reference in New Issue
Block a user