You've already forked lazarus-ccr
fpspreadsheet: Beginning to integrate hyperlinks into visual demos --> THyperlinkForm (not complete yet).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4055 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -60,7 +60,7 @@
|
||||
<PackageName Value="LCL"/>
|
||||
</Item2>
|
||||
</RequiredPackages>
|
||||
<Units Count="6">
|
||||
<Units Count="7">
|
||||
<Unit0>
|
||||
<Filename Value="demo_ctrls.lpr"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
@ -103,6 +103,14 @@
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="scurrencyform"/>
|
||||
</Unit5>
|
||||
<Unit6>
|
||||
<Filename Value="..\shared\shyperlinkform.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="HyperlinkForm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="sHyperlinkForm"/>
|
||||
</Unit6>
|
||||
</Units>
|
||||
</ProjectOptions>
|
||||
<CompilerOptions>
|
||||
@ -120,6 +128,9 @@
|
||||
<SmartLinkUnit Value="True"/>
|
||||
</CodeGeneration>
|
||||
<Linking>
|
||||
<Debugging>
|
||||
<DebugInfoType Value="dsDwarf2Set"/>
|
||||
</Debugging>
|
||||
<Options>
|
||||
<Win32>
|
||||
<GraphicApplication Value="True"/>
|
||||
|
@ -7,7 +7,7 @@ uses
|
||||
cthreads,
|
||||
{$ENDIF}{$ENDIF}
|
||||
Interfaces, // this includes the LCL widgetset
|
||||
Forms, main
|
||||
Forms, main, sHyperlinkForm
|
||||
{ you can add units after this };
|
||||
|
||||
{$R *.res}
|
||||
|
@ -80,7 +80,7 @@ object MainForm: TMainForm
|
||||
'FileName='
|
||||
'FileFormat=sfExcel8'
|
||||
'ActiveWorksheet=Sheet1'
|
||||
'Options=boBufStream, boCalcBeforeSaving, boReadFormulas'
|
||||
'Options=boAutoCalc, boCalcBeforeSaving, boReadFormulas'
|
||||
'FormatSettings='
|
||||
' ThousandSeparator=.'
|
||||
' DecimalSeparator=.'
|
||||
@ -432,7 +432,7 @@ object MainForm: TMainForm
|
||||
Style = tbsDivider
|
||||
end
|
||||
object ToolButton2: TToolButton
|
||||
Left = 403
|
||||
Left = 480
|
||||
Top = 0
|
||||
Action = AcFileExit
|
||||
end
|
||||
@ -539,11 +539,34 @@ object MainForm: TMainForm
|
||||
Style = tbsDivider
|
||||
end
|
||||
object ToolButton4: TToolButton
|
||||
Left = 427
|
||||
Left = 504
|
||||
Top = 0
|
||||
Caption = 'ToolButton4'
|
||||
OnClick = ToolButton4Click
|
||||
end
|
||||
object ToolButton50: TToolButton
|
||||
Left = 403
|
||||
Top = 0
|
||||
Action = AcHyperlinkNew
|
||||
end
|
||||
object ToolButton51: TToolButton
|
||||
Left = 427
|
||||
Top = 0
|
||||
Action = AcHyperlinkEdit
|
||||
end
|
||||
object ToolButton53: TToolButton
|
||||
Left = 451
|
||||
Top = 0
|
||||
Action = AcHyperlinkDelete
|
||||
end
|
||||
object ToolButton54: TToolButton
|
||||
Left = 475
|
||||
Height = 24
|
||||
Top = 0
|
||||
Width = 5
|
||||
Caption = 'ToolButton54'
|
||||
Style = tbsDivider
|
||||
end
|
||||
end
|
||||
object ToolBar3: TToolBar
|
||||
Left = 0
|
||||
@ -1453,12 +1476,38 @@ object MainForm: TMainForm
|
||||
Hint = 'Define number format settings'
|
||||
OnExecute = AcSettingsFormatSettingsExecute
|
||||
end
|
||||
object AcHyperlinkNew: TsCellHyperlinkAction
|
||||
Category = 'FPSpreadsheet'
|
||||
WorkbookSource = WorkbookSource
|
||||
Mode = chmNew
|
||||
OnHyperlink = AcHyperlinkNewHyperlink
|
||||
Caption = 'New hyperlink...'
|
||||
Hint = 'Add hyperlink to active cell'
|
||||
ImageIndex = 57
|
||||
end
|
||||
object AcHyperlinkEdit: TsCellHyperlinkAction
|
||||
Category = 'FPSpreadsheet'
|
||||
WorkbookSource = WorkbookSource
|
||||
Mode = chmEdit
|
||||
OnHyperlink = AcHyperlinkEditHyperlink
|
||||
Caption = 'Edit hyperlink...'
|
||||
Hint = 'Edit hyperlink of selected cell'
|
||||
ImageIndex = 59
|
||||
end
|
||||
object AcHyperlinkDelete: TsCellHyperlinkAction
|
||||
Category = 'FPSpreadsheet'
|
||||
WorkbookSource = WorkbookSource
|
||||
Mode = chmDelete
|
||||
Caption = 'Delete hyperlink'
|
||||
Hint = 'Delete hyperlink from selected cell'
|
||||
ImageIndex = 58
|
||||
end
|
||||
end
|
||||
object ImageList: TImageList
|
||||
left = 176
|
||||
top = 312
|
||||
Bitmap = {
|
||||
4C69430000001000000010000000003F9300003F9300003F9300003F9424003F
|
||||
4C69460000001000000010000000003F9300003F9300003F9300003F9424003F
|
||||
948A003E93CC004095CC004095CC004095CC004095CC004095CC004095CC0040
|
||||
95CC004095CC00409599003F9400003F9300003F9324003F938A0E4B9CD33F76
|
||||
C0EC5D90D4FF3365A9FFA0A0A0FFA9A9A9FFA9A9A9FFAAAAAAFFACACACFFAEAE
|
||||
@ -3282,7 +3331,103 @@ object MainForm: TMainForm
|
||||
000000000000000000FF014F68AB015F773D0000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
0000000000000000000000000000C7740200CB770200DB830300E1870308E58A
|
||||
0344E68B038AE68B03ACE68B03BBE68B03ACE68B038AE58A0344E1870308DB83
|
||||
0300CB770200C7740200C7740200C7740200CB770200D9820320DB830399E29C
|
||||
37CFECC487EBF2D5A6F8F2D9B2FEFCF1CDF8F6DCA5EBE6A645CFDB830399D982
|
||||
0320CB770200C7740200C7740200C7740200C9760220CF7F0FB0E2B36FE6EFD7
|
||||
ABFFFCF2CCFFF1D5A5FFEFCE9BFFF8EAC6FFFFFAD7FFFFF9D7FFEDCB8EE6CF7F
|
||||
0FB0C9760220C7740200C7740200B5670209BA6A029EDDB06FE7E7C389FFF8E7
|
||||
BAFFFEF2CCFFEFD4A5FFF2D9ADFFF8E9C3FFFCF0CAFFFFF5CAFFFFF4C6FFE6C3
|
||||
86E7BA6A029EB5670209B5670200A65C0147B87A2AD5DAA95FFFDFB268FFF4D9
|
||||
A1FFE4BE82FFE4BD7DFFF3D8A7FFFFEDBFFFDCB57EFFF4D9A3FFFFE8AEFFFBE3
|
||||
ACFFB67525D5A65C0147A35A010097510192CE9D5EEFD79E48FFD8A045FFD8A3
|
||||
4FFFDCAA57FFDEAD5DFFDFB069FFD2A05CFFC9934EFFFAD18FFFEDBF7AFFE0AD
|
||||
62FFCE9D5AEF9751019297510100894700B8E8B571FAD49541FFCD8F2FFFD498
|
||||
38FFD49B3BFFD59C3EFFCF953CFFE6AD5EFFFDC577FFF5BB6CFFCE8F3EFFCB8B
|
||||
30FFCE984AFA894700B889470000814100C9BC7F38FEE59E43FFC98525FFCD8C
|
||||
28FFCE8C29FFCE8D2AFFCB8A29FFCE8A32FFD7903EFFF5AD54FFB9741DFFD48D
|
||||
32FFC88C3EFE814100C981410000804000B9CB8A3BFAC88221FFCC8724FFCE8A
|
||||
25FFCE8A27FFCE8A27FFCE8A28FFC88425FFDC9036FFF5A546FFB96F1EFFFFAD
|
||||
4BFFE9A351FA804000B98040000085430094B8772BF0D28926FFD38B28FFD48E
|
||||
2CFFD48F30FFD59132FFD59132FFD18D30FFDC9137FFD1842FFF619B13FF44AA
|
||||
0EFF609E19F885430094854300008D480049A35D12DADC9133FFDC9132FFDE95
|
||||
3AFFDF9942FFDF9C47FFE09D48FFDF9B46FFDC9741FFCF8635FF43A812FF75EE
|
||||
64FF309A06F86E5E00494F720000964E0009995000A4CA7E28EBE79942FFE9A0
|
||||
4EFFEAA659FFEBAA60FFEBAB63FFEBAA60FF68A023FF3A9B0FFF41A617FF66EB
|
||||
55FF259300ED139D00CE129C0099A2570000A4580022AA5D04BAD48732EBF0A8
|
||||
5EFFF2B06BFFF3B473FFF3B576FFF3B473FF3D9B16FF52E741FF52E741FF52E7
|
||||
41FF52E741FF52E741FF109500CCA2570000A5590000B0600022B16100A4C576
|
||||
1CD9E59B4FF0F1AD6AFAF6B475FEF1AD6AFA61901CF72E8805F8258600ED3DE2
|
||||
2CFF0E8C00CC0E8C00CC0E8D0099A2570000A5590000B1610000B6640009B967
|
||||
0049BA670094BA6700B9BA6700C9BA6700B9BA670094B96700490D8300CE2BDF
|
||||
1AFF0C8300CC0D8800000E8C0000A2570000A5590000B1610000B6640000BA67
|
||||
0000BC680000BC680000BC680000BC680000BC680000626D0000066D00990569
|
||||
00CC066D0099077100000E8C0000C7740200CB770200DB830300E1870308E58A
|
||||
0344E68B038AE68B03ACE68B03BBE68B03ACE68B038AE58A0344E1870308DB83
|
||||
0300CB770200C7740200647F5100C7740200CB770200D9820320DB830399E29C
|
||||
37CFECC487EBF2D5A6F8F2D9B2FEFCF1CDF8F6DCA5EBE6A645CFDB830399D982
|
||||
0320CB770200C7740200C7740200C7740200C9760220CF7F0FB0E2B36FE6EFD7
|
||||
ABFFFCF2CCFFF1D5A5FFEFCE9BFFF8EAC6FFFFFAD7FFFFF9D7FFEDCB8EE6CF7F
|
||||
0FB0C9760220C7740200C7740200B5670209BA6A029EDDB06FE7E7C389FFF8E7
|
||||
BAFFFEF2CCFFEFD4A5FFF2D9ADFFF8E9C3FFFCF0CAFFFFF5CAFFFFF4C6FFE6C3
|
||||
86E7BA6A029EB5670209B5670200A65C0147B87A2AD5DAA95FFFDFB268FFF4D9
|
||||
A1FFE4BE82FFE4BD7DFFF3D8A7FFFFEDBFFFDCB57EFFF4D9A3FFFFE8AEFFFBE3
|
||||
ACFFB67525D5A65C0147A35A010097510192CE9D5EEFD79E48FFD8A045FFD8A3
|
||||
4FFFDCAA57FFDEAD5DFFDFB069FFD2A05CFFC9934EFFFAD18FFFEDBF7AFFE0AD
|
||||
62FFCE9D5AEF9751019297510100894700B8E8B571FAD49541FFCD8F2FFFD498
|
||||
38FFD49B3BFFD59C3EFFCF953CFFE6AD5EFFFDC577FFF5BB6CFFCE8F3EFFCB8B
|
||||
30FFCE984AFA894700B889470000814100C9BC7F38FEE59E43FFC98525FFCD8C
|
||||
28FFCE8C29FFCE8D2AFFCB8A29FFCE8A32FFD7903EFFF5AD54FFB9741DFFD48D
|
||||
32FFC88C3EFE814100C981410000804000B9CB8A3BFAC88221FFCC8724FFCE8A
|
||||
25FFCE8A27FFCE8A27FFCE8A28FFC88425FFDC9036FFF5A546FFB96F1EFFFFAD
|
||||
4BFFE9A351FA804000B98040000085430094B8772BF0D28926FFD38B28FFD48E
|
||||
2CFFD48F30FFD59132FFD59132FFD18D30FFDC9137FFD1842FFFE8993BFFFFAC
|
||||
47FFDD9543F085430094854300008D480049A35D12DADC9133FFDC9132FFDE95
|
||||
3AFFDF9942FFDF9C47FFE09D48FFDF9B46FFDC9741FFCF8635FFFFB656FFFFB6
|
||||
56FFAE691CDA6A362B4946245400964E0009995000A4CA7E28EBE79942FFE9A0
|
||||
4EFFEAA659FFEBAA60FFEBAB63FFEBAA60FF5D4287FF2C1E95FF33289CFF291E
|
||||
95FB150B90ED0201A6CE0000A699A2570000A4580022AA5D04BAD48732EBF0A8
|
||||
5EFFF2B06BFFF3B473FFF3B576FFF3B473FF31248FFF5E5EF7FF5E5EF7FF5E5E
|
||||
F7FF5E5EF7FF5E5EF7FF000098CCA2570000A5590000B0600022B16100A4C576
|
||||
1CD9E59B4FF0F1AD6AFAF6B475FEF1AD6AFA583B6BF723156EF8190E6EED0503
|
||||
7CD3000080CC000080CC00008499A2570000A5590000B1610000B6640009B967
|
||||
0049BA670094BA6700B9BA6700C9BA6700B9BA670094B9670049633737090000
|
||||
7700000077000000770000008000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00C7740200CB770200DB830300E1870308E58A
|
||||
0344E68B038AE68B03ACE68B03BBE68B03ACE68B038AE58A0344E18703089A6D
|
||||
2C002B2B9D390101DEAF0101C640C7740200CB770200D9820320DB830399E29C
|
||||
37CFECC487EBF2D5A6F8F2D9B2FEFCF1CDF8F6DCA5EBE6A645CFDB830399956A
|
||||
2D4038386F7C8080FFFF0101B1C1C7740200C9760220CF7F0FB0E2B36FE6EFD7
|
||||
ABFFFCF2CCFFF1D5A5FFEFCE9BFFF8EAC6FFFFFAD7FFFFF9D7FFB1BF97EB8A64
|
||||
2FD2F7F7F7FF1A1A468E00009F46B5670209BA6A029EDDB06FE7E7C389FFF8E7
|
||||
BAFFFEF2CCFFEFD4A5FFF2D9ADFFF8E9C3FFFCF0CAFFC2E1C6FF4CB3B6FF79E6
|
||||
F7FF5C3E16CE281D103600009C00A65C0147B87A2AD5DAA95FFFDFB268FFF4D9
|
||||
A1FFE4BE82FFE4BD7DFFF3D8A7FFFFEDBFFFA9B391FF48ABACFF79E6F7FF4198
|
||||
9BFF846F39DEA65C0147A35A010097510192CE9D5EEFD79E48FFD8A045FFD8A3
|
||||
4FFFDCAA57FFDEAD5DFFDFB069FFA2A377FF3C9693FF79E6F7FF3D8F8EFFA29A
|
||||
67FFCE9D5AEF9751019297510100894700B8E8B571FAD49541FFCD8F2FFFD498
|
||||
38FFD49B3BFFD59C3EFFB2924CFF449D98FF79E6F7FF3F8E8AFF95854EFFCB8B
|
||||
30FFCE984AFA894700B889470000814100C9BC7F38FEE59E43FFC98525FFCD8C
|
||||
28FFCE8C29FFCE8D2AFF667B5DFFD9F4FFFF37837FFFB39C60FFB9741DFFD48D
|
||||
32FFC88C3EFE814100C981410000804000B9CB8A3BFAC88221FFCC8724FFCE8A
|
||||
25FFCE8A27FFCE8A27FF000000FF446052FFAE8747FFF5A546FFB96F1EFFFFAD
|
||||
4BFFE9A351FA804000B98040000085430094B8772BF0D28926FFD38B28FFD48E
|
||||
2CFFD48F30FFD59132FFD59132FFD18D30FFDC9137FFD1842FFFE8993BFFFFAC
|
||||
47FFDD9543F085430094854300008D480049A35D12DADC9133FFDC9132FFDE95
|
||||
3AFFDF9942FFDF9C47FFE09D48FFDF9B46FFDC9741FFCF8635FFFFB656FFFFB6
|
||||
56FFAE691CDA8D4800498B470000964E0009995000A4CA7E28EBE79942FFE9A0
|
||||
4EFFEAA659FFEBAA60FFEBAB63FFEBAA60FFEAA659FFDA9148FFFFC66EFFDA9A
|
||||
44EB995000A4964E0009964E0000A2570000A4580022AA5D04BAD48732EBF0A8
|
||||
5EFFF2B06BFFF3B473FFF3B576FFF3B473FFF2B06BFFE49C59FFDEA754EBAB60
|
||||
07BAA4580022A2570000A2570000A2570000A5590000B0600022B16100A4C576
|
||||
1CD9E59B4FF0F1AD6AFAF6B475FEF1AD6AFAE59B4FF0C3731BD9B16100A4B060
|
||||
0022A5590000A2570000A2570000A2570000A5590000B1610000B6640009B967
|
||||
0049BA670094BA6700B9BA6700C9BA6700B9BA670094B9670049B6640009B161
|
||||
0000A5590000A2570000A2570000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF003B7F320015A9000015A9000015A9
|
||||
000015A9000015AA009915AA00CC15AA00CC15AA009915A9000015A9000015A9
|
||||
|
@ -221,6 +221,9 @@ type
|
||||
AcCommentNew: TsCellCommentAction;
|
||||
AcCommentEdit: TsCellCommentAction;
|
||||
AcCommentDelete: TsCellCommentAction;
|
||||
AcHyperlinkNew: TsCellHyperlinkAction;
|
||||
AcHyperlinkEdit: TsCellHyperlinkAction;
|
||||
AcHyperlinkDelete: TsCellHyperlinkAction;
|
||||
Splitter2: TSplitter;
|
||||
Splitter3: TSplitter;
|
||||
ToolBar2: TToolBar;
|
||||
@ -283,7 +286,11 @@ type
|
||||
ToolButton5: TToolButton;
|
||||
TbCommentDelete: TToolButton;
|
||||
TbCommentEdit: TToolButton;
|
||||
ToolButton50: TToolButton;
|
||||
ToolButton51: TToolButton;
|
||||
ToolButton52: TToolButton;
|
||||
ToolButton53: TToolButton;
|
||||
ToolButton54: TToolButton;
|
||||
ToolButton6: TToolButton;
|
||||
ToolButton7: TToolButton;
|
||||
ToolButton8: TToolButton;
|
||||
@ -295,12 +302,18 @@ type
|
||||
procedure AcColDeleteExecute(Sender: TObject);
|
||||
procedure AcFileOpenAccept(Sender: TObject);
|
||||
procedure AcFileSaveAsAccept(Sender: TObject);
|
||||
procedure AcHyperlinkEditHyperlink(Sender: TObject; ACaption: String;
|
||||
var AHyperlink: TsHyperlink);
|
||||
procedure AcHyperlinkNewHyperlink(Sender: TObject; ACaption: String;
|
||||
var AHyperlink: TsHyperlink);
|
||||
procedure AcRowAddExecute(Sender: TObject);
|
||||
procedure AcRowDeleteExecute(Sender: TObject);
|
||||
procedure AcSettingsCSVParamsExecute(Sender: TObject);
|
||||
procedure AcSettingsCurrencyExecute(Sender: TObject);
|
||||
procedure AcSettingsFormatSettingsExecute(Sender: TObject);
|
||||
procedure AcViewInspectorExecute(Sender: TObject);
|
||||
procedure HyperlinkHandler(Sender: TObject; ACaption: String;
|
||||
var AHyperlink: TsHyperlink);
|
||||
procedure InspectorTabControlChange(Sender: TObject);
|
||||
procedure ToolButton4Click(Sender: TObject);
|
||||
procedure WorksheetGridClickHyperlink(Sender: TObject;
|
||||
@ -315,17 +328,36 @@ type
|
||||
var
|
||||
MainForm: TMainForm;
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.lfm}
|
||||
|
||||
uses
|
||||
fpsUtils, fpsCSV,
|
||||
sCSVParamsForm, sCurrencyForm, sFormatSettingsForm, sSortParamsForm;
|
||||
sCSVParamsForm, sCurrencyForm, sFormatSettingsForm, sSortParamsForm,
|
||||
sHyperlinkForm;
|
||||
|
||||
|
||||
{ TMainForm }
|
||||
|
||||
{ Adds a column before the active cell }
|
||||
procedure TMainForm.AcColAddExecute(Sender: TObject);
|
||||
begin
|
||||
WorksheetGrid.InsertCol(WorksheetGrid.Col);
|
||||
WorksheetGrid.Col := WorksheetGrid.Col + 1;
|
||||
end;
|
||||
|
||||
{ Deletes the column with the active cell }
|
||||
procedure TMainForm.AcColDeleteExecute(Sender: TObject);
|
||||
var
|
||||
c: Integer;
|
||||
begin
|
||||
c := WorksheetGrid.Col;
|
||||
WorksheetGrid.DeleteCol(c);
|
||||
WorksheetGrid.Col := c;
|
||||
end;
|
||||
|
||||
{ Loads the spreadsheet file selected by the AcFileOpen action }
|
||||
procedure TMainForm.AcFileOpenAccept(Sender: TObject);
|
||||
begin
|
||||
@ -367,23 +399,19 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
{ Adds a column before the active cell }
|
||||
procedure TMainForm.AcColAddExecute(Sender: TObject);
|
||||
procedure TMainForm.AcHyperlinkEditHyperlink(Sender: TObject; ACaption: String;
|
||||
var AHyperlink: TsHyperlink);
|
||||
begin
|
||||
WorksheetGrid.InsertCol(WorksheetGrid.Col);
|
||||
WorksheetGrid.Col := WorksheetGrid.Col + 1;
|
||||
HyperlinkHandler(Sender, ACaption, AHyperlink);
|
||||
end;
|
||||
|
||||
{ Deletes the column with the active cell }
|
||||
procedure TMainForm.AcColDeleteExecute(Sender: TObject);
|
||||
var
|
||||
c: Integer;
|
||||
procedure TMainForm.AcHyperlinkNewHyperlink(Sender: TObject; ACaption: String;
|
||||
var AHyperlink: TsHyperlink);
|
||||
begin
|
||||
c := WorksheetGrid.Col;
|
||||
WorksheetGrid.DeleteCol(c);
|
||||
WorksheetGrid.Col := c;
|
||||
HyperlinkHandler(Sender, ACaption, AHyperlink);
|
||||
end;
|
||||
|
||||
|
||||
{ Adds a row before the active cell }
|
||||
procedure TMainForm.AcRowAddExecute(Sender: TObject);
|
||||
begin
|
||||
@ -447,7 +475,6 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
{ Toggles the spreadsheet inspector on and off }
|
||||
procedure TMainForm.AcViewInspectorExecute(Sender: TObject);
|
||||
begin
|
||||
@ -456,6 +483,18 @@ begin
|
||||
InspectorSplitter.Left := 0;
|
||||
end;
|
||||
|
||||
{ Event handler for hyperlinks }
|
||||
procedure TMainForm.HyperlinkHandler(Sender: TObject; ACaption: String;
|
||||
var AHyperlink: TsHyperlink);
|
||||
begin
|
||||
if HyperlinkForm = nil then
|
||||
HyperlinkForm := THyperlinkForm.Create(self);
|
||||
HyperlinkForm.Caption := ACaption;
|
||||
HyperlinkForm.SetHyperlink(WorkbookSource.Worksheet, AHyperlink);
|
||||
if HyperlinkForm.ShowModal = mrOK then
|
||||
HyperlinkForm.GetHyperlink(AHyperlink);
|
||||
end;
|
||||
|
||||
{ Event handler to synchronize the mode of the spreadsheet inspector with the
|
||||
selected tab of the TabControl }
|
||||
procedure TMainForm.InspectorTabControlChange(Sender: TObject);
|
||||
|
@ -0,0 +1,670 @@
|
||||
object HyperlinkForm: THyperlinkForm
|
||||
Left = 327
|
||||
Height = 347
|
||||
Top = 259
|
||||
Width = 498
|
||||
Caption = 'Hyperlink'
|
||||
ClientHeight = 347
|
||||
ClientWidth = 498
|
||||
ShowHint = True
|
||||
LCLVersion = '1.5'
|
||||
object ButtonPanel1: TButtonPanel
|
||||
Left = 6
|
||||
Height = 34
|
||||
Top = 307
|
||||
Width = 486
|
||||
OKButton.Name = 'OKButton'
|
||||
OKButton.DefaultCaption = True
|
||||
OKButton.OnClick = OKButtonClick
|
||||
HelpButton.Name = 'HelpButton'
|
||||
HelpButton.DefaultCaption = True
|
||||
CloseButton.Name = 'CloseButton'
|
||||
CloseButton.DefaultCaption = True
|
||||
CancelButton.Name = 'CancelButton'
|
||||
CancelButton.DefaultCaption = True
|
||||
TabOrder = 0
|
||||
ShowButtons = [pbOK, pbCancel]
|
||||
end
|
||||
object Panel2: TPanel
|
||||
Left = 75
|
||||
Height = 301
|
||||
Top = 0
|
||||
Width = 423
|
||||
Align = alClient
|
||||
BevelOuter = bvNone
|
||||
ClientHeight = 301
|
||||
ClientWidth = 423
|
||||
TabOrder = 1
|
||||
object Notebook: TNotebook
|
||||
Left = 4
|
||||
Height = 263
|
||||
Top = 4
|
||||
Width = 415
|
||||
PageIndex = 0
|
||||
Align = alClient
|
||||
BorderSpacing.Around = 4
|
||||
TabOrder = 0
|
||||
TabStop = True
|
||||
object PgInternal: TPage
|
||||
object GroupBox2: TGroupBox
|
||||
Left = 0
|
||||
Height = 80
|
||||
Top = 0
|
||||
Width = 415
|
||||
Align = alTop
|
||||
Caption = 'Target within current workbook'
|
||||
ClientHeight = 60
|
||||
ClientWidth = 411
|
||||
Font.Style = [fsBold]
|
||||
ParentFont = False
|
||||
TabOrder = 0
|
||||
object CbWorksheets: TComboBox
|
||||
Left = 8
|
||||
Height = 23
|
||||
Top = 24
|
||||
Width = 208
|
||||
ItemHeight = 15
|
||||
OnChange = UpdateHyperlinkInfo
|
||||
ParentFont = False
|
||||
Style = csDropDownList
|
||||
TabOrder = 0
|
||||
end
|
||||
object Label5: TLabel
|
||||
Left = 8
|
||||
Height = 15
|
||||
Top = 6
|
||||
Width = 59
|
||||
Caption = 'Worksheet:'
|
||||
ParentColor = False
|
||||
ParentFont = False
|
||||
end
|
||||
object Label6: TLabel
|
||||
Left = 224
|
||||
Height = 15
|
||||
Top = 8
|
||||
Width = 66
|
||||
Caption = 'Cell address:'
|
||||
ParentColor = False
|
||||
ParentFont = False
|
||||
end
|
||||
object CbCellAddress: TComboBox
|
||||
Left = 224
|
||||
Height = 23
|
||||
Top = 24
|
||||
Width = 178
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
ItemHeight = 15
|
||||
OnChange = UpdateHyperlinkInfo
|
||||
OnEditingDone = CbCellAddressEditingDone
|
||||
ParentFont = False
|
||||
TabOrder = 1
|
||||
end
|
||||
end
|
||||
end
|
||||
object Page2: TPage
|
||||
object GroupBox3: TGroupBox
|
||||
Left = 0
|
||||
Height = 88
|
||||
Top = 0
|
||||
Width = 417
|
||||
Align = alTop
|
||||
BorderSpacing.Right = 8
|
||||
BorderSpacing.Bottom = 8
|
||||
Caption = 'File'
|
||||
ClientHeight = 68
|
||||
ClientWidth = 413
|
||||
Font.Style = [fsBold]
|
||||
ParentFont = False
|
||||
TabOrder = 0
|
||||
object CbFileName: TComboBox
|
||||
Left = 16
|
||||
Height = 23
|
||||
Top = 8
|
||||
Width = 306
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
ItemHeight = 15
|
||||
ParentFont = False
|
||||
TabOrder = 0
|
||||
end
|
||||
object BtnBrowseFile: TButton
|
||||
Left = 330
|
||||
Height = 23
|
||||
Top = 8
|
||||
Width = 75
|
||||
Anchors = [akTop, akRight]
|
||||
Caption = 'Browse...'
|
||||
OnClick = BtnBrowseFileClick
|
||||
ParentFont = False
|
||||
TabOrder = 1
|
||||
end
|
||||
object RadioButton1: TRadioButton
|
||||
Left = 19
|
||||
Height = 19
|
||||
Top = 41
|
||||
Width = 92
|
||||
Caption = 'absolute path'
|
||||
Checked = True
|
||||
ParentFont = False
|
||||
TabOrder = 3
|
||||
TabStop = True
|
||||
end
|
||||
object RadioButton2: TRadioButton
|
||||
Left = 137
|
||||
Height = 19
|
||||
Top = 41
|
||||
Width = 85
|
||||
Caption = 'relative path'
|
||||
ParentFont = False
|
||||
TabOrder = 2
|
||||
end
|
||||
end
|
||||
end
|
||||
object Page3: TPage
|
||||
object GroupBox4: TGroupBox
|
||||
Left = 0
|
||||
Height = 64
|
||||
Top = 72
|
||||
Width = 407
|
||||
Align = alTop
|
||||
BorderSpacing.Top = 8
|
||||
BorderSpacing.Right = 8
|
||||
Caption = 'URL'
|
||||
ClientHeight = 44
|
||||
ClientWidth = 403
|
||||
TabOrder = 0
|
||||
object CbFileName1: TComboBox
|
||||
Left = 16
|
||||
Height = 23
|
||||
Top = 8
|
||||
Width = 395
|
||||
ItemHeight = 15
|
||||
TabOrder = 0
|
||||
Text = 'ComboBox1'
|
||||
end
|
||||
end
|
||||
object GroupBox5: TGroupBox
|
||||
Left = 0
|
||||
Height = 64
|
||||
Top = 0
|
||||
Width = 407
|
||||
Align = alTop
|
||||
BorderSpacing.Right = 8
|
||||
Caption = 'Link'
|
||||
ClientHeight = 44
|
||||
ClientWidth = 403
|
||||
TabOrder = 1
|
||||
object CbFileName2: TComboBox
|
||||
Left = 16
|
||||
Height = 23
|
||||
Top = 8
|
||||
Width = 80
|
||||
ItemHeight = 15
|
||||
ItemIndex = 0
|
||||
Items.Strings = (
|
||||
'http'
|
||||
'ftp'
|
||||
)
|
||||
TabOrder = 0
|
||||
Text = 'http'
|
||||
end
|
||||
end
|
||||
object GroupBox6: TGroupBox
|
||||
Left = 0
|
||||
Height = 64
|
||||
Top = 144
|
||||
Width = 407
|
||||
Align = alTop
|
||||
BorderSpacing.Top = 8
|
||||
BorderSpacing.Right = 8
|
||||
Caption = 'URL'
|
||||
ClientHeight = 44
|
||||
ClientWidth = 403
|
||||
TabOrder = 2
|
||||
object CbFileName3: TComboBox
|
||||
Left = 16
|
||||
Height = 23
|
||||
Top = 8
|
||||
Width = 381
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
ItemHeight = 15
|
||||
TabOrder = 0
|
||||
Text = 'ComboBox1'
|
||||
end
|
||||
end
|
||||
end
|
||||
object Page4: TPage
|
||||
object GbMailRecipient: TGroupBox
|
||||
Left = 0
|
||||
Height = 60
|
||||
Top = 0
|
||||
Width = 415
|
||||
Align = alTop
|
||||
BorderSpacing.Bottom = 8
|
||||
Caption = 'Mail address of recipient'
|
||||
ClientHeight = 40
|
||||
ClientWidth = 411
|
||||
Font.Style = [fsBold]
|
||||
ParentFont = False
|
||||
TabOrder = 0
|
||||
object CbMailRecipient: TComboBox
|
||||
Left = 8
|
||||
Height = 23
|
||||
Top = 6
|
||||
Width = 397
|
||||
ItemHeight = 15
|
||||
OnEditingDone = CbMailRecipientEditingDone
|
||||
ParentFont = False
|
||||
TabOrder = 0
|
||||
end
|
||||
end
|
||||
object GroupBox8: TGroupBox
|
||||
Left = 0
|
||||
Height = 60
|
||||
Top = 68
|
||||
Width = 415
|
||||
Align = alTop
|
||||
BorderSpacing.Bottom = 8
|
||||
Caption = 'Subject'
|
||||
ClientHeight = 40
|
||||
ClientWidth = 411
|
||||
Font.Style = [fsBold]
|
||||
ParentFont = False
|
||||
TabOrder = 1
|
||||
object EdMailSubject: TEdit
|
||||
Left = 8
|
||||
Height = 23
|
||||
Top = 6
|
||||
Width = 397
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
OnChange = UpdateHyperlinkInfo
|
||||
ParentFont = False
|
||||
TabOrder = 0
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
object HyperlinkInfo: TLabel
|
||||
Left = 8
|
||||
Height = 15
|
||||
Top = 282
|
||||
Width = 407
|
||||
Align = alBottom
|
||||
BorderSpacing.Left = 8
|
||||
BorderSpacing.Top = 8
|
||||
BorderSpacing.Right = 8
|
||||
BorderSpacing.Bottom = 4
|
||||
Caption = 'HyperlinkInfo'
|
||||
ParentColor = False
|
||||
WordWrap = True
|
||||
end
|
||||
object Bevel1: TBevel
|
||||
Left = 4
|
||||
Height = 3
|
||||
Top = 271
|
||||
Width = 415
|
||||
Align = alBottom
|
||||
BorderSpacing.Left = 4
|
||||
BorderSpacing.Right = 4
|
||||
Shape = bsBottomLine
|
||||
end
|
||||
end
|
||||
object ToolBar: TToolBar
|
||||
Left = 4
|
||||
Height = 297
|
||||
Top = 4
|
||||
Width = 67
|
||||
Align = alLeft
|
||||
AutoSize = True
|
||||
BorderSpacing.Around = 4
|
||||
ButtonHeight = 56
|
||||
ButtonWidth = 64
|
||||
Caption = 'ToolBar'
|
||||
Color = clWindow
|
||||
EdgeBorders = [ebLeft, ebTop, ebRight, ebBottom]
|
||||
EdgeInner = esNone
|
||||
Images = Images
|
||||
ParentColor = False
|
||||
ParentFont = False
|
||||
ShowCaptions = True
|
||||
TabOrder = 2
|
||||
Wrapable = False
|
||||
object TbInternal: TToolButton
|
||||
Left = 2
|
||||
Top = 1
|
||||
AllowAllUp = True
|
||||
Caption = 'internal'
|
||||
Down = True
|
||||
ImageIndex = 0
|
||||
OnClick = ToolButtonClick
|
||||
end
|
||||
object TbFile: TToolButton
|
||||
Tag = 1
|
||||
Left = 2
|
||||
Top = 57
|
||||
AllowAllUp = True
|
||||
Caption = 'File'
|
||||
ImageIndex = 1
|
||||
OnClick = ToolButtonClick
|
||||
end
|
||||
object TbInternet: TToolButton
|
||||
Tag = 2
|
||||
Left = 2
|
||||
Top = 113
|
||||
AllowAllUp = True
|
||||
Caption = 'Internet'
|
||||
ImageIndex = 2
|
||||
OnClick = ToolButtonClick
|
||||
end
|
||||
object TbMail: TToolButton
|
||||
Tag = 3
|
||||
Left = 2
|
||||
Top = 169
|
||||
AllowAllUp = True
|
||||
Caption = 'Mail'
|
||||
ImageIndex = 3
|
||||
OnClick = ToolButtonClick
|
||||
end
|
||||
end
|
||||
object Images: TImageList
|
||||
Height = 24
|
||||
Width = 24
|
||||
left = 48
|
||||
top = 296
|
||||
Bitmap = {
|
||||
4C69040000001800000018000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF007E7E54007F7F554D7F7F55667F7F55667F7F
|
||||
55667F7F55667F7F55667F7F55667F7F55667F7F55667F7F55667F7F55667F7F
|
||||
55667F7F55667F7F55667F7F55667F7F55667F7F55667F7F55667F7F55667F7F
|
||||
55667F7F55667F7F554DFFFFFF007E7E54007E7E5467FFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFF7D7D5467FFFFFF007C7C52007C7C5268FFFFFFFFFEFEFEFFFEFE
|
||||
FEFFFEFEFEFFFEFEFEFFFEFEFEFFFEFEFEFFFEFEFEFFFEFEFEFFFEFEFEFFFEFE
|
||||
FEFFFEFEFEFFFEFEFEFFFEFEFEFFFEFEFEFFFEFEFEFFFEFEFEFFFEFEFEFFFEFE
|
||||
FEFFFFFFFFFF7B7B5268FFFFFF007A7A51007A7A5168FEFEFDFFFDFDFCFFFFCC
|
||||
44FFFECB43FFFECB43FFFDCA42FFFCC941FFFAC73FFFF9C63EFFF8C53DFFF6C3
|
||||
3CFFF5C23AFFF4C139FFF3C038FFF1BE36FFF0BD35FFEFBC34FFEFBC34FFFDFD
|
||||
FCFFFEFEFDFF79795069FFFFFF0078784F0078784F69FEFEFCFFFCFCFAFFFFCC
|
||||
44FFFFEE88FFFEED87FFFDCA42FFFCEB85FFFBEA84FFF9C63EFFF8E781FFF6E5
|
||||
80FFF5C23AFFF4E37DFFF2E17BFFF1BE36FFF0DF79FFEFDE78FFEFBC34FFFCFC
|
||||
FAFFFEFEFCFF76764E6AFFFFFF0076764D0076764D6AFDFDFAFFFBFBF8FFFFCC
|
||||
44FFFFEE88FFFEED87FFFDCA42FFFCEB85FFFBEA84FFF9C63EFFF8E781FFF6E5
|
||||
80FFF5C23AFFF4E37DFFF2E17BFFF1BE36FFF0DF79FFEFDE78FFEFBC34FFFBFB
|
||||
F8FFFDFDFAFF74744B6BFFFFFF0073734B0073734B6BFDFDF9FFFAFAF6FFFFCC
|
||||
44FFFECB43FFFECB43FFF5CE64FFEBD285FFE9D083FFE8CF82FFE7CE81FFE5CC
|
||||
80FFE4CB7EFFE3CA7DFFE2C97CFFE0C77AFFDFC679FFDEC578FFDEC578FFFAFA
|
||||
F6FFFDFDF9FF7171496CFFFFFF00717149007171496CFCFCF8FFF8F8F4FFFFCC
|
||||
44FFFFEE88FFFEED87FFECD286FFFCFCFAFFFCFCFAFFD7D7C6FFFCFCFAFFFCFC
|
||||
FAFFD3D3C2FFFCFCFAFFFCFCFAFFCFCFBEFFFCFCFAFFFCFCFAFFCDCDBCFFF8F8
|
||||
F4FFFCFCF8FF6E6E466DFFFFFF006E6E46006E6E466DFBFBF6FFF7F7F1FFFFCC
|
||||
44FFFFEE88FFFEED87FFECD286FFFBFBF8FFFBFBF8FFD7D7C6FFFBFBF8FFFBFB
|
||||
F8FFD3D3C2FFFBFBF8FFFBFBF8FFCFCFBEFFFBFBF8FFFBFBF8FFCDCDBCFFF7F7
|
||||
F1FFFBFBF6FF6A6A436EFFFFFF006B6B44006B6B446EFAFAF4FFF5F5EFFFFFCC
|
||||
44FFFECB43FFFECB43FFECD286FFDADAC9FFD8D8C7FFDFDFD0FFD6D6C5FFD4D4
|
||||
C3FFDCDCCEFFD2D2C1FFD1D1C0FFD9D9CBFFCECEBDFFCDCDBCFFCDCDBCFFF5F5
|
||||
EFFFFAFAF4FF67674070FFFFFF00686841006868416FFAFAF2FFF4F4ECFFFFCC
|
||||
44FFFFEE88FFFEED87FFECD286FFFAFAF6FFFAFAF6FFD7D7C6FFFAFAF6FFFAFA
|
||||
F6FFD3D3C2FFFAFAF6FFFAFAF6FFCFCFBEFFFAFAF6FFFAFAF6FFCDCDBCFFF4F4
|
||||
ECFFFAFAF2FF63633D71FFFFFF0065653F0065653F70F9F9F0FFF2F2E9FFFFCC
|
||||
44FFFFEE88FFFEED87FFECD286FFF9F9F4FFF9F9F4FFD7D7C6FFF9F9F4FFF9F9
|
||||
F4FFD3D3C2FFF9F9F4FFF9F9F4FFCFCFBEFFF9F9F4FFF9F9F4FFCDCDBCFFF2F2
|
||||
E9FFF9F9F0FF60603A73FFFFFF0062623C0062623C72F8F8EEFFF0F0E6FFFFCC
|
||||
44FFFECB43FFFECB43FFECD286FFDADAC9FFD8D8C7FFDDDDCEFFD6D6C5FFD4D4
|
||||
C3FFDBDBCCFFD2D2C1FFD1D1C0FFD8D8C9FFCECEBDFFCDCDBCFFCDCDBCFFF0F0
|
||||
E6FFF8F8EEFF5C5C3674FFFFFF005F5F39005F5F3973F7F7ECFFEFEFE4FFFFCC
|
||||
44FFFFEE88FFFEED87FFECD286FFF7F7F2FFF7F7F2FFD7D7C6FFF7F7F2FFF7F7
|
||||
F2FFD3D3C2FFF7F7F2FFF7F7F2FFCFCFBEFFF7F7F2FFF7F7F2FFCDCDBCFFEFEF
|
||||
E4FFF7F7ECFF58583375FFFFFF005C5C36005C5C3674F6F6EBFFEDEDE1FFFFCC
|
||||
44FFFFEE88FFFEED87FFECD286FFF6F6F1FFF6F6F1FFD7D7C6FFF6F6F1FFF6F6
|
||||
F1FFD3D3C2FFF6F6F1FFF6F6F1FFCFCFBEFFF6F6F1FFF6F6F1FFCDCDBCFFEDED
|
||||
E1FFF6F6EBFF55553077FFFFFF005959340059593475F6F6E9FFECECDFFFFFCC
|
||||
44FFFECB43FFFECB43FFECD286FFDADAC9FFD8D8C7FFD7D7C6FFD6D6C5FFD4D4
|
||||
C3FFD3D3C2FFD2D2C1FFD1D1C0FFCFCFBEFFCECEBDFFCDCDBCFFCDCDBCFFECEC
|
||||
DFFFF6F6E9FF50502B79FFFFFF005656310056563177F5F5E7FFEAEADDFFEAEA
|
||||
DDFFEAEADDFFEAEADDFFEAEADDFFEAEADDFFEAEADDFFEAEADDFFEAEADDFFEAEA
|
||||
DDFFEAEADDFFEAEADDFFEAEADDFFEAEADDFFEAEADDFFEAEADDFFEAEADDFFEAEA
|
||||
DDFFF5F5E7FF42421F7FFFFFFF0052522E0052522E78F4F4E6FFE9E9DBFFE9E9
|
||||
DBFFE9E9DBFFE9E9DBFFEFEFE0FFF4F4E6FFF4F4E6FFF4F4E6FFF4F4E6FFF4F4
|
||||
E6FFF4F4E6FFF4F4E6FFF4F4E6FFF4F4E6FFF4F4E6FFF4F4E6FFF4F4E6FFF4F4
|
||||
E6FFFAFAEBFF34341384FFFFFF00494925004949257CF4F4E5FFE8E8D9FFE8E8
|
||||
D9FFE8E8D9FFE8E8D9FFF4F4E5FFAAAA99FFAAAA99FFAAAA99FFAAAA99FFAAAA
|
||||
99FFAAAA99FFAAAA99FF29290988292909882929098829290988292909882929
|
||||
0988292909882A2A0A66FFFFFF003C3C1A003C3C1A80F5F5E5FFE7E7D7FFE7E7
|
||||
D7FFE7E7D7FFE7E7D7FFF5F5E5FF67674FC5F5F5E5FFE7E7D7FFE7E7D7FFE7E7
|
||||
D7FFE7E7D7FFF5F5E5FF2323048A262607002727070027270700272707002727
|
||||
07002727070029290900FFFFFF000D0D050031311174D4D4C0DCF4F4E3FFF3F3
|
||||
E2FFF3F3E2FFF4F4E3FFD4D4C0DC2323048AD0D0BDDEF4F4E3FFF3F3E2FFF3F3
|
||||
E2FFF4F4E3FFD0D0BDDE23230479090901000000000000000000000000000000
|
||||
00000000000000000000FFFFFF0000000011171705402727097B282809882828
|
||||
098828280988282809882727097B1A1A035F2222047C2323048A2323048A2323
|
||||
048A2323048A2222047C1212024C0000002F000000280000001F000000160000
|
||||
000D0000000600000001FFFFFF000000000000000012000000190000001A0000
|
||||
001A0000001A0000001A0000001A0000001A0000001A0000001A0000001A0000
|
||||
001A0000001A0000001A0000001A0000001800000014000000100000000B0000
|
||||
00070000000300000001FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000088CB000088CB000088
|
||||
CC410088CC810088CC810088CC810088CC810088CC810088CC810088CC810088
|
||||
CC810088CC810088CC810088CC810088CC810088CC810088CC810088CC610088
|
||||
CB000088CB00FFFFFF00FFFFFF00FFFFFF00FFFFFF000087CB000087CB000087
|
||||
CB826FCCECE092E1F7FFADF1FFFFAEF2FFFFAEF2FFFFAEF2FFFFAEF2FFFFAEF2
|
||||
FFFFAEF2FFFFAEF2FFFFAEF2FFFFAEF2FFFFAEF2FFFFB1F5FFFF0087CB820087
|
||||
CB000087CB00FFFFFF00FFFFFF00FFFFFF00FFFFFF000086C9000086C9000086
|
||||
C983B0F5FFFF91E1F6FF5DC0E7FF72CCEEFF8CDCF6FFA6ECFEFFA8EDFEFFA8ED
|
||||
FEFFA8EDFEFFA8EDFEFFA8EDFEFFA8EDFEFFA8EDFEFFADF2FFFF0086C9830086
|
||||
C9000086C900FFFFFF00FFFFFF00FFFFFF00FFFFFF000085C8000085C8000085
|
||||
C885ADF1FFFFABEFFEFFACF1FEFF8FDFF5FF69C7EAFF59BCE6FF76C9E6FFA6EB
|
||||
FDFFA6EBFDFFA6EBFDFFA6EBFDFFA6EBFDFFA6EBFDFFABF0FEFF0085C8850085
|
||||
C8000085C800FFFFFF00FFFFFF00FFFFFF00FFFFFF000084C6000084C6000084
|
||||
C687ABEFFEFFA6EAFDFFA6EAFDFFA9EEFDFFADF1FEFFA1EAFAFF4FAFD8FF9BDC
|
||||
EEFFA2E6F9FFA4E9FCFFA4E9FCFFA4E9FCFFA4E9FCFFA9EEFDFF0084C6870084
|
||||
C6000084C600FFFFFF00FFFFFF00FFFFFF00FFFFFF000083C4000083C4000083
|
||||
C489A8EEFDFFA3E9FCFFA3E9FCFFA3E9FCFFA3E9FCFFADF2FEFF49AEDAFF91CF
|
||||
E1FF91CFE1FF97D8EBFF9FE4F7FFA1E6FAFFA1E6FAFFA6EBFCFF0083C4890083
|
||||
C4000083C400FFFFFF00FFFFFF00FFFFFF00FFFFFF000081C2000081C2000081
|
||||
C28BA6ECFCFFA1E7FBFFA1E7FBFFA1E7FBFFA1E7FBFFABF0FDFF41A5D2FF8ECD
|
||||
E0FF8ECDE0FF8ECDE0FF96D9EDFF9EE4F9FF9EE4F9FFA4E9FBFF0081C28B0081
|
||||
C2000081C200FFFFFF00FFFFFF00FFFFFF00FFFFFF000080C0000080C0000080
|
||||
C08DA4E9FBFF9EE4F9FF9EE4F9FF9EE4F9FF9EE4F9FFA9EEFCFF3A9BC7FF8ACA
|
||||
DEFF8ACADEFF8ACADEFF92D6EBFF9AE1F7FF9AE1F7FFA0E6F9FF0080C08D0080
|
||||
C0000080C000FFFFFF00FFFFFF00FFFFFF00FFFFFF00007EBD00007EBD00007E
|
||||
BD8FA1E7FAFF9BE2F8FF9BE2F8FF9BE2F8FF9BE2F8FFA7ECFCFF3696C2FF88C7
|
||||
DDFF88C7DDFF88C7DDFF90D3EAFF97DEF6FF97DEF6FF9DE4F9FF007EBD8F007E
|
||||
BD00007DBB00FFFFFF00FFFFFF00FFFFFF00FFFFFF00007DBB00007DBB00007D
|
||||
BB919EE5F9FF98DFF6FF98DFF6FF98DFF6FF98DFF6FFA4EAFBFF3393BFFF84C5
|
||||
DBFF84C5DBFF84C5DBFF8CD0E8FF93DBF4FF93DBF4FF9AE1F7FF007DBB91007D
|
||||
BB33007BB800FFFFFF00FFFFFF00FFFFFF00FFFFFF00007BB800007BB800007B
|
||||
B8949CE3F8FF95DDF5FF95DDF5FF95DDF5FF95DDF5FFA2E8FAFF318FBCFF81C2
|
||||
D9FF81C2D9FF81C2D9FF89CDE6FF90D8F2FF90D8F2FF90D8F2FF90D8F2FF007B
|
||||
B894007BB834FFFFFF00FFFFFF00FFFFFF00FFFFFF000079B6000079B6000079
|
||||
B69699E0F6FF92DAF3FF92DAF3FF92DAF3FF92DAF3FF9FE5F9FF2E8CB8FF7EBF
|
||||
D8FF7EBFD8FF7EBFD8FF85CAE4FF8CD5F0FF8CD5F0FF8CD5F0FFFEFEFDFF8CD5
|
||||
F0FF0079B696FFFFFF00FFFFFF00FFFFFF00FFFFFF000077B3000077B3000077
|
||||
B39996DEF6FF8FD8F2FF8FD8F2FF8FD8F2FF8FD8F2FF9CE3F9FF2B88B5FF7BBD
|
||||
D6FF7BBDD6FF7BBDD6FF82C8E2FF89D2EEFF89D2EEFF89D2EEFFF8F8F3FF89D2
|
||||
EEFF0077B399FFFFFF00FFFFFF00FFFFFF00FFFFFF000076B0000076B0000076
|
||||
B09B93DBF4FF8CD5F0FF8CD5F0FF8CD5F0FF8CD5F0FF9AE0F8FF2986B2FF78BA
|
||||
D5FF78BAD5FF78BAD5FF7FC5E1FF85CFEDFF85CFEDFF85CFEDFFF0F0E6FF85CF
|
||||
EDFF0076B09BFFFFFF00FFFFFF00FFFFFF00FFFFFF000074AE000074AE000074
|
||||
AE9E90D8F3FF89D2EEFF89D2EEFF89D2EEFF89D2EEFF97DEF7FF2682AFFF75B8
|
||||
D3FF75B8D3FF75B8D3FF7CC3DFFF82CDEBFF82CDEBFF82CDEBFFE9E9DBFF82CD
|
||||
EBFF0074AE9EFFFFFF00FFFFFF00FFFFFF00FFFFFF000072AB000072AB000072
|
||||
ABA08ED6F2FF86D0EDFF86D0EDFF86D0EDFF86D0EDFF95DCF6FF257FACFF72B5
|
||||
D2FF72B5D2FF72B5D2FF79C0DEFF7FCAEAFF7FCAEAFF7FCAEAFFFEC941FF7FCA
|
||||
EAFF0072ABA0FFFFFF00FFFFFF00FFFFFF00FFFFFF00006EA600006EA600006E
|
||||
A6A58BD4F0FF83CEEBFF83CEEBFF83CEEBFF83CEEBFF93DAF5FF237DA9FF70B4
|
||||
D0FF70B4D0FF70B4D0FF77BEDCFF7DC8E8FF7DC8E8FF7DC8E8FFF4B62EFF7DC8
|
||||
E8FF006EA6A5FFFFFF00FFFFFF00FFFFFF00FFFFFF00001B280000679B000067
|
||||
9BAF89D2F0FF81CBEAFF81CBEAFF81CBEAFF81CBEAFF91D8F5FF217AA6FF6EB2
|
||||
CFFF6EB2CFFF6EB2CFFF75BCDBFF7BC6E7FF7BC6E7FF7BC6E7FF7BC6E7FF0067
|
||||
9BAF00689D3DFFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000001925000061
|
||||
91B887D0EFFF7EC9E9FF7EC9E9FF7EC9E9FF7EC9E9FF8ED6F4FF227AA5FF74B6
|
||||
D4FF74B6D4FF74B6D4FF7BC1E1FF81CBECFF81CBECFF81CBECFF006191B80049
|
||||
6E41001A2600FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000011000000260045
|
||||
689C3590BCF269B8DCFA82CCECFF7CC7E8FF7CC7E8FF8CD4F4FF005C8BEF004F
|
||||
77C6004F77C6004F77C6005885C2005B8AC0005B8AC0005B8AC00045689C0000
|
||||
002300000010FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000009000000130000
|
||||
001A005C8A5B0062939F368FBAD16BBADEED80CAEBFF8BD3F3FF005884C70000
|
||||
0031000000310000001F0000001A0000001A0000001A0000001A0000001A0000
|
||||
001200000008FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000000000000000
|
||||
0000005D8C0000649700006191530060909E1B76A3C551A2CAE2005A88C20000
|
||||
001A000000070000000000000000000000000000000000000000000000000000
|
||||
000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000000000000000
|
||||
0000005D8C000064970000609000005E8E00005C8A31005B897E005986930000
|
||||
0007000000000000000000000000000000000000000000000000000000000000
|
||||
000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00CF7A0200CF7A0200CF7A0200D47E
|
||||
0200DC830300E2880300E58A0313E68B034EE78B0388E78B03A6E78B03B8E78B
|
||||
03B8E78B03A6E78B0388E68B034EE58A0313E2880300DC830300D47E0200CF7A
|
||||
0200CF7A0200CF7A0200FFFFFF00FFFFFF00CF7A0200CF7A0200CF7A0200D47E
|
||||
0200DC83030DE0870363E38F13B5EDB459D5F7DCA4EBFBECC5F7FCF3D3FDFCF4
|
||||
D4FDFCEEC7F7F7DCA4EBEDB459D5E38F13B5E0870363DC83030DD47E0200CF7A
|
||||
0200CF7A0200CF7A0200FFFFFF00FFFFFF00CF7A0200CF7A0200CF7A0200D47E
|
||||
021CD780039DE1A146D7EBC68CF7E9C48EFFEAC792FFF0D19EFFF2D4A2FFEFD5
|
||||
A8FFFFFAD7FFFFFAD4FFFFFAD4FFFBEDC2F7E8B25BD7D780039DD47E021CCF7A
|
||||
0200CF7A0200CF7A0200FFFFFF00FFFFFF00C3710200C5730200CB77021CCF7E
|
||||
0CAEE7BD78E5EDCC90FFEBC788FFF7E7BBFFF9EDC5FFF1D29FFFF8DBA5FFF2D7
|
||||
A8FFFCF4D2FFFFFAD6FFFFF9D1FFFFF8CBFFFFF9CDFFEDC986E5CF7E0CAECB77
|
||||
021CC5730200C3710200FFFFFF00FFFFFF00B6680200BA6B020DC070039FE8C3
|
||||
82E5E1B570FFE0AD5FFFF1D9A2FFFFF7CCFFFFF7D0FFF5E0B2FFF1D199FFEED1
|
||||
A0FFEDD4AAFFFFF7D0FFFFF7CCFFFFF6C6FFFFF5BFFFFFF5C1FFE8C382E5C070
|
||||
039FBA6B020DB6680200FFFFFF00FFFFFF00B0640200B3660266D19C50D9E2BA
|
||||
7AFFE6BE76FFE1B771FFFAE6AFFFFFF0BFFFF7E2B2FFE9C487FFE6BE81FFFDEE
|
||||
C4FFFAEABEFFFAE7B9FFFFEFBDFFFFEFB9FFFFEDB4FFFFECAFFFFFEEB7FFD29E
|
||||
52D9B3660266B0640200FFFFFF00FFFFFF00A75D0114AE670EBCD7A866F8D498
|
||||
3AFFE8BD6EFFD49F52FFFCE0A2FFF1D194FFDAA85EFFE5B86AFFDEB16DFFFFEA
|
||||
B5FFFFE9B4FFE0B87BFFD4A25CFFF9DD9FFFFFE5A4FFFFE4A1FFFADB98FFD09E
|
||||
5DF8AB630ABCA75D0114FFFFFF00FFFFFF009B530153BB833DDBCB903DFFD599
|
||||
38FFD79C3AFFD49A3EFFE3B364FFD59F4AFFDDA84FFFDEAB53FFD7A457FFFDDC
|
||||
9BFFE9BF7CFFE1B266FFCD9441FFEDC27AFFFFDA92FFF0C67DFFFFD98FFFE1B0
|
||||
66FFB4782EDB9B530153FFFFFF00FFFFFF00914D0190C79355EFE9B160FFDA9F
|
||||
47FFD39633FFD59934FFD49836FFD59B39FFD89D3CFFD89E3EFFD1973CFFD79F
|
||||
4BFFC98D38FFC58731FFCF9344FFFFCF82FFFFCF80FFD29547FFCE913FFFE2AA
|
||||
56FFC48E46EF914D0190FFFFFF00FFFFFF00894700B2F2C07AF8F7BB67FFD797
|
||||
41FFCC8C2AFFD0922DFFD1922DFFD1932EFFD19430FFD19430FFD19430FFCB8C
|
||||
2EFFDFA24EFFFFC571FFFFC470FFFCC16DFFDC9E4DFFFFC46FFFC48325FFCB8B
|
||||
29FFCD9848F8894700B2FFFFFF00FFFFFF00834200C6D89C54FEC6802CFFE19B
|
||||
44FFCE8A2DFFCD8A26FFCE8C26FFCE8C27FFCE8C27FFCE8C27FFCE8C27FFCB88
|
||||
2AFFEDA951FFF2AD57FFFFBB62FFEEA852FFBC7720FFC17E20FFC58222FFCA88
|
||||
24FFD39943FE834200C6FFFFFF00FFFFFF00804000C7C6873DFEC37C21FFE89D
|
||||
41FFCB8327FFCB8722FFCC8822FFCC8822FFCC8822FFCC8822FFCC8822FFC985
|
||||
22FFC98224FFBD751EFFE2973FFFFFB354FFC88026FFC57F22FFE79C40FFC67E
|
||||
26FFC98C39FE804000C7FFFFFF00FFFFFF00814000B3E59F4FF8C47D1EFFC882
|
||||
20FFCB8521FFCE8822FFCE8823FFCE8823FFCE8823FFCE8924FFCE8924FFCE89
|
||||
24FFCC8623FFC17A1FFFF4A344FFFFAD4BFFC47A22FFCB7F27FFFFAD4AFFFBAA
|
||||
48FFD99546F8814000B3FFFFFF00FFFFFF0083420092BF7B32F0CB8220FFD088
|
||||
22FFD08823FFD08823FFD18924FFD18A25FFD18A26FFD18A26FFD18B26FFD18B
|
||||
26FFCF8725FFD6892DFFFFAB47FFEE9C3DFFBB701BFFF39F3EFFFFAA45FFFFAA
|
||||
45FFDC9544F083420092FFFFFF00FFFFFF0088450054A36018DED48A28FFD488
|
||||
23FFD48924FFD58A25FFD58B27FFD68C29FFD68E2CFFD78E2EFFD78F2FFFD78F
|
||||
2FFFD68D2DFFD2882AFFC77C23FFCC7F25FFDA8A2FFFFFAC46FFFFAB46FFFFAE
|
||||
4AFFB57024DE88450054FFFFFF00FFFFFF008F4A0014944E04C1D3882DF9DA89
|
||||
24FFDA8A26FFDB8C29FFDC8E2DFFDC9132FFDD9337FFDE953AFFDE963CFFDE96
|
||||
3CFFDE953AFFDD9337FFDC9032FFD28329FFF0A242FFFFB14AFFFFB049FFF3AA
|
||||
4CF9975107C18F4A0014FFFFFF00FFFFFF00954E0000974F006AB56A16DFE18D
|
||||
2BFFE18C28FFE28F2EFFE39336FFE4973FFFE59C46FFE69F4CFFE6A04FFFE6A0
|
||||
4FFFE69F4CFFE59C46FFE4973FFFD98932FFF0A84BFFFFB954FFFFBA56FFC07A
|
||||
26DF974F006A954E0000FFFFFF00FFFFFF00995000009B52000E9F5500A7CC7A
|
||||
20EAE78F2FFFE89235FFEA9840FFEB9F4DFFECA558FFEDA960FFEDAC64FFEDAC
|
||||
64FFEDA960FFECA558FFEB9F4DFFE0903DFFF1B057FFFFC362FFDA983EEA9F55
|
||||
00A79B52000E99500000FFFFFF00FFFFFF00A2560000A3570000A75A001DAB5D
|
||||
03B7D27E22EAEE973DFFEF9D49FFF0A558FFF1AD66FFF2B16EFFF2B473FFF2B4
|
||||
73FFF2B16EFFF1AD66FFF0A558FFE69446FFF3BA66FFDEA145EAAC6005B7A75A
|
||||
001DA3570000A2560000FFFFFF00FFFFFF00552E0000552E0000552E0000AE5E
|
||||
001DB06000A7CB771ADFEC9A46F8F5A95EFFF5AF6AFFF6B474FFF6B779FFF6B7
|
||||
79FFF6B474FFF5AF6AFFF5A95EFFE59244F8CA822ADFB06000A7AE5E001D552E
|
||||
0000552E0000552E0000FFFFFF00FFFFFF000000000000000000000000010000
|
||||
00022E1900119A55006EBB6906C2CF7E23DEE6994BF0F0A963F8F7B271FEF7B2
|
||||
71FEF0A963F8E6994BF0CF7E23DEBA6806C29C56006D2E190011000000020000
|
||||
00010000000000000000FFFFFF00FFFFFF000000000000000000000000030000
|
||||
000C0000001A00000024371F00376E3D006DAB5F009CB96600B5BC6800C7BC68
|
||||
00C7B96600B5AB5F009C6E3D006D371F003700000024000000190000000C0000
|
||||
00020000000000000000FFFFFF00FFFFFF000000000000000000000000020000
|
||||
000800000011000000180000001A0000001A0000001A0000001A0000001A0000
|
||||
001A0000001A0000001A0000001A0000001A0000001800000011000000080000
|
||||
00010000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF007E7E54007F7F554D7F7F55667F7F55667F7F
|
||||
55667F7F55667F7F55667F7F55667F7F55667F7F55667F7F55667F7F55667F7F
|
||||
55667F7F55667F7F55667F7F55667F7F55667F7F55667F7F55667F7F55667F7F
|
||||
55667F7F55667F7F554D7E7E54007D7D53007D7D5367E0E0CFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFE0E0CFFF7D7D53677D7D53007A7A51007A7A5168F5F5F0FFDBDBCAFFFEFE
|
||||
FDFFFEFEFDFFFEFEFDFFFEFEFDFFFEFEFDFFFEFEFDFFFEFEFDFFFEFEFDFFFEFE
|
||||
FDFFFEFEFDFFFEFEFDFFFEFEFDFFFEFEFDFFFEFEFDFFFEFEFDFFFEFEFDFFDBDB
|
||||
CAFFF5F5F0FF7A7A51687A7A510077774E0077774E69FDFDFAFFEEEEE5FFD5D5
|
||||
C4FFFCFCFAFFFCFCFAFFFCFCFAFFFCFCFAFFFCFCFAFFFCFCFAFFFCFCFAFFFCFC
|
||||
FAFFFCFCFAFFFCFCFAFFFCFCFAFFFCFCFAFFFCFCFAFFFCFCFAFFD5D5C4FFEEEE
|
||||
E5FFFDFDFAFF77774E6977774E0074744C0074744C6BFDFDFAFFF8F8F3FFE6E6
|
||||
DAFFCFCFBEFFFBFBF7FFFBFBF7FFFBFBF7FFFBFBF7FFFBFBF7FFFBFBF7FFFBFB
|
||||
F7FFFBFBF7FFFBFBF7FFFBFBF7FFFBFBF7FFFBFBF7FFCFCFBEFFE6E6DAFFF8F8
|
||||
F3FFFDFDFAFF74744C6B74744C00717148007171486CFCFCF8FFF9F9F4FFF4F4
|
||||
EEFFDEDED0FFC9C9B8FFF9F9F4FFF9F9F4FFF9F9F4FFF9F9F4FFF9F9F4FFF9F9
|
||||
F4FFF9F9F4FFF9F9F4FFF9F9F4FFF9F9F4FFC9C9B8FFDEDED0FFF4F4EEFFF9F9
|
||||
F4FFFCFCF8FF7171486C717148006D6D45006D6D456DFBFBF5FFF6F6F0FFF6F6
|
||||
F0FFF1F1E8FFD9D9C9FFC4C4B3FFF6F6F0FFF6F6F0FFF6F6F0FFF6F6F0FFF6F6
|
||||
F0FFF6F6F0FFF6F6F0FFF6F6F0FFC4C4B3FFD9D9C9FFF1F1E8FFF6F6F0FFF6F6
|
||||
F0FFFBFBF5FF6D6D456D6D6D4500696942006969426FFAFAF2FFF4F4ECFFF4F4
|
||||
ECFFF4F4ECFFEEEEE4FFD6D6C5FFBEBEADFFF4F4ECFFF4F4ECFFF4F4ECFFF4F4
|
||||
ECFFF4F4ECFFF4F4ECFFBEBEADFFD6D6C5FFEEEEE4FFF4F4ECFFF4F4ECFFF4F4
|
||||
ECFFFAFAF2FF6969426F6969420065653E0065653E71F9F9F0FFF2F2E9FFF2F2
|
||||
E9FFF2F2E9FFF2F2E9FFE8E8DBFFD5D5C4FFB9B9A8FFF2F2E9FFF2F2E9FFF2F2
|
||||
E9FFF2F2E9FFB9B9A8FFD5D5C4FFE8E8DBFFF2F2E9FFF2F2E9FFF2F2E9FFF2F2
|
||||
E9FFF9F9F0FF65653E7165653E0061613A0061613A72F8F8EDFFF0F0E5FFF0F0
|
||||
E5FFF0F0E5FFEBEBDFFFDBDBCAFFECECE0FFD7D7C8FFB3B3A2FFF0F0E5FFF0F0
|
||||
E5FFB3B3A2FFD7D7C8FFECECE0FFDBDBCAFFEBEBDFFFF0F0E5FFF0F0E5FFF0F0
|
||||
E5FFF8F8EDFF61613A7261613A005C5C37005C5C3774F6F6EBFFEDEDE1FFEDED
|
||||
E1FFE8E8DBFFD8D8C7FFEDEDE1FFEDEDE1FFEBEBDEFFD8D8C9FFAEAE9DFFAEAE
|
||||
9DFFD8D8C9FFEBEBDEFFEDEDE1FFEDEDE1FFD8D8C7FFE8E8DBFFEDEDE1FFEDED
|
||||
E1FFF6F6EBFF5C5C37745C5C37005858330058583376F5F5E8FFEBEBDEFFE5E5
|
||||
D7FFD5D5C4FFEBEBDEFFEBEBDEFFEBEBDEFFEBEBDEFFEAEADDFFD9D9CAFFD9D9
|
||||
CAFFEAEADDFFEBEBDEFFEBEBDEFFEBEBDEFFEBEBDEFFD5D5C4FFE5E5D7FFEBEB
|
||||
DEFFF5F5E8FF585833765858330054542F0054542F77F4F4E6FFE3E3D5FFD3D3
|
||||
C2FFE9E9DBFFE9E9DBFFE9E9DBFFE9E9DBFFE9E9DBFFE9E9DBFFE9E9DBFFE9E9
|
||||
DBFFE9E9DBFFE9E9DBFFE9E9DBFFE9E9DBFFE9E9DBFFE9E9DBFFD3D3C2FFE3E3
|
||||
D5FFF4F4E6FF54542F7754542F00494926004949267BEEEEDEFFD0D0BFFFE8E8
|
||||
D8FFE8E8D8FFE8E8D8FFE8E8D8FFE8E8D8FFE8E8D8FFE8E8D8FFE8E8D8FFE8E8
|
||||
D8FFE8E8D8FFE8E8D8FFE8E8D8FFE8E8D8FFE8E8D8FFE8E8D8FFE8E8D8FFD0D0
|
||||
BFFFEEEEDEFF4949267B494926000F0F070038381782CECEBDFFF3F3E2FFF3F3
|
||||
E2FFF3F3E2FFF3F3E2FFF3F3E2FFF3F3E2FFF3F3E2FFF3F3E2FFF3F3E2FFF3F3
|
||||
E2FFF3F3E2FFF3F3E2FFF3F3E2FFF3F3E2FFF3F3E2FFF3F3E2FFF3F3E2FFF3F3
|
||||
E2FFCECEBDFF383817820F0F0700000000102121096C2A2A0B872A2A0B872A2A
|
||||
0B872A2A0B872A2A0B872A2A0B872A2A0B872A2A0B872A2A0B872A2A0B872A2A
|
||||
0B872A2A0B872A2A0B872A2A0B872A2A0B872A2A0B872A2A0B872A2A0B872A2A
|
||||
0B872A2A0B872121096B0000000E0000000800000011000000190000001A0000
|
||||
001A0000001A0000001A0000001A0000001A0000001A0000001A0000001A0000
|
||||
001A0000001A0000001A0000001A0000001A0000001A0000001A0000001A0000
|
||||
001A000000170000000E00000007FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00
|
||||
}
|
||||
end
|
||||
object OpenDialog: TOpenDialog
|
||||
Filter = 'All files (*.*)|*.*'
|
||||
left = 128
|
||||
top = 296
|
||||
end
|
||||
end
|
@ -0,0 +1,354 @@
|
||||
unit sHyperlinkForm;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ButtonPanel,
|
||||
ExtCtrls, Buttons, StdCtrls, ComCtrls,
|
||||
fpsTypes, fpspreadsheet;
|
||||
|
||||
type
|
||||
|
||||
{ THyperlinkForm }
|
||||
|
||||
THyperlinkForm = class(TForm)
|
||||
Bevel1: TBevel;
|
||||
BtnBrowseFile: TButton;
|
||||
ButtonPanel1: TButtonPanel;
|
||||
CbFileName1: TComboBox;
|
||||
CbFileName2: TComboBox;
|
||||
CbFileName3: TComboBox;
|
||||
CbWorksheets: TComboBox;
|
||||
CbCellAddress: TComboBox;
|
||||
CbFileName: TComboBox;
|
||||
CbMailRecipient: TComboBox;
|
||||
EdMailSubject: TEdit;
|
||||
GroupBox2: TGroupBox;
|
||||
GroupBox3: TGroupBox;
|
||||
GroupBox4: TGroupBox;
|
||||
GroupBox5: TGroupBox;
|
||||
GroupBox6: TGroupBox;
|
||||
GbMailRecipient: TGroupBox;
|
||||
GroupBox8: TGroupBox;
|
||||
Images: TImageList;
|
||||
HyperlinkInfo: TLabel;
|
||||
Label5: TLabel;
|
||||
Label6: TLabel;
|
||||
Notebook: TNotebook;
|
||||
OpenDialog: TOpenDialog;
|
||||
PgInternal: TPage;
|
||||
Page2: TPage;
|
||||
Page3: TPage;
|
||||
Page4: TPage;
|
||||
Panel2: TPanel;
|
||||
RadioButton1: TRadioButton;
|
||||
RadioButton2: TRadioButton;
|
||||
ToolBar: TToolBar;
|
||||
TbInternal: TToolButton;
|
||||
TbFile: TToolButton;
|
||||
TbInternet: TToolButton;
|
||||
TbMail: TToolButton;
|
||||
procedure BtnBrowseFileClick(Sender: TObject);
|
||||
procedure CbCellAddressEditingDone(Sender: TObject);
|
||||
procedure CbMailRecipientEditingDone(Sender: TObject);
|
||||
procedure OKButtonClick(Sender: TObject);
|
||||
procedure ToolButtonClick(Sender: TObject);
|
||||
procedure UpdateHyperlinkInfo(Sender: TObject);
|
||||
private
|
||||
{ private declarations }
|
||||
FWorkbook: TsWorkbook;
|
||||
FWorksheet: TsWorksheet;
|
||||
function GetHyperlinkTarget: String;
|
||||
function GetHyperlinkTooltip: String;
|
||||
procedure SetHyperlinkKind(AValue: Integer);
|
||||
procedure SetHyperlinkTarget(const AValue: String);
|
||||
procedure SetHyperlinkTooltip(const AValue: String);
|
||||
procedure SetWorksheet(AWorksheet: TsWorksheet);
|
||||
protected
|
||||
function GetHyperlinkKind: Integer;
|
||||
function ValidData(out AControl: TWinControl; out AMsg: String): Boolean;
|
||||
public
|
||||
{ public declarations }
|
||||
procedure GetHyperlink(out AHyperlink: TsHyperlink);
|
||||
procedure SetHyperlink(AWorksheet: TsWorksheet; const AHyperlink: TsHyperlink);
|
||||
end;
|
||||
|
||||
var
|
||||
HyperlinkForm: THyperlinkForm;
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.lfm}
|
||||
|
||||
uses
|
||||
URIParser,
|
||||
fpsUtils;
|
||||
|
||||
const
|
||||
TAG_INTERNAL = 0;
|
||||
TAG_FILE = 1;
|
||||
TAG_INTERNET = 2;
|
||||
TAG_MAIL = 3;
|
||||
|
||||
{ THyperlinkForm }
|
||||
|
||||
procedure THyperlinkForm.BtnBrowseFileClick(Sender: TObject);
|
||||
begin
|
||||
with OpenDialog do begin
|
||||
Filename := CbFileName.Text;
|
||||
if Execute then begin
|
||||
CbFileName.Text := FileName;
|
||||
if CbFileName.Items.IndexOf(FileName) = -1 then
|
||||
CbFilename.Items.Add(FileName);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure THyperlinkForm.CbCellAddressEditingDone(Sender: TObject);
|
||||
begin
|
||||
CbCellAddress.Text := Uppercase(CbCellAddress.Text);
|
||||
end;
|
||||
|
||||
procedure THyperlinkForm.CbMailRecipientEditingDone(Sender: TObject);
|
||||
begin
|
||||
if (CbMailRecipient.Text <> '') and
|
||||
(CbMaiLRecipient.Items.IndexOf(CbMailRecipient.Text) = -1)
|
||||
then
|
||||
CbMailRecipient.Items.Insert(0, CbMailRecipient.Text);
|
||||
end;
|
||||
|
||||
procedure THyperlinkForm.GetHyperlink(out AHyperlink: TsHyperlink);
|
||||
begin
|
||||
AHyperlink.Target := GetHyperlinkTarget;
|
||||
AHyperlink.Tooltip := GetHyperlinkTooltip;
|
||||
end;
|
||||
|
||||
function THyperlinkForm.GetHyperlinkKind: Integer;
|
||||
begin
|
||||
for Result := 0 to Toolbar.ButtonCount-1 do
|
||||
if Toolbar.Buttons[Result].Down then
|
||||
exit;
|
||||
Result := -1;
|
||||
end;
|
||||
|
||||
function THyperlinkForm.GetHyperlinkTarget: String;
|
||||
begin
|
||||
case GetHyperlinkKind of
|
||||
TAG_INTERNAL:
|
||||
begin //internal
|
||||
if (CbWorksheets.ItemIndex > 0) and (CbCellAddress.Text <> '') then
|
||||
Result := '#' + CbWorksheets.Text + '!' + Uppercase(CbCellAddress.Text)
|
||||
else if (CbWorksheets.ItemIndex > 0) then
|
||||
Result := '#' + CbWorksheets.Text + '!'
|
||||
else if (CbCellAddress.Text <> '') then
|
||||
Result := '#' + Uppercase(CbCellAddress.Text)
|
||||
else
|
||||
Result := '';
|
||||
end;
|
||||
TAG_FILE:
|
||||
begin // File
|
||||
if (FWorkbook = nil) or (FWorkbook.FileName = '') then
|
||||
Result := FilenameToURI(CbFilename.Text)
|
||||
else
|
||||
Result := '';
|
||||
end;
|
||||
TAG_INTERNET:
|
||||
;
|
||||
TAG_MAIL:
|
||||
begin // Mail
|
||||
if EdMailSubject.Text <> '' then
|
||||
Result := Format('mailto:%s?subject=%s', [CbMailRecipient.Text, EdMailSubject.Text])
|
||||
else
|
||||
Result := Format('mailto:%s', [CbMailRecipient.Text]);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
function THyperlinkForm.GetHyperlinkTooltip: String;
|
||||
begin
|
||||
//
|
||||
end;
|
||||
|
||||
procedure THyperlinkForm.OKButtonClick(Sender: TObject);
|
||||
var
|
||||
C: TWinControl;
|
||||
msg: String;
|
||||
begin
|
||||
if not ValidData(C, msg) then begin
|
||||
C.SetFocus;
|
||||
MessageDlg(msg, mtError, [mbOK], 0);
|
||||
ModalResult := mrNone;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure THyperlinkForm.SetHyperlink(AWorksheet: TsWorksheet;
|
||||
const AHyperlink: TsHyperlink);
|
||||
begin
|
||||
SetWorksheet(AWorksheet);
|
||||
SetHyperlinkTarget(AHyperlink.Target);
|
||||
SetHyperlinkTooltip(AHyperlink.Tooltip);
|
||||
end;
|
||||
|
||||
procedure THyperlinkForm.SetHyperlinkKind(AValue: Integer);
|
||||
var
|
||||
i: Integer;
|
||||
begin
|
||||
for i:=0 to Toolbar.ButtonCount-1 do
|
||||
Toolbar.Buttons[i].Down := (AValue = Toolbar.Buttons[i].Tag);
|
||||
Notebook.PageIndex := AValue;
|
||||
end;
|
||||
|
||||
procedure THyperlinkForm.SetHyperlinkTarget(const AValue: String);
|
||||
var
|
||||
u: TURI;
|
||||
sheet: TsWorksheet;
|
||||
c,r: Cardinal;
|
||||
i, idx: Integer;
|
||||
p: Integer;
|
||||
begin
|
||||
if AValue = '' then
|
||||
begin
|
||||
CbWorksheets.ItemIndex := 0;
|
||||
CbCellAddress.Text := '';
|
||||
|
||||
CbMailRecipient.Text := '';
|
||||
EdMailSubject.Text := '';
|
||||
|
||||
UpdateHyperlinkInfo(nil);
|
||||
exit;
|
||||
end;
|
||||
|
||||
// Internal link
|
||||
if pos('#', AValue) = 1 then begin
|
||||
SetHyperlinkKind(TAG_INTERNAL);
|
||||
if FWorkbook.TryStrToCell(Copy(AValue, 2, Length(AValue)), sheet, r, c) then
|
||||
begin
|
||||
if (sheet = nil) or (sheet = FWorksheet) then
|
||||
CbWorksheets.ItemIndex := 0
|
||||
else
|
||||
begin
|
||||
idx := 0;
|
||||
for i:=1 to CbWorksheets.Items.Count-1 do
|
||||
if CbWorksheets.Items[i] = sheet.Name then
|
||||
begin
|
||||
idx := i;
|
||||
break;
|
||||
end;
|
||||
CbWorksheets.ItemIndex := idx;
|
||||
end;
|
||||
CbCellAddress.Text := GetCellString(r, c);
|
||||
UpdateHyperlinkInfo(nil);
|
||||
end else begin
|
||||
HyperlinkInfo.Caption := AValue;
|
||||
MessageDlg(Format('Sheet not found in hyperlink "%s"', [AValue]), mtError,
|
||||
[mbOK], 0);
|
||||
end;
|
||||
exit;
|
||||
end;
|
||||
|
||||
// external links
|
||||
u := ParseURI(AValue);
|
||||
|
||||
// Mail
|
||||
if SameText(u.Protocol, 'mailto') then
|
||||
begin
|
||||
SetHyperlinkKind(TAG_MAIL);
|
||||
CbMailRecipient.Text := u.Document;
|
||||
if CbMailRecipient.Items.IndexOf(u.Document) = -1 then
|
||||
CbMailRecipient.Items.Insert(0, u.Document);
|
||||
if (u.Params <> '') then
|
||||
begin
|
||||
p := pos('subject=', u.Params);
|
||||
if p <> 0 then
|
||||
EdMailSubject.Text := copy(u.Params, p+Length('subject='), MaxInt);
|
||||
end;
|
||||
UpdateHyperlinkInfo(nil);
|
||||
exit;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure THyperlinkForm.SetHyperlinkTooltip(const AValue: String);
|
||||
begin
|
||||
//
|
||||
end;
|
||||
|
||||
procedure THyperlinkForm.SetWorksheet(AWorksheet: TsWorksheet);
|
||||
var
|
||||
i: Integer;
|
||||
begin
|
||||
FWorksheet := AWorksheet;
|
||||
if FWorksheet = nil then
|
||||
raise Exception.Create('[THyperlinkForm.SetWorksheet] Worksheet cannot be nil.');
|
||||
FWorkbook := FWorksheet.Workbook;
|
||||
|
||||
CbWorksheets.Items.Clear;
|
||||
CbWorksheets.Items.Add('(current worksheet)');
|
||||
for i:=0 to FWorkbook.GetWorksheetCount-1 do
|
||||
CbWorksheets.Items.Add(FWorkbook.GetWorksheetByIndex(i).Name);
|
||||
end;
|
||||
|
||||
procedure THyperlinkForm.ToolButtonClick(Sender: TObject);
|
||||
var
|
||||
i: Integer;
|
||||
begin
|
||||
Notebook.PageIndex := TToolButton(Sender).Tag;
|
||||
for i:=0 to Toolbar.ButtonCount-1 do
|
||||
Toolbar.Buttons[i].Down := Toolbar.Buttons[i].Tag = TToolbutton(Sender).Tag;
|
||||
UpdateHyperlinkInfo(nil);
|
||||
end;
|
||||
|
||||
procedure THyperlinkForm.UpdateHyperlinkInfo(Sender: TObject);
|
||||
begin
|
||||
HyperlinkInfo.Caption := GetHyperlinkTarget;
|
||||
end;
|
||||
|
||||
function THyperlinkForm.ValidData(out AControl: TWinControl;
|
||||
out AMsg: String): Boolean;
|
||||
var
|
||||
r,c: Cardinal;
|
||||
begin
|
||||
Result := false;
|
||||
AMsg := '';
|
||||
AControl := nil;
|
||||
|
||||
case GetHyperlinkKind of
|
||||
TAG_INTERNAL:
|
||||
begin
|
||||
if CbCellAddress.Text = '' then
|
||||
begin
|
||||
AMsg := 'No cell address specified.';
|
||||
AControl := CbCellAddress;
|
||||
exit;
|
||||
end;
|
||||
if not ParseCellString(CbCellAddress.Text, r, c) then
|
||||
begin
|
||||
AMsg := Format('"%s" is not a valid cell address.', [CbCellAddress.Text]);
|
||||
AControl := CbCellAddress;
|
||||
exit;
|
||||
end;
|
||||
if (CbWorksheets.Items.IndexOf(CbWorksheets.Text) = -1) and (CbWorksheets.ItemIndex <> 0) then
|
||||
begin
|
||||
AMsg := Format('Worksheet "%s" does not exist.', [CbWorksheets.Text]);
|
||||
AControl := CbWorksheets;
|
||||
exit;
|
||||
end;
|
||||
end;
|
||||
|
||||
TAG_MAIL:
|
||||
begin
|
||||
if CbMailRecipient.Text = '' then
|
||||
begin
|
||||
AMsg := 'No mail recipient specified.';
|
||||
AControl := CbMailRecipient;
|
||||
exit;
|
||||
end;
|
||||
// Check e-mail address here also!
|
||||
end;
|
||||
end;
|
||||
Result := true;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
@ -11,6 +11,8 @@ LICENSE: See the file COPYING.modifiedLGPL.txt, included in the Lazarus
|
||||
-------------------------------------------------------------------------------}
|
||||
unit fpsActions;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
@ -353,6 +355,9 @@ type
|
||||
property Visible;
|
||||
end;
|
||||
|
||||
|
||||
{ Cell comment actions }
|
||||
|
||||
TsCellCommentMode = (ccmNew, ccmEdit, ccmDelete);
|
||||
|
||||
TsCellCommentAction = class(TsCellAction)
|
||||
@ -380,6 +385,41 @@ type
|
||||
property Visible;
|
||||
end;
|
||||
|
||||
|
||||
{ Cell hyperlink actions }
|
||||
|
||||
TsCellHyperlinkMode = (chmNew, chmEdit, chmDelete);
|
||||
|
||||
TsCellHyperlinkEvent = procedure (Sender: TObject; ACaption: String;
|
||||
var AHyperlink: TsHyperlink) of object;
|
||||
|
||||
TsCellHyperlinkAction = class(TsCellAction)
|
||||
private
|
||||
FMode: TsCellHyperlinkMode;
|
||||
FOnHyperlink: TsCellHyperlinkEvent;
|
||||
protected
|
||||
function EditHyperlink(ACaption: String; var AHyperlink: TsHyperlink): Boolean; virtual;
|
||||
public
|
||||
procedure ExecuteTarget(Target: TObject); override;
|
||||
procedure UpdateTarget(Target: TObject); override;
|
||||
published
|
||||
property Mode: TsCellHyperlinkMode read FMode write FMode;
|
||||
property OnHyperlink: TsCellHyperlinkEvent read FOnHyperlink write FOnHyperlink;
|
||||
property Caption;
|
||||
property Enabled;
|
||||
property HelpContext;
|
||||
property HelpKeyword;
|
||||
property HelpType;
|
||||
property Hint;
|
||||
property ImageIndex;
|
||||
property OnExecute;
|
||||
property OnHint;
|
||||
property OnUpdate;
|
||||
property SecondaryShortCuts;
|
||||
property ShortCut;
|
||||
property Visible;
|
||||
end;
|
||||
|
||||
{ TsMergeAction }
|
||||
TsMergeAction = class(TsAutoFormatAction)
|
||||
private
|
||||
@ -493,7 +533,7 @@ begin
|
||||
TsTextRotationAction, TsWordWrapAction,
|
||||
TsNumberFormatAction, TsDecimalsAction,
|
||||
TsCellBorderAction, TsNoCellBordersAction,
|
||||
TsCellCommentAction,
|
||||
TsCellCommentAction, TsCellHyperlinkAction,
|
||||
TsMergeAction
|
||||
], nil);
|
||||
end;
|
||||
@ -1192,6 +1232,7 @@ end;
|
||||
|
||||
|
||||
{ TsCellCommentAction }
|
||||
|
||||
function TsCellCommentAction.EditComment(ACaption: String;
|
||||
var AText: String): Boolean;
|
||||
var
|
||||
@ -1274,12 +1315,88 @@ begin
|
||||
Unused(Target);
|
||||
|
||||
case FMode of
|
||||
ccmNew : Enabled := (Worksheet <> nil) and (Length(GetSelection) > 0);
|
||||
ccmEdit,
|
||||
ccmDelete: Enabled := (Worksheet <> nil) and (Worksheet.ReadComment(ActiveCell) <> '');
|
||||
ccmNew:
|
||||
Enabled := (Worksheet <> nil) and (Length(GetSelection) > 0) and not Worksheet.HasComment(ActiveCell);
|
||||
ccmEdit, ccmDelete:
|
||||
Enabled := (Worksheet <> nil) and (Worksheet.ReadComment(ActiveCell) <> '');
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
{ TsCellHyperlinkAction }
|
||||
|
||||
function TsCellHyperlinkAction.EditHyperlink(ACaption: String;
|
||||
var AHyperlink: TsHyperlink): Boolean;
|
||||
begin
|
||||
if Assigned(FOnHyperlink) then
|
||||
FOnHyperlink(Self, ACaption, AHyperlink)
|
||||
else
|
||||
AHyperlink.Target := InputBox(ACaption, 'Target', AHyperlink.Target);
|
||||
|
||||
Result := AHyperlink.Target <> '';
|
||||
end;
|
||||
|
||||
procedure TsCellHyperlinkAction.ExecuteTarget(Target: TObject);
|
||||
var
|
||||
txt: String;
|
||||
cellStr: String;
|
||||
hyperlink: TsHyperlink;
|
||||
displayText: String;
|
||||
noCellText: Boolean;
|
||||
cell: PCell;
|
||||
begin
|
||||
Unused(Target);
|
||||
|
||||
if Worksheet = nil then
|
||||
exit;
|
||||
|
||||
cellstr := GetCellString(Worksheet.ActiveCellRow, Worksheet.ActiveCellCol);
|
||||
case FMode of
|
||||
chmNew:
|
||||
begin
|
||||
txt := Format('New hyperlink for cell %s', [cellStr]);
|
||||
hyperlink.Target := '';
|
||||
hyperlink.Tooltip := '';
|
||||
if EditHyperlink(txt, hyperlink) then
|
||||
Worksheet.WriteHyperlink(
|
||||
Worksheet.ActiveCellRow, Worksheet.ActiveCellCol,
|
||||
hyperlink.Target, hyperlink.ToolTip
|
||||
);
|
||||
end;
|
||||
chmEdit:
|
||||
begin
|
||||
displayText := Worksheet.ReadAsUTF8Text(ActiveCell);
|
||||
hyperlink := Worksheet.ReadHyperlink(ActiveCell);
|
||||
noCellText := displayText = hyperlink.Target;
|
||||
txt := Format('Edit hyperlink for cell %s', [cellStr]);
|
||||
if EditHyperlink(txt, hyperlink) then
|
||||
begin
|
||||
Worksheet.WriteHyperlink(
|
||||
Worksheet.ActiveCellRow, Worksheet.ActiveCellCol,
|
||||
hyperlink.Target, hyperlink.ToolTip
|
||||
);
|
||||
if noCellText then
|
||||
Worksheet.WriteBlank(Worksheet.ActiveCellRow, Worksheet.ActiveCellCol);
|
||||
end;
|
||||
end;
|
||||
chmDelete:
|
||||
Worksheet.WriteHyperlink(ActiveCell, '');
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TsCellHyperlinkAction.UpdateTarget(Target: TObject);
|
||||
begin
|
||||
Unused(Target);
|
||||
case FMode of
|
||||
chmNew:
|
||||
Enabled := (Worksheet <> nil) and (Length(GetSelection) > 0) and not Worksheet.HasHyperlink(ActiveCell);
|
||||
chmEdit, chmDelete:
|
||||
Enabled := (Worksheet <> nil) and Worksheet.HasHyperlink(ActiveCell);
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
{ TsMergeAction }
|
||||
|
||||
constructor TsMergeAction.Create(AOwner: TComponent);
|
||||
|
@ -1146,7 +1146,6 @@ var
|
||||
i, j: Integer;
|
||||
cell: PCell;
|
||||
baserng, rng: TsCellRange;
|
||||
nc, nr: Integer;
|
||||
baseRow, baseCol: Cardinal;
|
||||
begin
|
||||
if CellClipboard.Count = 0 then
|
||||
|
@ -62,7 +62,7 @@ resourcestring
|
||||
'In case of an absolute path the protocol "file:" must be specified.';
|
||||
rsEmptyHyperlink = 'The hyperlink is not specified.';
|
||||
rsODSHyperlinksOfTextCellsOnly = 'Cell %s: OpenDocument supports hyperlinks for text cells only.';
|
||||
rsStdHyperlinkTooltip = 'Press the left mouse button a bit longer to activate the hyperlink.';
|
||||
rsStdHyperlinkTooltip = 'Hold the left mouse button down for a short time to activate the hyperlink.';
|
||||
|
||||
rsCannotSortMerged = 'The cell range cannot be sorted because it contains merged cells.';
|
||||
|
||||
|
Reference in New Issue
Block a user