fixed gtk2 for drawing list item from Ladislav

git-svn-id: trunk@5431 -
This commit is contained in:
mattias 2004-04-24 20:57:18 +00:00
parent c2fd5df2c7
commit 5f8fd4898c
3 changed files with 30 additions and 1 deletions

View File

@ -17,6 +17,7 @@ Jeroen van Idekinge
Jesus Reyes Jesus Reyes
Karl Brandt Karl Brandt
Keith Bowes Keith Bowes
Ladislav Michl
Luis R. Hilario B. Luis R. Hilario B.
Marc Weustink Marc Weustink
Martin Patik Martin Patik

View File

@ -80,6 +80,7 @@ begin
if (SplashForm<>nil) then if (SplashForm<>nil) then
SplashForm.StartTimer; SplashForm.StartTimer;
try try
writeln(Application.MainForm.ClassName);
Application.Run; Application.Run;
except except
writeln('lazarus.pp - unhandled exception'); writeln('lazarus.pp - unhandled exception');
@ -99,6 +100,9 @@ end.
{ {
$Log$ $Log$
Revision 1.57 2004/04/24 20:57:18 mattias
fixed gtk2 for drawing list item from Ladislav
Revision 1.56 2004/04/09 10:32:02 mattias Revision 1.56 2004/04/09 10:32:02 mattias
FindInFilesDialog size is now stored FindInFilesDialog size is now stored

View File

@ -115,6 +115,17 @@ begin
end; end;
end; end;
{------------------------------------------------------------------------------
function gtkListItemExposeEvent(Widget: PGtkWidget;
Event : PGdkEventExpose; data: gPointer): GBoolean; cdecl;
GTK2 helper for drawing every item in a TGtkListStringList.
------------------------------------------------------------------------------}
function gtkListItemExposeEvent(Widget: PGtkWidget;
Event : PGdkEventExpose; data: gPointer): GBoolean; cdecl;
begin
Result := gtkListItemDrawAfterCB(Widget, @Event^.Area, data);
end;
{*************************************************************} {*************************************************************}
{ TGtkListStringList methods } { TGtkListStringList methods }
@ -196,8 +207,13 @@ begin
//' Owner=',HexStr(Cardinal(Owner),8),'=',Owner.ClassName, //' Owner=',HexStr(Cardinal(Owner),8),'=',Owner.ClassName,
//' LI=',HexStr(Cardinal(LI),8), //' LI=',HexStr(Cardinal(LI),8),
//' '); //' ');
{$ifdef GTK2}
g_signal_connect_after(G_OBJECT(li), 'expose_event',
G_CALLBACK(@gtkListItemExposeEvent), li);
{$else}
gtk_signal_connect_after(PGtkObject(li), 'draw', gtk_signal_connect_after(PGtkObject(li), 'draw',
TGTKSignalFunc(@gtkListItemDrawAfterCB),li); TGTKSignalFunc(@gtkListItemDrawAfterCB),li);
{$endif}
end; end;
{------------------------------------------------------------------------------ {------------------------------------------------------------------------------
@ -226,8 +242,13 @@ begin
ListItem:=FCachedItems[Index]; ListItem:=FCachedItems[Index];
gtk_object_set_data(PGtkObject(ListItem),GtkListItemLCLListTag,nil); gtk_object_set_data(PGtkObject(ListItem),GtkListItemLCLListTag,nil);
gtk_object_set_data(PGtkObject(ListItem),GtkListItemGtkListTag,nil); gtk_object_set_data(PGtkObject(ListItem),GtkListItemGtkListTag,nil);
{$ifdef GTK2}
g_signal_handlers_disconnect_by_func(
G_OBJECT(ListItem),G_CALLBACK(@gtkListItemExposeEvent),ListItem);
{$else}
gtk_signal_disconnect_by_func( gtk_signal_disconnect_by_func(
PGtkObject(ListItem), TGTKSignalFunc(@gtkListItemDrawAfterCB),ListItem); PGtkObject(ListItem),TGTKSignalFunc(@gtkListItemDrawAfterCB),ListItem);
{$endif}
end; end;
{------------------------------------------------------------------------------ {------------------------------------------------------------------------------
@ -760,6 +781,9 @@ end;
{ ============================================================================= { =============================================================================
$Log$ $Log$
Revision 1.22 2004/04/24 20:57:18 mattias
fixed gtk2 for drawing list item from Ladislav
Revision 1.21 2003/09/18 12:15:01 mattias Revision 1.21 2003/09/18 12:15:01 mattias
fixed is checks for TCustomXXX controls fixed is checks for TCustomXXX controls