mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-19 00:19:26 +02:00
gtk3: implemented TListView.OnColumnClick
git-svn-id: trunk@42949 -
This commit is contained in:
parent
c3619f28f4
commit
c72e600b5b
@ -4996,6 +4996,29 @@ begin
|
|||||||
*)
|
*)
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure Gtk3WS_ListViewColumnClicked(column: PGtkTreeViewColumn; AData: GPointer); cdecl;
|
||||||
|
var
|
||||||
|
AColumn: TListColumn;
|
||||||
|
Msg: TLMNotify;
|
||||||
|
NM: TNMListView;
|
||||||
|
begin
|
||||||
|
AColumn := TListColumn(g_object_get_data(PGObject(column), 'TListColumn'));
|
||||||
|
|
||||||
|
if (AColumn = nil) or (AData = nil) then
|
||||||
|
exit;
|
||||||
|
|
||||||
|
FillChar(Msg{%H-}, SizeOf(Msg), 0);
|
||||||
|
Msg.Msg := CN_NOTIFY;
|
||||||
|
|
||||||
|
FillChar(NM{%H-}, SizeOf(NM), 0);
|
||||||
|
NM.hdr.hwndfrom := {%H-}PtrUInt(AData);
|
||||||
|
NM.hdr.code := LVN_COLUMNCLICK;
|
||||||
|
NM.iItem := -1;
|
||||||
|
NM.iSubItem := AColumn.Index;
|
||||||
|
Msg.NMHdr := @NM.hdr;
|
||||||
|
DeliverMessage(TGtk3Widget(AData).LCLObject, Msg);
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TGtk3ListView.ColumnInsert(AIndex: Integer; AColumn: TListColumn);
|
procedure TGtk3ListView.ColumnInsert(AIndex: Integer; AColumn: TListColumn);
|
||||||
var
|
var
|
||||||
AGtkColumn: PGtkTreeViewColumn;
|
AGtkColumn: PGtkTreeViewColumn;
|
||||||
@ -5022,10 +5045,7 @@ begin
|
|||||||
//store the TColumn in the column data for callbacks
|
//store the TColumn in the column data for callbacks
|
||||||
g_object_set_data(AGtkColumn, PgChar('TListColumn'), gpointer(AColumn));
|
g_object_set_data(AGtkColumn, PgChar('TListColumn'), gpointer(AColumn));
|
||||||
|
|
||||||
// TODO
|
g_signal_connect_data(AGtkColumn,'clicked', TGCallback(@Gtk3WS_ListViewColumnClicked), Self, nil, 0);
|
||||||
// set callback for OnClick
|
|
||||||
// SignalConnect(PGtkWidget(column), 'clicked', @Gtk2_ColumnClicked, Widgets^.WidgetInfo);
|
|
||||||
// AGtkColumn^.expand := False;
|
|
||||||
PGtkTreeView(GetContainerWidget)^.insert_column(AGtkColumn, AIndex);
|
PGtkTreeView(GetContainerWidget)^.insert_column(AGtkColumn, AIndex);
|
||||||
AGtkColumn^.set_clickable(True);
|
AGtkColumn^.set_clickable(True);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user