This is very nearly ready, but it still has two bugs I don't know how to fix -
hopefully though it will provide enough of a basis that somebody can help me
finish it off.
Bugs:
1) Tedit doesn't display unless the font is EXPLICITELY set (e.g. my current
catch code doesn't seem to work for it)
2) TLable sets the font at designtime but not at runtime
--
A.J. Venter
Chief Software Architect
OpenLab International
www.getopenlab.com
www.silentcoder.co.za
+27 82 726 5103
Index: components/fpcunit/Makefile.fpc
===================================================================
--- components/fpcunit/Makefile.fpc (revision 8836)
+++ components/fpcunit/Makefile.fpc (working copy)
@@ -7,7 +7,7 @@
[compiler]
unittargetdir=lib/$(CPU_TARGET)-$(OS_TARGET)
unitdir=../../lcl/units/$(CPU_TARGET)-$(OS_TARGET)/ ../../lcl/units/$(CPU_TARGET)-$(OS_TARGET)/$(LCL_PLATFORM)/ ../../packager/units/$(CPU_TARGET)-$(OS_TARGET)/
-options=-dLCL -dLCLgtk -S2 -gl
+options=-dLCL -dLCL$(LCL_PLATFORM) -S2 -gl
[target]
units=fpcunittestrunner.pas
@@ -18,6 +18,16 @@
$(wildcard $(COMPILER_UNITTARGETDIR)/*$(RSTEXT)) \
$(wildcard $(COMPILER_UNITTARGETDIR)/*.compiled) \
$(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) $(wildcard *$(RSTEXT))
+[prerules]
+# LCL Platform
+ifndef LCL_PLATFORM
+ifeq ($(OS_TARGET),win32)
+LCL_PLATFORM=win32
+else
+LCL_PLATFORM=gtk
+endif
+endif
+export LCL_PLATFORM
[rules]
.PHONY: cleartarget all
Index: components/fpcunit/Makefile
===================================================================
--- components/fpcunit/Makefile (revision 8836)
+++ components/fpcunit/Makefile (working copy)
@@ -1,5 +1,5 @@
#
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2006/01/19]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2005/12/07]
#
default: all
MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-emx i386-watcom i386-netwlibc i386-wince m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos powerpc-linux powerpc-netbsd powerpc-macos powerpc-darwin powerpc-morphos sparc-linux sparc-netbsd sparc-solaris x86_64-linux x86_64-freebsd x86_64-win64 arm-linux arm-wince powerpc64-linux
@@ -231,6 +231,14 @@
PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
override PACKAGE_NAME=fpcunittestrunner
override PACKAGE_VERSION=0.1
+ifndef LCL_PLATFORM
+ifeq ($(OS_TARGET),win32)
+LCL_PLATFORM=win32
+else
+LCL_PLATFORM=gtk
+endif
+endif
+export LCL_PLATFORM
ifeq ($(FULL_TARGET),i386-linux)
override TARGET_UNITS+=fpcunittestrunner.pas
endif
@@ -454,115 +462,115 @@
override CLEAN_FILES+=$(wildcard $(COMPILER_UNITTARGETDIR)/*$(OEXT)) $(wildcard $(COMPILER_UNITTARGETDIR)/*$(PPUEXT)) $(wildcard $(COMPILER_UNITTARGETDIR)/*$(RSTEXT)) $(wildcard $(COMPILER_UNITTARGETDIR)/*.compiled) $(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) $(wildcard *$(RSTEXT))
endif
ifeq ($(FULL_TARGET),i386-linux)
-override COMPILER_OPTIONS+=-dLCL -dLCLgtk -S2 -gl
+override COMPILER_OPTIONS+=-dLCL -dLCL$(LCL_PLATFORM) -S2 -gl
endif
ifeq ($(FULL_TARGET),i386-go32v2)
-override COMPILER_OPTIONS+=-dLCL -dLCLgtk -S2 -gl
+override COMPILER_OPTIONS+=-dLCL -dLCL$(LCL_PLATFORM) -S2 -gl
endif
ifeq ($(FULL_TARGET),i386-win32)
-override COMPILER_OPTIONS+=-dLCL -dLCLgtk -S2 -gl
+override COMPILER_OPTIONS+=-dLCL -dLCL$(LCL_PLATFORM) -S2 -gl
endif
ifeq ($(FULL_TARGET),i386-os2)
-override COMPILER_OPTIONS+=-dLCL -dLCLgtk -S2 -gl
+override COMPILER_OPTIONS+=-dLCL -dLCL$(LCL_PLATFORM) -S2 -gl
endif
ifeq ($(FULL_TARGET),i386-freebsd)
-override COMPILER_OPTIONS+=-dLCL -dLCLgtk -S2 -gl
+override COMPILER_OPTIONS+=-dLCL -dLCL$(LCL_PLATFORM) -S2 -gl
endif
ifeq ($(FULL_TARGET),i386-beos)
-override COMPILER_OPTIONS+=-dLCL -dLCLgtk -S2 -gl
+override COMPILER_OPTIONS+=-dLCL -dLCL$(LCL_PLATFORM) -S2 -gl
endif
ifeq ($(FULL_TARGET),i386-netbsd)
-override COMPILER_OPTIONS+=-dLCL -dLCLgtk -S2 -gl
+override COMPILER_OPTIONS+=-dLCL -dLCL$(LCL_PLATFORM) -S2 -gl
endif
ifeq ($(FULL_TARGET),i386-solaris)
-override COMPILER_OPTIONS+=-dLCL -dLCLgtk -S2 -gl
+override COMPILER_OPTIONS+=-dLCL -dLCL$(LCL_PLATFORM) -S2 -gl
endif
ifeq ($(FULL_TARGET),i386-qnx)
-override COMPILER_OPTIONS+=-dLCL -dLCLgtk -S2 -gl
+override COMPILER_OPTIONS+=-dLCL -dLCL$(LCL_PLATFORM) -S2 -gl
endif
ifeq ($(FULL_TARGET),i386-netware)
-override COMPILER_OPTIONS+=-dLCL -dLCLgtk -S2 -gl
+override COMPILER_OPTIONS+=-dLCL -dLCL$(LCL_PLATFORM) -S2 -gl
endif
ifeq ($(FULL_TARGET),i386-openbsd)
-override COMPILER_OPTIONS+=-dLCL -dLCLgtk -S2 -gl
+override COMPILER_OPTIONS+=-dLCL -dLCL$(LCL_PLATFORM) -S2 -gl
endif
ifeq ($(FULL_TARGET),i386-wdosx)
-override COMPILER_OPTIONS+=-dLCL -dLCLgtk -S2 -gl
+override COMPILER_OPTIONS+=-dLCL -dLCL$(LCL_PLATFORM) -S2 -gl
endif
ifeq ($(FULL_TARGET),i386-emx)
-override COMPILER_OPTIONS+=-dLCL -dLCLgtk -S2 -gl
+override COMPILER_OPTIONS+=-dLCL -dLCL$(LCL_PLATFORM) -S2 -gl
endif
ifeq ($(FULL_TARGET),i386-watcom)
-override COMPILER_OPTIONS+=-dLCL -dLCLgtk -S2 -gl
+override COMPILER_OPTIONS+=-dLCL -dLCL$(LCL_PLATFORM) -S2 -gl
endif
ifeq ($(FULL_TARGET),i386-netwlibc)
-override COMPILER_OPTIONS+=-dLCL -dLCLgtk -S2 -gl
+override COMPILER_OPTIONS+=-dLCL -dLCL$(LCL_PLATFORM) -S2 -gl
endif
ifeq ($(FULL_TARGET),i386-wince)
-override COMPILER_OPTIONS+=-dLCL -dLCLgtk -S2 -gl
+override COMPILER_OPTIONS+=-dLCL -dLCL$(LCL_PLATFORM) -S2 -gl
endif
ifeq ($(FULL_TARGET),m68k-linux)
-override COMPILER_OPTIONS+=-dLCL -dLCLgtk -S2 -gl
+override COMPILER_OPTIONS+=-dLCL -dLCL$(LCL_PLATFORM) -S2 -gl
endif
ifeq ($(FULL_TARGET),m68k-freebsd)
-override COMPILER_OPTIONS+=-dLCL -dLCLgtk -S2 -gl
+override COMPILER_OPTIONS+=-dLCL -dLCL$(LCL_PLATFORM) -S2 -gl
endif
ifeq ($(FULL_TARGET),m68k-netbsd)
-override COMPILER_OPTIONS+=-dLCL -dLCLgtk -S2 -gl
+override COMPILER_OPTIONS+=-dLCL -dLCL$(LCL_PLATFORM) -S2 -gl
endif
ifeq ($(FULL_TARGET),m68k-amiga)
-override COMPILER_OPTIONS+=-dLCL -dLCLgtk -S2 -gl
+override COMPILER_OPTIONS+=-dLCL -dLCL$(LCL_PLATFORM) -S2 -gl
endif
ifeq ($(FULL_TARGET),m68k-atari)
-override COMPILER_OPTIONS+=-dLCL -dLCLgtk -S2 -gl
+override COMPILER_OPTIONS+=-dLCL -dLCL$(LCL_PLATFORM) -S2 -gl
endif
ifeq ($(FULL_TARGET),m68k-openbsd)
-override COMPILER_OPTIONS+=-dLCL -dLCLgtk -S2 -gl
+override COMPILER_OPTIONS+=-dLCL -dLCL$(LCL_PLATFORM) -S2 -gl
endif
ifeq ($(FULL_TARGET),m68k-palmos)
-override COMPILER_OPTIONS+=-dLCL -dLCLgtk -S2 -gl
+override COMPILER_OPTIONS+=-dLCL -dLCL$(LCL_PLATFORM) -S2 -gl
endif
ifeq ($(FULL_TARGET),powerpc-linux)
-override COMPILER_OPTIONS+=-dLCL -dLCLgtk -S2 -gl
+override COMPILER_OPTIONS+=-dLCL -dLCL$(LCL_PLATFORM) -S2 -gl
endif
ifeq ($(FULL_TARGET),powerpc-netbsd)
-override COMPILER_OPTIONS+=-dLCL -dLCLgtk -S2 -gl
+override COMPILER_OPTIONS+=-dLCL -dLCL$(LCL_PLATFORM) -S2 -gl
endif
ifeq ($(FULL_TARGET),powerpc-macos)
-override COMPILER_OPTIONS+=-dLCL -dLCLgtk -S2 -gl
+override COMPILER_OPTIONS+=-dLCL -dLCL$(LCL_PLATFORM) -S2 -gl
endif
ifeq ($(FULL_TARGET),powerpc-darwin)
-override COMPILER_OPTIONS+=-dLCL -dLCLgtk -S2 -gl
+override COMPILER_OPTIONS+=-dLCL -dLCL$(LCL_PLATFORM) -S2 -gl
endif
ifeq ($(FULL_TARGET),powerpc-morphos)
-override COMPILER_OPTIONS+=-dLCL -dLCLgtk -S2 -gl
+override COMPILER_OPTIONS+=-dLCL -dLCL$(LCL_PLATFORM) -S2 -gl
endif
ifeq ($(FULL_TARGET),sparc-linux)
-override COMPILER_OPTIONS+=-dLCL -dLCLgtk -S2 -gl
+override COMPILER_OPTIONS+=-dLCL -dLCL$(LCL_PLATFORM) -S2 -gl
endif
ifeq ($(FULL_TARGET),sparc-netbsd)
-override COMPILER_OPTIONS+=-dLCL -dLCLgtk -S2 -gl
+override COMPILER_OPTIONS+=-dLCL -dLCL$(LCL_PLATFORM) -S2 -gl
endif
ifeq ($(FULL_TARGET),sparc-solaris)
-override COMPILER_OPTIONS+=-dLCL -dLCLgtk -S2 -gl
+override COMPILER_OPTIONS+=-dLCL -dLCL$(LCL_PLATFORM) -S2 -gl
endif
ifeq ($(FULL_TARGET),x86_64-linux)
-override COMPILER_OPTIONS+=-dLCL -dLCLgtk -S2 -gl
+override COMPILER_OPTIONS+=-dLCL -dLCL$(LCL_PLATFORM) -S2 -gl
endif
ifeq ($(FULL_TARGET),x86_64-freebsd)
-override COMPILER_OPTIONS+=-dLCL -dLCLgtk -S2 -gl
+override COMPILER_OPTIONS+=-dLCL -dLCL$(LCL_PLATFORM) -S2 -gl
endif
ifeq ($(FULL_TARGET),x86_64-win64)
-override COMPILER_OPTIONS+=-dLCL -dLCLgtk -S2 -gl
+override COMPILER_OPTIONS+=-dLCL -dLCL$(LCL_PLATFORM) -S2 -gl
endif
ifeq ($(FULL_TARGET),arm-linux)
-override COMPILER_OPTIONS+=-dLCL -dLCLgtk -S2 -gl
+override COMPILER_OPTIONS+=-dLCL -dLCL$(LCL_PLATFORM) -S2 -gl
endif
ifeq ($(FULL_TARGET),arm-wince)
-override COMPILER_OPTIONS+=-dLCL -dLCLgtk -S2 -gl
+override COMPILER_OPTIONS+=-dLCL -dLCL$(LCL_PLATFORM) -S2 -gl
endif
ifeq ($(FULL_TARGET),powerpc64-linux)
-override COMPILER_OPTIONS+=-dLCL -dLCLgtk -S2 -gl
+override COMPILER_OPTIONS+=-dLCL -dLCL$(LCL_PLATFORM) -S2 -gl
endif
ifeq ($(FULL_TARGET),i386-linux)
override COMPILER_UNITDIR+=../../lcl/units/$(CPU_TARGET)-$(OS_TARGET)/ ../../lcl/units/$(CPU_TARGET)-$(OS_TARGET)/$(LCL_PLATFORM)/ ../../packager/units/$(CPU_TARGET)-$(OS_TARGET)/
@@ -969,9 +977,6 @@
ifndef INSTALL_DATADIR
INSTALL_DATADIR=$(INSTALL_BASEDIR)
endif
-ifndef INSTALL_SHAREDDIR
-INSTALL_SHAREDDIR=$(INSTALL_PREFIX)/lib
-endif
ifdef CROSSCOMPILE
ifndef CROSSBINDIR
CROSSBINDIR:=$(wildcard $(CROSSTARGETDIR)/bin/$(SOURCESUFFIX))
@@ -992,7 +997,6 @@
SMARTEXT=.sl
STATICLIBEXT=.a
SHAREDLIBEXT=.so
-SHAREDLIBPREFIX=libfp
STATICLIBPREFIX=libp
RSTEXT=.rst
ifeq ($(findstring 1.0.,$(FPC_VERSION)),)
@@ -1763,14 +1767,6 @@
override FPCOPTDEF+=HASUNIX
endif
endif
-ifdef CREATESHARED
-override FPCOPT+=-Cg
-ifeq ($(CPU_TARGET),i386)
-override FPCOPT+=-Aas
-endif
-endif
-ifdef LINKSHARED
-endif
ifdef OPT
override FPCOPT+=$(OPT)
endif
@@ -1785,14 +1781,6 @@
override FPCOPT:=!FPCEXTCMD
export FPCEXTCMD
endif
-override AFULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
-override AFULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
-ifneq ($(AFULL_TARGET),$(AFULL_SOURCE))
-override ACROSSCOMPILE=1
-endif
-ifdef ACROSSCOMPILE
-override FPCOPT+=$(CROSSOPT)
-endif
override COMPILER:=$(FPC) $(FPCOPT)
ifeq (,$(findstring -s ,$(COMPILER)))
EXECPPAS=
@@ -1814,7 +1802,7 @@
override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))
override CLEANRSTFILES+=$(RSTFILES)
endif
-.PHONY: fpc_all fpc_smart fpc_debug fpc_release fpc_shared
+.PHONY: fpc_all fpc_smart fpc_debug fpc_release
$(FPCMADE): $(ALLDEPENDENCIES) $(ALLTARGET)
@$(ECHOREDIR) Compiled > $(FPCMADE)
fpc_all: $(FPCMADE)
@@ -1855,38 +1843,6 @@
vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
vpath %$(OEXT) $(COMPILER_UNITTARGETDIR)
vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR)
-.PHONY: fpc_shared
-override INSTALLTARGET+=fpc_shared_install
-ifndef SHARED_LIBVERSION
-SHARED_LIBVERSION=$(FPC_VERSION)
-endif
-ifndef SHARED_LIBNAME
-SHARED_LIBNAME=$(PACKAGE_NAME)
-endif
-ifndef SHARED_FULLNAME
-SHARED_FULLNAME=$(SHAREDLIBPREFIX)$(SHARED_LIBNAME)-$(SHARED_LIBVERSION)$(SHAREDLIBEXT)
-endif
-ifndef SHARED_LIBUNITS
-SHARED_LIBUNITS:=$(TARGET_UNITS) $(TARGET_IMPLICITUNITS)
-override SHARED_LIBUNITS:=$(filter-out $(INSTALL_BUILDUNIT),$(SHARED_LIBUNITS))
-endif
-fpc_shared:
-ifdef HASSHAREDLIB
- $(MAKE) all CREATESHARED=1 LINKSHARED=1 CREATESMART=1
-ifneq ($(SHARED_BUILD),n)
- $(PPUMOVE) -q $(SHARED_LIBUNITS) -i$(COMPILER_UNITTARGETDIR) -o$(SHARED_FULLNAME) -d$(COMPILER_UNITTARGETDIR)
-endif
-else
- @$(ECHO) Shared Libraries not supported
-endif
-fpc_shared_install:
-ifneq ($(SHARED_BUILD),n)
-ifneq ($(SHARED_LIBUNITS),)
-ifneq ($(wildcard $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME)),)
- $(INSTALL) $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME) $(INSTALL_SHAREDDIR)
-endif
-endif
-endif
.PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall
ifdef INSTALL_UNITS
override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS))
@@ -2217,7 +2173,7 @@
release: fpc_release
units: fpc_units
examples:
-shared: fpc_shared
+shared:
install: fpc_install
sourceinstall: fpc_sourceinstall
exampleinstall: fpc_exampleinstall
Index: ide/revision.inc
===================================================================
--- ide/revision.inc (revision 8836)
+++ ide/revision.inc (working copy)
@@ -1,2 +1,2 @@
// Created by Svn2RevisionInc
-const RevisionStr = '8642M';
+const RevisionStr = '8836:8838M';
Index: lcl/interfaces/gtk2/gtk2int.pas
===================================================================
--- lcl/interfaces/gtk2/gtk2int.pas (revision 8836)
+++ lcl/interfaces/gtk2/gtk2int.pas (working copy)
@@ -54,6 +54,7 @@
TGtk2WidgetSet = class(TGtkWidgetSet)
protected
+ procedure SetWidgetFont(const AWidget: PGTKWidget; const Afont: tFont);
procedure AppendText(Sender: TObject; Str: PChar);
function CreateComponent(Sender : TObject): THandle; override;
function GetText(Sender: TComponent; var Text: String): Boolean;
@@ -120,6 +121,8 @@
property Sorted : boolean read FSorted write SetSorted;
property Owner: TWinControl read FOwner;
end;
+
+Type PGTK2Widget = ^TGTK2WidgetSet;
{$IfDef GTK2_2}
procedure gdk_display_get_pointer(display : PGdkDisplay; screen :PGdkScreen; x :Pgint; y : Pgint; mask : PGdkModifierType); cdecl; external gdklib;
Index: lcl/interfaces/gtk2/gtk2object.inc
===================================================================
--- lcl/interfaces/gtk2/gtk2object.inc (revision 8836)
+++ lcl/interfaces/gtk2/gtk2object.inc (working copy)
@@ -959,6 +959,63 @@
Applies a Message to the sender
------------------------------------------------------------------------------}
+
+Procedure TGTK2WidgetSet.SetWidgetFont(const AWidget: PGTKWidget; const Afont: tFont);
+Var
+ PangoDescStr,DescOpts : String;
+ NewFontDescription : PPangoFontDescription;
+ Size : Integer;
+ Name : String;
+Begin
+{$IFDEF GTK2}
+ If Afont.IsDefault then Exit;
+
+ If AFont.Size = 0 then
+ Size := 10
+ else
+ Size := AFont.Size;
+
+ if (length(AFont.Name) = 0) or
+ (upperCase(AFont.Name) = 'DEFAULT') then
+ Name := 'Sans'
+ else
+ Name := AFont.Name;
+ DebugLn('Setting font name: '+Name);
+ PangoDescStr := Name;
+ DescOpts := '';
+ If FSBold in AFont.Style then
+ DescOpts := DescOpts + ' bold';
+ If FSItalic in AFont.Style then
+ DescOpts := DescOpts + ' italic';
+ If FSUnderline in AFont.Style then
+ DescOpts := DescOpts + ' underline';
+ If FSStrikeOut in AFont.Style then
+ DescOpts := DescOpts + ' strikethrough';
+
+ PangoDescStr := PangoDescStr+DescOpts+' '+intToStr(Size);
+//Pango does not appear to have a way to set the character set in the
+//font description but seems to default to UTF-8 this probably
+//requires some or other todo item.
+try
+ NewFontDescription := PPangoFontDescription(PangoDescStr);
+ NewFontDescription :=pango_font_description_from_string(PChar(PangoDescStr));
+ gtk_widget_modify_font(AWidget,NewFontDescription);
+ pango_font_description_free(NewFontDescription);
+except
+ debugln('COULD NOT SET FONT');
+end;
+{$ENDIF}
+end;
+{------------------------------------------------------------------------------
+Procedure: TGtk2Widget.SetWidgetFont
+ Params: AWidget - The widget to set the font for
+ AFont - The font to set
+
+ Sets the widget font
+Contributed by: A.J. Venter ([EMAIL PROTECTED])
+------------------------------------------------------------------------------}
+
+
procedure TGTK2WidgetSet.SetCallback(const AMsg: LongInt; const AGTKObject: PGTKObject; const ALCLObject: TObject);
procedure ConnectSenderSignal(const AnObject:PGTKObject; const ASignal: PChar;
Index: lcl/interfaces/gtk2/gtk2wsbuttons.pp
===================================================================
--- lcl/interfaces/gtk2/gtk2wsbuttons.pp (revision 8836)
+++ lcl/interfaces/gtk2/gtk2wsbuttons.pp (working copy)
@@ -44,6 +44,8 @@
TGtk2WSButton = class(TWSButton)
private
protected
+ class procedure SetFont(const AWinControl: TWinControl; const AFont : tFont); override;
+
public
end;
@@ -52,6 +54,8 @@
TGtk2WSBitBtn = class(TWSBitBtn)
private
protected
+ class procedure SetFont(const AWinControl: TWinControl; const AFont : tFont); override;
+
public
end;
@@ -66,6 +70,37 @@
implementation
+procedure TGtkWSButton.SetFont(const AWinControl: TWinControl; const AFont : TFont);
+var
+ Widget: PGTKWidget;
+ LblWidget: PGtkWidget;
+begin
+ Widget:= PGtkWidget(AWinControl.Handle);
+ {$IFDEF GTK2}
+ LblWidget := (PGtkBin(Widget)^.Child);
+ if LblWidget<>nil then
+ Gtk2WidgetSet.SetWidgetFont(LblWidget, AFont);
+end;
+
+procedure TGtkWSBitBtn.SetFont(const AWinControl: TWinControl;
+ const AFont: TFont);
+ var
+ WidgetInfo: PWidgetInfo;
+ BitBtnInfo: PBitBtnWidgetInfo;
+ Widget: PGTKWidget;
+begin
+ if not AWinControl.HandleAllocated then exit;
+ if AFont.IsDefault then exit;
+ Widget:= PGtkWidget(AWinControl.Handle);
+ WidgetInfo := GetWidgetInfo(Widget);
+ BitBtnInfo := WidgetInfo^.UserData;
+ if (BitBtnInfo=nil) or (BitBtnInfo^.LabelWidget = nil) then Exit;
+ Gtk2WidgetSet.SetWidgetFont(AWinControl,AFont);
+end;
+
+
+
+
initialization
////////////////////////////////////////////////////