mirror of
https://github.com/HeidiSQL/HeidiSQL.git
synced 2026-03-13 09:24:25 +08:00
Update VirtualTrees component source to v7.6.1
This commit is contained in:
45
components/virtualtreeview/.gitignore
vendored
Normal file
45
components/virtualtreeview/.gitignore
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
# Compiled source #
|
||||
###################
|
||||
*.dcu
|
||||
*.obj
|
||||
*.exe
|
||||
*.bpl
|
||||
*.bpi
|
||||
*.dcp
|
||||
*.rsm
|
||||
*.stat
|
||||
*.map
|
||||
|
||||
# Generated source #
|
||||
###################
|
||||
*.hpp
|
||||
|
||||
# Backup files #
|
||||
###################
|
||||
*.~*
|
||||
|
||||
# IDE Files #
|
||||
###################
|
||||
*.dproj.local
|
||||
*.groupproj.local
|
||||
*.identcache
|
||||
*.dsk
|
||||
*.tvsconfig
|
||||
*.otares
|
||||
*.drc
|
||||
*.rc
|
||||
*.res
|
||||
*.local
|
||||
|
||||
# Output Folders #
|
||||
###################
|
||||
/Win32
|
||||
/Win64
|
||||
/OSX32
|
||||
/__history
|
||||
*.bak
|
||||
*.Patch
|
||||
VirtualTreeView.zip
|
||||
*.#00
|
||||
*.pch
|
||||
*.skincfg
|
||||
@@ -1,14 +1,5 @@
|
||||
V7.3: (04 Nov 2019)
|
||||
See: https://github.com/Virtual-TreeView/Virtual-TreeView/milestone/13
|
||||
|
||||
V7.2.1: (07 Mar 2019)
|
||||
See: https://github.com/Virtual-TreeView/Virtual-TreeView/milestone/14?closed=1
|
||||
|
||||
V7.2: (18 Feb 2019)
|
||||
See: https://github.com/Virtual-TreeView/Virtual-TreeView/milestone/12?closed=1
|
||||
|
||||
V7.1: (27 Dec 2018)
|
||||
See: https://github.com/Virtual-TreeView/Virtual-TreeView/milestone/11?closed=1
|
||||
V7.1 and later:
|
||||
https://github.com/JAM-Software/Virtual-TreeView/milestones?state=closed
|
||||
|
||||
V7.0: (22 Jul 2018)
|
||||
* The support for Windows XP/2003 has been dropped (issue #707). This means:
|
||||
|
||||
10
components/virtualtreeview/Delphinus.Info.json
Normal file
10
components/virtualtreeview/Delphinus.Info.json
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"id": "{A34BA07B-19B6-4C21-9DEE-65FCA52D00AB}",
|
||||
"name": "Virtual Treeview",
|
||||
"picture": "Resources\\VirtualTreeview-Icon.png",
|
||||
"license_type": "MPL-1.1",
|
||||
"platforms": "Win32;Win64",
|
||||
"first_version": "6.2.0",
|
||||
"package_compiler_min": 24,
|
||||
"compiler_min": 24
|
||||
}
|
||||
56
components/virtualtreeview/Delphinus.Install.json
Normal file
56
components/virtualtreeview/Delphinus.Install.json
Normal file
@@ -0,0 +1,56 @@
|
||||
{
|
||||
"search_pathes": [
|
||||
{
|
||||
"pathes": "Source",
|
||||
"platforms": "Win32;Win64"
|
||||
}
|
||||
],
|
||||
"browsing_pathes": [
|
||||
{
|
||||
"pathes": "Source",
|
||||
"platforms": "Win32;Win64"
|
||||
}
|
||||
],
|
||||
"source_folders": [
|
||||
{
|
||||
"folder": "source",
|
||||
"base": "",
|
||||
"recursive": true,
|
||||
"filter": "*;*.*"
|
||||
},
|
||||
{
|
||||
"folder": "Packages",
|
||||
"base": "",
|
||||
"recursive": true,
|
||||
"filter": "*;*.*"
|
||||
},
|
||||
{
|
||||
"folder": "Design",
|
||||
"base": "",
|
||||
"recursive": true,
|
||||
"filter": "*;*.*"
|
||||
}
|
||||
],
|
||||
"projects": [
|
||||
{
|
||||
"project": "Packages\\RAD Studio XE3\\VirtualTreeView.groupproj",
|
||||
"compiler_max": 26
|
||||
},
|
||||
{
|
||||
"project": "Packages\\RAD Studio XE6\\VirtualTreeView.groupproj",
|
||||
"compiler": 27
|
||||
},
|
||||
{
|
||||
"project": "Packages\\RAD Studio XE7\\VirtualTreeView.groupproj",
|
||||
"compiler": 28
|
||||
},
|
||||
{
|
||||
"project": "Packages\\RAD Studio XE8\\VirtualTreeView.groupproj",
|
||||
"compiler": 29
|
||||
},
|
||||
{
|
||||
"project": "Packages\\RAD Studio 10\\VirtualTreeView.groupproj",
|
||||
"compiler_min": 30
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -3,9 +3,9 @@ Supported Windows Versions: Windows Vista and higher
|
||||
|
||||
Extract the entire(!) ZIP file and follow the instructions below.
|
||||
|
||||
Delphi / RAD Studio 10.3 and higher Installation
|
||||
Delphi / RAD Studio 10.4 and higher Installation
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
1. Open the project group "Packages\RAD Studio *\VirtualTreeView.groupproj"
|
||||
1. Open the project group "Packages\RAD Studio 10.4+\VirtualTreeView.groupproj"
|
||||
2. Right click on "VirtualTreesD*.bpl" and click "Install"
|
||||
3. Go to "Tools > Options > Language > Delphi Options > Library > Library Path > [...]"
|
||||
Browse to the "Source" folder of VirtualTreeView, press "OK", "Add", "OK"
|
||||
@@ -19,6 +19,22 @@ Delphi / RAD Studio 10.3 and higher Installation
|
||||
5. Close the RAD Studio Options dialog by clicking "Save".
|
||||
|
||||
|
||||
Delphi / RAD Studio 10.3
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
1. Open the project group "Packages\RAD Studio 10.3\VirtualTreeView.groupproj"
|
||||
2. Right click on "VirtualTreesD270.bpl" and click "Install"
|
||||
3. Go to "Tools > Options > Language > Delphi Options > Library > Library Path > [...]"
|
||||
Browse to the "Source" folder of VirtualTreeView, press "OK", "Add", "OK"
|
||||
Do this for both Win32 and Win64 platform, which you can choose in the dropdown box.
|
||||
4. C++ Builder users only:
|
||||
In the Options dialog go to "Environment Options > C++ Options > Paths and Directories"
|
||||
a) Click "Library Path > [...]"
|
||||
Browse to the "Source" folder of VirtualTreeView, press "OK", "Add", "OK"
|
||||
b) Click "System Include path > [...]"
|
||||
Browse to the "Source" folder of VirtualTreeView, press "OK", "Add", "OK"
|
||||
5. Close the RAD Studio Options dialog by clicking "Save".
|
||||
|
||||
|
||||
Delphi / RAD Studio XE3 - 10.2 Installation
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
1. Open the project group "Packages\RAD Studio *\VirtualTreeView.groupproj"
|
||||
|
||||
56
components/virtualtreeview/MAKEFILE
Normal file
56
components/virtualtreeview/MAKEFILE
Normal file
@@ -0,0 +1,56 @@
|
||||
PROJECT = VirtualTrees
|
||||
EMBARCADERO = $(PROGRAMFILES)\Embarcadero\RAD Studio
|
||||
STUDIO = $(PROGRAMFILES)\Embarcadero\Studio
|
||||
BDSCOMMONDIRMAIN = %PUBLIC%\Documents\Embarcadero\Studio
|
||||
# Default MS Build version
|
||||
!IF EXIST("$(PROGRAMFILES)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\msbuild.exe")
|
||||
BUILDEXE = "$(PROGRAMFILES)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\msbuild.exe"
|
||||
!ELSE
|
||||
!IF EXIST("$(PROGRAMFILES)\Microsoft Visual Studio\2019\Professional\MSBuild\Current\Bin\msbuild.exe")
|
||||
BUILDEXE = "$(PROGRAMFILES)\Microsoft Visual Studio\2019\Professional\MSBuild\Current\Bin\msbuild.exe"
|
||||
!ELSE
|
||||
BUILDEXE = "$(PROGRAMFILES)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\msbuild.exe"
|
||||
!ENDIF
|
||||
!ENDIF
|
||||
BUILD = $(BUILDEXE) /t:Rebuild
|
||||
|
||||
clean:
|
||||
ECHO Project: $(PROJECT) $(EMBARCADERO)
|
||||
DEL /S /Q .\*.HPP
|
||||
DEL /S /Q .\*.DCU
|
||||
#TODO: Add demos and package folders
|
||||
|
||||
# build all packages for Delphi 10.4. Note: The variable $@ is expanded to the build target name
|
||||
10.1 10.2 10.3 10.4+: Source\*.pas "Packages\RAD Studio $@\$(PROJECT)R.dpk" "Packages\RAD Studio $@\$(PROJECT)R.dproj" "Packages\RAD Studio $@\$(PROJECT)D.dpk" "Packages\RAD Studio $@\$(PROJECT)D.dproj"
|
||||
SET BDS=$(STUDIO)\21.0
|
||||
$(BUILD) "Packages\RAD Studio $@\$(PROJECT)R.dproj"
|
||||
$(BUILD) "Packages\RAD Studio $@\$(PROJECT)D.dproj"
|
||||
$(BUILD) /property:Platform=Win64 "Packages\RAD Studio $@\$(PROJECT)R.dproj"
|
||||
$(MAKE) _samples
|
||||
|
||||
"Demos\Advanced\Advanced.exe": "Demos\Advanced\*.dproj" "Demos\Advanced\*.dpr" "Demos\Advanced\*.pas"
|
||||
$(BUILD) "Demos\Advanced\Advanced.dproj"
|
||||
|
||||
"Demos\Minimal\Minimal.exe": "Demos\Minimal\*.dproj" "Demos\Minimal\*.dpr" "Demos\Minimal\*.pas"
|
||||
$(BUILD) "Demos\Minimal\Minimal.dproj"
|
||||
|
||||
"Demos\Objects\Objects.exe": "Demos\Objects\*.dproj" "Demos\Objects\*.dpr" "Demos\Objects\*.pas"
|
||||
$(BUILD) "Demos\Objects\MVCDemo.dproj"
|
||||
|
||||
"Demos\OLE\OLE.exe": "Demos\OLE\*.dproj" "Demos\OLE\*.dpr" "Demos\OLE\*.pas"
|
||||
$(BUILD) "Demos\OLE\OLE.dproj"
|
||||
|
||||
_samples: "Demos\Advanced\Advanced.exe" "Demos\Minimal\Minimal.exe" "Demos\Objects\Objects.exe" "Demos\OLE\OLE.exe"
|
||||
|
||||
_continuousbuilds: clean 10.4+
|
||||
|
||||
_release:
|
||||
#This small batch file is intended to create a source code release file of the VirtualTreeView as ZIP archive
|
||||
#It expects the ZIP.EXE from the InfoZip project V3.0 or higher to be in the system's search path
|
||||
#Download e.g. from: ftp://ftp.info-zip.org/pub/infozip/win32/
|
||||
ZIP -9 -r .\VirtualTreeView.zip INSTALL.txt Changes.txt Source Design Packages Demos Contributions Help\VirtualTreeview.chm -i *.pas -i *.dpk -i *.groupproj -i *.dproj -i *.cbproj -i *.hlp -i *.rc -i *.res -i *.cfg -i *.dpr -i *.dof -i *.bpr -i *.dfm -i *.cpp -i *.inc -i *.dcr -i *.chm -i *.png -i *.js -i *.txt -i *.bmp -i *.uni
|
||||
ECHO Source code zip archive "VirtualTreeView.zip" created.
|
||||
ECHO !!! Please ensure that the const TVTVersion is correct or remove const!!!
|
||||
ECHO !!! Please add version number to ZIP file name!!!
|
||||
ECHO !!! Please create release at: https://github.com/Virtual-TreeView/Virtual-TreeView/releases
|
||||
ECHO !!! Let JAM web-team upload the file to our server at https://www.jam-software.com/virtual-treeview
|
||||
3
components/virtualtreeview/MakeRelease.Bat
Normal file
3
components/virtualtreeview/MakeRelease.Bat
Normal file
@@ -0,0 +1,3 @@
|
||||
@ECHO OFF
|
||||
nmake _release
|
||||
pause
|
||||
@@ -2,10 +2,10 @@
|
||||
Virtual Treeview is a Delphi treeview control built from ground up. Many years of development made it one of the most flexible and advanced tree controls available today. Virtual Treeview starts off with the claim to improve many aspects of existing solutions and introduces some new technologies and principles which were not available before.
|
||||
|
||||
### Help Needed: Any volunteer that takes care about **C++ Builder** bugs and packages?
|
||||
I don't use C++ Builder and my experience with it is very limited. This makes it difficult to take care about bugs that are reported in C++ Builder and to maintain the C++ Builder packages. I would be great if someone would volunteer to do this. Please contact me at joachim.marder+CPP@gmail.com.
|
||||
I don't use C++ Builder and my experience with it is very limited. This makes it difficult to take care about bugs that are reported in C++ Builder and to maintain the C++ Builder packages. I would be great if someone would volunteer to do this.
|
||||
|
||||
### Downloads
|
||||
**V7.4** official release for **RAD Studio XE3 to 10.4 Rio**: [JAM Software](https://www.jam-software.com/virtual-treeview/VirtualTreeView.zip) ([Changes](https://github.com/Virtual-TreeView/Virtual-TreeView/milestone/16?closed=1))
|
||||
**V7.5** official release for **RAD Studio XE3 to 10.4.2 Rio**: [JAM Software](https://www.jam-software.com/virtual-treeview/VirtualTreeView.zip) ([Changes](https://github.com/JAM-Software/Virtual-TreeView/issues?q=is%3Aissue+milestone%3AV7.5+is%3Aclosed))
|
||||
|
||||
An experimental **FireMonkey** port can be found here: [livius2/Virtual-TreeView](https://github.com/livius2/Virtual-TreeView)
|
||||
|
||||
|
||||
@@ -33,8 +33,9 @@ uses
|
||||
Winapi.Windows,
|
||||
Winapi.Messages,
|
||||
Winapi.UxTheme,
|
||||
|
||||
System.Classes,
|
||||
System.UITypes,
|
||||
Vcl.Graphics,
|
||||
Vcl.Themes,
|
||||
Vcl.Forms,
|
||||
Vcl.Controls;
|
||||
@@ -99,6 +100,9 @@ type
|
||||
public
|
||||
constructor Create(AControl: TWinControl); override;
|
||||
destructor Destroy; override;
|
||||
/// Draws an expand arrow like used in the RAD Studio IDE.
|
||||
/// The code is not yet dpi-aware.
|
||||
class procedure DrawExpandArrow(pBitmap: TBitmap; pExpanded: Boolean; pColor: TColor = clNone);
|
||||
property HorzScrollRect;
|
||||
property VertScrollRect;
|
||||
end;
|
||||
@@ -120,7 +124,6 @@ uses
|
||||
System.SysUtils,
|
||||
System.Math,
|
||||
System.Types,
|
||||
Vcl.Graphics,
|
||||
VirtualTrees;
|
||||
|
||||
type
|
||||
@@ -203,6 +206,32 @@ begin
|
||||
inherited;
|
||||
end;
|
||||
|
||||
class procedure TVclStyleScrollBarsHook.DrawExpandArrow(pBitmap: TBitmap; pExpanded: Boolean; pColor: TColor);
|
||||
const
|
||||
Size: TRect = (Left: 0; Top: 0; Right: 12; Bottom: 12);
|
||||
ArrowPoints: array[Boolean, 0..5] of TPoint = (
|
||||
((X:3; Y:1), (X:8; Y:6), (X:3; Y:11), (X:4; Y:11), (X:9; Y:6), (X:3; Y:0)),
|
||||
((X:1; Y:3), (X:6; Y:8), (X:11; Y:3), (X:11; Y:4), (X:6; Y:9), (X:0; Y:3))
|
||||
);
|
||||
var
|
||||
canvas: TCanvas;
|
||||
begin
|
||||
pBitmap.SetSize(Size.Width, Size.Height);
|
||||
canvas := pBitmap.Canvas;
|
||||
canvas.FillRect(Size);
|
||||
if pColor = clNone then
|
||||
begin
|
||||
if Assigned(VTStyleServicesFunc) then
|
||||
canvas.Pen.Color := VTStyleServicesFunc.GetSystemColor(clGrayText)
|
||||
else
|
||||
canvas.Pen.Color := Vcl.Themes.StyleServices.GetSystemColor(clGrayText)
|
||||
end
|
||||
else
|
||||
canvas.Pen.Color := pColor;
|
||||
canvas.Pen.Width := 1;
|
||||
canvas.Polyline(ArrowPoints[pExpanded]);
|
||||
end;
|
||||
|
||||
procedure TVclStyleScrollBarsHook.DrawHorzScrollBar(DC: HDC);
|
||||
var
|
||||
B: TBitmap;
|
||||
|
||||
8
components/virtualtreeview/Source/VirtualTrees.Types.pas
Normal file
8
components/virtualtreeview/Source/VirtualTrees.Types.pas
Normal file
@@ -0,0 +1,8 @@
|
||||
unit VirtualTrees.Types;
|
||||
// Dummy unit to make migeration between V7 and V8 easier.
|
||||
|
||||
interface
|
||||
|
||||
implementation
|
||||
|
||||
end.
|
||||
File diff suppressed because it is too large
Load Diff
162
components/virtualtreeview/Virtual-TreeView.dspec
Normal file
162
components/virtualtreeview/Virtual-TreeView.dspec
Normal file
@@ -0,0 +1,162 @@
|
||||
{
|
||||
"metadata": {
|
||||
"id": "JAM.VirtualTreeView",
|
||||
"version": "7.4.0",
|
||||
"description": "Virtual TreeView VCL Component",
|
||||
"authors": "Joachim Marder",
|
||||
"projectUrl": "https://github.com/Virtual-TreeView/Virtual-TreeView",
|
||||
"license": "MPL-1.1, LGPL-2.0+",
|
||||
"copyright": "Various, See project page",
|
||||
"tags": "VCL, TreeView"
|
||||
},
|
||||
"targetPlatforms": [
|
||||
{
|
||||
"compiler": "XE3",
|
||||
"platforms": "Win32, Win64",
|
||||
"template": "default",
|
||||
"variables" : {
|
||||
"libsuffix" : "17"
|
||||
}
|
||||
},
|
||||
{
|
||||
"compiler": "XE4",
|
||||
"platforms": "Win32, Win64",
|
||||
"template": "default",
|
||||
"variables" : {
|
||||
"libsuffix" : "18"
|
||||
}
|
||||
},
|
||||
{
|
||||
"compiler": "XE5",
|
||||
"platforms": "Win32, Win64",
|
||||
"template": "default",
|
||||
"variables" : {
|
||||
"libsuffix" : "19"
|
||||
}
|
||||
},
|
||||
{
|
||||
"compiler": "XE6",
|
||||
"platforms": "Win32, Win64",
|
||||
"template": "default",
|
||||
"variables" : {
|
||||
"libsuffix" : "20"
|
||||
}
|
||||
},
|
||||
{
|
||||
"compiler": "XE7",
|
||||
"platforms": "Win32, Win64",
|
||||
"template": "default",
|
||||
"variables" : {
|
||||
"libsuffix" : "21"
|
||||
}
|
||||
},
|
||||
{
|
||||
"compiler": "XE8",
|
||||
"platforms": "Win32, Win64",
|
||||
"template": "default",
|
||||
"variables" : {
|
||||
"libsuffix" : "22"
|
||||
}
|
||||
},
|
||||
{
|
||||
"compiler": "10.0",
|
||||
"platforms": "Win32, Win64",
|
||||
"template": "default",
|
||||
"variables" : {
|
||||
"libsuffix" : "23",
|
||||
"compiler" : "$compilerNoPoint$"
|
||||
}
|
||||
},
|
||||
{
|
||||
"compiler": "10.1",
|
||||
"platforms": "Win32, Win64",
|
||||
"template": "default",
|
||||
"variables" : {
|
||||
"libsuffix" : "24"
|
||||
}
|
||||
},
|
||||
{
|
||||
"compiler": "10.2",
|
||||
"platforms": "Win32, Win64",
|
||||
"template": "default",
|
||||
"variables" : {
|
||||
"libsuffix" : "25"
|
||||
}
|
||||
},
|
||||
{
|
||||
"compiler": "10.3",
|
||||
"platforms": "Win32, Win64",
|
||||
"template": "default",
|
||||
"variables" : {
|
||||
"libsuffix" : "26"
|
||||
}
|
||||
},
|
||||
{
|
||||
"compiler": "10.4",
|
||||
"platforms": "Win32, Win64",
|
||||
"template": "default",
|
||||
"variables" : {
|
||||
"libsuffix" : "27"
|
||||
}
|
||||
}
|
||||
],
|
||||
"templates": [
|
||||
{
|
||||
"comment": "all other compiler versions follow normal folder naming",
|
||||
"name": "default",
|
||||
"source": [
|
||||
{
|
||||
"src": ".\\Source\\*.pas",
|
||||
"dest": "Source"
|
||||
},
|
||||
{
|
||||
"src": ".\\Source\\*.res",
|
||||
"dest": "Source"
|
||||
},
|
||||
{
|
||||
"src": ".\\Design\\*.*",
|
||||
"dest": "Design"
|
||||
},
|
||||
{
|
||||
"src": ".\\packages\\Rad Studio $compiler$\\**",
|
||||
"flatten": false,
|
||||
"dest": "packages\\Rad Studio $compiler$"
|
||||
}
|
||||
],
|
||||
"searchPaths": [
|
||||
{
|
||||
"path": "Source",
|
||||
"source": true
|
||||
}
|
||||
],
|
||||
"build": [
|
||||
{
|
||||
"id": "VirtualTreesR",
|
||||
"project": ".\\Packages\\Rad Studio $compiler$\\VirtualTreesR.dproj",
|
||||
"buildForDesign": true,
|
||||
"buildForDesignComment" : "when true, will also build win32 if the platform is not win32, so that other packages that need this for design will work"
|
||||
},
|
||||
{
|
||||
"id": "VirtualTreesD",
|
||||
"project": ".\\Packages\\Rad Studio $compiler$\\VirtualTreesD.dproj",
|
||||
"designOnly" : true,
|
||||
"designOnlyComment" : "designOnly forces compilation with win32 compiler"
|
||||
}
|
||||
],
|
||||
"runtime": [
|
||||
{
|
||||
"buildId": "VirtualTreesR",
|
||||
"src": "bin\\VirtualTreesR$libsuffix$.bpl",
|
||||
"copyLocal": true
|
||||
}
|
||||
],
|
||||
"design": [
|
||||
{
|
||||
"buildId": "VirtualTreesD",
|
||||
"src": "bin\\VirtualTreesD$libsuffix$.bpl",
|
||||
"install": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user