-
Notifications
You must be signed in to change notification settings - Fork 23
/
Copy pathVirtualShellToolsReg.pas
110 lines (85 loc) · 4.33 KB
/
VirtualShellToolsReg.pas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
unit VirtualShellToolsReg;
// Version 2.3.0
//
// The contents of this file are subject to the Mozilla Public License
// Version 1.1 (the "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
//
// Alternatively, you may redistribute this library, use and/or modify it under the terms of the
// GNU Lesser General Public License as published by the Free Software Foundation;
// either version 2.1 of the License, or (at your option) any later version.
// You may obtain a copy of the LGPL at http://www.gnu.org/copyleft/.
//
// Software distributed under the License is distributed on an "AS IS" basis,
// WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the
// specific language governing rights and limitations under the License.
//
// The initial developer of this code is Jim Kueneman <jimdk@mindspring.com>
//
//----------------------------------------------------------------------------
interface
{$include ..\Include\AddIns.inc}
// If you are upgrading from VSTools 0.9.xx or earlier uncomment the conditional
// define. By doing so the old components ExplorerTreeview, ExplorerListview,
// and ExplorerCombobox will also be installed in the palette. This way your
// projects can be opened then show the form as text and change the TExplorerXXXX
// object types to TVirtualExplorerXXXXX then let Delphi update what it needs to
// by answering yes to the questions when the text is then shown again as a Form.
// I updated all the demos this way and it was suprisingly painless.
uses
Windows, Messages, SysUtils, Classes, Controls,
VirtualShellToolbar, VirtualExplorerTree, StdCtrls, MPShellUtilities,
VirtualShellNewMenu, AppletsAndWizards, VirtualShellHistory,
VirtualShellAutoComplete, VirtualSendToMenu, VirtualRedirector,
VirtualExplorerEasyListview, VirtualFileSearch,
VirtualExplorerEasyListModeview,
{VirtualBreadCrumbBar}
DesignIntf, DesignEditors;
procedure Register;
implementation
const
sELVEnumerationCategory = 'Enumeration';
sELVStorageCategory = 'Storage';
sELVCustomCategory = 'Custom Columns and Groups';
sELVRootCategory = 'Root Namespace';
sELVShellCategory = 'Shell';
sELVCustomClassesCategory = 'Custom Object Classes';
procedure Register;
begin
// Unicode Controls
RegisterComponents('Virtual Controls', [TWideSpeedButton]);
RegisterComponents('VirtualShellTools', [TVirtualExplorerComboBox]);
// Virtual Explorer Tree Components
RegisterComponents('VirtualShellTools', [TVirtualExplorerTree, TVirtualExplorerTreeview,
TVirtualExplorerListview, TVirtualDropStack]);
// Virtual Virtual Shell Toolbar Components
RegisterComponents('VirtualShellTools', [TVirtualShellToolbar, TVirtualDriveToolbar,
TVirtualSpecialFolderToolbar]);
// Assorted ShellTools Components
RegisterComponents('VirtualShellTools', [TVirtualShellLink, TVirtualShellNewMenu,
TVirtualShellHistory, TVirtualShellMRU, TVirtualShellAutoComplete, TVirtualSendToMenu,
TVirtualFileSearch, TVirtualShellMultiParentContextMenu, TVirtualShellBackgroundContextMenu{,
TVirtualBreadCrumbBar}]);
// Applets, Wizards, and Shell Dialogs Components
RegisterComponents('VirtualShellTools', [TVirtualRunFileDialog]);
// Redirector Components
RegisterComponents('VirtualShellTools', [TVirtualCommandLineRedirector,
TVirtualRedirector]);
// EasyListview Components
RegisterComponents('VirtualShellTools', [TVirtualExplorerEasyListview,
TVirtualMultiPathExplorerEasyListview, TVirtualColumnModeView]);
RegisterPropertiesInCategory(sELVEnumerationCategory, TCustomVirtualExplorerEasyListview,
['OnEnum*'] );
RegisterPropertiesInCategory(sELVStorageCategory, TCustomVirtualExplorerEasyListview,
['*Storage*'] );
RegisterPropertiesInCategory(sELVCustomCategory, TCustomVirtualExplorerEasyListview,
['OnCustom*'] );
RegisterPropertiesInCategory(sELVRootCategory, TCustomVirtualExplorerEasyListview,
['OnRoot*',
'OnInvalidRoot*'] );
RegisterPropertiesInCategory(sELVShellCategory, TCustomVirtualExplorerEasyListview,
['OnShell*'] );
RegisterPropertiesInCategory(sELVCustomClassesCategory, TCustomVirtualExplorerEasyListview,
['On*Class'] );
end;
end.