mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-06 12:00:40 +02:00
implemented OnChange for TRadioButton, TCheckBox, TToggleBox and some more docking stuff
git-svn-id: trunk@5531 -
This commit is contained in:
parent
e915ff0e18
commit
caf487c9e8
199
Makefile
199
Makefile
@ -1,15 +1,24 @@
|
||||
#
|
||||
# Don't edit, this file is generated by FPCMake Version 1.1 [2004/03/14]
|
||||
# Don't edit, this file is generated by FPCMake Version 1.1 [2004/05/29]
|
||||
#
|
||||
default: all
|
||||
MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos darwin emx watcom
|
||||
override PATH:=$(subst \,/,$(PATH))
|
||||
BSDs = freebsd netbsd openbsd darwin
|
||||
UNIXs = linux $(BSDs) sunos qnx
|
||||
FORCE:
|
||||
.PHONY: FORCE
|
||||
override PATH:=$(patsubst %/,%,$(subst \,/,$(PATH)))
|
||||
ifneq ($(findstring darwin,$(OSTYPE)),)
|
||||
inUnix=1 #darwin
|
||||
SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
|
||||
else
|
||||
ifeq ($(findstring ;,$(PATH)),)
|
||||
inUnix=1
|
||||
SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
|
||||
else
|
||||
SEARCHPATH:=$(subst ;, ,$(PATH))
|
||||
endif
|
||||
endif
|
||||
SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
|
||||
PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
|
||||
ifeq ($(PWD),)
|
||||
@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
|
||||
inCygWin=1
|
||||
endif
|
||||
endif
|
||||
ifeq ($(OS_TARGET),freebsd)
|
||||
BSDhier=1
|
||||
endif
|
||||
ifeq ($(OS_TARGET),netbsd)
|
||||
BSDhier=1
|
||||
endif
|
||||
ifeq ($(OS_TARGET),openbsd)
|
||||
BSDhier=1
|
||||
endif
|
||||
ifdef inUnix
|
||||
BATCHEXT=.sh
|
||||
SRCBATCHEXT=.sh
|
||||
else
|
||||
ifdef inOS2
|
||||
BATCHEXT=.cmd
|
||||
SRCBATCHEXT=.cmd
|
||||
else
|
||||
BATCHEXT=.bat
|
||||
SRCBATCHEXT=.bat
|
||||
endif
|
||||
endif
|
||||
ifdef inUnix
|
||||
@ -154,6 +154,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
|
||||
$(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
|
||||
endif
|
||||
endif
|
||||
ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
|
||||
BSDhier=1
|
||||
endif
|
||||
ifeq ($(OS_TARGET),linux)
|
||||
linuxHier=1
|
||||
endif
|
||||
export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
|
||||
ifdef FPCDIR
|
||||
override FPCDIR:=$(subst \,/,$(FPCDIR))
|
||||
@ -232,6 +238,7 @@ override TARGET_PROGRAMS+=lazarus
|
||||
override TARGET_EXAMPLEDIRS+=examples
|
||||
override CLEAN_FILES+=$(wildcard ./designer/*$(OEXT)) $(wildcard ./designer/*$(PPUEXT)) $(wildcard ./debugger/*$(OEXT)) $(wildcard ./debugger/*$(PPUEXT)) $(wildcard ./packager/*$(OEXT)) $(wildcard ./packager/*$(PPUEXT)) $(wildcard ./doceditor/*$(OEXT)) $(wildcard ./doceditor/*$(PPUEXT))
|
||||
override INSTALL_BASEDIR=share/lazarus
|
||||
override INSTALL_FPCPACKAGE=n
|
||||
override DIST_DESTDIR=$(BASEDIR)/dist
|
||||
override COMPILER_OPTIONS+=-gl
|
||||
override COMPILER_INCLUDEDIR+=debugger designer packager include include/$(OS_TARGET)
|
||||
@ -244,42 +251,12 @@ ifdef REQUIRE_PACKAGESDIR
|
||||
override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR)
|
||||
endif
|
||||
ifdef ZIPINSTALL
|
||||
ifeq ($(OS_TARGET),linux)
|
||||
UNIXINSTALLDIR=1
|
||||
endif
|
||||
ifeq ($(OS_TARGET),freebsd)
|
||||
UNIXINSTALLDIR=1
|
||||
endif
|
||||
ifeq ($(OS_TARGET),netbsd)
|
||||
UNIXINSTALLDIR=1
|
||||
endif
|
||||
ifeq ($(OS_TARGET),openbsd)
|
||||
UNIXINSTALLDIR=1
|
||||
endif
|
||||
ifeq ($(OS_TARGET),sunos)
|
||||
UNIXINSTALLDIR=1
|
||||
endif
|
||||
ifeq ($(OS_TARGET),qnx)
|
||||
UNIXINSTALLDIR=1
|
||||
ifneq ($(findstring $(OS_TARGET),$(UNIXs)),)
|
||||
UNIXHier=1
|
||||
endif
|
||||
else
|
||||
ifeq ($(OS_SOURCE),linux)
|
||||
UNIXINSTALLDIR=1
|
||||
endif
|
||||
ifeq ($(OS_SOURCE),freebsd)
|
||||
UNIXINSTALLDIR=1
|
||||
endif
|
||||
ifeq ($(OS_SOURCE),netbsd)
|
||||
UNIXINSTALLDIR=1
|
||||
endif
|
||||
ifeq ($(OS_SOURCE),openbsd)
|
||||
UNIXINSTALLDIR=1
|
||||
endif
|
||||
ifeq ($(OS_TARGET),sunos)
|
||||
UNIXINSTALLDIR=1
|
||||
endif
|
||||
ifeq ($(OS_TARGET),qnx)
|
||||
UNIXINSTALLDIR=1
|
||||
ifneq ($(findstring $(OS_SOURCE),$(UNIXs)),)
|
||||
UNIXHier=1
|
||||
endif
|
||||
endif
|
||||
ifndef INSTALL_PREFIX
|
||||
@ -288,7 +265,7 @@ INSTALL_PREFIX=$(PREFIX)
|
||||
endif
|
||||
endif
|
||||
ifndef INSTALL_PREFIX
|
||||
ifdef UNIXINSTALLDIR
|
||||
ifdef UNIXHier
|
||||
INSTALL_PREFIX=/usr/local
|
||||
else
|
||||
ifdef INSTALL_FPCPACKAGE
|
||||
@ -307,7 +284,7 @@ DIST_DESTDIR:=$(BASEDIR)
|
||||
endif
|
||||
export DIST_DESTDIR
|
||||
ifndef INSTALL_BASEDIR
|
||||
ifdef UNIXINSTALLDIR
|
||||
ifdef UNIXHier
|
||||
ifdef INSTALL_FPCPACKAGE
|
||||
INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
|
||||
else
|
||||
@ -318,7 +295,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
|
||||
endif
|
||||
endif
|
||||
ifndef INSTALL_BINDIR
|
||||
ifdef UNIXINSTALLDIR
|
||||
ifdef UNIXHier
|
||||
ifdef CROSSCOMPILE
|
||||
INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
|
||||
else
|
||||
@ -348,19 +325,23 @@ endif
|
||||
endif
|
||||
endif
|
||||
ifndef INSTALL_LIBDIR
|
||||
ifdef UNIXINSTALLDIR
|
||||
ifdef UNIXHier
|
||||
INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
|
||||
else
|
||||
INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
|
||||
endif
|
||||
endif
|
||||
ifndef INSTALL_SOURCEDIR
|
||||
ifdef UNIXINSTALLDIR
|
||||
ifdef UNIXHier
|
||||
ifdef BSDhier
|
||||
SRCPREFIXDIR=share/src
|
||||
else
|
||||
ifdef linuxHier
|
||||
SRCPREFIXDIR=share/src
|
||||
else
|
||||
SRCPREFIXDIR=src
|
||||
endif
|
||||
endif
|
||||
ifdef INSTALL_FPCPACKAGE
|
||||
ifdef INSTALL_FPCSUBDIR
|
||||
INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
|
||||
@ -383,12 +364,16 @@ endif
|
||||
endif
|
||||
endif
|
||||
ifndef INSTALL_DOCDIR
|
||||
ifdef UNIXINSTALLDIR
|
||||
ifdef UNIXHier
|
||||
ifdef BSDhier
|
||||
DOCPREFIXDIR=share/doc
|
||||
else
|
||||
ifdef linuxHier
|
||||
DOCPREFIXDIR=share/doc
|
||||
else
|
||||
DOCPREFIXDIR=doc
|
||||
endif
|
||||
endif
|
||||
ifdef INSTALL_FPCPACKAGE
|
||||
INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
|
||||
else
|
||||
@ -403,20 +388,28 @@ endif
|
||||
endif
|
||||
endif
|
||||
ifndef INSTALL_EXAMPLEDIR
|
||||
ifdef UNIXINSTALLDIR
|
||||
ifdef UNIXHier
|
||||
ifdef INSTALL_FPCPACKAGE
|
||||
ifdef BSDhier
|
||||
INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
|
||||
else
|
||||
ifdef linuxHier
|
||||
INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples
|
||||
else
|
||||
INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
|
||||
endif
|
||||
endif
|
||||
else
|
||||
ifdef BSDhier
|
||||
INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
|
||||
else
|
||||
ifdef linuxHier
|
||||
INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
|
||||
else
|
||||
INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
else
|
||||
ifdef INSTALL_FPCPACKAGE
|
||||
INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
|
||||
@ -440,7 +433,19 @@ CROSSBINDIR=
|
||||
endif
|
||||
ifeq ($(OS_SOURCE),linux)
|
||||
ifndef GCCLIBDIR
|
||||
GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
|
||||
ifeq ($(CPU_TARGET),i386)
|
||||
ifneq ($(findstring x86_64,$(shell uname -a)),)
|
||||
ifeq ($(BINUTILSPREFIX),)
|
||||
GCCLIBDIR:=$(shell dirname `gcc -m32 -print-libgcc-file-name`)
|
||||
else
|
||||
GCCLIBDIR:=$(shell dirname `$(BINUTILSPREFIX)gcc -print-libgcc-file-name`)
|
||||
endif
|
||||
else
|
||||
GCCLIBDIR:=$(shell dirname `$(BINUTILSPREFIX)gcc -print-libgcc-file-name`)
|
||||
endif
|
||||
else
|
||||
GCCLIBDIR:=$(shell dirname `$(BINUTILSPREFIX)gcc -print-libgcc-file-name`)
|
||||
endif
|
||||
endif
|
||||
ifndef OTHERLIBDIR
|
||||
OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
|
||||
@ -452,6 +457,7 @@ OTHERLIBDIR+=/usr/pkg/lib
|
||||
endif
|
||||
export GCCLIBDIR OTHERLIB
|
||||
endif
|
||||
BATCHEXT=.bat
|
||||
LOADEREXT=.as
|
||||
EXEEXT=.exe
|
||||
PPLEXT=.ppl
|
||||
@ -484,24 +490,28 @@ ASMEXT=.asm
|
||||
SHAREDLIBEXT=.dll
|
||||
endif
|
||||
ifeq ($(OS_TARGET),linux)
|
||||
BATCHEXT=.sh
|
||||
EXEEXT=
|
||||
HASSHAREDLIB=1
|
||||
FPCMADE=fpcmade.lnx
|
||||
ZIPSUFFIX=linux
|
||||
endif
|
||||
ifeq ($(OS_TARGET),freebsd)
|
||||
BATCHEXT=.sh
|
||||
EXEEXT=
|
||||
HASSHAREDLIB=1
|
||||
FPCMADE=fpcmade.freebsd
|
||||
ZIPSUFFIX=freebsd
|
||||
endif
|
||||
ifeq ($(OS_TARGET),netbsd)
|
||||
BATCHEXT=.sh
|
||||
EXEEXT=
|
||||
HASSHAREDLIB=1
|
||||
FPCMADE=fpcmade.netbsd
|
||||
ZIPSUFFIX=netbsd
|
||||
endif
|
||||
ifeq ($(OS_TARGET),openbsd)
|
||||
BATCHEXT=.sh
|
||||
EXEEXT=
|
||||
HASSHAREDLIB=1
|
||||
FPCMADE=fpcmade.openbsd
|
||||
@ -513,6 +523,7 @@ FPCMADE=fpcmade.w32
|
||||
ZIPSUFFIX=w32
|
||||
endif
|
||||
ifeq ($(OS_TARGET),os2)
|
||||
BATCHEXT=.cmd
|
||||
AOUTEXT=.out
|
||||
STATICLIBPREFIX=
|
||||
SHAREDLIBEXT=.dll
|
||||
@ -521,6 +532,7 @@ ZIPSUFFIX=os2
|
||||
ECHO=echo
|
||||
endif
|
||||
ifeq ($(OS_TARGET),emx)
|
||||
BATCHEXT=.cmd
|
||||
AOUTEXT=.out
|
||||
STATICLIBPREFIX=
|
||||
SHAREDLIBEXT=.dll
|
||||
@ -538,16 +550,19 @@ EXEEXT=.ttp
|
||||
FPCMADE=fpcmade.ata
|
||||
endif
|
||||
ifeq ($(OS_TARGET),beos)
|
||||
BATCHEXT=.sh
|
||||
EXEEXT=
|
||||
FPCMADE=fpcmade.be
|
||||
ZIPSUFFIX=be
|
||||
endif
|
||||
ifeq ($(OS_TARGET),sunos)
|
||||
BATCHEXT=.sh
|
||||
EXEEXT=
|
||||
FPCMADE=fpcmade.sun
|
||||
ZIPSUFFIX=sun
|
||||
endif
|
||||
ifeq ($(OS_TARGET),qnx)
|
||||
BATCHEXT=.sh
|
||||
EXEEXT=
|
||||
FPCMADE=fpcmade.qnx
|
||||
ZIPSUFFIX=qnx
|
||||
@ -559,11 +574,14 @@ FPCMADE=fpcmade.nw
|
||||
ZIPSUFFIX=nw
|
||||
endif
|
||||
ifeq ($(OS_TARGET),macos)
|
||||
BATCHEXT=
|
||||
EXEEXT=
|
||||
FPCMADE=fpcmade.macos
|
||||
ZIPSUFFIX=macos
|
||||
DEBUGSYMEXT=.xcoff
|
||||
endif
|
||||
ifeq ($(OS_TARGET),darwin)
|
||||
BATCHEXT=.sh
|
||||
EXEEXT=
|
||||
HASSHAREDLIB=1
|
||||
FPCMADE=fpcmade.darwin
|
||||
@ -592,24 +610,28 @@ FPCMADE=fpcmade.dos
|
||||
ZIPSUFFIX=watcom
|
||||
endif
|
||||
ifeq ($(OS_TARGET),linux)
|
||||
BATCHEXT=.sh
|
||||
EXEEXT=
|
||||
HASSHAREDLIB=1
|
||||
FPCMADE=fpcmade.lnx
|
||||
ZIPSUFFIX=linux
|
||||
endif
|
||||
ifeq ($(OS_TARGET),freebsd)
|
||||
BATCHEXT=.sh
|
||||
EXEEXT=
|
||||
HASSHAREDLIB=1
|
||||
FPCMADE=fpcmade.freebsd
|
||||
ZIPSUFFIX=freebsd
|
||||
endif
|
||||
ifeq ($(OS_TARGET),netbsd)
|
||||
BATCHEXT=.sh
|
||||
EXEEXT=
|
||||
HASSHAREDLIB=1
|
||||
FPCMADE=fpcmade.netbsd
|
||||
ZIPSUFFIX=netbsd
|
||||
endif
|
||||
ifeq ($(OS_TARGET),openbsd)
|
||||
BATCHEXT=.sh
|
||||
EXEEXT=
|
||||
HASSHAREDLIB=1
|
||||
FPCMADE=fpcmade.openbsd
|
||||
@ -626,6 +648,7 @@ FPCMADE=fpcmade.w32
|
||||
ZIPSUFFIX=w32
|
||||
endif
|
||||
ifeq ($(OS_TARGET),os2)
|
||||
BATCHEXT=.cmd
|
||||
PPUEXT=.ppo
|
||||
ASMEXT=.so2
|
||||
OEXT=.oo2
|
||||
@ -658,6 +681,7 @@ EXEEXT=.ttp
|
||||
FPCMADE=fpcmade.ata
|
||||
endif
|
||||
ifeq ($(OS_TARGET),beos)
|
||||
BATCHEXT=.sh
|
||||
PPUEXT=.ppu
|
||||
ASMEXT=.s
|
||||
OEXT=.o
|
||||
@ -668,6 +692,7 @@ FPCMADE=fpcmade.be
|
||||
ZIPSUFFIX=be
|
||||
endif
|
||||
ifeq ($(OS_TARGET),sunos)
|
||||
BATCHEXT=.sh
|
||||
PPUEXT=.ppu
|
||||
ASMEXT=.s
|
||||
OEXT=.o
|
||||
@ -678,6 +703,7 @@ FPCMADE=fpcmade.sun
|
||||
ZIPSUFFIX=sun
|
||||
endif
|
||||
ifeq ($(OS_TARGET),qnx)
|
||||
BATCHEXT=.sh
|
||||
PPUEXT=.ppu
|
||||
ASMEXT=.s
|
||||
OEXT=.o
|
||||
@ -700,13 +726,15 @@ ZIPSUFFIX=nw
|
||||
EXEEXT=.nlm
|
||||
endif
|
||||
ifeq ($(OS_TARGET),macos)
|
||||
BATCHEXT=
|
||||
PPUEXT=.ppu
|
||||
ASMEXT=.s
|
||||
OEXT=.o
|
||||
SMARTEXT=.sl
|
||||
STATICLIBEXT=.a
|
||||
EXEEXT=
|
||||
FPCMADE=fpcmade.mcc
|
||||
DEBUGSYMEXT=.xcoff
|
||||
FPCMADE=fpcmade.macos
|
||||
endif
|
||||
endif
|
||||
ifndef ECHO
|
||||
@ -714,7 +742,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
|
||||
ifeq ($(ECHO),)
|
||||
ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
|
||||
ifeq ($(ECHO),)
|
||||
ECHO=
|
||||
ECHO= __missing_command__
|
||||
else
|
||||
ECHO:=$(firstword $(ECHO))
|
||||
endif
|
||||
@ -728,7 +756,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
|
||||
ifeq ($(DATE),)
|
||||
DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
|
||||
ifeq ($(DATE),)
|
||||
DATE=
|
||||
DATE= __missing_command__
|
||||
else
|
||||
DATE:=$(firstword $(DATE))
|
||||
endif
|
||||
@ -742,7 +770,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
|
||||
ifeq ($(GINSTALL),)
|
||||
GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
|
||||
ifeq ($(GINSTALL),)
|
||||
GINSTALL=
|
||||
GINSTALL= __missing_command__
|
||||
else
|
||||
GINSTALL:=$(firstword $(GINSTALL))
|
||||
endif
|
||||
@ -754,7 +782,7 @@ export GINSTALL
|
||||
ifndef CPPROG
|
||||
CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
|
||||
ifeq ($(CPPROG),)
|
||||
CPPROG=
|
||||
CPPROG= __missing_command__
|
||||
else
|
||||
CPPROG:=$(firstword $(CPPROG))
|
||||
endif
|
||||
@ -763,7 +791,7 @@ export CPPROG
|
||||
ifndef RMPROG
|
||||
RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
|
||||
ifeq ($(RMPROG),)
|
||||
RMPROG=
|
||||
RMPROG= __missing_command__
|
||||
else
|
||||
RMPROG:=$(firstword $(RMPROG))
|
||||
endif
|
||||
@ -772,7 +800,7 @@ export RMPROG
|
||||
ifndef MVPROG
|
||||
MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
|
||||
ifeq ($(MVPROG),)
|
||||
MVPROG=
|
||||
MVPROG= __missing_command__
|
||||
else
|
||||
MVPROG:=$(firstword $(MVPROG))
|
||||
endif
|
||||
@ -821,7 +849,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
|
||||
ifndef PPUMOVE
|
||||
PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
|
||||
ifeq ($(PPUMOVE),)
|
||||
PPUMOVE=
|
||||
PPUMOVE= __missing_command__
|
||||
else
|
||||
PPUMOVE:=$(firstword $(PPUMOVE))
|
||||
endif
|
||||
@ -830,7 +858,7 @@ export PPUMOVE
|
||||
ifndef FPCMAKE
|
||||
FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
|
||||
ifeq ($(FPCMAKE),)
|
||||
FPCMAKE=
|
||||
FPCMAKE= __missing_command__
|
||||
else
|
||||
FPCMAKE:=$(firstword $(FPCMAKE))
|
||||
endif
|
||||
@ -839,7 +867,7 @@ export FPCMAKE
|
||||
ifndef ZIPPROG
|
||||
ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
|
||||
ifeq ($(ZIPPROG),)
|
||||
ZIPPROG=
|
||||
ZIPPROG= __missing_command__
|
||||
else
|
||||
ZIPPROG:=$(firstword $(ZIPPROG))
|
||||
endif
|
||||
@ -848,7 +876,7 @@ export ZIPPROG
|
||||
ifndef TARPROG
|
||||
TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
|
||||
ifeq ($(TARPROG),)
|
||||
TARPROG=
|
||||
TARPROG= __missing_command__
|
||||
else
|
||||
TARPROG:=$(firstword $(TARPROG))
|
||||
endif
|
||||
@ -899,7 +927,7 @@ AS=$(ASPROG)
|
||||
LD=$(LDPROG)
|
||||
RC=$(RCPROG)
|
||||
AR=$(ARPROG)
|
||||
PPAS=ppas$(BATCHEXT)
|
||||
PPAS=ppas$(SRCBATCHEXT)
|
||||
ifdef inUnix
|
||||
LDCONFIG=ldconfig
|
||||
else
|
||||
@ -1095,6 +1123,21 @@ REQUIRE_PACKAGES_IBASE=1
|
||||
REQUIRE_PACKAGES_SQLITE=1
|
||||
endif
|
||||
endif
|
||||
ifeq ($(OS_TARGET),freebsd)
|
||||
ifeq ($(CPU_TARGET),x86_64)
|
||||
REQUIRE_PACKAGES_RTL=1
|
||||
REQUIRE_PACKAGES_PASZLIB=1
|
||||
REQUIRE_PACKAGES_NETDB=1
|
||||
REQUIRE_PACKAGES_LIBASYNC=1
|
||||
REQUIRE_PACKAGES_PTHREADS=1
|
||||
REQUIRE_PACKAGES_FCL=1
|
||||
REQUIRE_PACKAGES_REGEXPR=1
|
||||
REQUIRE_PACKAGES_PASJPEG=1
|
||||
REQUIRE_PACKAGES_MYSQL=1
|
||||
REQUIRE_PACKAGES_IBASE=1
|
||||
REQUIRE_PACKAGES_SQLITE=1
|
||||
endif
|
||||
endif
|
||||
ifeq ($(OS_TARGET),beos)
|
||||
ifeq ($(CPU_TARGET),i386)
|
||||
REQUIRE_PACKAGES_RTL=1
|
||||
@ -1655,8 +1698,12 @@ ifdef RELEASE
|
||||
ifeq ($(CPU_TARGET),i386)
|
||||
FPCCPUOPT:=-OG2p3
|
||||
else
|
||||
ifeq ($(CPU_TARGET),powerpc)
|
||||
FPCCPUOPT:=-O1
|
||||
else
|
||||
FPCCPUOPT:=
|
||||
endif
|
||||
endif
|
||||
override FPCOPT+=-Xs $(FPCCPUOPT) -n
|
||||
override FPCOPTDEF+=RELEASE
|
||||
endif
|
||||
@ -1744,7 +1791,7 @@ EXECPPAS:=@$(PPAS)
|
||||
endif
|
||||
endif
|
||||
.PHONY: fpc_exes
|
||||
ifdef TARGET_PROGRAMS
|
||||
ifneq ($(TARGET_PROGRAMS),)
|
||||
override EXEFILES=$(addsuffix $(EXEEXT),$(TARGET_PROGRAMS))
|
||||
override EXEOFILES:=$(addsuffix $(OEXT),$(TARGET_PROGRAMS)) $(addprefix $(STATICLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS)))
|
||||
override ALLTARGET+=fpc_exes
|
||||
@ -1763,7 +1810,7 @@ override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))
|
||||
override CLEANRSTFILES+=$(RSTFILES)
|
||||
endif
|
||||
.PHONY: fpc_examples
|
||||
ifdef TARGET_EXAMPLES
|
||||
ifneq ($(TARGET_EXAMPLES),)
|
||||
HASEXAMPLES=1
|
||||
override EXAMPLESOURCEFILES:=$(wildcard $(addsuffix .pp,$(TARGET_EXAMPLES)) $(addsuffix .pas,$(TARGET_EXAMPLES)) $(addsuffix .dpr,$(TARGET_EXAMPLES)))
|
||||
override EXAMPLEFILES:=$(addsuffix $(EXEEXT),$(TARGET_EXAMPLES))
|
||||
@ -1776,7 +1823,7 @@ ifeq ($(OS_TARGET),emx)
|
||||
override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_EXAMPLES))
|
||||
endif
|
||||
endif
|
||||
ifdef TARGET_EXAMPLEDIRS
|
||||
ifneq ($(TARGET_EXAMPLEDIRS),)
|
||||
HASEXAMPLES=1
|
||||
endif
|
||||
fpc_examples: all $(EXAMPLEFILES) $(addsuffix _all,$(TARGET_EXAMPLEDIRS))
|
||||
@ -1912,7 +1959,7 @@ USEZIPWRAPPER=1
|
||||
endif
|
||||
ifdef USEZIPWRAPPER
|
||||
ZIPPATHSEP=$(PATHSEP)
|
||||
ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
|
||||
ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
|
||||
else
|
||||
ZIPPATHSEP=/
|
||||
endif
|
||||
@ -1966,6 +2013,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
|
||||
endif
|
||||
ifdef CLEANPPUFILES
|
||||
override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES)))
|
||||
ifdef DEBUGSYMEXT
|
||||
override CLEANPPULINKFILES+=$(subst $(PPUEXT),$(DEBUGSYMEXT),$(CLEANPPUFILES))
|
||||
endif
|
||||
override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES))
|
||||
override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
|
||||
endif
|
||||
@ -1989,6 +2039,7 @@ ifdef LIB_NAME
|
||||
-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
|
||||
endif
|
||||
-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
|
||||
-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
|
||||
fpc_distclean: clean
|
||||
ifdef COMPILER_UNITTARGETDIR
|
||||
TARGETDIRCLEAN=fpc_clean
|
||||
@ -2000,9 +2051,13 @@ endif
|
||||
-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
|
||||
-$(DELTREE) *$(SMARTEXT)
|
||||
-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
|
||||
-$(DEL) *_ppas$(BATCHEXT)
|
||||
ifdef AOUTEXT
|
||||
-$(DEL) *$(AOUTEXT)
|
||||
endif
|
||||
ifdef DEBUGSYMEXT
|
||||
-$(DEL) *$(DEBUGSYMEXT)
|
||||
endif
|
||||
.PHONY: fpc_baseinfo
|
||||
override INFORULES+=fpc_baseinfo
|
||||
fpc_baseinfo:
|
||||
|
@ -34,6 +34,7 @@ files=$(wildcard ./designer/*$(OEXT)) $(wildcard ./designer/*$(PPUEXT)) \
|
||||
$(wildcard ./doceditor/*$(OEXT)) $(wildcard ./doceditor/*$(PPUEXT))
|
||||
|
||||
[install]
|
||||
fpcpackage=n
|
||||
basedir=share/lazarus
|
||||
|
||||
[dist]
|
||||
|
@ -3607,7 +3607,8 @@ const
|
||||
sutObjPas = 2;
|
||||
sutLineInfo = 3;
|
||||
sutHeapTrc = 4;
|
||||
sutNone = 5;
|
||||
sutSysThrds = 5;
|
||||
sutNone = 6;
|
||||
var
|
||||
OldInput: TFindDeclarationInput;
|
||||
SystemAlias: string;
|
||||
@ -3646,9 +3647,18 @@ begin
|
||||
CurUnitType:=sutLineInfo
|
||||
else if UpAtomIs('HEAPTRC') then
|
||||
CurUnitType:=sutHeapTrc
|
||||
else if UpAtomIs('SYSTHRDS') then
|
||||
CurUnitType:=sutSysThrds
|
||||
else
|
||||
CurUnitType:=sutNone;
|
||||
// try hidden units
|
||||
if (CurUnitType>sutSysThrds)
|
||||
and Scanner.InitialValues.IsDefined(ExternalMacroStart+'UseSysThrds')
|
||||
then begin
|
||||
// try hidden used unit 'systhrds'
|
||||
Result:=FindIdentifierInUsedUnit('SysThrds',Params);
|
||||
if Result then exit;
|
||||
end;
|
||||
if (CurUnitType>sutHeapTrc)
|
||||
and Scanner.InitialValues.IsDefined(ExternalMacroStart+'UseHeapTrcUnit')
|
||||
then begin
|
||||
|
@ -256,6 +256,7 @@ type
|
||||
function ReadNextSwitchDirective: boolean;
|
||||
function LongSwitchDirective: boolean;
|
||||
function ModeDirective: boolean;
|
||||
function ThreadingDirective: boolean;
|
||||
procedure BuildDirectiveFuncList;
|
||||
procedure PushIncludeLink(ACleanedPos, ASrcPos: integer; ACode: Pointer);
|
||||
function PopIncludeLink: TSourceLink;
|
||||
@ -1977,6 +1978,7 @@ begin
|
||||
Add('INCLUDE',{$ifdef FPC}@{$endif}IncludeDirective);
|
||||
Add('INCLUDEPATH',{$ifdef FPC}@{$endif}IncludePathDirective);
|
||||
Add('MODE',{$ifdef FPC}@{$endif}ModeDirective);
|
||||
Add('THREADING',{$ifdef FPC}@{$endif}ThreadingDirective);
|
||||
end;
|
||||
FSkipDirectiveFuncList:=TKeyWordFunctionList.Create;
|
||||
with FSkipDirectiveFuncList do begin
|
||||
@ -2055,6 +2057,24 @@ begin
|
||||
Result:=true;
|
||||
end;
|
||||
|
||||
function TLinkScanner.ThreadingDirective: boolean;
|
||||
var
|
||||
ValStart: integer;
|
||||
begin
|
||||
SkipSpace;
|
||||
ValStart:=SrcPos;
|
||||
while (SrcPos<=SrcLen) and (IsWordChar[Src[SrcPos]]) do
|
||||
inc(SrcPos);
|
||||
if CompareUpToken('ON',Src,ValStart,SrcPos) then begin
|
||||
// define THREADING
|
||||
Values.Variables[ExternalMacroStart+'UseSysThrds']:='1';
|
||||
end else begin
|
||||
// undefine THREADING
|
||||
Values.Undefine(ExternalMacroStart+'UseSysThrds');
|
||||
end;
|
||||
Result:=true;
|
||||
end;
|
||||
|
||||
function TLinkScanner.ReadNextSwitchDirective: boolean;
|
||||
var DirStart, DirLen: integer;
|
||||
begin
|
||||
|
199
lcl/Makefile
199
lcl/Makefile
@ -1,15 +1,24 @@
|
||||
#
|
||||
# Don't edit, this file is generated by FPCMake Version 1.1 [2004/03/14]
|
||||
# Don't edit, this file is generated by FPCMake Version 1.1 [2004/05/29]
|
||||
#
|
||||
default: all
|
||||
MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos darwin emx watcom
|
||||
override PATH:=$(subst \,/,$(PATH))
|
||||
BSDs = freebsd netbsd openbsd darwin
|
||||
UNIXs = linux $(BSDs) sunos qnx
|
||||
FORCE:
|
||||
.PHONY: FORCE
|
||||
override PATH:=$(patsubst %/,%,$(subst \,/,$(PATH)))
|
||||
ifneq ($(findstring darwin,$(OSTYPE)),)
|
||||
inUnix=1 #darwin
|
||||
SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
|
||||
else
|
||||
ifeq ($(findstring ;,$(PATH)),)
|
||||
inUnix=1
|
||||
SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
|
||||
else
|
||||
SEARCHPATH:=$(subst ;, ,$(PATH))
|
||||
endif
|
||||
endif
|
||||
SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
|
||||
PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
|
||||
ifeq ($(PWD),)
|
||||
@ -37,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),)
|
||||
inCygWin=1
|
||||
endif
|
||||
endif
|
||||
ifeq ($(OS_TARGET),freebsd)
|
||||
BSDhier=1
|
||||
endif
|
||||
ifeq ($(OS_TARGET),netbsd)
|
||||
BSDhier=1
|
||||
endif
|
||||
ifeq ($(OS_TARGET),openbsd)
|
||||
BSDhier=1
|
||||
endif
|
||||
ifdef inUnix
|
||||
BATCHEXT=.sh
|
||||
SRCBATCHEXT=.sh
|
||||
else
|
||||
ifdef inOS2
|
||||
BATCHEXT=.cmd
|
||||
SRCBATCHEXT=.cmd
|
||||
else
|
||||
BATCHEXT=.bat
|
||||
SRCBATCHEXT=.bat
|
||||
endif
|
||||
endif
|
||||
ifdef inUnix
|
||||
@ -154,6 +154,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
|
||||
$(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
|
||||
endif
|
||||
endif
|
||||
ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
|
||||
BSDhier=1
|
||||
endif
|
||||
ifeq ($(OS_TARGET),linux)
|
||||
linuxHier=1
|
||||
endif
|
||||
export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
|
||||
ifdef FPCDIR
|
||||
override FPCDIR:=$(subst \,/,$(FPCDIR))
|
||||
@ -257,10 +263,9 @@ endif
|
||||
endif
|
||||
override TARGET_DIRS+=interfaces
|
||||
override TARGET_UNITS+=alllclunits
|
||||
override TARGET_IMPLICITUNITS+=actnlist arrow avglvltree buttons calendar checklst clipbrd clistbox comctrls commctrl controls dbctrls dbgrids dialogs dynamicarray dynhasharray editbtn extctrls extdlgs extendedstrings filectrl fpcadds forms graphics graphmath graphtype grids imglist interfacebase lazlinkedlist lclintf lclproc lclmemmanager lclstrconsts lcltype lmessages lresources maskedit menus pairsplitter postscriptprinter printers spin stdactns stdctrls stringhashlist textstrings toolwin utrace vclglobals
|
||||
override TARGET_IMPLICITUNITS+=actnlist arrow avglvltree buttons calendar checklst clipbrd clistbox comctrls commctrl controls dbctrls dbgrids dialogs dynamicarray dynhasharray editbtn extctrls extdlgs extendedstrings extgraphics filectrl fpcadds forms graphics graphmath graphtype grids imglist interfacebase lazlinkedlist lclintf lclproc lclmemmanager lclstrconsts lcltype lmessages lresources maskedit menus pairsplitter postscriptprinter printers spin stdactns stdctrls stringhashlist textstrings toolwin utrace vclglobals
|
||||
override TARGET_RSTS+=lclstrconsts
|
||||
override CLEAN_FILES+=$(wildcard $(COMPILER_UNITTARGETDIR)/*$(OEXT)) $(wildcard $(COMPILER_UNITTARGETDIR)/*$(PPUEXT)) $(wildcard $(COMPILER_UNITTARGETDIR)/*$(RSTEXT)) $(wildcard ./units/*$(OEXT)) $(wildcard ./units/*$(PPUEXT)) $(wildcard ./units/*$(RSTEXT)) $(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) $(wildcard *$(RSTEXT))
|
||||
override INSTALL_BUILDUNIT=alllclunits
|
||||
override COMPILER_OPTIONS+=-gl
|
||||
override COMPILER_INCLUDEDIR+=include
|
||||
override COMPILER_UNITDIR+=. $(NONWIN32) widgetset
|
||||
@ -272,42 +277,12 @@ ifdef REQUIRE_PACKAGESDIR
|
||||
override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR)
|
||||
endif
|
||||
ifdef ZIPINSTALL
|
||||
ifeq ($(OS_TARGET),linux)
|
||||
UNIXINSTALLDIR=1
|
||||
endif
|
||||
ifeq ($(OS_TARGET),freebsd)
|
||||
UNIXINSTALLDIR=1
|
||||
endif
|
||||
ifeq ($(OS_TARGET),netbsd)
|
||||
UNIXINSTALLDIR=1
|
||||
endif
|
||||
ifeq ($(OS_TARGET),openbsd)
|
||||
UNIXINSTALLDIR=1
|
||||
endif
|
||||
ifeq ($(OS_TARGET),sunos)
|
||||
UNIXINSTALLDIR=1
|
||||
endif
|
||||
ifeq ($(OS_TARGET),qnx)
|
||||
UNIXINSTALLDIR=1
|
||||
ifneq ($(findstring $(OS_TARGET),$(UNIXs)),)
|
||||
UNIXHier=1
|
||||
endif
|
||||
else
|
||||
ifeq ($(OS_SOURCE),linux)
|
||||
UNIXINSTALLDIR=1
|
||||
endif
|
||||
ifeq ($(OS_SOURCE),freebsd)
|
||||
UNIXINSTALLDIR=1
|
||||
endif
|
||||
ifeq ($(OS_SOURCE),netbsd)
|
||||
UNIXINSTALLDIR=1
|
||||
endif
|
||||
ifeq ($(OS_SOURCE),openbsd)
|
||||
UNIXINSTALLDIR=1
|
||||
endif
|
||||
ifeq ($(OS_TARGET),sunos)
|
||||
UNIXINSTALLDIR=1
|
||||
endif
|
||||
ifeq ($(OS_TARGET),qnx)
|
||||
UNIXINSTALLDIR=1
|
||||
ifneq ($(findstring $(OS_SOURCE),$(UNIXs)),)
|
||||
UNIXHier=1
|
||||
endif
|
||||
endif
|
||||
ifndef INSTALL_PREFIX
|
||||
@ -316,7 +291,7 @@ INSTALL_PREFIX=$(PREFIX)
|
||||
endif
|
||||
endif
|
||||
ifndef INSTALL_PREFIX
|
||||
ifdef UNIXINSTALLDIR
|
||||
ifdef UNIXHier
|
||||
INSTALL_PREFIX=/usr/local
|
||||
else
|
||||
ifdef INSTALL_FPCPACKAGE
|
||||
@ -335,7 +310,7 @@ DIST_DESTDIR:=$(BASEDIR)
|
||||
endif
|
||||
export DIST_DESTDIR
|
||||
ifndef INSTALL_BASEDIR
|
||||
ifdef UNIXINSTALLDIR
|
||||
ifdef UNIXHier
|
||||
ifdef INSTALL_FPCPACKAGE
|
||||
INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
|
||||
else
|
||||
@ -346,7 +321,7 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX)
|
||||
endif
|
||||
endif
|
||||
ifndef INSTALL_BINDIR
|
||||
ifdef UNIXINSTALLDIR
|
||||
ifdef UNIXHier
|
||||
ifdef CROSSCOMPILE
|
||||
INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
|
||||
else
|
||||
@ -376,19 +351,23 @@ endif
|
||||
endif
|
||||
endif
|
||||
ifndef INSTALL_LIBDIR
|
||||
ifdef UNIXINSTALLDIR
|
||||
ifdef UNIXHier
|
||||
INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
|
||||
else
|
||||
INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
|
||||
endif
|
||||
endif
|
||||
ifndef INSTALL_SOURCEDIR
|
||||
ifdef UNIXINSTALLDIR
|
||||
ifdef UNIXHier
|
||||
ifdef BSDhier
|
||||
SRCPREFIXDIR=share/src
|
||||
else
|
||||
ifdef linuxHier
|
||||
SRCPREFIXDIR=share/src
|
||||
else
|
||||
SRCPREFIXDIR=src
|
||||
endif
|
||||
endif
|
||||
ifdef INSTALL_FPCPACKAGE
|
||||
ifdef INSTALL_FPCSUBDIR
|
||||
INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
|
||||
@ -411,12 +390,16 @@ endif
|
||||
endif
|
||||
endif
|
||||
ifndef INSTALL_DOCDIR
|
||||
ifdef UNIXINSTALLDIR
|
||||
ifdef UNIXHier
|
||||
ifdef BSDhier
|
||||
DOCPREFIXDIR=share/doc
|
||||
else
|
||||
ifdef linuxHier
|
||||
DOCPREFIXDIR=share/doc
|
||||
else
|
||||
DOCPREFIXDIR=doc
|
||||
endif
|
||||
endif
|
||||
ifdef INSTALL_FPCPACKAGE
|
||||
INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
|
||||
else
|
||||
@ -431,20 +414,28 @@ endif
|
||||
endif
|
||||
endif
|
||||
ifndef INSTALL_EXAMPLEDIR
|
||||
ifdef UNIXINSTALLDIR
|
||||
ifdef UNIXHier
|
||||
ifdef INSTALL_FPCPACKAGE
|
||||
ifdef BSDhier
|
||||
INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
|
||||
else
|
||||
ifdef linuxHier
|
||||
INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples
|
||||
else
|
||||
INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
|
||||
endif
|
||||
endif
|
||||
else
|
||||
ifdef BSDhier
|
||||
INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
|
||||
else
|
||||
ifdef linuxHier
|
||||
INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
|
||||
else
|
||||
INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
else
|
||||
ifdef INSTALL_FPCPACKAGE
|
||||
INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
|
||||
@ -468,7 +459,19 @@ CROSSBINDIR=
|
||||
endif
|
||||
ifeq ($(OS_SOURCE),linux)
|
||||
ifndef GCCLIBDIR
|
||||
GCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
|
||||
ifeq ($(CPU_TARGET),i386)
|
||||
ifneq ($(findstring x86_64,$(shell uname -a)),)
|
||||
ifeq ($(BINUTILSPREFIX),)
|
||||
GCCLIBDIR:=$(shell dirname `gcc -m32 -print-libgcc-file-name`)
|
||||
else
|
||||
GCCLIBDIR:=$(shell dirname `$(BINUTILSPREFIX)gcc -print-libgcc-file-name`)
|
||||
endif
|
||||
else
|
||||
GCCLIBDIR:=$(shell dirname `$(BINUTILSPREFIX)gcc -print-libgcc-file-name`)
|
||||
endif
|
||||
else
|
||||
GCCLIBDIR:=$(shell dirname `$(BINUTILSPREFIX)gcc -print-libgcc-file-name`)
|
||||
endif
|
||||
endif
|
||||
ifndef OTHERLIBDIR
|
||||
OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
|
||||
@ -480,6 +483,7 @@ OTHERLIBDIR+=/usr/pkg/lib
|
||||
endif
|
||||
export GCCLIBDIR OTHERLIB
|
||||
endif
|
||||
BATCHEXT=.bat
|
||||
LOADEREXT=.as
|
||||
EXEEXT=.exe
|
||||
PPLEXT=.ppl
|
||||
@ -512,24 +516,28 @@ ASMEXT=.asm
|
||||
SHAREDLIBEXT=.dll
|
||||
endif
|
||||
ifeq ($(OS_TARGET),linux)
|
||||
BATCHEXT=.sh
|
||||
EXEEXT=
|
||||
HASSHAREDLIB=1
|
||||
FPCMADE=fpcmade.lnx
|
||||
ZIPSUFFIX=linux
|
||||
endif
|
||||
ifeq ($(OS_TARGET),freebsd)
|
||||
BATCHEXT=.sh
|
||||
EXEEXT=
|
||||
HASSHAREDLIB=1
|
||||
FPCMADE=fpcmade.freebsd
|
||||
ZIPSUFFIX=freebsd
|
||||
endif
|
||||
ifeq ($(OS_TARGET),netbsd)
|
||||
BATCHEXT=.sh
|
||||
EXEEXT=
|
||||
HASSHAREDLIB=1
|
||||
FPCMADE=fpcmade.netbsd
|
||||
ZIPSUFFIX=netbsd
|
||||
endif
|
||||
ifeq ($(OS_TARGET),openbsd)
|
||||
BATCHEXT=.sh
|
||||
EXEEXT=
|
||||
HASSHAREDLIB=1
|
||||
FPCMADE=fpcmade.openbsd
|
||||
@ -541,6 +549,7 @@ FPCMADE=fpcmade.w32
|
||||
ZIPSUFFIX=w32
|
||||
endif
|
||||
ifeq ($(OS_TARGET),os2)
|
||||
BATCHEXT=.cmd
|
||||
AOUTEXT=.out
|
||||
STATICLIBPREFIX=
|
||||
SHAREDLIBEXT=.dll
|
||||
@ -549,6 +558,7 @@ ZIPSUFFIX=os2
|
||||
ECHO=echo
|
||||
endif
|
||||
ifeq ($(OS_TARGET),emx)
|
||||
BATCHEXT=.cmd
|
||||
AOUTEXT=.out
|
||||
STATICLIBPREFIX=
|
||||
SHAREDLIBEXT=.dll
|
||||
@ -566,16 +576,19 @@ EXEEXT=.ttp
|
||||
FPCMADE=fpcmade.ata
|
||||
endif
|
||||
ifeq ($(OS_TARGET),beos)
|
||||
BATCHEXT=.sh
|
||||
EXEEXT=
|
||||
FPCMADE=fpcmade.be
|
||||
ZIPSUFFIX=be
|
||||
endif
|
||||
ifeq ($(OS_TARGET),sunos)
|
||||
BATCHEXT=.sh
|
||||
EXEEXT=
|
||||
FPCMADE=fpcmade.sun
|
||||
ZIPSUFFIX=sun
|
||||
endif
|
||||
ifeq ($(OS_TARGET),qnx)
|
||||
BATCHEXT=.sh
|
||||
EXEEXT=
|
||||
FPCMADE=fpcmade.qnx
|
||||
ZIPSUFFIX=qnx
|
||||
@ -587,11 +600,14 @@ FPCMADE=fpcmade.nw
|
||||
ZIPSUFFIX=nw
|
||||
endif
|
||||
ifeq ($(OS_TARGET),macos)
|
||||
BATCHEXT=
|
||||
EXEEXT=
|
||||
FPCMADE=fpcmade.macos
|
||||
ZIPSUFFIX=macos
|
||||
DEBUGSYMEXT=.xcoff
|
||||
endif
|
||||
ifeq ($(OS_TARGET),darwin)
|
||||
BATCHEXT=.sh
|
||||
EXEEXT=
|
||||
HASSHAREDLIB=1
|
||||
FPCMADE=fpcmade.darwin
|
||||
@ -620,24 +636,28 @@ FPCMADE=fpcmade.dos
|
||||
ZIPSUFFIX=watcom
|
||||
endif
|
||||
ifeq ($(OS_TARGET),linux)
|
||||
BATCHEXT=.sh
|
||||
EXEEXT=
|
||||
HASSHAREDLIB=1
|
||||
FPCMADE=fpcmade.lnx
|
||||
ZIPSUFFIX=linux
|
||||
endif
|
||||
ifeq ($(OS_TARGET),freebsd)
|
||||
BATCHEXT=.sh
|
||||
EXEEXT=
|
||||
HASSHAREDLIB=1
|
||||
FPCMADE=fpcmade.freebsd
|
||||
ZIPSUFFIX=freebsd
|
||||
endif
|
||||
ifeq ($(OS_TARGET),netbsd)
|
||||
BATCHEXT=.sh
|
||||
EXEEXT=
|
||||
HASSHAREDLIB=1
|
||||
FPCMADE=fpcmade.netbsd
|
||||
ZIPSUFFIX=netbsd
|
||||
endif
|
||||
ifeq ($(OS_TARGET),openbsd)
|
||||
BATCHEXT=.sh
|
||||
EXEEXT=
|
||||
HASSHAREDLIB=1
|
||||
FPCMADE=fpcmade.openbsd
|
||||
@ -654,6 +674,7 @@ FPCMADE=fpcmade.w32
|
||||
ZIPSUFFIX=w32
|
||||
endif
|
||||
ifeq ($(OS_TARGET),os2)
|
||||
BATCHEXT=.cmd
|
||||
PPUEXT=.ppo
|
||||
ASMEXT=.so2
|
||||
OEXT=.oo2
|
||||
@ -686,6 +707,7 @@ EXEEXT=.ttp
|
||||
FPCMADE=fpcmade.ata
|
||||
endif
|
||||
ifeq ($(OS_TARGET),beos)
|
||||
BATCHEXT=.sh
|
||||
PPUEXT=.ppu
|
||||
ASMEXT=.s
|
||||
OEXT=.o
|
||||
@ -696,6 +718,7 @@ FPCMADE=fpcmade.be
|
||||
ZIPSUFFIX=be
|
||||
endif
|
||||
ifeq ($(OS_TARGET),sunos)
|
||||
BATCHEXT=.sh
|
||||
PPUEXT=.ppu
|
||||
ASMEXT=.s
|
||||
OEXT=.o
|
||||
@ -706,6 +729,7 @@ FPCMADE=fpcmade.sun
|
||||
ZIPSUFFIX=sun
|
||||
endif
|
||||
ifeq ($(OS_TARGET),qnx)
|
||||
BATCHEXT=.sh
|
||||
PPUEXT=.ppu
|
||||
ASMEXT=.s
|
||||
OEXT=.o
|
||||
@ -728,13 +752,15 @@ ZIPSUFFIX=nw
|
||||
EXEEXT=.nlm
|
||||
endif
|
||||
ifeq ($(OS_TARGET),macos)
|
||||
BATCHEXT=
|
||||
PPUEXT=.ppu
|
||||
ASMEXT=.s
|
||||
OEXT=.o
|
||||
SMARTEXT=.sl
|
||||
STATICLIBEXT=.a
|
||||
EXEEXT=
|
||||
FPCMADE=fpcmade.mcc
|
||||
DEBUGSYMEXT=.xcoff
|
||||
FPCMADE=fpcmade.macos
|
||||
endif
|
||||
endif
|
||||
ifndef ECHO
|
||||
@ -742,7 +768,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
|
||||
ifeq ($(ECHO),)
|
||||
ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
|
||||
ifeq ($(ECHO),)
|
||||
ECHO=
|
||||
ECHO= __missing_command__
|
||||
else
|
||||
ECHO:=$(firstword $(ECHO))
|
||||
endif
|
||||
@ -756,7 +782,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
|
||||
ifeq ($(DATE),)
|
||||
DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
|
||||
ifeq ($(DATE),)
|
||||
DATE=
|
||||
DATE= __missing_command__
|
||||
else
|
||||
DATE:=$(firstword $(DATE))
|
||||
endif
|
||||
@ -770,7 +796,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
|
||||
ifeq ($(GINSTALL),)
|
||||
GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
|
||||
ifeq ($(GINSTALL),)
|
||||
GINSTALL=
|
||||
GINSTALL= __missing_command__
|
||||
else
|
||||
GINSTALL:=$(firstword $(GINSTALL))
|
||||
endif
|
||||
@ -782,7 +808,7 @@ export GINSTALL
|
||||
ifndef CPPROG
|
||||
CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
|
||||
ifeq ($(CPPROG),)
|
||||
CPPROG=
|
||||
CPPROG= __missing_command__
|
||||
else
|
||||
CPPROG:=$(firstword $(CPPROG))
|
||||
endif
|
||||
@ -791,7 +817,7 @@ export CPPROG
|
||||
ifndef RMPROG
|
||||
RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
|
||||
ifeq ($(RMPROG),)
|
||||
RMPROG=
|
||||
RMPROG= __missing_command__
|
||||
else
|
||||
RMPROG:=$(firstword $(RMPROG))
|
||||
endif
|
||||
@ -800,7 +826,7 @@ export RMPROG
|
||||
ifndef MVPROG
|
||||
MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
|
||||
ifeq ($(MVPROG),)
|
||||
MVPROG=
|
||||
MVPROG= __missing_command__
|
||||
else
|
||||
MVPROG:=$(firstword $(MVPROG))
|
||||
endif
|
||||
@ -849,7 +875,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
|
||||
ifndef PPUMOVE
|
||||
PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
|
||||
ifeq ($(PPUMOVE),)
|
||||
PPUMOVE=
|
||||
PPUMOVE= __missing_command__
|
||||
else
|
||||
PPUMOVE:=$(firstword $(PPUMOVE))
|
||||
endif
|
||||
@ -858,7 +884,7 @@ export PPUMOVE
|
||||
ifndef FPCMAKE
|
||||
FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
|
||||
ifeq ($(FPCMAKE),)
|
||||
FPCMAKE=
|
||||
FPCMAKE= __missing_command__
|
||||
else
|
||||
FPCMAKE:=$(firstword $(FPCMAKE))
|
||||
endif
|
||||
@ -867,7 +893,7 @@ export FPCMAKE
|
||||
ifndef ZIPPROG
|
||||
ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
|
||||
ifeq ($(ZIPPROG),)
|
||||
ZIPPROG=
|
||||
ZIPPROG= __missing_command__
|
||||
else
|
||||
ZIPPROG:=$(firstword $(ZIPPROG))
|
||||
endif
|
||||
@ -876,7 +902,7 @@ export ZIPPROG
|
||||
ifndef TARPROG
|
||||
TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
|
||||
ifeq ($(TARPROG),)
|
||||
TARPROG=
|
||||
TARPROG= __missing_command__
|
||||
else
|
||||
TARPROG:=$(firstword $(TARPROG))
|
||||
endif
|
||||
@ -927,7 +953,7 @@ AS=$(ASPROG)
|
||||
LD=$(LDPROG)
|
||||
RC=$(RCPROG)
|
||||
AR=$(ARPROG)
|
||||
PPAS=ppas$(BATCHEXT)
|
||||
PPAS=ppas$(SRCBATCHEXT)
|
||||
ifdef inUnix
|
||||
LDCONFIG=ldconfig
|
||||
else
|
||||
@ -1142,6 +1168,23 @@ REQUIRE_PACKAGES_OPENGL=1
|
||||
REQUIRE_PACKAGES_GTK=1
|
||||
endif
|
||||
endif
|
||||
ifeq ($(OS_TARGET),freebsd)
|
||||
ifeq ($(CPU_TARGET),x86_64)
|
||||
REQUIRE_PACKAGES_RTL=1
|
||||
REQUIRE_PACKAGES_PASZLIB=1
|
||||
REQUIRE_PACKAGES_NETDB=1
|
||||
REQUIRE_PACKAGES_LIBASYNC=1
|
||||
REQUIRE_PACKAGES_PTHREADS=1
|
||||
REQUIRE_PACKAGES_FCL=1
|
||||
REQUIRE_PACKAGES_PASJPEG=1
|
||||
REQUIRE_PACKAGES_MYSQL=1
|
||||
REQUIRE_PACKAGES_IBASE=1
|
||||
REQUIRE_PACKAGES_SQLITE=1
|
||||
REQUIRE_PACKAGES_X11=1
|
||||
REQUIRE_PACKAGES_OPENGL=1
|
||||
REQUIRE_PACKAGES_GTK=1
|
||||
endif
|
||||
endif
|
||||
ifeq ($(OS_TARGET),beos)
|
||||
ifeq ($(CPU_TARGET),i386)
|
||||
REQUIRE_PACKAGES_RTL=1
|
||||
@ -1779,8 +1822,12 @@ ifdef RELEASE
|
||||
ifeq ($(CPU_TARGET),i386)
|
||||
FPCCPUOPT:=-OG2p3
|
||||
else
|
||||
ifeq ($(CPU_TARGET),powerpc)
|
||||
FPCCPUOPT:=-O1
|
||||
else
|
||||
FPCCPUOPT:=
|
||||
endif
|
||||
endif
|
||||
override FPCOPT+=-Xs $(FPCCPUOPT) -n
|
||||
override FPCOPTDEF+=RELEASE
|
||||
endif
|
||||
@ -1868,7 +1915,7 @@ EXECPPAS:=@$(PPAS)
|
||||
endif
|
||||
endif
|
||||
.PHONY: fpc_units
|
||||
ifdef TARGET_UNITS
|
||||
ifneq ($(TARGET_UNITS),)
|
||||
override ALLTARGET+=fpc_units
|
||||
override UNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_UNITS))
|
||||
override IMPLICITUNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_IMPLICITUNITS))
|
||||
@ -2012,7 +2059,7 @@ USEZIPWRAPPER=1
|
||||
endif
|
||||
ifdef USEZIPWRAPPER
|
||||
ZIPPATHSEP=$(PATHSEP)
|
||||
ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
|
||||
ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(SRCBATCHEXT))
|
||||
else
|
||||
ZIPPATHSEP=/
|
||||
endif
|
||||
@ -2066,6 +2113,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
|
||||
endif
|
||||
ifdef CLEANPPUFILES
|
||||
override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES)))
|
||||
ifdef DEBUGSYMEXT
|
||||
override CLEANPPULINKFILES+=$(subst $(PPUEXT),$(DEBUGSYMEXT),$(CLEANPPUFILES))
|
||||
endif
|
||||
override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES))
|
||||
override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
|
||||
endif
|
||||
@ -2089,6 +2139,7 @@ ifdef LIB_NAME
|
||||
-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
|
||||
endif
|
||||
-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
|
||||
-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
|
||||
fpc_distclean: clean
|
||||
ifdef COMPILER_UNITTARGETDIR
|
||||
TARGETDIRCLEAN=fpc_clean
|
||||
@ -2100,9 +2151,13 @@ endif
|
||||
-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
|
||||
-$(DELTREE) *$(SMARTEXT)
|
||||
-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
|
||||
-$(DEL) *_ppas$(BATCHEXT)
|
||||
ifdef AOUTEXT
|
||||
-$(DEL) *$(AOUTEXT)
|
||||
endif
|
||||
ifdef DEBUGSYMEXT
|
||||
-$(DEL) *$(DEBUGSYMEXT)
|
||||
endif
|
||||
.PHONY: fpc_baseinfo
|
||||
override INFORULES+=fpc_baseinfo
|
||||
fpc_baseinfo:
|
||||
|
@ -85,7 +85,7 @@ unitdir=. $(NONWIN32) widgetset
|
||||
includedir=include
|
||||
|
||||
[install]
|
||||
buildunit=alllclunits
|
||||
#buildunit=alllclunits
|
||||
|
||||
[clean]
|
||||
files=$(wildcard $(COMPILER_UNITTARGETDIR)/*$(OEXT)) \
|
||||
|
115
lcl/controls.pp
115
lcl/controls.pp
@ -244,9 +244,9 @@ type
|
||||
TWndMethod = procedure(var TheMessage : TLMessage) of Object;
|
||||
|
||||
TControlStyleType = (
|
||||
csAcceptsControls,
|
||||
csAcceptsControls, // can have childs
|
||||
csCaptureMouse,
|
||||
csDesignInteractive,
|
||||
csDesignInteractive, // wants mouse events in design mode
|
||||
csClickEvents,
|
||||
csFramed,
|
||||
csSetCaption,
|
||||
@ -264,6 +264,8 @@ type
|
||||
csActionClient,
|
||||
csMenuEvents,
|
||||
csNoFocus,
|
||||
csNeedsBorderPaint, // not implemented
|
||||
csParentBackground, // not implemented
|
||||
csDesignNoSmoothResize, // no WYSIWYG resizing in designer
|
||||
csDesignFixedBounds // control can not be moved nor resized in designer
|
||||
);
|
||||
@ -455,6 +457,8 @@ type
|
||||
NewTarget: TWinControl; var Allow: Boolean) of object;
|
||||
TStartDockEvent = procedure(Sender: TObject;
|
||||
var DragObject: TDragDockObject) of object;
|
||||
TGetSiteInfoEvent = procedure(Sender: TObject; DockClient: TControl;
|
||||
var InfluenceRect: TRect; MousePos: TPoint; var CanDock: Boolean) of object;
|
||||
|
||||
TDragDockObject = class(TBaseDragControlObject)
|
||||
private
|
||||
@ -759,8 +763,6 @@ type
|
||||
function GetBoundsRect : TRect;
|
||||
function GetClientHeight: Integer;
|
||||
function GetClientWidth: Integer;
|
||||
function GetFloating: Boolean;
|
||||
function GetFloatingDockSiteClass: TWinControlClass;
|
||||
function GetLRDockWidth: Integer;
|
||||
function GetMouseCapture : Boolean;
|
||||
function GetTBDockHeight: Integer;
|
||||
@ -839,6 +841,11 @@ type
|
||||
procedure ChangeScale(M,D : Integer); dynamic;
|
||||
Function CanAutoSize(var NewWidth, NewHeight : Integer): Boolean; virtual;
|
||||
procedure SetAlignedBounds(aLeft, aTop, aWidth, aHeight: integer); virtual;
|
||||
Function GetClientOrigin : TPoint; virtual;
|
||||
Function GetClientRect: TRect; virtual;
|
||||
Function GetScrolledClientRect: TRect; virtual;
|
||||
function GetChildsRect(Scrolled: boolean): TRect; virtual;
|
||||
function GetClientScrollOffset: TPoint; virtual;
|
||||
protected
|
||||
// protected messages
|
||||
procedure WMLButtonDown(Var Message: TLMLButtonDown); message LM_LBUTTONDOWN;
|
||||
@ -870,59 +877,64 @@ type
|
||||
procedure CMParentColorChanged(var Message : TLMessage); message CM_PARENTCOLORCHANGED;
|
||||
procedure CMParentShowHintChanged(var Message : TLMessage); message CM_PARENTSHOWHINTCHANGED;
|
||||
procedure CMVisibleChanged(var Message : TLMessage); message CM_VISIBLECHANGED;
|
||||
protected
|
||||
// drag and drop
|
||||
function GetDockEdge(const MousePos: TPoint): TAlign; dynamic;
|
||||
function GetFloating: Boolean; virtual;
|
||||
function GetFloatingDockSiteClass: TWinControlClass; virtual;
|
||||
procedure BeginAutoDrag; dynamic;
|
||||
procedure DefaultDockImage(DragDockObject: TDragDockObject; Erase: Boolean); dynamic;
|
||||
procedure DockTrackNoTarget(Source: TDragDockObject; X, Y: Integer); dynamic;
|
||||
procedure DoDock(NewDockSite: TWinControl; var ARect: TRect); dynamic;
|
||||
procedure DoDragMsg(var DragMsg: TCMDrag); virtual;
|
||||
procedure DoEndDock(Target: TObject; X, Y: Integer); dynamic;
|
||||
procedure DoEndDrag(Target: TObject; X,Y : Integer); dynamic;
|
||||
procedure DoStartDock(var DragObject: TDragObject); dynamic;
|
||||
procedure DoStartDrag(var DragObject: TDragObject); dynamic;
|
||||
procedure DragCanceled; dynamic;
|
||||
procedure DragOver(Source: TObject; X,Y: Integer; State: TDragState;
|
||||
var Accept: Boolean); dynamic;
|
||||
procedure DrawDragDockImage(DragDockObject: TDragDockObject); dynamic;
|
||||
procedure EraseDragDockImage(DragDockObject: TDragDockObject); dynamic;
|
||||
procedure PositionDockRect(DragDockObject: TDragDockObject); dynamic;
|
||||
procedure SendDockNotification; virtual;
|
||||
procedure SetDragMode(Value: TDragMode); virtual;
|
||||
protected
|
||||
// mouse
|
||||
procedure Click; dynamic;
|
||||
procedure DblClick; dynamic;
|
||||
procedure TripleClick; dynamic;
|
||||
procedure QuadClick; dynamic;
|
||||
procedure MouseDown(Button: TMouseButton; Shift:TShiftState; X,Y:Integer); dynamic;
|
||||
procedure MouseMove(Shift: TShiftState; X,Y: Integer); Dynamic;
|
||||
procedure MouseUp(Button: TMouseButton; Shift:TShiftState; X,Y:Integer); dynamic;
|
||||
procedure MouseEnter; virtual;
|
||||
procedure MouseLeave; virtual;
|
||||
protected
|
||||
procedure Changed;
|
||||
function GetPalette: HPalette; virtual;
|
||||
function ChildClassAllowed(ChildClass: TClass): boolean; virtual;
|
||||
procedure Loaded; override;
|
||||
procedure AssignTo(Dest: TPersistent); override;
|
||||
procedure BeginAutoDrag; dynamic;
|
||||
procedure DoEndDock(Target: TObject; X, Y: Integer); dynamic;
|
||||
procedure DoDock(NewDockSite: TWinControl; var ARect: TRect); dynamic;
|
||||
procedure DoStartDock(var DragObject: TDragObject); dynamic;
|
||||
function GetDockEdge(const MousePos: TPoint): TAlign; dynamic;
|
||||
procedure PositionDockRect(DragDockObject: TDragDockObject); dynamic;
|
||||
procedure Click; dynamic;
|
||||
procedure DblClick; dynamic;
|
||||
procedure TripleClick; dynamic;
|
||||
procedure QuadClick; dynamic;
|
||||
procedure DoDragMsg(var DragMsg: TCMDrag); virtual;
|
||||
procedure DoStartDrag(var DragObject: TDragObject); dynamic;
|
||||
procedure DragOver(Source: TObject; X,Y: Integer; State: TDragState;
|
||||
var Accept: Boolean); dynamic;
|
||||
procedure DragCanceled; dynamic;
|
||||
procedure DoEndDrag(Target: TObject; X,Y : Integer); dynamic;
|
||||
procedure InvalidateControl(IsVisible, IsOpaque : Boolean);
|
||||
procedure InvalidateControl(IsVisible, IsOpaque, IgnoreWinControls: Boolean);
|
||||
procedure SendDockNotification(Msg: Cardinal; WParam: WParam; LParam: LParam); virtual;
|
||||
procedure FontChanged(Sender: TObject); virtual;
|
||||
function GetAction: TBasicAction; virtual;
|
||||
function GetActionLinkClass: TControlActionLinkClass; dynamic;
|
||||
function RealGetText: TCaption; virtual;
|
||||
procedure RealSetText(const Value: TCaption); virtual;
|
||||
procedure SetAction(Value: TBasicAction); virtual;
|
||||
procedure SetColor(Value : TColor); virtual;
|
||||
procedure SetDragMode (Value: TDragMode); virtual;
|
||||
procedure SetEnabled(Value: Boolean); virtual;
|
||||
procedure SetHint(const Value: String); virtual;
|
||||
procedure SetName(const Value: TComponentName); override;
|
||||
procedure SetParent(AParent: TWinControl); virtual;
|
||||
Procedure SetParentComponent(Value: TComponent); override;
|
||||
procedure WndProc(var TheMessage: TLMessage); virtual;
|
||||
procedure MouseDown(Button: TMouseButton; Shift:TShiftState; X,Y:Integer); dynamic;
|
||||
procedure MouseMove(Shift: TShiftState; X,Y: Integer); Dynamic;
|
||||
procedure MouseUp(Button: TMouseButton; Shift:TShiftState; X,Y:Integer); dynamic;
|
||||
procedure MouseEnter; virtual;
|
||||
procedure MouseLeave; virtual;
|
||||
procedure CaptureChanged; virtual;
|
||||
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
|
||||
Function CanTab: Boolean; virtual;
|
||||
Function Focused: Boolean; dynamic;
|
||||
Procedure SetFocus; virtual;
|
||||
Function GetClientOrigin : TPoint; virtual;
|
||||
Function GetClientRect: TRect; virtual;
|
||||
Function GetScrolledClientRect: TRect; virtual;
|
||||
function GetChildsRect(Scrolled: boolean): TRect; virtual;
|
||||
function GetClientScrollOffset: TPoint; virtual;
|
||||
function GetDeviceContext(var WindowHandle: HWnd): HDC; virtual;
|
||||
Function GetEnabled: Boolean; virtual;
|
||||
Function GetPopupMenu: TPopupMenu; dynamic;
|
||||
@ -933,6 +945,9 @@ type
|
||||
procedure RemoveControlHandler(HandlerType: TControlHandlerType;
|
||||
AMethod: TMethod);
|
||||
procedure DoContextPopup(const MousePos: TPoint; var Handled: Boolean); virtual;
|
||||
protected
|
||||
// actions
|
||||
function GetActionLinkClass: TControlActionLinkClass; dynamic;
|
||||
procedure ActionChange(Sender: TObject; CheckDefaults: Boolean); dynamic;
|
||||
protected
|
||||
// optional properties (not every descendent supports them)
|
||||
@ -964,15 +979,12 @@ type
|
||||
property OnStartDock: TStartDockEvent read FOnStartDock write FOnStartDock;
|
||||
property OnStartDrag: TStartDragEvent read FOnStartDrag write FOnStartDrag;
|
||||
public
|
||||
FCompStyle: Byte; // enables (valid) use of 'IN' operator
|
||||
Function PerformTab(ForwardTab: boolean): Boolean; Virtual;
|
||||
// use overload to simulate default
|
||||
procedure BeginDrag(Immediate: Boolean; Threshold: Integer);
|
||||
procedure BeginDrag(Immediate: Boolean);
|
||||
procedure BringToFront;
|
||||
function ColorIsStored: boolean; virtual;
|
||||
constructor Create(AOwner: TComponent);override;
|
||||
destructor Destroy; override;
|
||||
FCompStyle: Byte; // enables (valid) use of 'IN' operator (this is a hack
|
||||
// for speed. It will be replaced by the use of the widgetset classes.
|
||||
// So, don't use it anymore)
|
||||
public
|
||||
// drag and dock
|
||||
Procedure DragDrop(Source: TObject; X,Y: Integer); Dynamic;
|
||||
procedure Dock(NewDockSite: TWinControl; ARect: TRect); dynamic;
|
||||
function ManualDock(NewDockSite: TWinControl;
|
||||
DropControl: TControl {$IFNDEF VER1_0}= nil{$ENDIF};
|
||||
@ -980,6 +992,14 @@ type
|
||||
function ManualFloat(ScreenPos: TRect): Boolean;
|
||||
function ReplaceDockedControl(Control: TControl; NewDockSite: TWinControl;
|
||||
DropControl: TControl; ControlSide: TAlign): Boolean;
|
||||
public
|
||||
constructor Create(AOwner: TComponent);override;
|
||||
destructor Destroy; override;
|
||||
Function PerformTab(ForwardTab: boolean): Boolean; Virtual;
|
||||
procedure BeginDrag(Immediate: Boolean; Threshold: Integer);
|
||||
procedure BeginDrag(Immediate: Boolean);
|
||||
procedure BringToFront;
|
||||
function ColorIsStored: boolean; virtual;
|
||||
function HasParent: Boolean; override;
|
||||
function IsParentOf(AControl: TControl): boolean; virtual;
|
||||
procedure Refresh;
|
||||
@ -987,9 +1007,8 @@ type
|
||||
Procedure Invalidate; virtual;
|
||||
procedure AddControl; virtual;
|
||||
function CheckChildClassAllowed(ChildClass: TClass;
|
||||
ExceptionOnInvalid: boolean): boolean;
|
||||
ExceptionOnInvalid: boolean): boolean;
|
||||
procedure CheckNewParent(AParent: TWinControl); virtual;
|
||||
Procedure DragDrop(Source: TObject; X,Y: Integer); Dynamic;
|
||||
procedure SendToBack;
|
||||
procedure SetBounds(aLeft, aTop, aWidth, aHeight: integer); virtual;
|
||||
procedure SetInitialBounds(aLeft, aTop, aWidth, aHeight: integer); virtual;
|
||||
@ -1072,7 +1091,7 @@ type
|
||||
|
||||
|
||||
// Moved to LCLType ot avoid unit circles
|
||||
// TCreateParams is part of th interface
|
||||
// TCreateParams is part of the interface
|
||||
TCreateParams = LCLType.TCreateParams;
|
||||
|
||||
TBorderWidth = 0..MaxInt;
|
||||
@ -1250,6 +1269,7 @@ type
|
||||
FChildSizing: TControlChildSizing;
|
||||
FControls: TList;
|
||||
FDefWndProc: Pointer;
|
||||
FDockClients: TList;
|
||||
//FDockSite: Boolean;
|
||||
FDoubleBuffered: Boolean;
|
||||
FClientWidth: Integer;
|
||||
@ -1291,7 +1311,7 @@ type
|
||||
function GetTabOrder: TTabOrder;
|
||||
function GetVisibleDockClientCount: Integer;
|
||||
procedure SetChildSizing(const AValue: TControlChildSizing);
|
||||
procedure SetDockSite(const AValue: Boolean);
|
||||
procedure SetDockSite(const NewDockSite: Boolean);
|
||||
procedure SetHandle(NewHandle: HWND);
|
||||
procedure SetBorderWidth(Value : TBorderWidth);
|
||||
procedure SetParentCtl3D(Value : Boolean);
|
||||
@ -2269,6 +2289,9 @@ end.
|
||||
{ =============================================================================
|
||||
|
||||
$Log$
|
||||
Revision 1.205 2004/05/30 14:02:30 mattias
|
||||
implemented OnChange for TRadioButton, TCheckBox, TToggleBox and some more docking stuff
|
||||
|
||||
Revision 1.204 2004/05/22 14:35:32 mattias
|
||||
fixed button return key
|
||||
|
||||
|
@ -95,7 +95,9 @@ end;
|
||||
|
||||
procedure TControl.DoDock(NewDockSite: TWinControl; var ARect: TRect);
|
||||
begin
|
||||
|
||||
// ToDo: DoDock
|
||||
BoundsRect := ARect;
|
||||
if (NewDockSite = nil) then Parent := nil;
|
||||
end;
|
||||
|
||||
procedure TControl.DoStartDock(var DragObject: TDragObject);
|
||||
@ -108,7 +110,8 @@ end;
|
||||
function TControl.GetDockEdge(const MousePos: TPoint): TAlign;
|
||||
|
||||
Calculate the dock side depending on current MousePos.
|
||||
MousePos is relative to control's Left, top.
|
||||
|
||||
Important: MousePos is relative to this control's Left, Top.
|
||||
------------------------------------------------------------------------------}
|
||||
function TControl.GetDockEdge(const MousePos: TPoint): TAlign;
|
||||
var
|
||||
@ -141,9 +144,43 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
procedure TControl.PositionDockRect(DragDockObject: TDragDockObject);
|
||||
|
||||
|
||||
------------------------------------------------------------------------------}
|
||||
procedure TControl.PositionDockRect(DragDockObject: TDragDockObject);
|
||||
var
|
||||
NewWidth: LongInt;
|
||||
NewHeight: LongInt;
|
||||
NewLeft: LongInt;
|
||||
NewTop: LongInt;
|
||||
WinDragTarget: TWinControl;
|
||||
begin
|
||||
// ToDo
|
||||
with DragDockObject do begin
|
||||
if (DragTarget is TWinControl) and TWinControl(DragTarget).UseDockManager
|
||||
then begin
|
||||
WinDragTarget:=TWinControl(DragTarget);
|
||||
GetWindowRect(WinDragTarget.Handle, FDockRect);
|
||||
if (WinDragTarget.DockManager<>nil) then
|
||||
WinDragTarget.DockManager.PositionDockRect(Control,DropOnControl,
|
||||
DropAlign,FDockRect);
|
||||
end else begin
|
||||
NewWidth := Control.UndockWidth;
|
||||
NewHeight := Control.UndockHeight;
|
||||
NewLeft := DragPos.X;
|
||||
NewTop := DragPos.Y;
|
||||
with FDockRect do
|
||||
begin
|
||||
Left := NewLeft;
|
||||
Top := NewTop;
|
||||
Right := Left + NewWidth;
|
||||
Bottom := Top + NewHeight;
|
||||
end;
|
||||
// let user adjust dock rect
|
||||
AdjustDockRect(FDockRect);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
@ -443,6 +480,9 @@ begin
|
||||
Result := ClientRect.Right;
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
function TControl.GetFloating: Boolean;
|
||||
------------------------------------------------------------------------------}
|
||||
function TControl.GetFloating: Boolean;
|
||||
var
|
||||
CurHostDockSite: TWinControl;
|
||||
@ -452,11 +492,17 @@ begin
|
||||
and (CurHostDockSite is FloatingDockSiteClass);
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
function TControl.GetFloatingDockSiteClass: TWinControlClass;
|
||||
------------------------------------------------------------------------------}
|
||||
function TControl.GetFloatingDockSiteClass: TWinControlClass;
|
||||
begin
|
||||
Result := FFloatingDockSiteClass;
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
function TControl.GetLRDockWidth: Integer;
|
||||
------------------------------------------------------------------------------}
|
||||
function TControl.GetLRDockWidth: Integer;
|
||||
begin
|
||||
if FLRDockWidth>0 then
|
||||
@ -905,7 +951,6 @@ end;
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
TControl.GetClientOrigin
|
||||
|
||||
------------------------------------------------------------------------------}
|
||||
function TControl.GetClientOrigin: TPoint;
|
||||
|
||||
@ -926,10 +971,9 @@ Begin
|
||||
//Assert(False, Format('Trace:[TControl.GetClientOrigin] %s --> (%d, %d)', [Classname, Result.X, Result.Y]));
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------}
|
||||
{ TControl.ScreenToClient
|
||||
}
|
||||
{------------------------------------------------------------------------------}
|
||||
{------------------------------------------------------------------------------
|
||||
TControl.ScreenToClient
|
||||
------------------------------------------------------------------------------}
|
||||
Function TControl.ScreenToClient(const Point : TPoint) : TPoint;
|
||||
var
|
||||
P : TPoint;
|
||||
@ -942,7 +986,6 @@ end;
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
Function TControl.ClientToScreen(const Point : TPoint) : TPoint;
|
||||
|
||||
------------------------------------------------------------------------------}
|
||||
Function TControl.ClientToScreen(const Point : TPoint) : TPoint;
|
||||
var
|
||||
@ -953,47 +996,46 @@ begin
|
||||
Result.Y := Point.Y + P.Y;
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------}
|
||||
{ TControl.SendDockNotification
|
||||
}
|
||||
{------------------------------------------------------------------------------}
|
||||
Procedure TControl.SendDockNotification(Msg: Cardinal; WParam: WParam; LParam: LParam);
|
||||
{------------------------------------------------------------------------------
|
||||
TControl.SendDockNotification
|
||||
------------------------------------------------------------------------------}
|
||||
procedure TControl.SendDockNotification;
|
||||
begin
|
||||
|
||||
if (FHostDockSite<>nil) and (DragObject=nil)
|
||||
and (ComponentState*[csLoading,csDestroying] = []) then
|
||||
begin
|
||||
// ToDo
|
||||
//FHostDockSite.Perform
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
{------------------------------------------------------------------------------}
|
||||
{ TControl.DblClick
|
||||
}
|
||||
{------------------------------------------------------------------------------}
|
||||
{------------------------------------------------------------------------------
|
||||
TControl.DblClick
|
||||
------------------------------------------------------------------------------}
|
||||
procedure TControl.DblClick;
|
||||
begin
|
||||
If Assigned(FOnDblClick) then FOnDblClick(Self);
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------}
|
||||
{ TControl.TripleClick
|
||||
}
|
||||
{------------------------------------------------------------------------------}
|
||||
{------------------------------------------------------------------------------
|
||||
TControl.TripleClick
|
||||
------------------------------------------------------------------------------}
|
||||
procedure TControl.TripleClick;
|
||||
begin
|
||||
If Assigned(FOnTripleClick) then FOnTripleClick(Self);
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------}
|
||||
{ TControl.QuadClick
|
||||
}
|
||||
{------------------------------------------------------------------------------}
|
||||
{------------------------------------------------------------------------------
|
||||
TControl.QuadClick
|
||||
------------------------------------------------------------------------------}
|
||||
procedure TControl.QuadClick;
|
||||
begin
|
||||
If Assigned(FOnQuadClick) then FOnQuadClick(Self);
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------}
|
||||
{ TControl.DoDragMsg
|
||||
}
|
||||
{------------------------------------------------------------------------------}
|
||||
{------------------------------------------------------------------------------
|
||||
TControl.DoDragMsg
|
||||
------------------------------------------------------------------------------}
|
||||
Procedure TControl.DoDragMsg(var DragMsg: TCMDrag);
|
||||
var
|
||||
Accepts: Boolean;
|
||||
@ -1372,7 +1414,8 @@ begin
|
||||
else begin
|
||||
if TheMessage.Msg = CM_VISIBLECHANGED
|
||||
then begin
|
||||
with TheMessage do SendDockNotification(Msg,WParam,LParam);
|
||||
// ToDo: call a real method, do not create a win32 message
|
||||
//with TheMessage do SendDockNotification(Msg,WParam,LParam);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
@ -2248,9 +2291,36 @@ begin
|
||||
CNSendMessage(LM_DRAGINFOCHANGED,Self,Nil);
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------}
|
||||
{ TControl SetLeft }
|
||||
{------------------------------------------------------------------------------}
|
||||
procedure TControl.DrawDragDockImage(DragDockObject: TDragDockObject);
|
||||
begin
|
||||
DefaultDockImage(DragDockObject, False);
|
||||
end;
|
||||
|
||||
procedure TControl.EraseDragDockImage(DragDockObject: TDragDockObject);
|
||||
begin
|
||||
DefaultDockImage(DragDockObject, True);
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
TControl DefaultDockImage
|
||||
------------------------------------------------------------------------------}
|
||||
procedure TControl.DefaultDockImage(DragDockObject: TDragDockObject;
|
||||
Erase: Boolean);
|
||||
begin
|
||||
// ToDo: draw or erase dock image
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
TControl DockTrackNoTarget
|
||||
------------------------------------------------------------------------------}
|
||||
procedure TControl.DockTrackNoTarget(Source: TDragDockObject; X, Y: Integer);
|
||||
begin
|
||||
PositionDockRect(Source);
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
TControl SetLeft
|
||||
------------------------------------------------------------------------------}
|
||||
procedure TControl.SetLeft(Value: Integer);
|
||||
begin
|
||||
{$IFDEF CHECK_POSITION}
|
||||
@ -2259,9 +2329,9 @@ begin
|
||||
SetBounds(Value, FTop, FWidth, FHeight);
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------}
|
||||
{ TControl SetTop }
|
||||
{------------------------------------------------------------------------------}
|
||||
{------------------------------------------------------------------------------
|
||||
TControl SetTop
|
||||
------------------------------------------------------------------------------}
|
||||
procedure TControl.SetTop(Value: Integer);
|
||||
begin
|
||||
{$IFDEF CHECK_POSITION}
|
||||
@ -2270,9 +2340,9 @@ begin
|
||||
SetBounds(FLeft, Value, FWidth, FHeight);
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------}
|
||||
{ TControl SetWidth }
|
||||
{------------------------------------------------------------------------------}
|
||||
{------------------------------------------------------------------------------
|
||||
TControl SetWidth
|
||||
------------------------------------------------------------------------------}
|
||||
procedure TControl.SetWidth(Value: Integer);
|
||||
begin
|
||||
{$IFDEF CHECK_POSITION}
|
||||
@ -2552,15 +2622,75 @@ begin
|
||||
end;
|
||||
|
||||
procedure TControl.Dock(NewDockSite: TWinControl; ARect: TRect);
|
||||
|
||||
procedure RaiseAlreadyDocking;
|
||||
begin
|
||||
RaiseGDBException('TControl.Dock '+Name+':'+ClassName+' csDocking in FControlState');
|
||||
end;
|
||||
|
||||
var
|
||||
OldHostDockSite: TWinControl;
|
||||
begin
|
||||
// ToDo
|
||||
if (csDocking in FControlState) then
|
||||
RaiseAlreadyDocking;
|
||||
|
||||
// dock
|
||||
Include(FControlState, csDocking);
|
||||
try
|
||||
OldHostDockSite:=HostDockSite;
|
||||
|
||||
if OldHostDockSite<>NewDockSite then begin
|
||||
// HostDockSite will change -> prepare
|
||||
if (OldHostDockSite<>nil) and (OldHostDockSite.FDockClients<>nil) then
|
||||
OldHostDockSite.FDockClients.Remove(Self);
|
||||
if (NewDockSite<>nil) and (NewDockSite.FDockClients<>nil) then
|
||||
NewDockSite.FDockClients.Add(Self);
|
||||
end;
|
||||
|
||||
DoDock(NewDockSite,ARect);
|
||||
|
||||
if FHostDockSite<>NewDockSite then
|
||||
begin
|
||||
// HostDockSite has changed -> commit
|
||||
OldHostDockSite := FHostDockSite;
|
||||
FHostDockSite := NewDockSite;
|
||||
if NewDockSite<>nil then NewDockSite.DoAddDockClient(Self,ARect);
|
||||
if OldHostDockSite<>nil then OldHostDockSite.DoRemoveDockClient(Self);
|
||||
end;
|
||||
finally
|
||||
Exclude(FControlState, csDocking);
|
||||
end;
|
||||
end;
|
||||
|
||||
function TControl.ManualDock(NewDockSite: TWinControl; DropControl: TControl;
|
||||
ControlSide: TAlign): Boolean;
|
||||
var
|
||||
NewBounds: TRect;
|
||||
begin
|
||||
// ToDo
|
||||
Result:=false;
|
||||
if (NewDockSite=nil) then begin
|
||||
// undock / float this control
|
||||
if (HostDockSite<>nil) and HostDockSite.UseDockManager
|
||||
and (HostDockSite.DockManager<>nil) then begin
|
||||
HostDockSite.DockManager.GetControlBounds(Self,NewBounds);
|
||||
// ToDo
|
||||
RaiseGDBException('MapWindowPoints not yet implemented');
|
||||
//MapWindowPoints(HostDockSite.Handle, 0, NewBounds.TopLeft, 2);
|
||||
end
|
||||
else begin
|
||||
NewBounds.Left:=Left;
|
||||
NewBounds.Top:=Top;
|
||||
if Parent<>nil then
|
||||
NewBounds.TopLeft := Parent.ClientToScreen(NewBounds.TopLeft);
|
||||
end;
|
||||
NewBounds := Bounds(NewBounds.Left,NewBounds.Top,UndockWidth,UndockHeight);
|
||||
Result := ManualFloat(NewBounds);
|
||||
end
|
||||
else
|
||||
begin
|
||||
// dock / unfloat this control
|
||||
// ToDo
|
||||
RaiseGDBException('TControl.ManualDock docking not yet implemented');
|
||||
end;
|
||||
end;
|
||||
|
||||
function TControl.ManualFloat(ScreenPos: TRect): Boolean;
|
||||
@ -2924,6 +3054,9 @@ end;
|
||||
|
||||
{ =============================================================================
|
||||
$Log$
|
||||
Revision 1.187 2004/05/30 14:02:30 mattias
|
||||
implemented OnChange for TRadioButton, TCheckBox, TToggleBox and some more docking stuff
|
||||
|
||||
Revision 1.186 2004/05/15 20:17:09 mattias
|
||||
replaced WMSize by DoSetBounds
|
||||
|
||||
|
@ -30,16 +30,10 @@
|
||||
- lots of unknown issues
|
||||
|
||||
TODO:
|
||||
|
||||
- check for Delphi compatibility
|
||||
- test if fState / Checked is always set right
|
||||
|
||||
Bugs:
|
||||
|
||||
- Seems as if you can't (yet) use the State/Checked properties in
|
||||
the OnClick handler. Not sure if there some bug inside this class
|
||||
or if the Callback is called before the state of the component has
|
||||
been updated.
|
||||
}
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
@ -49,7 +43,7 @@
|
||||
|
||||
Set new state of the checkbox.
|
||||
------------------------------------------------------------------------------}
|
||||
procedure TCustomCheckBox.SetState(Value : TCheckBoxState);
|
||||
procedure TCustomCheckBox.SetState(Value: TCheckBoxState);
|
||||
begin
|
||||
if FState <> Value then
|
||||
begin
|
||||
@ -66,11 +60,27 @@ end;
|
||||
Get current state of the checkbox. To get the real state a call to the
|
||||
interface is made here.
|
||||
------------------------------------------------------------------------------}
|
||||
function TCustomCheckBox.GetState : TCheckBoxState;
|
||||
function TCustomCheckBox.GetState: TCheckBoxState;
|
||||
begin
|
||||
fState:=RetrieveState;
|
||||
Result := fState;
|
||||
end;
|
||||
|
||||
procedure TCustomCheckBox.DoChange(var Msg);
|
||||
var
|
||||
NewState: TCheckBoxState;
|
||||
begin
|
||||
NewState:=RetrieveState;
|
||||
if FState=NewState then exit;
|
||||
FState:=RetrieveState;
|
||||
DoOnChange;
|
||||
end;
|
||||
|
||||
function TCustomCheckBox.RetrieveState: TCheckBoxState;
|
||||
begin
|
||||
Result:=FState;
|
||||
if HandleAllocated
|
||||
then CNSendMessage (LM_GETVALUE, Self, @fState); // get the actual state of the component
|
||||
GetState := fState;
|
||||
then CNSendMessage (LM_GETVALUE, Self, @Result); // get the actual state of the component
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
@ -198,6 +208,9 @@ end;
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.21 2004/05/30 14:02:30 mattias
|
||||
implemented OnChange for TRadioButton, TCheckBox, TToggleBox and some more docking stuff
|
||||
|
||||
Revision 1.20 2004/04/18 23:55:39 marc
|
||||
* Applied patch from Ladislav Michl
|
||||
* Changed the way TControl.Text is resolved
|
||||
|
@ -154,33 +154,52 @@ end;
|
||||
|
||||
procedure TDragDockObject.SetBrush(Value: TBrush);
|
||||
begin
|
||||
|
||||
if FBrush=nil then FBrush:=TBrush.Create;
|
||||
FBrush.Assign(Value);
|
||||
end;
|
||||
|
||||
procedure TDragDockObject.AdjustDockRect(ARect: TRect);
|
||||
begin
|
||||
|
||||
function AbsMin(Value1, Value2: Integer): Integer;
|
||||
begin
|
||||
if Abs(Value1) < Abs(Value2) then Result := Value1
|
||||
else Result := Value2;
|
||||
end;
|
||||
|
||||
var
|
||||
DeltaX, DeltaY: Integer;
|
||||
begin
|
||||
if (FDragPos.x<ARect.Left) or (FDragPos.x>ARect.Right) then
|
||||
DeltaX := AbsMin(ARect.Left-FDragPos.x,ARect.Right-FDragPos.x)
|
||||
else
|
||||
DeltaX := 0;
|
||||
if (FDragPos.y<ARect.Top) or (FDragPos.y>ARect.Bottom) then
|
||||
DeltaY := AbsMin(ARect.Top-FDragPos.y,ARect.Bottom-FDragPos.y)
|
||||
else
|
||||
DeltaY := 0;
|
||||
if (DeltaX<>0) or (DeltaY<>0) then
|
||||
OffsetRect(FDockRect, -DeltaX, -DeltaY);
|
||||
end;
|
||||
|
||||
procedure TDragDockObject.DrawDragDockImage;
|
||||
begin
|
||||
|
||||
FControl.DrawDragDockImage(Self);
|
||||
end;
|
||||
|
||||
procedure TDragDockObject.EndDrag(Target: TObject; X, Y: Integer);
|
||||
begin
|
||||
inherited EndDrag(Target, X, Y);
|
||||
FControl.DoEndDock(Target, X, Y);
|
||||
end;
|
||||
|
||||
procedure TDragDockObject.EraseDragDockImage;
|
||||
begin
|
||||
|
||||
FControl.EraseDragDockImage(Self);
|
||||
end;
|
||||
|
||||
function TDragDockObject.GetDragCursor(Accepted: Boolean; X, Y: Integer
|
||||
): TCursor;
|
||||
begin
|
||||
Result:=inherited GetDragCursor(Accepted, X, Y);
|
||||
Result := crDefault;
|
||||
end;
|
||||
|
||||
function TDragDockObject.GetFrameWidth: Integer;
|
||||
@ -195,6 +214,7 @@ end;
|
||||
|
||||
destructor TDragDockObject.Destroy;
|
||||
begin
|
||||
FreeThenNil(FBrush);
|
||||
inherited Destroy;
|
||||
end;
|
||||
|
||||
|
@ -2447,15 +2447,18 @@ end;
|
||||
|
||||
function TWinControl.GetDockClientCount: Integer;
|
||||
begin
|
||||
// ToDo
|
||||
Result:=0;
|
||||
if FDockClients<>nil then
|
||||
Result := FDockClients.Count
|
||||
else
|
||||
Result := 0;
|
||||
end;
|
||||
|
||||
function TWinControl.GetDockClients(Index: Integer): TControl;
|
||||
begin
|
||||
// ToDo
|
||||
RaiseGDBException('not implemented');
|
||||
Result:=nil;
|
||||
if FDockClients<>nil then
|
||||
Result := TControl(FDockClients[Index])
|
||||
else
|
||||
Result := nil;
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------}
|
||||
@ -2568,6 +2571,7 @@ begin
|
||||
|
||||
FreeThenNil(FBrush);
|
||||
FreeThenNil(FChildSizing);
|
||||
FreeThenNil(FDockClients);
|
||||
//DebugLn('[TWinControl.Destroy] D ',Name,':',ClassName);
|
||||
inherited Destroy;
|
||||
//DebugLn('[TWinControl.Destroy] END ',Name,':',ClassName);
|
||||
@ -3334,9 +3338,12 @@ begin
|
||||
end;
|
||||
|
||||
function TWinControl.GetVisibleDockClientCount: Integer;
|
||||
var
|
||||
i: integer;
|
||||
begin
|
||||
// ToDo
|
||||
Result:=0;
|
||||
Result := 0;
|
||||
for i:=FDockClients.Count-1 downto 0 do
|
||||
if TControl(FDockClients[I]).Visible then inc(Result);
|
||||
end;
|
||||
|
||||
procedure TWinControl.SetChildSizing(const AValue: TControlChildSizing);
|
||||
@ -3345,10 +3352,26 @@ begin
|
||||
FChildSizing.Assign(AValue);
|
||||
end;
|
||||
|
||||
procedure TWinControl.SetDockSite(const AValue: Boolean);
|
||||
procedure TWinControl.SetDockSite(const NewDockSite: Boolean);
|
||||
begin
|
||||
if FDockSite=AValue then exit;
|
||||
FDockSite:=AValue;
|
||||
if FDockSite=NewDockSite then exit;
|
||||
FDockSite := NewDockSite;
|
||||
if not (csDesigning in ComponentState) then begin
|
||||
// ToDo
|
||||
RaiseGDBException('RegisterDockSite not yet implemented');
|
||||
//RegisterDockSite(Self,NewDockSite);
|
||||
if not NewDockSite then begin
|
||||
FreeThenNil(FDockClients);
|
||||
FDockClients := nil;
|
||||
FDockManager := nil;
|
||||
end
|
||||
else begin
|
||||
if FDockClients = nil then FDockClients := TList.Create;
|
||||
// ToDo
|
||||
RaiseGDBException('CreateDockManager not yet implemented');
|
||||
//FDockManager := CreateDockManager;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
@ -3554,6 +3577,9 @@ end;
|
||||
{ =============================================================================
|
||||
|
||||
$Log$
|
||||
Revision 1.234 2004/05/30 14:02:30 mattias
|
||||
implemented OnChange for TRadioButton, TCheckBox, TToggleBox and some more docking stuff
|
||||
|
||||
Revision 1.233 2004/05/22 14:35:32 mattias
|
||||
fixed button return key
|
||||
|
||||
|
@ -301,7 +301,7 @@ begin
|
||||
Mess.Msg := LM_ACTIVATE;
|
||||
Mess.Result := 0;
|
||||
DeliverMessage(Data, Mess);
|
||||
//DebugLn('gtkactivateCB ',Result);
|
||||
//DebugLn('gtkactivateCB ',TWinControl(Data).Name,':',TWinControl(Data).ClassName);
|
||||
|
||||
Result := CallBackDefaultReturn;
|
||||
end;
|
||||
@ -386,6 +386,24 @@ end;
|
||||
|
||||
|
||||
{$Ifdef GTK1}
|
||||
|
||||
function gtktoggledCB( widget: PGtkWidget; data: gPointer): GBoolean; cdecl;
|
||||
var
|
||||
Mess : TLMessage;
|
||||
begin
|
||||
Result:= True;
|
||||
EventTrace('toggled', data);
|
||||
|
||||
if LockOnChange(PgtkObject(Widget),0) > 0 then Exit;
|
||||
|
||||
Mess.Msg := LM_CHANGED;
|
||||
Mess.Result := 0;
|
||||
DeliverMessage(Data, Mess);
|
||||
//DebugLn('gtktoggledCB ',TWinControl(Data).Name,':',TWinControl(Data).ClassName);
|
||||
|
||||
Result := CallBackDefaultReturn;
|
||||
end;
|
||||
|
||||
function gtkDrawAfter(Widget: PGtkWidget; area: PGDKRectangle;
|
||||
data: gPointer) : GBoolean; cdecl;
|
||||
var
|
||||
@ -3087,6 +3105,9 @@ end;
|
||||
{ =============================================================================
|
||||
|
||||
$Log$
|
||||
Revision 1.233 2004/05/30 14:02:30 mattias
|
||||
implemented OnChange for TRadioButton, TCheckBox, TToggleBox and some more docking stuff
|
||||
|
||||
Revision 1.232 2004/05/22 14:35:32 mattias
|
||||
fixed button return key
|
||||
|
||||
|
@ -4489,6 +4489,8 @@ begin
|
||||
else
|
||||
if ALCLObject is TCustomMemo then
|
||||
ConnectSenderSignal(gCore, 'changed', @gtkchanged_editbox)
|
||||
else if ALCLObject is TCustomCheckbox then
|
||||
ConnectSenderSignal(gObject, 'toggled', @gtktoggledCB)
|
||||
else
|
||||
ConnectSenderSignal(gObject, 'changed', @gtkchanged_editbox);
|
||||
end;
|
||||
@ -5111,6 +5113,11 @@ begin
|
||||
Begin
|
||||
SetCallback(LM_CLICKED, AGTKObject, ALCLObject);
|
||||
End;
|
||||
|
||||
csRadioButton, csCheckBox, csToggleBox:
|
||||
begin
|
||||
SetCallback(LM_CHANGED, AGTKObject, ALCLObject);
|
||||
end;
|
||||
|
||||
csCalendar:
|
||||
Begin
|
||||
@ -9204,6 +9211,9 @@ end;
|
||||
{ =============================================================================
|
||||
|
||||
$Log$
|
||||
Revision 1.506 2004/05/30 14:02:31 mattias
|
||||
implemented OnChange for TRadioButton, TCheckBox, TToggleBox and some more docking stuff
|
||||
|
||||
Revision 1.505 2004/05/22 14:59:23 mattias
|
||||
fixed multi update of TStatusBar
|
||||
|
||||
|
@ -95,6 +95,7 @@ function gtkactivateCB(widget: PGtkWidget; data: gPointer): GBoolean; cdecl;
|
||||
function gtkchangedCB( widget: PGtkWidget; data: gPointer): GBoolean; cdecl;
|
||||
function gtkchanged_editbox( widget: PGtkWidget; data: gPointer): GBoolean; cdecl;
|
||||
function gtkdaychanged(Widget: PGtkWidget; data: gPointer): GBoolean; cdecl;
|
||||
function gtktoggledCB( widget: PGtkWidget; data: gPointer): GBoolean; cdecl;
|
||||
{$IfNdef GTK2}
|
||||
function gtkDrawAfter(Widget: PGtkWidget; area: PGDKRectangle;
|
||||
data: gPointer): GBoolean; cdecl;
|
||||
|
@ -35,7 +35,7 @@ uses
|
||||
////////////////////////////////////////////////////
|
||||
// StdCtrls,
|
||||
////////////////////////////////////////////////////
|
||||
WSStdCtrls, WSLCLClasses;
|
||||
WSStdCtrls, WSLCLClasses, GtkInt;
|
||||
|
||||
type
|
||||
|
||||
|
@ -773,8 +773,10 @@ type
|
||||
FState: TCheckBoxState;
|
||||
FShortCut : TLMShortcut;
|
||||
procedure SetState(Value: TCheckBoxState);
|
||||
function GetState : TCheckBoxState;
|
||||
function GetState: TCheckBoxState;
|
||||
procedure DoChange(var Msg); message LM_CHANGED;
|
||||
protected
|
||||
function RetrieveState: TCheckBoxState;
|
||||
procedure InitializeWnd; override;
|
||||
procedure Toggle; virtual;
|
||||
function GetChecked: Boolean; override;
|
||||
@ -786,8 +788,9 @@ type
|
||||
public
|
||||
property AllowGrayed: Boolean read FAllowGrayed write FAllowGrayed;
|
||||
property State: TCheckBoxState read GetState write SetState;
|
||||
published
|
||||
property TabStop default true;
|
||||
property UseOnChange;
|
||||
property OnChange;
|
||||
end;
|
||||
|
||||
{$IFNDef NewCheckBox}
|
||||
@ -800,19 +803,20 @@ type
|
||||
constructor Create(AOwner: TComponent); override;
|
||||
published
|
||||
property Action;
|
||||
property AllowGrayed;
|
||||
property Align;
|
||||
property AllowGrayed;
|
||||
property Anchors;
|
||||
property AutoSize;
|
||||
property Caption;
|
||||
property Constraints;
|
||||
property Checked;
|
||||
property Constraints;
|
||||
property DragCursor;
|
||||
property DragKind;
|
||||
property DragMode;
|
||||
property Enabled;
|
||||
property Hint;
|
||||
property OnChange;
|
||||
property OnChangeBounds;
|
||||
property OnClick;
|
||||
property OnDragDrop;
|
||||
property OnDragOver;
|
||||
@ -822,7 +826,6 @@ type
|
||||
property OnMouseDown;
|
||||
property OnMouseMove;
|
||||
property OnMouseUp;
|
||||
property OnChangeBounds;
|
||||
property OnResize;
|
||||
property OnStartDrag;
|
||||
property ParentShowHint;
|
||||
@ -928,18 +931,12 @@ type
|
||||
property Anchors;
|
||||
property Caption;
|
||||
property Checked;
|
||||
property State;
|
||||
property Visible;
|
||||
property Enabled;
|
||||
property DragCursor;
|
||||
property DragKind;
|
||||
property DragMode;
|
||||
property Enabled;
|
||||
property Hint;
|
||||
property ParentShowHint;
|
||||
property PopupMenu;
|
||||
property ShowHint;
|
||||
property TabOrder;
|
||||
property TabStop;
|
||||
property OnChange;
|
||||
property OnClick;
|
||||
property OnDragDrop;
|
||||
property OnDragOver;
|
||||
@ -950,6 +947,14 @@ type
|
||||
property OnMouseMove;
|
||||
property OnMouseUp;
|
||||
property OnStartDrag;
|
||||
property ParentShowHint;
|
||||
property PopupMenu;
|
||||
property ShowHint;
|
||||
property State;
|
||||
property TabOrder;
|
||||
property TabStop;
|
||||
property UseOnChange;
|
||||
property Visible;
|
||||
end;
|
||||
|
||||
|
||||
@ -963,24 +968,19 @@ type
|
||||
constructor Create(TheOwner: TComponent); override;
|
||||
published
|
||||
property Align;
|
||||
property AllowGrayed;
|
||||
property Anchors;
|
||||
property AutoSize;
|
||||
property AllowGrayed;
|
||||
property Caption;
|
||||
property Checked;
|
||||
property Constraints;
|
||||
property State;
|
||||
property Visible;
|
||||
property Enabled;
|
||||
property DragCursor;
|
||||
property DragKind;
|
||||
property DragMode;
|
||||
property Enabled;
|
||||
property Hint;
|
||||
property ParentShowHint;
|
||||
property PopupMenu;
|
||||
property ShowHint;
|
||||
property TabOrder;
|
||||
property TabStop;
|
||||
property OnChange;
|
||||
property OnChangeBounds;
|
||||
property OnClick;
|
||||
property OnDragDrop;
|
||||
property OnDragOver;
|
||||
@ -988,13 +988,20 @@ type
|
||||
property OnEnter;
|
||||
property OnExit;
|
||||
property OnMouseDown;
|
||||
property OnMouseMove;
|
||||
property OnMouseUp;
|
||||
property OnMouseEnter;
|
||||
property OnMouseLeave;
|
||||
property OnChangeBounds;
|
||||
property OnMouseMove;
|
||||
property OnMouseUp;
|
||||
property OnResize;
|
||||
property OnStartDrag;
|
||||
property ParentShowHint;
|
||||
property PopupMenu;
|
||||
property ShowHint;
|
||||
property State;
|
||||
property TabOrder;
|
||||
property TabStop;
|
||||
property UseOnChange;
|
||||
property Visible;
|
||||
end;
|
||||
|
||||
|
||||
@ -1549,6 +1556,9 @@ end.
|
||||
{ =============================================================================
|
||||
|
||||
$Log$
|
||||
Revision 1.146 2004/05/30 14:02:30 mattias
|
||||
implemented OnChange for TRadioButton, TCheckBox, TToggleBox and some more docking stuff
|
||||
|
||||
Revision 1.145 2004/05/21 18:34:44 mattias
|
||||
readded protected TWinControl.BorderStyle
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user