From: <ah...@us...> - 2007-11-15 12:45:15
|
Revision: 11573 http://jvcl.svn.sourceforge.net/jvcl/?rev=11573&view=rev Author: ahuser Date: 2007-11-15 04:45:12 -0800 (Thu, 15 Nov 2007) Log Message: ----------- More JVCL.NET Modified Paths: -------------- trunk/jvcl/run/JvAppStoragePropertyEngineDB.pas trunk/jvcl/run/JvComCtrls.pas trunk/jvcl/run/JvDBGrid.pas trunk/jvcl/run/JvDBGridSelectColumnForm.dfm trunk/jvcl/run/JvDBGridSelectColumnForm.pas trunk/jvcl/run/JvDBLookup.pas trunk/jvcl/run/JvFixedEditPopUp.pas trunk/jvcl/run/JvJCLUtils.pas trunk/jvcl/run/JvJVCLUtils.pas trunk/jvcl/run/JvListBox.pas trunk/jvcl/run/JvToolEdit.pas trunk/jvcl/run/JvTypes.pas Added Paths: ----------- trunk/jvcl/packages/d11.net/ trunk/jvcl/packages/d11.net/Jedi.Jvcl.dpk trunk/jvcl/packages/d11.net/Jedi.Jvcl.dproj Added: trunk/jvcl/packages/d11.net/Jedi.Jvcl.dpk =================================================================== --- trunk/jvcl/packages/d11.net/Jedi.Jvcl.dpk (rev 0) +++ trunk/jvcl/packages/d11.net/Jedi.Jvcl.dpk 2007-11-15 12:45:12 UTC (rev 11573) @@ -0,0 +1,223 @@ +package Jedi.Jvcl; + + +{$ALIGN 0} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO ON} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS ON} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION ON} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO ON} +{$SAFEDIVIDE OFF} +{$STACKFRAMES OFF} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$DESCRIPTION 'JEDI Component Library for .NET'} +{$RUNONLY} +{$IMPLICITBUILD ON} +{$DEFINE DEBUG} + +requires + System, + System.Drawing, + Jedi.Jcl, + Borland.Delphi, + Borland.VclXmlRtl, + Borland.VclRtl, + Borland.VclX, + Borland.VclDbRtl, + Borland.Vcl, + Borland.VclDbCtrls; + +contains + JvAppStorage in '..\..\run\JvAppStorage.pas', + JvJVCLUtils in '..\..\run\JvJVCLUtils.pas', + JvJCLUtils in '..\..\run\JvJCLUtils.pas', + JvExControls in '..\..\run\JvExControls.pas', + JvExStdCtrls in '..\..\run\JvExStdCtrls.pas', + JvExButtons in '..\..\run\JvExButtons.pas', + JvExCheckLst in '..\..\run\JvExCheckLst.pas', + JvExComCtrls in '..\..\run\JvExComCtrls.pas', + JvExExtCtrls in '..\..\run\JvExExtCtrls.pas', + JvExForms in '..\..\run\JvExForms.pas', + JvExMask in '..\..\run\JvExMask.pas', + JvBehaviorLabel in '..\..\run\JvBehaviorLabel.pas', + JvBaseEdits in '..\..\run\JvBaseEdits.pas', + JvToolEdit in '..\..\run\JvToolEdit.pas', + JvPickDate in '..\..\run\JvPickDate.pas', + JvEdit in '..\..\run\JvEdit.pas', + JvCheckBox in '..\..\run\JvCheckBox.pas', + JvCaptionPanel in '..\..\run\JvCaptionPanel.pas', + JvButtonPersistent in '..\..\run\JvButtonPersistent.pas', + JvConsts in '..\..\common\JvConsts.pas', + JVCLVer in '..\..\run\JVCLVer.pas', + JvComponent in '..\..\run\JvComponent.pas', + JvComponentBase in '..\..\run\JvComponentBase.pas' {JvComponentBase.TJvComponent: System.ComponentModel.Component}, + JvResources in '..\..\run\JvResources.pas', + JvTypes in '..\..\run\JvTypes.pas', + JvProgressBar in '..\..\run\JvProgressBar.pas', + JvProgressUtils in '..\..\run\JvProgressUtils.pas', + JvThemes in '..\..\run\JvThemes.pas', + JvButton in '..\..\run\JvButton.pas', + JvSpeedButton in '..\..\run\JvSpeedButton.pas', + JvExGrids in '..\..\run\JvExGrids.pas', + JvBaseDlg in '..\..\run\JvBaseDlg.pas', + JvCalc in '..\..\run\JvCalc.pas', + JvCaret in '..\..\run\JvCaret.pas', + JvMaxPixel in '..\..\run\JvMaxPixel.pas', + JvFixedEditPopUp in '..\..\run\JvFixedEditPopUp.pas', + JvLinkedControls in '..\..\run\JvLinkedControls.pas', + JvPropertyStore in '..\..\run\JvPropertyStore.pas', + JvAlarms in '..\..\run\JvAlarms.pas' {JvAlarms.TJvAlarms: Jedi.Jvcl.TJvComponent}, + JvAnimate in '..\..\run\JvAnimate.pas', + JvAnimatedImage in '..\..\run\JvAnimatedImage.pas', + JvTimer in '..\..\run\JvTimer.pas', + JvAnimTitle in '..\..\run\JvAnimTitle.pas', + JvAppAnimatedIcon in '..\..\run\JvAppAnimatedIcon.pas', + JvAppEvent in '..\..\run\JvAppEvent.pas', + JvAppIniStorage in '..\..\run\JvAppIniStorage.pas', + JvAppStorageSelectList in '..\..\run\JvAppStorageSelectList.pas' {JvAppStorageSelectList.TJvAppStorageSelectList: Jedi.Jvcl.TJvComponent}, + JvDynControlEngineTools in '..\..\run\JvDynControlEngineTools.pas', + JvDynControlEngineVCL in '..\..\run\JvDynControlEngineVCL.pas', + JvDynControlEngine in '..\..\run\JvDynControlEngine.pas', + JvDynControlEngineIntf in '..\..\run\JvDynControlEngineIntf.pas', + JvSimpleXml in '..\..\run\JvSimpleXml.pas' {JvSimpleXml.TJvSimpleXML: System.ComponentModel.Component}, + JvAppXMLStorage in '..\..\run\JvAppXMLStorage.pas' {JvAppXMLStorage.TJvCustomAppXMLStorage: Jedi.Jvcl.TJvCustomAppMemoryFileStorage}, + JvArrayButton in '..\..\run\JvArrayButton.pas', + JvArrowButton in '..\..\run\JvArrowButton.pas', + JvaScrollText in '..\..\run\JvaScrollText.pas', + JvVCL5Utils in '..\..\run\JvVCL5Utils.pas', + JvDsgnIntf in '..\..\run\JvDsgnIntf.pas', + JvAutoComplete in '..\..\run\JvAutoComplete.pas' {JvAutoComplete.TJvControlAutoComplete: System.ComponentModel.Component}, + JvBaseThumbnail in '..\..\run\JvBaseThumbnail.pas', + JvBevel in '..\..\run\JvBevel.pas', + JvBitBtn in '..\..\run\JvBitBtn.pas', + JvBitmapButton in '..\..\run\JvBitmapButton.pas', + JvBmpAnimator in '..\..\run\JvBmpAnimator.pas', + JvChangeNotify in '..\..\run\JvChangeNotify.pas', + JvCharMap in '..\..\run\JvCharMap.pas', + JvChart in '..\..\run\JvChart.pas', + JvCheckedMaskEdit in '..\..\run\JvCheckedMaskEdit.pas', + JvMaskEdit in '..\..\run\JvMaskEdit.pas', + JvItemsSearchs in '..\..\run\JvItemsSearchs.pas', + JvCheckListBox in '..\..\run\JvCheckListBox.pas', + JvCheckTreeView in '..\..\run\JvCheckTreeView.pas', + JvComCtrls in '..\..\run\JvComCtrls.pas', + JvWndProcHook in '..\..\run\JvWndProcHook.pas', + JvIconList in '..\..\run\JvIconList.pas', + JvAppCommand in '..\..\run\JvAppCommand.pas', + JvxCheckListBox in '..\..\run\JvxCheckListBox.pas', + JvBoxProcs in '..\..\run\JvBoxProcs.pas', + JvPropertyStorage in '..\..\run\JvPropertyStorage.pas', + JvFormPlacement in '..\..\run\JvFormPlacement.pas', + JvFormPlacementSelectList in '..\..\run\JvFormPlacementSelectList.pas', + JvClock in '..\..\run\JvClock.pas', + JvColorBox in '..\..\run\JvColorBox.pas', + JvColorButton in '..\..\run\JvColorButton.pas', + JvColorCombo in '..\..\run\JvColorCombo.pas', + JvColorForm in '..\..\run\JvColorForm.pas', + JvDataProviderIntf in '..\..\run\JvDataProviderIntf.pas', + JvCombobox in '..\..\run\JvCombobox.pas', + JvComboListBox in '..\..\run\JvComboListBox.pas', + JvListBox in '..\..\run\JvListBox.pas', + JvCtrls in '..\..\run\JvCtrls.pas', + JvDataProvider in '..\..\run\JvDataProvider.pas', + JvWin32 in '..\..\common\JvWin32.pas', + JvExtComponent in '..\..\run\JvExtComponent.pas', + JvPoweredBy in '..\..\run\JvPoweredBy.pas', + JvConverter in '..\..\run\JvConverter.pas', + JvDataEmbedded in '..\..\run\JvDataEmbedded.pas' {JvDataEmbedded.TJvComponentEmbedded: System.ComponentModel.Component}, + JvEnterTab in '..\..\run\JvEnterTab.pas', + JvMergeManager in '..\..\run\JvMergeManager.pas' {JvMergeManager.TJvMergeManager: Jedi.Jvcl.TJvComponent}, + JvPageManager in '..\..\run\JvPageManager.pas', + JvDBUtils in '..\..\run\JvDBUtils.pas', + JvDataSourceIntf in '..\..\run\JvDataSourceIntf.pas', + JvTranslateString in '..\..\run\JvTranslateString.pas', + JvStrings in '..\..\run\JvStrings.pas', + JvDBGrid in '..\..\run\JvDBGrid.pas', + JvDBGridSelectColumnForm in '..\..\run\JvDBGridSelectColumnForm.pas', + JvDBLookup in '..\..\run\JvDBLookup.pas', + JvAppStoragePropertyEngineDB in '..\..\run\JvAppStoragePropertyEngineDB.pas', + JvExDBGrids in '..\..\run\JvExDBGrids.pas'; + +[assembly: AssemblyDescription('')] +[assembly: AssemblyConfiguration('')] +[assembly: AssemblyCompany('')] +[assembly: AssemblyProduct('')] +[assembly: AssemblyCopyright('')] +[assembly: AssemblyTrademark('')] +[assembly: AssemblyCulture('')] + + +// The Delphi compiler controls the AssemblyTitleAttribute via the ExeDescription. +// You can set this in the IDE via the Project Options. +// Manually setting the AssemblyTitle attribute below will override the IDE +// setting. +// [assembly: AssemblyTitle('')] + + +// +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Revision and Build Numbers +// by using the '*' as shown below: + +[assembly: AssemblyVersion('1.0.*')] + +// +// In order to sign your assembly you must specify a key to use. Refer to the +// Microsoft .NET Framework documentation for more information on assembly signing. +// +// Use the attributes below to control which key is used for signing. +// +// Notes: +// (*) If no key is specified, the assembly is not signed. +// (*) KeyName refers to a key that has been installed in the Crypto Service +// Provider (CSP) on your machine. KeyFile refers to a file which contains +// a key. +// (*) If the KeyFile and the KeyName values are both specified, the +// following processing occurs: +// (1) If the KeyName can be found in the CSP, that key is used. +// (2) If the KeyName does not exist and the KeyFile does exist, the key +// in the KeyFile is installed into the CSP and used. +// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility. +// When specifying the KeyFile, the location of the KeyFile should be +// relative to the project output directory. For example, if your KeyFile is +// located in the project directory, you would specify the AssemblyKeyFile +// attribute as [assembly: AssemblyKeyFile('mykey.snk')], provided your output +// directory is the project directory (the default). +// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework +// documentation for more information on this. +// +[assembly: AssemblyDelaySign(false)] +[assembly: AssemblyKeyFile('')] +[assembly: AssemblyKeyName('')] + +// +// Use the attributes below to control the COM visibility of your assembly. By +// default the entire assembly is visible to COM. Setting ComVisible to false +// is the recommended default for your assembly. To then expose a class and interface +// to COM set ComVisible to true on each one. It is also recommended to add a +// Guid attribute. +// + +[assembly: ComVisible(False)] +//[assembly: Guid('')] +//[assembly: TypeLibVersion(1, 0)] + +end. Added: trunk/jvcl/packages/d11.net/Jedi.Jvcl.dproj =================================================================== --- trunk/jvcl/packages/d11.net/Jedi.Jvcl.dproj (rev 0) +++ trunk/jvcl/packages/d11.net/Jedi.Jvcl.dproj 2007-11-15 12:45:12 UTC (rev 11573) @@ -0,0 +1,257 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <ProjectGuid>{0a1d647a-b7b5-4f94-94c2-cf0aa4e90e75}</ProjectGuid> + <MainSource>Jedi.Jvcl.dpk</MainSource> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <DCC_DCCCompiler>DCCIL</DCC_DCCCompiler> + <DCC_DependencyCheckOutputName>C:\Dokumente und Einstellungen\All Users\Dokumente\RAD Studio\5.0\Bpl\Jedi.Jvcl.dll</DCC_DependencyCheckOutputName> + <DCC_UsePackage>Borland.VclDbCtrls;Borland.VclDbRtl;Borland.Vcl;Borland.VclX;Borland.VclRtl;Borland.VclXmlRtl;Borland.Delphi;Jedi.Jcl;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Drawing.dll;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.dll</DCC_UsePackage> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <Version>7.0</Version> + <DCC_DebugInformation>False</DCC_DebugInformation> + <DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols> + <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo> + <DCC_Define>RELEASE</DCC_Define> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <Version>7.0</Version> + <DCC_DebugInfoInExe>True</DCC_DebugInfoInExe> + <DCC_DebugVN>True</DCC_DebugVN> + <DCC_Define>DEBUG</DCC_Define> + <DCC_Platform>x86</DCC_Platform> + <DCC_NameSpace>Borland.Vcl</DCC_NameSpace> + <DCC_DcuOutput>..\..\lib\d11.net</DCC_DcuOutput> + <DCC_ObjOutput>..\..\lib\d11.net</DCC_ObjOutput> + <DCC_HppOutput>..\..\lib\d11.net</DCC_HppOutput> + <DCC_DcpOutput>..\..\lib\d11.net</DCC_DcpOutput> + <DCC_UnitSearchPath>..\..\lib\d11.net;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;$(BDSCOMMONDIR)\Bpl;..\..\common;..\..\run;..\..\resources;z:\jedi\jcl\lib\d11.net;C:\Programme\Gemeinsame Dateien\CodeGear Shared\Rad Studio\Shared Assemblies\5.0;C:\WINDOWS\assembly\GAC_MSIL\Borland.VclRtl\11.0.5000.9245__91d62ebb5b0d1b1b</DCC_UnitSearchPath> + <DCC_ResourcePath>..\..\lib\d11.net;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;$(BDSCOMMONDIR)\Bpl;..\..\common;..\..\run;..\..\resources;z:\jedi\jcl\lib\d11.net;C:\Programme\Gemeinsame Dateien\CodeGear Shared\Rad Studio\Shared Assemblies\5.0;C:\WINDOWS\assembly\GAC_MSIL\Borland.VclRtl\11.0.5000.9245__91d62ebb5b0d1b1b</DCC_ResourcePath> + <DCC_IncludePath>..\..\lib\d11.net;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;$(BDSCOMMONDIR)\Bpl;..\..\common;..\..\run;..\..\resources;z:\jedi\jcl\lib\d11.net;C:\Programme\Gemeinsame Dateien\CodeGear Shared\Rad Studio\Shared Assemblies\5.0;C:\WINDOWS\assembly\GAC_MSIL\Borland.VclRtl\11.0.5000.9245__91d62ebb5b0d1b1b</DCC_IncludePath> + <DCC_SYMBOL_DEPRECATED>False</DCC_SYMBOL_DEPRECATED> + <DCC_SYMBOL_LIBRARY>False</DCC_SYMBOL_LIBRARY> + <DCC_SYMBOL_PLATFORM>False</DCC_SYMBOL_PLATFORM> + <DCC_UNIT_PLATFORM>False</DCC_UNIT_PLATFORM> + <DCC_WIDECHAR_REDUCED>False</DCC_WIDECHAR_REDUCED> + </PropertyGroup> + <ProjectExtensions> + <Borland.Personality>DelphiDotNet.Personality</Borland.Personality> + <Borland.ProjectType>Package</Borland.ProjectType> + <BorlandProject> +<BorlandProject><DelphiDotNet.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="ImplicitBuild">True</Package_Options><Package_Options Name="DesigntimeOnly">False</Package_Options><Package_Options Name="RuntimeOnly">True</Package_Options><Package_Options Name="PackageDescription">JEDI Component Library for .NET</Package_Options></Package_Options><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">1031</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Source><Source Name="MainSource">Jedi.Jvcl.dpk</Source></Source></DelphiDotNet.Personality></BorlandProject></BorlandProject> + </ProjectExtensions> + <ItemGroup> + <Reference Include="$(SystemRoot)\assembly\GAC_MSIL\Borland.VclRtl\11.0.5000.9245__91d62ebb5b0d1b1b\Borland.VclRtl.dll"> + <AssemblyName>Borland.VclRtl</AssemblyName> + <Version>11.0.5000.9245</Version> + <HintPath>$(SystemRoot)\assembly\GAC_MSIL\Borland.VclRtl\11.0.5000.9245__91d62ebb5b0d1b1b\Borland.VclRtl.dll</HintPath> + <AssemblyTag>$(SystemRoot)\assembly\GAC_MSIL\Borland.VclRtl\11.0.5000.9245__91d62ebb5b0d1b1b\Borland.VclRtl.dll</AssemblyTag> + <LinkUnits>False</LinkUnits> + </Reference> + <Reference Include="$(SystemRoot)\Microsoft.NET\Framework\v2.0.50727\System.dll"> + <AssemblyName>System</AssemblyName> + <Version>2.0.0.0</Version> + <HintPath>$(SystemRoot)\Microsoft.NET\Framework\v2.0.50727\System.dll</HintPath> + <AssemblyTag>$(SystemRoot)\Microsoft.NET\Framework\v2.0.50727\System.dll</AssemblyTag> + <LinkUnits>False</LinkUnits> + </Reference> + <Reference Include="$(SystemRoot)\Microsoft.NET\Framework\v2.0.50727\System.Drawing.dll"> + <AssemblyName>System.Drawing</AssemblyName> + <Version>2.0.0.0</Version> + <HintPath>$(SystemRoot)\Microsoft.NET\Framework\v2.0.50727\System.Drawing.dll</HintPath> + <AssemblyTag>$(SystemRoot)\Microsoft.NET\Framework\v2.0.50727\System.Drawing.dll</AssemblyTag> + <LinkUnits>False</LinkUnits> + </Reference> + <Reference Include="C:\Dokumente und Einstellungen\All Users\Dokumente\RAD Studio\5.0\Bpl\Jedi.Jcl.dll"> + <AssemblyName>Jedi.Jcl</AssemblyName> + <Project>{42539ECC-F491-48A0-929A-5B8FF3A9FB1F}</Project> + <Version>1.0.2874.40758</Version> + <HintPath>C:\Dokumente und Einstellungen\All Users\Dokumente\RAD Studio\5.0\Bpl\Jedi.Jcl.dll</HintPath> + <AssemblyTag>C:\Dokumente und Einstellungen\All Users\Dokumente\RAD Studio\5.0\Bpl\Jedi.Jcl.dll</AssemblyTag> + <LinkUnits>False</LinkUnits> + </Reference> + <Reference Include="C:\Programme\Gemeinsame Dateien\CodeGear Shared\Rad Studio\Shared Assemblies\5.0\Borland.Delphi.dll"> + <AssemblyName>Borland.Delphi</AssemblyName> + <Version>11.0.5000.9245</Version> + <HintPath>C:\Programme\Gemeinsame Dateien\CodeGear Shared\Rad Studio\Shared Assemblies\5.0\Borland.Delphi.dll</HintPath> + <AssemblyTag>C:\Programme\Gemeinsame Dateien\CodeGear Shared\Rad Studio\Shared Assemblies\5.0\Borland.Delphi.dll</AssemblyTag> + <LinkUnits>False</LinkUnits> + </Reference> + <Reference Include="C:\Programme\Gemeinsame Dateien\CodeGear Shared\Rad Studio\Shared Assemblies\5.0\Borland.Vcl.dll"> + <AssemblyName>Borland.Vcl</AssemblyName> + <Version>11.0.5000.9245</Version> + <HintPath>C:\Programme\Gemeinsame Dateien\CodeGear Shared\Rad Studio\Shared Assemblies\5.0\Borland.Vcl.dll</HintPath> + <AssemblyTag>C:\Programme\Gemeinsame Dateien\CodeGear Shared\Rad Studio\Shared Assemblies\5.0\Borland.Vcl.dll</AssemblyTag> + <LinkUnits>False</LinkUnits> + </Reference> + <Reference Include="C:\Programme\Gemeinsame Dateien\CodeGear Shared\Rad Studio\Shared Assemblies\5.0\Borland.VclDbCtrls.dll"> + <AssemblyName>Borland.VclDbCtrls</AssemblyName> + <Version>11.0.5000.9245</Version> + <HintPath>C:\Programme\Gemeinsame Dateien\CodeGear Shared\Rad Studio\Shared Assemblies\5.0\Borland.VclDbCtrls.dll</HintPath> + <AssemblyTag>C:\Programme\Gemeinsame Dateien\CodeGear Shared\Rad Studio\Shared Assemblies\5.0\Borland.VclDbCtrls.dll</AssemblyTag> + <LinkUnits>False</LinkUnits> + </Reference> + <Reference Include="C:\Programme\Gemeinsame Dateien\CodeGear Shared\Rad Studio\Shared Assemblies\5.0\Borland.VclDbRtl.dll"> + <AssemblyName>Borland.VclDbRtl</AssemblyName> + <Version>11.0.5000.9245</Version> + <HintPath>C:\Programme\Gemeinsame Dateien\CodeGear Shared\Rad Studio\Shared Assemblies\5.0\Borland.VclDbRtl.dll</HintPath> + <AssemblyTag>C:\Programme\Gemeinsame Dateien\CodeGear Shared\Rad Studio\Shared Assemblies\5.0\Borland.VclDbRtl.dll</AssemblyTag> + <LinkUnits>False</LinkUnits> + </Reference> + <Reference Include="C:\Programme\Gemeinsame Dateien\CodeGear Shared\Rad Studio\Shared Assemblies\5.0\Borland.VclX.dll"> + <AssemblyName>Borland.VclX</AssemblyName> + <Version>11.0.5000.9245</Version> + <HintPath>C:\Programme\Gemeinsame Dateien\CodeGear Shared\Rad Studio\Shared Assemblies\5.0\Borland.VclX.dll</HintPath> + <AssemblyTag>C:\Programme\Gemeinsame Dateien\CodeGear Shared\Rad Studio\Shared Assemblies\5.0\Borland.VclX.dll</AssemblyTag> + <LinkUnits>False</LinkUnits> + </Reference> + <Reference Include="C:\Programme\Gemeinsame Dateien\CodeGear Shared\Rad Studio\Shared Assemblies\5.0\Borland.VclXmlRtl.dll"> + <AssemblyName>Borland.VclXmlRtl</AssemblyName> + <Version>11.0.5000.9245</Version> + <HintPath>C:\Programme\Gemeinsame Dateien\CodeGear Shared\Rad Studio\Shared Assemblies\5.0\Borland.VclXmlRtl.dll</HintPath> + <AssemblyTag>C:\Programme\Gemeinsame Dateien\CodeGear Shared\Rad Studio\Shared Assemblies\5.0\Borland.VclXmlRtl.dll</AssemblyTag> + <LinkUnits>False</LinkUnits> + </Reference> + </ItemGroup> + <ItemGroup> + <DelphiCompile Include="Jedi.Jvcl.dpk"> + <MainSource>MainSource</MainSource> + </DelphiCompile> + <DCCReference Include="..\..\common\JvConsts.pas" /> + <DCCReference Include="..\..\common\JvWin32.pas" /> + <DCCReference Include="..\..\run\JvAlarms.pas"> + <Form>JvAlarms.TJvAlarms</Form> + <DesignClass>Jedi.Jvcl.TJvComponent</DesignClass> + </DCCReference> + <DCCReference Include="..\..\run\JvAnimate.pas" /> + <DCCReference Include="..\..\run\JvAnimatedImage.pas" /> + <DCCReference Include="..\..\run\JvAnimTitle.pas" /> + <DCCReference Include="..\..\run\JvAppAnimatedIcon.pas" /> + <DCCReference Include="..\..\run\JvAppCommand.pas" /> + <DCCReference Include="..\..\run\JvAppEvent.pas" /> + <DCCReference Include="..\..\run\JvAppIniStorage.pas" /> + <DCCReference Include="..\..\run\JvAppStorage.pas" /> + <DCCReference Include="..\..\run\JvAppStoragePropertyEngineDB.pas" /> + <DCCReference Include="..\..\run\JvAppStorageSelectList.pas"> + <Form>JvAppStorageSelectList.TJvAppStorageSelectList</Form> + <DesignClass>Jedi.Jvcl.TJvComponent</DesignClass> + </DCCReference> + <DCCReference Include="..\..\run\JvAppXMLStorage.pas"> + <Form>JvAppXMLStorage.TJvCustomAppXMLStorage</Form> + <DesignClass>Jedi.Jvcl.TJvCustomAppMemoryFileStorage</DesignClass> + </DCCReference> + <DCCReference Include="..\..\run\JvArrayButton.pas" /> + <DCCReference Include="..\..\run\JvArrowButton.pas" /> + <DCCReference Include="..\..\run\JvaScrollText.pas" /> + <DCCReference Include="..\..\run\JvAutoComplete.pas"> + <Form>JvAutoComplete.TJvControlAutoComplete</Form> + <DesignClass>System.ComponentModel.Component</DesignClass> + </DCCReference> + <DCCReference Include="..\..\run\JvBaseDlg.pas" /> + <DCCReference Include="..\..\run\JvBaseEdits.pas" /> + <DCCReference Include="..\..\run\JvBaseThumbnail.pas" /> + <DCCReference Include="..\..\run\JvBehaviorLabel.pas" /> + <DCCReference Include="..\..\run\JvBevel.pas" /> + <DCCReference Include="..\..\run\JvBitBtn.pas" /> + <DCCReference Include="..\..\run\JvBitmapButton.pas" /> + <DCCReference Include="..\..\run\JvBmpAnimator.pas" /> + <DCCReference Include="..\..\run\JvBoxProcs.pas" /> + <DCCReference Include="..\..\run\JvButton.pas" /> + <DCCReference Include="..\..\run\JvButtonPersistent.pas" /> + <DCCReference Include="..\..\run\JvCalc.pas" /> + <DCCReference Include="..\..\run\JvCaptionPanel.pas" /> + <DCCReference Include="..\..\run\JvCaret.pas" /> + <DCCReference Include="..\..\run\JvChangeNotify.pas" /> + <DCCReference Include="..\..\run\JvCharMap.pas" /> + <DCCReference Include="..\..\run\JvChart.pas" /> + <DCCReference Include="..\..\run\JvCheckBox.pas" /> + <DCCReference Include="..\..\run\JvCheckedMaskEdit.pas" /> + <DCCReference Include="..\..\run\JvCheckListBox.pas" /> + <DCCReference Include="..\..\run\JvCheckTreeView.pas" /> + <DCCReference Include="..\..\run\JvClock.pas" /> + <DCCReference Include="..\..\run\JVCLVer.pas" /> + <DCCReference Include="..\..\run\JvColorBox.pas" /> + <DCCReference Include="..\..\run\JvColorButton.pas" /> + <DCCReference Include="..\..\run\JvColorCombo.pas" /> + <DCCReference Include="..\..\run\JvColorForm.pas" /> + <DCCReference Include="..\..\run\JvCombobox.pas" /> + <DCCReference Include="..\..\run\JvComboListBox.pas" /> + <DCCReference Include="..\..\run\JvComCtrls.pas" /> + <DCCReference Include="..\..\run\JvComponent.pas" /> + <DCCReference Include="..\..\run\JvComponentBase.pas"> + <Form>JvComponentBase.TJvComponent</Form> + <DesignClass>System.ComponentModel.Component</DesignClass> + </DCCReference> + <DCCReference Include="..\..\run\JvConverter.pas" /> + <DCCReference Include="..\..\run\JvCtrls.pas" /> + <DCCReference Include="..\..\run\JvDataEmbedded.pas"> + <Form>JvDataEmbedded.TJvComponentEmbedded</Form> + <DesignClass>System.ComponentModel.Component</DesignClass> + </DCCReference> + <DCCReference Include="..\..\run\JvDataProvider.pas" /> + <DCCReference Include="..\..\run\JvDataProviderIntf.pas" /> + <DCCReference Include="..\..\run\JvDataSourceIntf.pas" /> + <DCCReference Include="..\..\run\JvDBGrid.pas" /> + <DCCReference Include="..\..\run\JvDBGridSelectColumnForm.pas" /> + <DCCReference Include="..\..\run\JvDBLookup.pas" /> + <DCCReference Include="..\..\run\JvDBUtils.pas" /> + <DCCReference Include="..\..\run\JvDsgnIntf.pas" /> + <DCCReference Include="..\..\run\JvDynControlEngine.pas" /> + <DCCReference Include="..\..\run\JvDynControlEngineIntf.pas" /> + <DCCReference Include="..\..\run\JvDynControlEngineTools.pas" /> + <DCCReference Include="..\..\run\JvDynControlEngineVCL.pas" /> + <DCCReference Include="..\..\run\JvEdit.pas" /> + <DCCReference Include="..\..\run\JvEnterTab.pas" /> + <DCCReference Include="..\..\run\JvExButtons.pas" /> + <DCCReference Include="..\..\run\JvExCheckLst.pas" /> + <DCCReference Include="..\..\run\JvExComCtrls.pas" /> + <DCCReference Include="..\..\run\JvExControls.pas" /> + <DCCReference Include="..\..\run\JvExDBGrids.pas" /> + <DCCReference Include="..\..\run\JvExExtCtrls.pas" /> + <DCCReference Include="..\..\run\JvExForms.pas" /> + <DCCReference Include="..\..\run\JvExGrids.pas" /> + <DCCReference Include="..\..\run\JvExMask.pas" /> + <DCCReference Include="..\..\run\JvExStdCtrls.pas" /> + <DCCReference Include="..\..\run\JvExtComponent.pas" /> + <DCCReference Include="..\..\run\JvFixedEditPopUp.pas" /> + <DCCReference Include="..\..\run\JvFormPlacement.pas" /> + <DCCReference Include="..\..\run\JvFormPlacementSelectList.pas" /> + <DCCReference Include="..\..\run\JvIconList.pas" /> + <DCCReference Include="..\..\run\JvItemsSearchs.pas" /> + <DCCReference Include="..\..\run\JvJCLUtils.pas" /> + <DCCReference Include="..\..\run\JvJVCLUtils.pas" /> + <DCCReference Include="..\..\run\JvLinkedControls.pas" /> + <DCCReference Include="..\..\run\JvListBox.pas" /> + <DCCReference Include="..\..\run\JvMaskEdit.pas" /> + <DCCReference Include="..\..\run\JvMaxPixel.pas" /> + <DCCReference Include="..\..\run\JvMergeManager.pas"> + <Form>JvMergeManager.TJvMergeManager</Form> + <DesignClass>Jedi.Jvcl.TJvComponent</DesignClass> + </DCCReference> + <DCCReference Include="..\..\run\JvPageManager.pas" /> + <DCCReference Include="..\..\run\JvPickDate.pas" /> + <DCCReference Include="..\..\run\JvPoweredBy.pas" /> + <DCCReference Include="..\..\run\JvProgressBar.pas" /> + <DCCReference Include="..\..\run\JvProgressUtils.pas" /> + <DCCReference Include="..\..\run\JvPropertyStorage.pas" /> + <DCCReference Include="..\..\run\JvPropertyStore.pas" /> + <DCCReference Include="..\..\run\JvResources.pas" /> + <DCCReference Include="..\..\run\JvSimpleXml.pas"> + <Form>JvSimpleXml.TJvSimpleXML</Form> + <DesignClass>System.ComponentModel.Component</DesignClass> + </DCCReference> + <DCCReference Include="..\..\run\JvSpeedButton.pas" /> + <DCCReference Include="..\..\run\JvStrings.pas" /> + <DCCReference Include="..\..\run\JvThemes.pas" /> + <DCCReference Include="..\..\run\JvTimer.pas" /> + <DCCReference Include="..\..\run\JvToolEdit.pas" /> + <DCCReference Include="..\..\run\JvTranslateString.pas" /> + <DCCReference Include="..\..\run\JvTypes.pas" /> + <DCCReference Include="..\..\run\JvVCL5Utils.pas" /> + <DCCReference Include="..\..\run\JvWndProcHook.pas" /> + <DCCReference Include="..\..\run\JvxCheckListBox.pas" /> + </ItemGroup> + <Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" /> +</Project> \ No newline at end of file Modified: trunk/jvcl/run/JvAppStoragePropertyEngineDB.pas =================================================================== --- trunk/jvcl/run/JvAppStoragePropertyEngineDB.pas 2007-11-15 00:15:09 UTC (rev 11572) +++ trunk/jvcl/run/JvAppStoragePropertyEngineDB.pas 2007-11-15 12:45:12 UTC (rev 11573) @@ -53,7 +53,7 @@ uses Classes, DBGrids, - JvVCL5Utils, JvAppStorage; + JvVCL5Utils, JvJCLUtils, JvAppStorage; type TJvAppStoragePropertyDBGridColumnsEngine = class(TJvAppStoragePropertyBaseEngine) @@ -79,13 +79,21 @@ const APath: string; AObject: TObject; AProperty: TObject; const Recursive, ClearFirst: Boolean); begin if Assigned(AObject) and (AObject is TCustomDBGrid) then + {$IFDEF CLR} + InvokeNonPublicMethod(AObject, 'BeginLayout', []); + {$ELSE} TAccessCustomDBGrid(AObject).BeginLayout; + {$ENDIF CLR} try if Assigned(AProperty) and (AProperty is TDBGridColumns) then AStorage.ReadCollection(APath, TCollection(AProperty), ClearFirst); finally if Assigned(AObject) and (AObject is TCustomDBGrid) then + {$IFDEF CLR} + InvokeNonPublicMethod(AObject, 'EndLayout', []); + {$ELSE} TAccessCustomDBGrid(AObject).EndLayout; + {$ENDIF CLR} end; end; Modified: trunk/jvcl/run/JvComCtrls.pas =================================================================== --- trunk/jvcl/run/JvComCtrls.pas 2007-11-15 00:15:09 UTC (rev 11572) +++ trunk/jvcl/run/JvComCtrls.pas 2007-11-15 12:45:12 UTC (rev 11573) @@ -45,7 +45,7 @@ JclUnitVersioning, {$ENDIF UNITVERSIONING} {$IFDEF CLR} - System.Runtime.InteropServices, System.Reflection, Borland.Vcl.WinUtils, + WinUtils, System.Runtime.InteropServices, {$ENDIF CLR} Windows, Messages, Contnrs, Graphics, Controls, Forms, Classes, // (ahuser) "Classes" after "Forms" (D5 warning) @@ -626,7 +626,6 @@ end; - {$IFDEF UNITVERSIONING} const UnitVersioning: TUnitVersionInfo = ( @@ -645,8 +644,6 @@ JvThemes, JvConsts, JvJCLUtils; - - const TVIS_CHECKED = $2000; @@ -943,9 +940,9 @@ // Must use GetParentForm to fix Mantis 2812, where it wasn't possible // to tab outside the control {$IFDEF CLR} - Control := TWinControl(ParentForm.GetType.GetMethod('FindNextControl').Invoke(ParentForm, [Self, not Previous, True, False])); + Control := TWinControl(InvokeNonPublicMethod(ParentForm, 'FindNextControl', [Self, not Previous, True, False])); {$ELSE} - Control := TWinControlAccess(ParentForm).FindNextControl(Self, not Previous, True, False); //True); + Control := TWinControlAccess(ParentForm).FindNextControl(Self, not Previous, True, False); {$ENDIF CLR} if Control <> nil then Control.SetFocus; @@ -2020,16 +2017,16 @@ end; type - TTabSheetAccessProtected = class(TTabSheet); + TAccessTabSheet = class(TTabSheet); function TJvPageControl.CanChange: Boolean; begin Result := inherited CanChange; if Result and (ActivePage <> nil) and ReduceMemoryUse then {$IFDEF CLR} - ActivePage.GetType.InvokeMember('DestroyHandle', BindingFlags.NonPublic or BindingFlags.InvokeMethod, nil, ActivePage, []); + InvokeNonPublicMethod(ActivePage, 'DestroyHandle', []); {$ELSE} - TTabSheetAccessProtected(ActivePage).DestroyHandle; + TAccessTabSheet(ActivePage).DestroyHandle; {$ENDIF} end; @@ -2062,8 +2059,6 @@ TabPainter := nil; end; - - //=== { TJvTrackBar } ======================================================== constructor TJvTrackBar.Create(AOwner: TComponent); @@ -2074,8 +2069,6 @@ FShowRange := True; end; - - procedure TJvTrackBar.CNHScroll(var Msg: TWMHScroll); begin if Msg.ScrollCode <> SB_ENDSCROLL then @@ -2116,8 +2109,6 @@ SendMessage(Handle, TBM_SETTIPSIDE, ToolTipSides[FToolTipSide], 0); end; - - procedure TJvTrackBar.MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin @@ -2135,7 +2126,6 @@ end; end; - procedure TJvTrackBar.SetToolTips(const Value: Boolean); begin if FToolTips <> Value then @@ -2194,8 +2184,6 @@ inherited; end; - - //=== { TJvTreeNode } ======================================================== class function TJvTreeNode.CreateEnh(AOwner: TTreeNodes): TJvTreeNode; @@ -2756,11 +2744,8 @@ end; procedure TJvTreeView.SetCheckBoxes(const Value: Boolean); - - var CurStyle: Integer; - begin if FCheckBoxes <> Value then begin @@ -3307,9 +3292,6 @@ end; end; - - - {$IFDEF UNITVERSIONING} initialization RegisterUnitVersion(HInstance, UnitVersioning); Modified: trunk/jvcl/run/JvDBGrid.pas =================================================================== --- trunk/jvcl/run/JvDBGrid.pas 2007-11-15 00:15:09 UTC (rev 11572) +++ trunk/jvcl/run/JvDBGrid.pas 2007-11-15 12:45:12 UTC (rev 11573) @@ -64,14 +64,16 @@ {$IFDEF UNITVERSIONING} JclUnitVersioning, {$ENDIF UNITVERSIONING} + {$IFDEF HAS_UNIT_TYPES} + Types, + {$ENDIF HAS_UNIT_TYPES} {$IFDEF CLR} WinUtils, {$ENDIF CLR} - Windows, Messages, - Classes, Graphics, Controls, Grids, Menus, DBGrids, DB, StdCtrls, - Contnrs, + Windows, Messages, Classes, Graphics, Controls, Grids, Menus, DBGrids, DB, + StdCtrls, Forms, Contnrs, JvTypes, {JvTypes contains Exception base class} - JvAppStorage, JvFormPlacement, JvExDBGrids; + JvAppStorage, JvFormPlacement, JvExDBGrids, JvDBUtils; const DefJvGridOptions = [dgEditing, dgTitles, dgIndicator, dgColumnResize, @@ -209,7 +211,7 @@ ColMoving: Boolean; // currently moving a column end; - TJvDBGrid = class(TJvExDBGrid) + TJvDBGrid = class(TJvExDBGrid, IJvDataControl) private FAutoSort: Boolean; FBeepOnError: Boolean; @@ -328,7 +330,7 @@ procedure WMChar(var Msg: TWMChar); message WM_CHAR; procedure WMCancelMode(var Msg: TMessage); message WM_CANCELMODE; procedure WMRButtonUp(var Msg: TWMMouse); message WM_RBUTTONUP; - procedure CMHintShow(var Msg: TMessage); message CM_HINTSHOW; + procedure CMHintShow(var Msg: TCMHintShow); message CM_HINTSHOW; procedure SetTitleArrow(const Value: Boolean); procedure ShowSelectColumnClick; procedure SetAlternateRowColor(const Value: TColor); @@ -404,6 +406,7 @@ procedure Scroll(Distance: Integer); override; procedure LayoutChanged; override; procedure TopLeftChanged; override; + procedure GridInvalidateRow(Row: Longint); procedure DrawColumnCell(const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); override; procedure ColWidthsChanged; override; @@ -413,7 +416,7 @@ var Index: Longint; var SizingPos, SizingOfs: Integer; var FixedInfo: TGridDrawInfo); override; procedure DoDrawColumnTitle(ACanvas: TCanvas; ARect: TRect; AColumn: TColumn; - var ASortMarker: TBitmap; IsDown: Boolean; var Offset: Integer; + var ASortMarker: TJvDBGridBitmap; IsDown: Boolean; var Offset: Integer; var DefaultDrawText, DefaultDrawSortMarker: Boolean); virtual; procedure ColEnter; override; procedure ColExit; override; @@ -441,6 +444,7 @@ procedure PlaceControl(Control: TWinControl; ACol, ARow: Integer); virtual; procedure RowHeightsChanged; override; + function GetDataLink: TDataLink; virtual; public constructor Create(AOwner: TComponent); override; destructor Destroy; override; @@ -578,16 +582,19 @@ implementation uses + {$IFDEF CLR} + System.Reflection, + {$ENDIF CLR} {$IFDEF HAS_UNIT_VARIANTS} Variants, {$ENDIF HAS_UNIT_VARIANTS} - SysUtils, Math, TypInfo, Forms, Dialogs, DBConsts, + SysUtils, Math, TypInfo, Dialogs, DBConsts, {$IFDEF COMPILER6_UP} StrUtils, JvDBLookup, {$ENDIF COMPILER6_UP} JvVCL5Utils, - JvConsts, JvResources, JvThemes, JvDBUtils, JvJCLUtils, JvJVCLUtils, + JvConsts, JvResources, JvThemes, JvJCLUtils, JvJVCLUtils, {$IFDEF COMPILER7_UP} GraphUtil, // => TScrollDirection, DrawArray(must be after JvJVCLUtils) {$ENDIF COMPILER7_UP} @@ -596,7 +603,9 @@ {$R JvDBGrid.res} type + {$IFNDEF CLR} TBookmarks = class(TBookmarkList); + {$ENDIF ~CLR} TGridPicture = (gpBlob, gpMemo, gpPicture, gpOle, gpObject, gpData, gpNotEmpty, gpMarkDown, gpMarkUp, gpChecked, gpUnChecked, gpPopup); {$IFNDEF COMPILER7_UP} @@ -604,7 +613,7 @@ {$ENDIF ~COMPILER7_UP} const - GridBmpNames: array [TGridPicture] of PChar = + GridBmpNames: array [TGridPicture] of {$IFDEF CLR}string{$ELSE}PChar{$ENDIF} = ('JvDBGridBLOB', 'JvDBGridMEMO', 'JvDBGridPICT', 'JvDBGridOLE', 'JvDBGridOBJECT', 'JvDBGridDATA', 'JvDBGridNOTEMPTY', 'JvDBGridSMDOWN', 'JvDBGridSMUP', 'JvDBGridCHECKED', 'JvDBGridUNCHECKED', 'JvDBGridPOPUP'); @@ -618,7 +627,7 @@ JvGridBool_UNCHECK = -1; var - GridBitmaps: array [TGridPicture] of TBitmap = + GridBitmaps: array [TGridPicture] of TJvDBGridBitmap = (nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil); FirstGridBitmaps: Boolean = True; @@ -630,26 +639,18 @@ FreeAndNil(GridBitmaps[I]); end; -function GetGridBitmap(BmpType: TGridPicture): TBitmap; +function GetGridBitmap(BmpType: TGridPicture): TJvDBGridBitmap; begin if GridBitmaps[BmpType] = nil then begin if FirstGridBitmaps then FirstGridBitmaps := False; - GridBitmaps[BmpType] := TBitmap.Create; + GridBitmaps[BmpType] := TJvDBGridBitmap.Create; GridBitmaps[BmpType].LoadFromResourceName(HInstance, GridBmpNames[BmpType]); end; Result := GridBitmaps[BmpType]; end; -procedure GridInvalidateRow(Grid: TJvDBGrid; Row: Longint); -var - I: Longint; -begin - for I := 0 to Grid.ColCount - 1 do - Grid.InvalidateCell(I, Row); -end; - {$IFNDEF COMPILER7_UP} {$IFDEF JVCLThemesEnabled} procedure DrawArrow(ACanvas: TCanvas; Direction: TScrollDirection; @@ -705,6 +706,7 @@ public constructor Create(Owner: TComponent); override; property DataList: TJvDBLookupList read FDataList; // TDBLookupListBox + property OnChange; end; constructor TInternalInplaceEdit.Create(Owner: TComponent); @@ -726,7 +728,9 @@ ListValue := DataList.KeyValue else if PickList.ItemIndex <> -1 then - ListValue := PickList.Items[PickList.ItemIndex]; + ListValue := PickList.Items[PickList.ItemIndex] + else + ListValue := Null; SetWindowPos(ActiveList.Handle, 0, 0, 0, 0, 0, SWP_NOZORDER or SWP_NOMOVE or SWP_NOSIZE or SWP_NOACTIVATE or SWP_HIDEWINDOW); ListVisible := False; @@ -739,7 +743,7 @@ with TCustomDBGrid(Grid), TDBGrid(Grid).Columns[SelectedIndex].Field do begin MasterField := DataSet.FieldByName(KeyFields); - if MasterField.CanModify and TJvDBGrid(Grid).DataLink.Edit then + if MasterField.CanModify and (Grid as IJvDataControl).GetDataLink.Edit then MasterField.Value := ListValue; end else @@ -843,7 +847,11 @@ function Selection: TSelection; begin + {$IFDEF CLR} + SendGetIntMessage(Handle, EM_GETSEL, Result.StartPos, Result.EndPos); + {$ELSE} SendMessage(Handle, EM_GETSEL, WPARAM(@Result.StartPos), LPARAM(@Result.EndPos)); + {$ENDIF CLR} end; function CaretPos: Integer; @@ -882,11 +890,13 @@ function TInternalInplaceEdit.DoMouseWheel(Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint): Boolean; +var + DataLink: TDataLink; begin // Do not validate a record by error - with TJvDBGrid(Grid) do - if DataLink.Active and (DataLink.DataSet.State <> dsBrowse) then - DataLink.DataSet.Cancel; + DataLink := (Grid as IJvDataControl).GetDataLink; + if DataLink.Active and (DataLink.DataSet.State <> dsBrowse) then + DataLink.DataSet.Cancel; // Ideally we would transmit the action to the DatalList but // DoMouseWheel is protected @@ -1162,7 +1172,7 @@ function TJvDBGrid.GetRow: Longint; begin - Result := TDrawGrid(Self).Row; + Result := inherited Row; end; procedure TJvDBGrid.SetRow(Value: Longint); @@ -1224,7 +1234,11 @@ begin if MultiSelect and DataLink.Active and (Index < SelectedRows.Count) and (Index >= 0) then + {$IFDEF CLR} + DataLink.DataSet.Bookmark := SelectedRows[Index]; + {$ELSE} DataLink.DataSet.GotoBookmark(Pointer(SelectedRows[Index])); + {$ENDIF} end; procedure TJvDBGrid.LayoutChanged; @@ -1322,7 +1336,7 @@ Result := TInternalInplaceEdit.Create(Self); // replace the call to default constructor : // Result := inherited CreateEditor; - TEdit(Result).OnChange := EditChanged; + TInternalInplaceEdit(Result).OnChange := EditChanged; {$ELSE} Result := inherited CreateEditor; {$ENDIF COMPILER6_UP} @@ -1413,18 +1427,31 @@ begin if not FSelecting then begin + {$IFDEF CLR} + FSelectionAnchor := GetNonPublicProperty(SelectedRows, 'CurrentRow') as TBookmarkStr; + {$ELSE} FSelectionAnchor := TBookmarks(SelectedRows).CurrentRow; + {$ENDIF CLR} SelectedRows.CurrentRowSelected := True; FSelecting := True; AddAfter := True; end else + begin + {$IFDEF CLR} + AddAfter := DataSource.DataSet.CompareBookmarkStr(GetNonPublicProperty(SelectedRows, 'CurrentRow') as TBookmarkStr, + FSelectionAnchor) <> -Direction; + if AddAfter then + SelectedRows.CurrentRowSelected := False; + {$ELSE} with TBookmarks(SelectedRows) do begin AddAfter := Compare(CurrentRow, FSelectionAnchor) <> -Direction; if not AddAfter then CurrentRowSelected := False; end; + {$ENDIF CLR} + end; end else ClearSelections; @@ -1657,6 +1684,11 @@ inherited RowHeightsChanged; end; +function TJvDBGrid.GetDataLink: TDataLink; +begin + Result := DataLink; +end; + procedure TJvDBGrid.SetRowResize(Value: Boolean); begin if FRowResize <> Value then @@ -1686,13 +1718,23 @@ procedure TJvDBGrid.SetOptions(Value: TDBGridOptions); var NewOptions: TGridOptions; + {$IFDEF CLR} + OptionsProp: PropertyInfo; + {$ENDIF CLR} begin { The AlwaysShowEditor option is not compatible with the custom inplace edit controls. But if the EditorMode is set to True in ColEnter() it emulates the AlwaysShowEditor option. } inherited Options := Value - [dgMultiSelect, dgAlwaysShowEditor]; FAlwaysShowEditor := dgAlwaysShowEditor in Value; + + {$IFDEF CLR} + { TJvDBGrid - TDBGrid - TCustomGrid } + OptionsProp := Self.GetType.BaseType.BaseType.GetProperty('Options', BindingFlags.NonPublic or BindingFlags.Instance); + NewOptions := OptionsProp.GetValue(Self, []) as TGridOptions; + {$ELSE} NewOptions := TDrawGrid(Self).Options; + {$ENDIF CLR} { if FTitleButtons then begin @@ -1709,7 +1751,11 @@ NewOptions := NewOptions - [goFixedVertLine]; if not (dgRowLines in Value) then NewOptions := NewOptions - [goFixedHorzLine]; + {$IFDEF CLR} + OptionsProp.SetValue(Self, TObject(NewOptions), []); + {$ELSE} TDrawGrid(Self).Options := NewOptions; + {$ENDIF CLR} end; SetMultiSelect(dgMultiSelect in Value); end; @@ -1860,7 +1906,7 @@ if not Assigned(EditControl) then begin Control.FieldName := ''; - raise EJVCLDbGridException.CreateRes(@RsEJvDBGridControlPropertyNotAssigned); + raise EJVCLDbGridException.CreateRes({$IFNDEF CLR}@{$ENDIF}RsEJvDBGridControlPropertyNotAssigned); end; if IsPublishedProp(EditControl, 'ReadOnly') then begin @@ -1989,7 +2035,7 @@ if AutoSort and IsPublishedProp(DataSource.DataSet, cIndexDefs) and IsPublishedProp(DataSource.DataSet, cIndexName) then - IndexDefs := TIndexDefs(GetOrdProp(DataSource.DataSet, cIndexDefs)) + IndexDefs := TIndexDefs(GetObjectProp(DataSource.DataSet, cIndexDefs)) else IndexDefs := nil; if Assigned(IndexDefs) and Assigned(AField) then @@ -2065,7 +2111,11 @@ begin Dec(FDisableCount); if FDisableCount = 0 then + {$IFDEF CLR} + InvokeNonPublicMethod(DataLink, 'DataSetScrolled', [0]); + {$ELSE} TGridDataLinkAccessProtected(DataLink).DataSetScrolled(0); + {$ENDIF CLR} end; end; @@ -2133,10 +2183,18 @@ end; {$ENDIF COMPILER6_UP} +procedure TJvDBGrid.GridInvalidateRow(Row: Longint); +var + I: Longint; +begin + for I := 0 to ColCount - 1 do + InvalidateCell(I, Row); +end; + procedure TJvDBGrid.TopLeftChanged; begin if (dgRowSelect in Options) and DefaultDrawing then - GridInvalidateRow(Self, Self.Row); + GridInvalidateRow(Self.Row); inherited TopLeftChanged; if FTracking then StopTracking; @@ -2170,7 +2228,7 @@ begin FPressed := NewPressed; for I := 0 to Offset - 1 do - GridInvalidateRow(Self, I); + GridInvalidateRow(I); end; end; @@ -2331,10 +2389,18 @@ DisableControls; try lNewSelected := Bookmark; + {$IFDEF CLR} + lCompare := CompareBookmarkStr(lNewSelected, lLastSelected); + {$ELSE} lCompare := CompareBookmarks(Pointer(lNewSelected), Pointer(lLastSelected)); + {$ENDIF CLR} if lCompare > 0 then begin + {$IFDEF CLR} + Bookmark := lLastSelected; + {$ELSE} GotoBookmark(Pointer(lLastSelected)); + {$ENDIF CLR} Next; while not (CurrentRowSelected and (Bookmark = lNewSelected)) do begin @@ -2345,7 +2411,11 @@ else if lCompare < 0 then begin + {$IFDEF CLR} + Bookmark := lLastSelected; + {$ELSE} GotoBookmark(Pointer(lLastSelected)); + {$ENDIF CLR} Prior; while not (CurrentRowSelected and (Bookmark = lNewSelected)) do begin @@ -2512,7 +2582,11 @@ Result := True; Form := GetParentForm(Self); if Form <> nil then + {$IFDEF CLR} + if Form.KeyPreview and Boolean(InvokeNonPublicMethod(Form, 'DoKeyPress', [Msg])) then + {$ELSE} if Form.KeyPreview and TWinControlAccessProtected(Form).DoKeyPress(Msg) then + {$ENDIF CLR} Exit; with Msg do @@ -2639,7 +2713,7 @@ begin if DataType = ftFloat then if Key in ['.', ','] then - Key := DecimalSeparator; + Key := DecimalSeparator{$IFDEF CLR}[1]{$ENDIF}; if (Key in CharList) and (Columns[SelectedIndex].PickList.Count <> 0) then begin @@ -2753,7 +2827,11 @@ FillRect(B); end; SetBkMode(Handle, TRANSPARENT); + {$IFDEF CLR} + Windows.DrawText(Handle, Text, Length(Text), R, DrawOptions); + {$ELSE} Windows.DrawText(Handle, PChar(Text), Length(Text), R, DrawOptions); + {$ENDIF CLR} end; end; @@ -2770,8 +2848,8 @@ begin Width := Max(Width, Right - Left); Height := Max(Height, Bottom - Top); - R := Classes.Rect(DX, DY, Right - Left - 1, Bottom - Top - 1); - B := Classes.Rect(0, 0, Right - Left, Bottom - Top); + R := Rect(DX, DY, Right - Left - 1, Bottom - Top - 1); + B := Rect(0, 0, Right - Left, Bottom - Top); end; with DrawBitmap.Canvas do begin @@ -2798,7 +2876,7 @@ begin // No offscreen bitmap - The display is faster but flickers with ARect do - R := Classes.Rect(Left + DX, Top + DY, Right - 1, Bottom - 1); + R := Rect(Left + DX, Top + DY, Right - 1, Bottom - 1); B := ARect; DrawAText(Canvas); end; @@ -2892,7 +2970,7 @@ ASortMarker: TSortMarker; Indicator, ALeft: Integer; Down: Boolean; - Bmp: TBitmap; + Bmp: TJvDBGridBitmap; SavePen: TColor; OldActive: Longint; MultiSelected: Boolean; @@ -3010,8 +3088,13 @@ begin CalcRect := TextRect; Dec(CalcRect.Right, MinOffs + 1); + {$IFDEF CLR} + Windows.DrawText(Canvas.Handle, Caption, -1, CalcRect, + DT_CALCRECT or DT_LEFT or DT_EXPANDTABS or DT_NOPREFIX or DT_WORDBREAK); + {$ELSE} Windows.DrawText(Canvas.Handle, PChar(Caption), -1, CalcRect, DT_CALCRECT or DT_LEFT or DT_EXPANDTABS or DT_NOPREFIX or DT_WORDBREAK); + {$ENDIF CLR} if CalcRect.Bottom > TextRect.Bottom then begin TitleOptions := DT_END_ELLIPSIS or DT_SINGLELINE; @@ -3346,31 +3429,27 @@ with Columns do begin SetLength(ColumnArray, Count); - try - for I := 0 to Count - 1 do + for I := 0 to Count - 1 do + begin + S := AppStorage.ReadString(AppStorage.ConcatPaths([SectionName, + Format('%s.%s', [Name, Items[I].FieldName])])); + ColumnArray[I].Column := Items[I]; + ColumnArray[I].EndIndex := Items[I].Index; + if S <> '' then begin - S := AppStorage.ReadString(AppStorage.ConcatPaths([SectionName, - Format('%s.%s', [Name, Items[I].FieldName])])); - ColumnArray[I].Column := Items[I]; - ColumnArray[I].EndIndex := Items[I].Index; - if S <> '' then + ColumnArray[I].EndIndex := StrToIntDef(ExtractWord(1, S, Delims), ColumnArray[I].EndIndex); + S := ExtractWord(2, S, Delims); + Items[I].Width := StrToIntDef(S, Items[I].Width); + Items[I].Visible := (S <> '-1'); + end; + end; + for I := 0 to Count - 1 do + for J := 0 to Count - 1 do + if ColumnArray[J].EndIndex = I then begin - ColumnArray[I].EndIndex := StrToIntDef(ExtractWord(1, S, Delims), ColumnArray[I].EndIndex); - S := ExtractWord(2, S, Delims); - Items[I].Width := StrToIntDef(S, Items[I].Width); - Items[I].Visible := (S <> '-1'); + ColumnArray[J].Column.Index := ColumnArray[J].EndIndex; + Break; end; - end; - for I := 0 to Count - 1 do - for J := 0 to Count - 1 do - if ColumnArray[J].EndIndex = I then - begin - ColumnArray[J].Column.Index := ColumnArray[J].EndIndex; - Break; - end; - finally - Finalize(ColumnArray); - end; end; end; @@ -3484,12 +3563,12 @@ end; procedure TJvDBGrid.DoDrawColumnTitle(ACanvas: TCanvas; ARect: TRect; - AColumn: TColumn; var ASortMarker: TBitmap; IsDown: Boolean; var Offset: Integer; + AColumn: TColumn; var ASortMarker: TJvDBGridBitmap; IsDown: Boolean; var Offset: Integer; var DefaultDrawText, DefaultDrawSortMarker: Boolean); begin if Assigned(FOnDrawColumnTitle) then begin - FOnDrawColumnTitle(Self, ACanvas, ARect, AColumn, TJvDBGridBitmap(ASortMarker), IsDown, Offset, + FOnDrawColumnTitle(Self, ACanvas, ARect, AColumn, ASortMarker, IsDown, Offset, DefaultDrawText, DefaultDrawSortMarker); end; end; @@ -3999,7 +4078,7 @@ Invalidate; end; -procedure TJvDBGrid.CMHintShow(var Msg: TMessage); +procedure TJvDBGrid.CMHintShow(var Msg: TCMHintShow); const C_TIMEOUT = 250; var @@ -4007,9 +4086,17 @@ AtCursorPosition: Boolean; CalcOptions: Integer; HintRect: TRect; + {$IFDEF CLR} + HintInfo: THintInfo; + {$ENDIF CLR} begin AtCursorPosition := True; - with PHintInfo(Msg.LParam)^ do + {$IFDEF CLR} + HintInfo := Msg.HintInfo; + with HintInfo do + {$ELSE} + with Msg.HintInfo^ do + {$ENDIF CLR} begin HintStr := GetShortHint(Hint); ATimeOut := HideTimeOut; @@ -4097,7 +4184,11 @@ if HintStr <> '' then begin HintRect := Rect(0, 0, Columns[ACol].Width - 4, 0); + {$IFDEF CLR} + Windows.DrawText(Canvas.Handle, HintStr, -1, HintRect, CalcOptions); + {$ELSE} Windows.DrawText(Canvas.Handle, PChar(HintStr), -1, HintRect, CalcOptions); + {$ENDIF CLR} if ((HintRect.Bottom - HintRect.Top + 2) < RowHeights[ARow + 1]) and ((HintRect.Right - HintRect.Left) < Columns[ACol].Width - 2) then HintStr := ''; @@ -4118,6 +4209,9 @@ HintPos := ClientToScreen(CursorRect.TopLeft); end; end; + {$IFDEF CLR} + Msg.HintInfo := HintInfo; + {$ENDIF CLR} inherited; end; @@ -4297,11 +4391,20 @@ var EscapeKey: Boolean; CurrentEditor: TJvDBGridControl; + {$IFDEF CLR} + MsgKey: TWMKey; + {$ENDIF CLR} begin if Message.Msg = WM_CHAR then begin + {$IFDEF CLR} + MsgKey := TWMKey.Create(Message); + if not DoKeyPress(MsgKey) then + with MsgKey do + {$ELSE} if not DoKeyPress(TWMChar(Message)) then with TWMKey(Message) do + {$ENDIF CLR} begin CurrentEditor := FControls.ControlByName(FCurrentControl.Name); if (CharCode = VK_RETURN) and (PostOnEnterKey or CurrentEditor.LeaveOnEnterKey) then @@ -4387,25 +4490,26 @@ var R, WorkArea: TRect; Frm: TfrmSelectColumn; + Pt: TPoint; begin R := CellRect(0, 0); Frm := TfrmSelectColumn.Create(Application); try if not IsRectEmpty(R) then - with ClientToScreen(Point(R.Left, R.Bottom + 1)) do - begin - {$IFDEF COMPILER5} - SystemParametersInfo(SPI_GETWORKAREA, 0, @WorkArea, 0); - {$ELSE} - WorkArea := Screen.MonitorFromWindow(Handle).WorkareaRect; - {$ENDIF COMPILER5} - { force the form the be in the working area } - if X + Frm.Width > WorkArea.Right then - X := WorkArea.Right - Frm.Width; - if Y + Frm.Height > WorkArea.Bottom then - Y := WorkArea.Bottom - Frm.Height; - Frm.SetBounds(X, Y, Frm.Width, Frm.Height); - end; + begin + Pt := ClientToScreen(Point(R.Left, R.Bottom + 1)); + {$IFDEF COMPILER5} + SystemParametersInfo(SPI_GETWORKAREA, 0, @WorkArea, 0); + {$ELSE} + WorkArea := Screen.MonitorFromWindow(Handle).WorkareaRect; + {$ENDIF COMPILER5} + { force the form the be in the working area } + if Pt.X + Frm.Width > WorkArea.Right then + Pt.X := WorkArea.Right - Frm.Width; + if Pt.Y + Frm.Height > WorkArea.Bottom then + Pt.Y := WorkArea.Bottom - Frm.Height; + Frm.SetBounds(Pt.X, Pt.Y, Frm.Width, Frm.Height); + end; Frm.Grid := TJvDBGrid(Self); Frm.DataSource := DataLink.DataSource; Frm.SelectColumn := FSelectColumn; Modified: trunk/jvcl/run/JvDBGridSelectColumnForm.dfm =================================================================== --- trunk/jvcl/run/JvDBGridSelectColumnForm.dfm 2007-11-15 00:15:09 UTC (rev 11572) +++ trunk/jvcl/run/JvDBGridSelectColumnForm.dfm 2007-11-15 12:45:12 UTC (rev 11573) @@ -17,7 +17,6 @@ Font.Style = [] FormStyle = fsStayOnTop KeyPreview = True - OldCreateOrder = False OnActivate = FormActivate OnClose = FormClose OnCreate = FormCreate @@ -26,13 +25,16 @@ PixelsPerInch = 96 TextHeight = 13 object Panel1: TPanel - Left = 0 - Top = 163 - Width = 185 - Height = 50 Align = alBottom BevelOuter = bvNone TabOrder = 0 + Left = 0 + Top = 167 + Width = 189 + Height = 50 + DesignSize = ( + 189 + 50) object cbWithFieldName: TCheckBox Left = 18 Top = -2 @@ -58,11 +60,11 @@ object clbList: TCheckListBox Left = 0 Top = 0 - Width = 185 - Height = 163 - OnClickCheck = clbListClickCheck + Width = 189 + Height = 167 Align = alClient ItemHeight = 13 TabOrder = 1 + OnClickCheck = clbListClickCheck end end Modified: trunk/jvcl/run/JvDBGridSelectColumnForm.pas =================================================================== --- trunk/jvcl/run/JvDBGridSelectColumnForm.pas 2007-11-15 00:15:09 UTC (rev 11572) +++ trunk/jvcl/run/JvDBGridSelectColumnForm.pas 2007-11-15 12:45:12 UTC (rev 11573) @@ -80,13 +80,11 @@ implementation uses - JvConsts, Sysutils; + SysUtils, + JvJclUtils, JvConsts; - {$R *.dfm} - - procedure TfrmSelectColumn.FormCreate(Sender: TObject); begin FColumnUpdate := True; @@ -106,7 +104,11 @@ begin if (ModalResult = mrOk) and FColumnUpdate and FCanHide and Assigned(FJvDBGrid) then begin + {$IFDEF CLR} + InvokeNonPublicMethod(FJvDBGrid, 'BeginLayout', []); + {$ELSE} TJvDBGridAccessProtected(FJvDBGrid).BeginLayout; + {$ENDIF CLR} try for I := 0 to clbList.Items.Count - 1 do begin @@ -115,7 +117,11 @@ FJvDBGrid.Columns[J].Visible := clbList.Checked[I]; end; finally + {$IFDEF CLR} + InvokeNonPublicMethod(FJvDBGrid, 'EndLayout', []); + {$ELSE} TJvDBGridAccessProtected(FJvDBGrid).EndLayout; + {$ENDIF CLR} end; end; end; @@ -225,7 +231,6 @@ FCanHide := True; end; end; - end; procedure TfrmSelectColumn.FormKeyPress(Sender: TObject; var Key: Char); Modified: trunk/jvcl/run/JvDBLookup.pas =================================================================== --- trunk/jvcl/run/JvDBLookup.pas 2007-11-15 00:15:09 UTC (rev 11572) +++ trunk/jvcl/run/JvDBLookup.pas 2007-11-15 12:45:12 UTC (rev 11573) @@ -1477,8 +1477,10 @@ Image: TGraphic); var X, Y, SaveIndex: Integer; + {$IFNDEF CLR} Ico: HICON; W, H: Integer; + {$ENDIF ~CLR} begin if Image <> nil then begin @@ -1491,6 +1493,7 @@ if Image is TBitmap then DrawBitmapTransparent(Canvas, X, Y, TBitmap(Image), TBitmap(Image).TransparentColor) + {$IFNDEF CLR} else if Image is TIcon then begin @@ -1503,6 +1506,7 @@ DestroyIcon(Ico); end; end + {$ENDIF ~CLR} else Canvas.Draw(X, Y, Image); finally @@ -1606,7 +1610,11 @@ J, LastFieldIndex: Integer; Field: TField; LStringList: array of string; + {$IFDEF CLR} + LVarList: array of TObject; + {$ELSE} LVarList: array of TVarRec; + {$ENDIF CLR} begin Result := ''; LastFieldIndex := FListFields.Count - 1; @@ -1618,15 +1626,19 @@ for J := 0 to LastFieldIndex do begin LStringList[J] := TField(FListFields[J]).DisplayText; + {$IFDEF CLR} + LVarList[J] := TObject(LStringList[J]); + {$ELSE} LVarList[J].VPChar := PChar(LStringList[J]); LVarList[J].VType := vtPChar; + {$ENDIF CLR} end; Result := Format(LookupFormat, LVarList); end else for J := 0 to LastFieldIndex do begin - Field := FListFields[J]; + Field := TField(FListFields[J]); Result := Result + Field.DisplayText; if J < LastFieldIndex then Result := Result + FFieldsDelimiter + ' '; @@ -1883,7 +1895,7 @@ if FListStyle = lsFixed then for J := 0 to LastFieldIndex do begin - Field := FListFields[J]; + Field := TField(FListFields[J]); if J < LastFieldIndex then W := Field.DisplayWidth * TextWidth + 4 else @@ -2676,7 +2688,7 @@ { Use slide-open effect for combo boxes if wanted. This is also possible for D5<, but D5< does not define AnimateWindowProc in Controls.pas. See TJvBalloonHint.pas to solve this } - SystemParametersInfo(SPI_GETCOMBOBOXANIMATION, 0, @Animate, 0); + SystemParametersInfo(SPI_GETCOMBOBOXANIMAT... [truncated message content] |