diff --git a/components/virtualtreeview-unstable/Compilers.inc b/components/virtualtreeview-unstable/Compilers.inc deleted file mode 100644 index 519ddbe36..000000000 --- a/components/virtualtreeview-unstable/Compilers.inc +++ /dev/null @@ -1,444 +0,0 @@ -//---------------------------------------------------------------------------------------------------------------------- -// Include file to determine which compiler is currently being used to build the project/component. -// This file uses ideas from Brad Stowers DFS.inc file. -// -// Portions created by Mike Lischke are -// Copyright (C) 1999-2005 Mike Lischke. All Rights Reserved. -// Portions created by Jim Kueneman are -// Copyright (C) 2005 Jim Kueneman. All Rights Reserved. -// -//---------------------------------------------------------------------------------------------------------------------- -// -// This unit is released under the MIT license: -// Copyright (c) 1999-2005 Mike Lischke (support@soft-gems.net, www.soft-gems.net). -// -// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated -// documentation files (the "Software"), to deal in the Software without restriction, including without limitation the -// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to -// permit persons to whom the Software is furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the -// Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -// WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS -// OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// -// You are asked to give the author(s) the due credit. This means that you acknowledge the work of the author(s) -// in the product documentation, about box, help or wherever a prominent place is. -// -//---------------------------------------------------------------------------------------------------------------------- -// -// The following symbols are defined: -// -// - COMPILER_1 : Kylix/Delphi/BCB 1.x is the compiler. -// - COMPILER_1_UP : Kylix/Delphi/BCB 1.x or higher is the compiler. -// - COMPILER_2 : Kylix/Delphi 2.x or BCB 1.x is the compiler. -// - COMPILER_2_UP : Kylix/Delphi 2.x or higher, or BCB 1.x or higher is the compiler. -// - COMPILER_3 : Kylix/Delphi/BCB 3.x is the compiler. -// - COMPILER_3_UP : Kylix/Delphi/BCB 3.x or higher is the compiler. -// - COMPILER_4 : Kylix/Delphi/BCB 4.x is the compiler. -// - COMPILER_4_UP : Kylix/Delphi/BCB 4.x or higher is the compiler. -// - COMPILER_5 : Kylix/Delphi/BCB 5.x is the compiler. -// - COMPILER_5_UP : Kylix/Delphi/BCB 5.x or higher is the compiler. -// - COMPILER_6 : Kylix/Delphi/BCB 6.x is the compiler. -// - COMPILER_6_UP : Kylix/Delphi/BCB 6.x or higher is the compiler. -// - COMPILER_7 : Kylix/Delphi/BCB 7.x is the compiler. -// - COMPILER_7_UP : Kylix/Delphi/BCB 7.x or higher is the compiler. -// - COMPILER_8 : Kylix/Delphi/BCB 8.x is the compiler. -// - COMPILER_8_UP : Kylix/Delphi/BCB 8.x or higher is the compiler. -// - COMPILER_9 : Kylix/Delphi/BCB 9.x is the compiler. -// - COMPILER_9_UP : Kylix/Delphi/BCB 9.x or higher is the compiler. -// - COMPILER_10 : Kylix/Delphi/BCB 10.x is the compiler. -// - COMPILER_10_UP : Kylix/Delphi/BCB 10.x or higher is the compiler. -// -// Only defined if Windows is the target: -// - CPPB : Any version of BCB is being used. -// - CPPB_1 : BCB v1.x is being used. -// - CPPB_3 : BCB v3.x is being used. -// - CPPB_3_UP : BCB v3.x or higher is being used. -// - CPPB_4 : BCB v4.x is being used. -// - CPPB_4_UP : BCB v4.x or higher is being used. -// - CPPB_5 : BCB v5.x is being used. -// - CPPB_5_UP : BCB v5.x or higher is being used. -// - CPPB_6 : BCB v6.x is being used. -// - CPPB_6_UP : BCB v6.x or higher is being used. -// -// Only defined if Windows is the target: -// - DELPHI : Any version of Delphi is being used. -// - DELPHI_1 : Delphi v1.x is being used. -// - DELPHI_2 : Delphi v2.x is being used. -// - DELPHI_2_UP : Delphi v2.x or higher is being used. -// - DELPHI_3 : Delphi v3.x is being used. -// - DELPHI_3_UP : Delphi v3.x or higher is being used. -// - DELPHI_4 : Delphi v4.x is being used. -// - DELPHI_4_UP : Delphi v4.x or higher is being used. -// - DELPHI_5 : Delphi v5.x is being used. -// - DELPHI_5_UP : Delphi v5.x or higher is being used. -// - DELPHI_6 : Delphi v6.x is being used. -// - DELPHI_6_UP : Delphi v6.x or higher is being used. -// - DELPHI_7 : Delphi v7.x is being used. -// - DELPHI_7_UP : Delphi v7.x or higher is being used. -// - DELPHI_8 : Delphi v8.x is being used. -// - DELPHI_8_UP : Delphi v8.x or higher is being used. -// - DELPHI_9 : Delphi v9.x is being used. -// - DELPHI_9_UP : Delphi v9.x or higher is being used. -// - DELPHI_XXX is not used any more, use the COMPILER_XXX defines -// -// Only defined if Linux is the target: -// - KYLIX : Any version of Kylix is being used. -// - KYLIX_1 : Kylix 1.x is being used. -// - KYLIX_1_UP : Kylix 1.x or higher is being used. -// - KYLIX_2 : Kylix 2.x is being used. -// - KYLIX_2_UP : Kylix 2.x or higher is being used. -// - KYLIX_3 : Kylix 3.x is being used. -// - KYLIX_3_UP : Kylix 3.x or higher is being used. -// -// Only defined if Linux is the target: -// - QT_CLX : Trolltech's QT library is being used. -// -// Only defined if Delphi.NET is the target: -// - DELPHI.NET : Any version of Delphi.NET is being used. -// - DELPHI.NET_1 : Delphi.NET version 1.x is being used. -// - DELPHI.NET_1_UP : Delphi.NET version 1.x is being used. -//---------------------------------------------------------------------------------------------------------------------- - -{$ifdef CLR} // The common language runtime symbol is only defined for the .NET platform. - {$define DELPHI.NET} - {$ifdef VER160} - {$define DELPHI.NET_1} - {$endif VER160} - - // Compiler defines common to all .NET versions. - {$ifdef DELPHI.NET_1} - {$define DELHI.NET_1_UP} - {$endif DELPHI.NET_1} -{$endif CLR} - -{$ifdef Win32} - - // DELPHI and BCB are no longer defined, only COMPILER - {$ifdef VER180} - {$define COMPILER_10} - {$endif VER180} - - {$ifdef VER170} - {$define COMPILER_9} - {$define DELPHI} - {$define DELPHI_9} - {$endif VER170} - - {$ifdef VER160} - {$define COMPILER_8} - {$define DELPHI} - {$define DELPHI_8} - {$endif VER160} - - {$ifdef VER150} - {$define COMPILER_7} - {$define DELPHI} - {$define DELPHI_7} - {$endif} - - {$ifdef VER140} - {$define COMPILER_6} - {$ifdef BCB} - {$define CPPB} - {$define CPPB_6} - {$else} - {$define DELPHI} - {$define DELPHI_6} - {$endif} - {$endif} - - {$ifdef VER130} - {$define COMPILER_5} - {$ifdef BCB} - {$define CPPB} - {$define CPPB_5} - {$else} - {$define DELPHI} - {$define DELPHI_5} - {$endif} - {$endif} - - {$ifdef VER125} - {$define COMPILER_4} - {$define CPPB} - {$define CPPB_4} - {$endif} - - {$ifdef VER120} - {$define COMPILER_4} - {$define DELPHI} - {$define DELPHI_4} - {$endif} - - {$ifdef VER110} - {$define COMPILER_3} - {$define CPPB} - {$define CPPB_3} - {$endif} - - {$ifdef VER100} - {$define COMPILER_3} - {$define DELPHI} - {$define DELPHI_3} - {$endif} - - {$ifdef VER93} - {$define COMPILER_2} // C++ Builder v1 compiler is really v2 - {$define CPPB} - {$define CPPB_1} - {$endif} - - {$ifdef VER90} - {$define COMPILER_2} - {$define DELPHI} - {$define DELPHI_2} - {$endif} - - {$ifdef VER80} - {$define COMPILER_1} - {$define DELPHI} - {$define DELPHI_1} - {$endif} - - {$ifdef DELPHI_2} - {$define DELPHI_2_UP} - {$endif} - - {$ifdef DELPHI_3} - {$define DELPHI_2_UP} - {$define DELPHI_3_UP} - {$endif} - - {$ifdef DELPHI_4} - {$define DELPHI_2_UP} - {$define DELPHI_3_UP} - {$define DELPHI_4_UP} - {$endif} - - {$ifdef DELPHI_5} - {$define DELPHI_2_UP} - {$define DELPHI_3_UP} - {$define DELPHI_4_UP} - {$define DELPHI_5_UP} - {$endif} - - {$ifdef DELPHI_6} - {$define DELPHI_2_UP} - {$define DELPHI_3_UP} - {$define DELPHI_4_UP} - {$define DELPHI_5_UP} - {$define DELPHI_6_UP} - {$endif} - - {$ifdef DELPHI_7} - {$define DELPHI_2_UP} - {$define DELPHI_3_UP} - {$define DELPHI_4_UP} - {$define DELPHI_5_UP} - {$define DELPHI_6_UP} - {$define DELPHI_7_UP} - {$endif} - - {$ifdef DELPHI_8} - {$define DELPHI_2_UP} - {$define DELPHI_3_UP} - {$define DELPHI_4_UP} - {$define DELPHI_5_UP} - {$define DELPHI_6_UP} - {$define DELPHI_7_UP} - {$define DELPHI_8_UP} - {$endif} - - {$ifdef DELPHI_9} - {$define DELPHI_2_UP} - {$define DELPHI_3_UP} - {$define DELPHI_4_UP} - {$define DELPHI_5_UP} - {$define DELPHI_6_UP} - {$define DELPHI_7_UP} - {$define DELPHI_8_UP} - {$define DELPHI_9_UP} - {$endif} - - {$ifdef CPPB_3} - {$define CPPB_3_UP} - {$endif} - - {$ifdef CPPB_4} - {$define CPPB_3_UP} - {$define CPPB_4_UP} - {$endif} - - {$ifdef CPPB_5} - {$define CPPB_3_UP} - {$define CPPB_4_UP} - {$define CPPB_5_UP} - {$endif} - - {$ifdef CPPB_6} - {$define CPPB_3_UP} - {$define CPPB_4_UP} - {$define CPPB_5_UP} - {$define CPPB_6_UP} - {$endif} - - {$ifdef CPPB_3_UP} - // C++ Builder requires this if you use Delphi components in run-time packages. - {$ObjExportAll On} - {$endif} - -{$else (not Windows)} - // Linux is the target - {$define QT_CLX} - - {$define KYLIX} - - {$ifdef VER140} - {$define COMPILER_6} - {$ifdef conditionalexpressions} - {$if Declared(RTLVersion) and (RTLVersion = 14)} - {$define KYLIX_1} - {$ifend} - - {$if Declared(RTLVersion) and (RTLVersion = 14.2)} - {$define KYLIX_2} - {$ifend} - - {$if Declared(RTLVersion) and (RTLVersion = 14.5)} - {$define KYLIX_3} - {$ifend} - {$endif} - {$endif} - - {$ifdef VER150} - {$define COMPILER_7} - {$define KYLIX_3} - {$endif} - - {$ifdef VER140} - {$define COMPILER_6} - {$define KYLIX_2} - {$endif} - - {$ifdef KYLIX_1} - {$define KYLIX_1_UP} - {$endif} - - {$ifdef KYLIX_2} - {$define KYLIX_2_UP} - {$endif} - - {$ifdef KYLIX_3} - {$define KYLIX_2_UP} - {$define KYLIX_3_UP} - {$endif} - -{$endif Win32} - -// Compiler defines not specific to a particlular platform. - -{$ifdef COMPILER_1} - {$define COMPILER_1_UP} -{$endif} - -{$ifdef COMPILER_2} - {$define COMPILER_1_UP} - {$define COMPILER_2_UP} -{$endif} - -{$ifdef COMPILER_3} - {$define COMPILER_1_UP} - {$define COMPILER_2_UP} - {$define COMPILER_3_UP} -{$endif} - -{$ifdef COMPILER_4} - {$define COMPILER_1_UP} - {$define COMPILER_2_UP} - {$define COMPILER_3_UP} - {$define COMPILER_4_UP} -{$endif} - -{$ifdef COMPILER_5} - {$define COMPILER_1_UP} - {$define COMPILER_2_UP} - {$define COMPILER_3_UP} - {$define COMPILER_4_UP} - {$define COMPILER_5_UP} -{$endif} - -{$ifdef COMPILER_6} - {$define COMPILER_1_UP} - {$define COMPILER_2_UP} - {$define COMPILER_3_UP} - {$define COMPILER_4_UP} - {$define COMPILER_5_UP} - {$define COMPILER_6_UP} -{$endif} - -{$ifdef COMPILER_7} - {$define COMPILER_1_UP} - {$define COMPILER_2_UP} - {$define COMPILER_3_UP} - {$define COMPILER_4_UP} - {$define COMPILER_5_UP} - {$define COMPILER_6_UP} - {$define COMPILER_7_UP} -{$endif} - -{$ifdef COMPILER_8} - {$define COMPILER_1_UP} - {$define COMPILER_2_UP} - {$define COMPILER_3_UP} - {$define COMPILER_4_UP} - {$define COMPILER_5_UP} - {$define COMPILER_6_UP} - {$define COMPILER_7_UP} - {$define COMPILER_8_UP} -{$endif} - -{$ifdef COMPILER_9} - {$define COMPILER_1_UP} - {$define COMPILER_2_UP} - {$define COMPILER_3_UP} - {$define COMPILER_4_UP} - {$define COMPILER_5_UP} - {$define COMPILER_6_UP} - {$define COMPILER_7_UP} - {$define COMPILER_8_UP} - {$define COMPILER_9_UP} -{$endif} - -{$ifdef COMPILER_10} - {$define COMPILER_1_UP} - {$define COMPILER_2_UP} - {$define COMPILER_3_UP} - {$define COMPILER_4_UP} - {$define COMPILER_5_UP} - {$define COMPILER_6_UP} - {$define COMPILER_7_UP} - {$define COMPILER_8_UP} - {$define COMPILER_9_UP} - {$define COMPILER_10_UP} - // Backwards compatibility - {$define DELPHI_2_UP} - {$define DELPHI_3_UP} - {$define DELPHI_4_UP} - {$define DELPHI_5_UP} - {$define DELPHI_6_UP} - {$define DELPHI_7_UP} - {$define DELPHI_8_UP} - {$define DELPHI_9_UP} - {$define CPPB_3_UP} - {$define CPPB_4_UP} - {$define CPPB_5_UP} - {$define CPPB_6_UP} -{$endif} - -//---------------------------------------------------------------------------------------------------------------------- - diff --git a/components/virtualtreeview-unstable/VirtualTrees.pas b/components/virtualtreeview-unstable/VirtualTrees.pas index bf29ec0b2..0e99799cc 100644 --- a/components/virtualtreeview-unstable/VirtualTrees.pas +++ b/components/virtualtreeview-unstable/VirtualTrees.pas @@ -115,7 +115,6 @@ uses virtualpanningwindow, vtlogger, LCLType, LResources, LCLIntf, LMessages, Types, SysUtils, Classes, Graphics, Controls, Forms, ImgList, StdCtrls, Menus, Printers, - CommCtrl, // image lists, common controls tree structures SyncObjs // Thread support //Clipbrd // Clipboard support {$ifdef ThemeSupport} @@ -268,8 +267,6 @@ type // The exception used by the trees. EVirtualTreeError = class(Exception); - PCardinal = ^Cardinal; - // Limits the speed interval which can be used for auto scrolling (milliseconds). TAutoScrollInterval = 1..1000; @@ -949,8 +946,6 @@ type ); - TImageIndex = Integer; - TVTHeaderColumnLayout = ( blGlyphLeft, blGlyphRight, @@ -2281,7 +2276,7 @@ TBaseVirtualTree = class(TCustomControl) procedure DrawDottedVLine(const PaintInfo: TVTPaintInfo; Top, Bottom, Left: Integer); virtual; function FindNodeInSelection(P: PVirtualNode; var Index: Integer; LowBound, HighBound: Integer): Boolean; virtual; procedure FinishChunkHeader(Stream: TStream; StartPos, EndPos: Integer); virtual; - procedure FontChanged(AFont: TObject); virtual; + procedure FontChanged(AFont: TObject); override; //lcl procedure FreeDragManager; function GetBorderDimensions: TSize; virtual; @@ -4744,7 +4739,7 @@ var OneImage, AnotherImage: TBitmap; I: Integer; - MaskColor: TColor; + //MaskColor: TColor; Source, Dest: TRect; //Small (???) hack while a solution does not come @@ -4777,7 +4772,7 @@ begin //OneImage.Width := IL.Width; //OneImage.Height := IL.Height; - MaskColor := clFuchsia;//Images.Canvas.Pixels[0, 0]; // this is usually clFuchsia + //MaskColor := clFuchsia;//Images.Canvas.Pixels[0, 0]; // this is usually clFuchsia Dest := Rect(0, 0, IL.Width, IL.Height); for I := 0 to (Images.Width div Images.Height) - 1 do begin @@ -5195,7 +5190,7 @@ begin WorkEvent := TEvent.Create(nil, False, False, ''); //todo: see how to check if a event was succesfully created under linux since handle is allways 0 {$ifdef Windows} - if WorkEvent.Handle = 0 then + if WorkEvent.Handle = TEventHandle(0) then Raise Exception.Create('VirtualTreeView - Error creating TEvent instance'); {$endif} // Create worker thread, initialize it and send it to its wait loop. @@ -5580,15 +5575,18 @@ end; procedure TCustomVirtualTreeOptions.SetPaintOptions(const Value: TVTPaintOptions); +{$ifdef ThemeSupport} var ToBeSet, ToBeCleared: TVTPaintOptions; - +{$endif} begin if FPaintOptions <> Value then begin + {$ifdef ThemeSupport} ToBeSet := Value - FPaintOptions; ToBeCleared := FPaintOptions - Value; + {$endif} FPaintOptions := Value; with FOwner do if not (csLoading in ComponentState) and HandleAllocated then @@ -11133,8 +11131,10 @@ type {$hints off} TWriterHack = class(TFiler) private + FDriver: TAbstractObjectWriter; + FDestroyDriver: Boolean; FRootAncestor: TComponent; - FPropPath: string; + FPropPath: String; end; {$hints on} @@ -11215,25 +11215,10 @@ function TVTHeader.InHeader(P: TPoint): Boolean; // Determines whether the given point (client coordinates!) is within the header rectangle (non-client coordinates). -var - R, RW: TRect; - begin //lclheader + //todo: remove this function and use PtInRect directly Result := PtInRect(TreeView.FHeaderRect,P); - { - R := Treeview.FHeaderRect; - - // Current position of the owner in screen coordinates. - GetWindowRect(Treeview.Handle, RW); - - // Convert to client coordinates. - MapWindowPoints(0, Treeview.Handle, RW, 2); - - // Consider the header within this rectangle. - OffsetRect(R, RW.Left, RW.Top); - Result := PtInRect(R, P); - } end; //---------------------------------------------------------------------------------------------------------------------- diff --git a/components/virtualtreeview-unstable/demos/mininal/minimal_lcl.lpi b/components/virtualtreeview-unstable/demos/mininal/minimal_lcl.lpi index 693f15d5e..88c23e831 100644 --- a/components/virtualtreeview-unstable/demos/mininal/minimal_lcl.lpi +++ b/components/virtualtreeview-unstable/demos/mininal/minimal_lcl.lpi @@ -1,7 +1,7 @@ - + @@ -9,7 +9,7 @@ - + @@ -23,7 +23,7 @@ - + @@ -52,9 +52,7 @@ - - - + diff --git a/components/virtualtreeview-unstable/demos/objects/mvcdemo.lpi b/components/virtualtreeview-unstable/demos/objects/mvcdemo.lpi index 69d0a315b..363b0a120 100644 --- a/components/virtualtreeview-unstable/demos/objects/mvcdemo.lpi +++ b/components/virtualtreeview-unstable/demos/objects/mvcdemo.lpi @@ -1,7 +1,7 @@ - + @@ -9,7 +9,7 @@ - + @@ -23,7 +23,7 @@ - + @@ -65,9 +65,7 @@ - - - + diff --git a/components/virtualtreeview-unstable/units/win32/virtualdragmanager.pas b/components/virtualtreeview-unstable/units/win32/virtualdragmanager.pas index 83022daf8..cac4d929b 100644 --- a/components/virtualtreeview-unstable/units/win32/virtualdragmanager.pas +++ b/components/virtualtreeview-unstable/units/win32/virtualdragmanager.pas @@ -144,7 +144,7 @@ type function GetData(const FormatEtcIn: TFormatEtc; out Medium: TStgMedium): HResult; virtual; stdcall; function GetDataHere(const FormatEtc: TFormatEtc; out Medium: TStgMedium): HResult; virtual; stdcall; function QueryGetData(const FormatEtc: TFormatEtc): HResult; virtual; stdcall; - function SetData(const FormatEtc: TFormatEtc; var Medium: TStgMedium; DoRelease: BOOL): HResult; virtual; stdcall; + function SetData(const FormatEtc: TFormatEtc; {$ifdef VER2_0}var{$else}const{$endif} Medium: TStgMedium; DoRelease: BOOL): HResult; virtual; stdcall; end; // TVTDragManager is a class to manage drag and drop in a Virtual Treeview. @@ -894,7 +894,7 @@ end; //---------------------------------------------------------------------------------------------------------------------- -function TVTDataObject.SetData(const FormatEtc: TFormatEtc; var Medium: TStgMedium; DoRelease: BOOL): HResult; +function TVTDataObject.SetData(const FormatEtc: TFormatEtc;{$ifdef VER2_0}var{$else}const{$endif} Medium: TStgMedium; DoRelease: BOOL): HResult; // Allows dynamic adding to the IDataObject during its existance. Most noteably it is used to implement // IDropSourceHelper and allows to set a special format for optimized moves during a shell transfer. diff --git a/components/virtualtreeview-unstable/units/win32/virtualpanningwindow.pas b/components/virtualtreeview-unstable/units/win32/virtualpanningwindow.pas index ffedb8640..f42595594 100644 --- a/components/virtualtreeview-unstable/units/win32/virtualpanningwindow.pas +++ b/components/virtualtreeview-unstable/units/win32/virtualpanningwindow.pas @@ -15,7 +15,6 @@ type TVirtualPanningWindow = class private FHandle: THandle; - FOwnerHandle: THandle; FImage: TBitmap; procedure HandlePaintMessage; public