gtk2 intf: implemented LM_SelChange event for TGtk2WSCustomListBox, bug #11229, #11356, #11337

git-svn-id: trunk@15298 -
This commit is contained in:
mattias 2008-06-03 12:02:34 +00:00
parent f273bde703
commit 4ac5113a66
2 changed files with 18 additions and 0 deletions

View File

@ -626,6 +626,7 @@ begin
gtk_list_store_insert(FGtkListStore, @li, Index);
gtk_list_store_set(FGtkListStore, @li, [FColumnIndex, PChar(S), -1]);
IncreaseChangeStamp;
// ToDo: connect callbacks
if not (glsCountNeedsUpdate in FStates) then
inc(FCachedCount);

View File

@ -575,6 +575,20 @@ begin
Gtk2WidgetSet.SetWidgetFont(Widget, AFont);
end;
function gtk2ListBoxSelectionChangedAfter(Widget: PGtkWidget;
AWinControl: TWinControl): gboolean; cdecl;
var
Mess: TLMessage;
begin
Result := CallBackDefaultReturn;
{$IFDEF EventTrace}
EventTrace('gtk2ListSelectionChangedAfter', dbgsName(AWinControl));
{$ENDIF}
FillChar(Mess,SizeOf(Mess),0);
Mess.msg := LM_SelChange;
DeliverMessage(AWinControl, Mess);
end;
class function TGtk2WSCustomListBox.CreateHandle(const AWinControl: TWinControl;
const AParams: TCreateParams): TLCLIntfHandle;
var
@ -630,6 +644,9 @@ begin
True : gtk_tree_selection_set_mode(Selection, GTK_SELECTION_MULTIPLE);
False: gtk_tree_selection_set_mode(Selection, GTK_SELECTION_SINGLE);
end;
g_signal_connect_after(Selection, 'changed',
G_CALLBACK(@gtk2ListBoxSelectionChangedAfter), AWinControl);
// Sets the callbacks
SetCallbacks(p, WidgetInfo);