fpspreadsheet: ex-meta files for the visual demos.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8786 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2023-04-10 21:08:40 +00:00
parent 59c57fdbaf
commit b9a6cade84
20 changed files with 131 additions and 347 deletions

View File

@ -1,2 +1,2 @@
The fpschart demo shows usage of the TsWorksheetChartSource component for The fpschart demo shows usage of the TsWorkbookChartSource component for
creating charts from spreadsheet data. creating charts from spreadsheet data.

View File

@ -0,0 +1,5 @@
{ "fpschartsource" : {
"Category" : "FPSpreadsheet",
"Keywords" : ["Spreadsheet", "FPSpreadsheet", "TAChart", "chart", "chartsource", "TsWorkbookChartSource", "gui"],
"Description" : "The fpschartsource demo shows usage of the TsWorkbookChartSource component for creating charts from spreadsheet data."}
}

View File

@ -0,0 +1,23 @@
{ "fpsctrls" : {
"Category" : "FPSpreadsheet",
"Keywords" : ["Spreadsheet", "FPSpreadsheet", "controls", "TsWorkbookSource", "TsWorkbookTabControl", "TsWorksheetGrid", "TsCellEdit", "TsCellIndicator", "TsSpreadsheetInspector", "gui"],
"Description" : "This demo is the result of the project explained in the wiki tutorial \"Writing a mini spreadsheet application\" (http://wiki.lazarus.freepascal.org/FPSpreadsheet_tutorial:_Writing_a_mini_spreadsheet_application).
An extended version of this demo is the \"spready\" project which can be found in the \"applications\" folder of the \"Lazarus Components and Code Repository\".
FPSpreadsheetControls are a set of visual components which facilitate creation of a spreadsheet application.
TsWorkbookSource is the base of the package: it links the visual components to a workbook instance and its worksheets and cells.
TsWorkbookTabControl is a TabControl which displays tabs for each worksheet of the workbook. Changing the active tab selects the corresponding worksheet.
TsWorksheetGrid is a grid component which displays the contents of a worksheet. It communicates with the TsWorkbookSource by receiving and sending messages on the selected cell.
TsCellEdit is a multi-line edit control (memo) for entering cell values and formulas. Pressing ENTER transfers the current text into the worksheet.
TsCellIndicator is a simple edit used to display the address of the currently selected cell. Editing the text allows to jump to the cell address.
TsSpreadsheetInspector is a StringGrid (ValueListEditor, to be precise) which displays details on the workbook, the selected worksheet, and the selected cell values and properties.
Linking these controls to a TsWorkbookSource results in a working spreadsheet application without writing any line of code."}
}

View File

@ -9,7 +9,7 @@ FPSpreadsheetControls are a set of visual components which facilitate creation
of a spreadsheet application. of a spreadsheet application.
TsWorkbookSource is the base of the package: it links the visual components to a TsWorkbookSource is the base of the package: it links the visual components to a
worksheet instance. workbook instance and its worksheets and cells.
TsWorkbookTabControl is a TabControl which displays tabs for each worksheet TsWorkbookTabControl is a TabControl which displays tabs for each worksheet
of the workbook. Changing the active tab selects the corresponding worksheet. of the workbook. Changing the active tab selects the corresponding worksheet.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 134 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

View File

@ -8,7 +8,7 @@
<CompatibilityMode Value="True"/> <CompatibilityMode Value="True"/>
</Flags> </Flags>
<SessionStorage Value="InProjectDir"/> <SessionStorage Value="InProjectDir"/>
<Title Value="demo_ctrls"/> <Title Value="demo_ctrls_no_install"/>
<ResourceType Value="res"/> <ResourceType Value="res"/>
<UseXPManifest Value="True"/> <UseXPManifest Value="True"/>
<Icon Value="0"/> <Icon Value="0"/>
@ -35,7 +35,7 @@
</RequiredPackages> </RequiredPackages>
<Units Count="2"> <Units Count="2">
<Unit0> <Unit0>
<Filename Value="demo_ctrls.lpr"/> <Filename Value="demo_ctrls_no_install.lpr"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
</Unit0> </Unit0>
<Unit1> <Unit1>
@ -51,7 +51,7 @@
<Version Value="11"/> <Version Value="11"/>
<PathDelim Value="\"/> <PathDelim Value="\"/>
<Target> <Target>
<Filename Value="demo_ctrls"/> <Filename Value="demo_ctrls_no_install"/>
</Target> </Target>
<SearchPaths> <SearchPaths>
<IncludeFiles Value="$(ProjOutDir);..\..\..\source"/> <IncludeFiles Value="$(ProjOutDir);..\..\..\source"/>
@ -60,6 +60,7 @@
</SearchPaths> </SearchPaths>
<Linking> <Linking>
<Debugging> <Debugging>
<DebugInfoType Value="dsDwarf3"/>
<UseExternalDbgSyms Value="True"/> <UseExternalDbgSyms Value="True"/>
</Debugging> </Debugging>
<Options> <Options>

View File

@ -1,4 +1,4 @@
program demo_ctrls; program demo_ctrls_no_install;
{$mode objfpc}{$H+} {$mode objfpc}{$H+}

View File

@ -0,0 +1,5 @@
{ "fpsctrls_no_install" : {
"Category" : "FPSpreadsheet",
"Keywords" : ["Spreadsheet", "FPSpreadsheet", "controls", "TsWorkbookSource", "TsWorkbookTabControl", "TsWorksheetGrid", "TsCellEdit", "TsCellIndicator", "TsSpreadsheetInspector", "gui"],
"Description" : "FPSpreadsheetControls are a set of visual components which facilitate creation of a spreadsheet application.\n\n- TsWorkbookSource is the base of the package, it links the visual components to a workbook instance and its worksheets and cells.\n\n- TsWorkbookTabControl is a TabControl which displays tabs for each worksheet of the workbook. Changing the active tab selects the corresponding worksheet.\n\n- TsWorksheetGrid is a grid component which displays the contents of a worksheet. It communicates with the TsWorkbookSource by receiving and sending messages on the selected cell.\n\n- TsCellEdit is a multi-line edit control (memo) for entering for cell values and formulas. Pressing ENTER transfers the current text into the worksheet.\n\n- TsCellIndicator is a simple edit used to display the address of the currently selected cell. Editing the text allows to jump to the cell address.\n\n- TsSpreadsheetInspector is a StringGrid (ValueListEditor, to be precise) which displays details on the workbook, the selected worksheet, and the selected cell values and properties.\n\n- Linking these controls to a TsWorkbookSource results in a working spreadsheet appliation without writing any line of code.\n\nThe demo application in the folder \"fpsctrls_no_install\" can be run without installing the visual FPSpreadsheet packages."}
}

View File

@ -4,11 +4,11 @@ object Form1: TForm1
Top = 177 Top = 177
Width = 878 Width = 878
Caption = 'Form1' Caption = 'Form1'
ClientHeight = 508 ClientHeight = 528
ClientWidth = 878 ClientWidth = 878
Menu = MainMenu Menu = MainMenu
OnCreate = FormCreate OnCreate = FormCreate
LCLVersion = '1.9.0.0' LCLVersion = '2.3.0.0'
object Panel1: TPanel object Panel1: TPanel
Left = 0 Left = 0
Height = 74 Height = 74
@ -151,7 +151,7 @@ object Form1: TForm1
end end
object InspectorTabControl: TTabControl object InspectorTabControl: TTabControl
Left = 581 Left = 581
Height = 410 Height = 430
Top = 98 Top = 98
Width = 297 Width = 297
OnChange = InspectorTabControlChange OnChange = InspectorTabControlChange
@ -167,7 +167,7 @@ object Form1: TForm1
end end
object Splitter1: TSplitter object Splitter1: TSplitter
Left = 576 Left = 576
Height = 410 Height = 430
Top = 98 Top = 98
Width = 5 Width = 5
Align = alRight Align = alRight
@ -180,6 +180,7 @@ object Form1: TForm1
Width = 878 Width = 878
AutoSize = True AutoSize = True
Caption = 'ToolBar1' Caption = 'ToolBar1'
EdgeBorders = [ebBottom]
Images = ImageList1 Images = ImageList1
TabOrder = 3 TabOrder = 3
object TbBold: TToolButton object TbBold: TToolButton
@ -258,13 +259,13 @@ object Form1: TForm1
DefaultExt = '.xls' DefaultExt = '.xls'
Filter = 'All spreadsheet files|*.xls;*.xlsx;*.ods;*.csv|All Excel files (*.xls, *.xlsx)|*.xls;*.xlsx|Excel XML spreadsheet (*.xlsx)|*.xlsx|Excel 97-2003 spreadsheets (*.xls)|*.xls|Excel 5 spreadsheet (*.xls)|*.xls|Excel 2.1 spreadsheets (*.xls)|*.xls|LibreOffice/OpenOffice spreadsheet (*.ods)|*.ods|Comma-delimited files (*.csv)|*.csv|Wikitable (pipes) (.wikitable_pipes)|*.wikitable_pipes' Filter = 'All spreadsheet files|*.xls;*.xlsx;*.ods;*.csv|All Excel files (*.xls, *.xlsx)|*.xls;*.xlsx|Excel XML spreadsheet (*.xlsx)|*.xlsx|Excel 97-2003 spreadsheets (*.xls)|*.xls|Excel 5 spreadsheet (*.xls)|*.xls|Excel 2.1 spreadsheets (*.xls)|*.xls|LibreOffice/OpenOffice spreadsheet (*.ods)|*.ods|Comma-delimited files (*.csv)|*.csv|Wikitable (pipes) (.wikitable_pipes)|*.wikitable_pipes'
Options = [ofExtensionDifferent, ofEnableSizing, ofViewDetail] Options = [ofExtensionDifferent, ofEnableSizing, ofViewDetail]
left = 48 Left = 48
top = 80 Top = 80
end end
object MainMenu: TMainMenu object MainMenu: TMainMenu
Images = ImageList1 Images = ImageList1
left = 203 Left = 203
top = 80 Top = 80
object MnuFile: TMenuItem object MnuFile: TMenuItem
Caption = 'File' Caption = 'File'
object MnuFileExit: TMenuItem object MnuFileExit: TMenuItem
@ -418,8 +419,8 @@ object Form1: TForm1
end end
object ActionList: TActionList object ActionList: TActionList
Images = ImageList1 Images = ImageList1
left = 203 Left = 203
top = 144 Top = 144
object AcFileExit: TFileExit object AcFileExit: TFileExit
Category = 'File' Category = 'File'
Caption = 'E&xit' Caption = 'E&xit'
@ -427,330 +428,53 @@ object Form1: TForm1
end end
end end
object ImageList1: TImageList object ImageList1: TImageList
left = 203 Left = 203
top = 216 Top = 216
Bitmap = { Bitmap = {
4C690A0000001000000010000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 4C7A0A0000001000000010000000650500000000000078DAED99C94EA26B1086
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 2B71D1718A28CE23CE8A13CEF33CCFF33CE1840A0E248A2CE965EFE8AD2BCF1D
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 78F667F17B01265C41A7BD02F50EEABC45D4A011F831D0E9104CBE187F2DBEAF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 90E77DABEA6366E2305976BBDD88E5BABCBC64ABD5FA64B1581C070707B746A3
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF F1697575F5667E7E5EE3EF352E2E2E1CC7C7C76C369B95D7672B2B2B370B0B0B
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 3C3636E6F2177F7A7A2A7BF2DEDEDE5BFCF4F4B4636A6A8A7B7B7BD95FFCE1E1
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00777777607777 A1637B7B9BD7D7D7DDF19393939AA1A1A1DF58DCD2D272E32F1EB93A902B23D7
77CF747474FF707070EF6B6B6B7F656565AF606060EF5959599F53535310FFFF DF1313138EC1C141D7C0C000373535296ADE43E4EA40ACE4FAF6F70D0D0D37D8
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF007373 9B4B4A4A5C7979793EDF43C91567965CDFE22B2A2A3488E5AAAA2A4E4B4BB3FA
737F696969FF6A6A6ABFFFFFFF00FFFFFF005858589F545454FF4A4A4ACFFFFF 8A479E8E975CDF9D373B3B9BCBCBCB59A3D1387CC57776763A7A7A7AB8A6A6E6
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF006D6D ED7F959595652D2A2AE2848484A79898189DB7D88E8E0E2372BDC539159C5741
6D7F656565FF636363BFFFFFFF00FFFFFF004F4F4F7F4E4E4EFF414141FFFFFF AECE8C8C0CA756AB55E2E3E39DD1D1D13A0E235EC27D81FFEF60F1194C309878
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF006767 C6E7FA2ED0D7D8DADA7A109E6667678D81C66E6C6C18969797194C3C7FE5FCD0
677F5F5F5FFF5B5B5BBFFFFFFF004D4D4D10464646DF464646FF3838389FFFFF 9C9F7373730C1EFEF94A3CF87F181D1D65303113682CF837403B184C7CE9ECE0
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF006060 FFA7E84E5D5DDD97CE0EFE1F4473F47A7DC06787D6F534363672595919071A0B
607F595959FF535353DF4C4C4C7F454545CF444444FF363636BFFFFFFF00FFFF FEBF83FF3BF07F07FEEFC0FFBF1196FEA87F3F61B1CD66737AFE6E6767E7169E
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF005858 C860C2EAE73514F1FF8FCFC1B006FCBB54F8BF727676C65E985054F8BF727474
587F535353FF4A4A4ABFFFFFFF00FFFFFF003434349F383838FF262626CF1F1F C45E985054F8BF825CD90B138A0AFF5744AF3EFB1D3C5151E1FF0AB4EED378F1
1F10FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004F4F 447FF1D03AE7F8F8B8F8FF3B6EE1BF3DB9B9B94E7FF1D03A5D7777F7137275D5
4F7F4D4D4DFF414141BFFFFFFF00FFFFFF002B2B2B10262626FF2D2D2DFF1717 D6D6BAFDB6B0B0B007FEEF4A4D4DD5A9E45F875C6FC0BF929F9FAFC0FF9DC9C9
1770FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004646 C9863FF11946ADC3526B2057A97538292989E3E2E2F8DBB76F1C1515C511CE43
467F464646FF383838BFFFFFFF00FFFFFF00FFFFFF001C1C1CFF292929FF1010 BFC07F22EAFF6BF8BF09FE6F0713D760E23FB5F1E0FF11F5BFDD8309BB37263E
107FFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF003D3D E1DF842FA9FF7F783E1F191951B53FF81F907AE545EBAE514BD7CB733031A0F6
3D7F404040FF2F2F2FCFFFFFFF00FFFFFF001B1B1B70242424FF0F0F0FEF0A0A FC92EBE2E2A2D42C8C7DC5FFEFC1C4800FCDB489E67E5CD287C0FF393D3D9D89
0A20FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF003C3C3C603434 E8E3BAF4C27FA2E7CFF07F1398F885EFC2C4BD0AFE4DC8D5FEF1B9D4FFE0FF97
34AF2D2D2DBF262626BF1F1F1F8F1919198F131313BF0D0D0D8F09090920FFFF BF78E46A6A6E6E96FAFFDD39C0FF23EA7FBB0AFF37C1FF1FA175F7F07F3BFCDF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 84FADF8EFAFF4784ADBF775D5D5DF14BDFCF2727272C1E0C0619F53BBFF4C32C
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 3DB8F0D0D7D717741D3E3F3F67E80D0BFBE2DFA8FD596A7F6150FC506AE950E6
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF BFBFBFEFE6756D6D4D74437A0E96DABFBFBF5FF86761027ECAE24FC5C5C5413F
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 0B3492A55741CF21FD0A4B0FDED6D6C6E089ABABABBF548B07D8AFB0F41B5D5D
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 5D323B90BE832B2B2B6566C13A9D8E5103887E706262A2DB8F83BDBFE8A4F41C
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF D01DF79CE2B506807E30B447660F11EF0F63FE5FE60D165FFCC3D7B8B5B5D512
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 8EFCCB02FF165FFCA38EE79C9C1C4B38F22F0BFC5B7CF11F1B1B2B7D8025C26B
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 78F2EF31ABF0C53FD7D7D77338F2EF51C3FBE2DFDD4F8423FFAFCB0FFF913940
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 0896CD66E38B8B0B7EADC3D147F3EEEE2E6F6E6EF26B6D2AF752C3C3C3AAEEE1
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 025D3233349BCD2C777FAFFDFBD2D212CFCCCCF0679FCD60EF0FAD93BB0AE9FD
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 095A47D03A993910B44E6A53998991C16020BD5E2FB3B8A0BFFFD03A82D611B4
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 8EA07532AF20681D41EB08FD3495969652414181F4F194969616F4FDA17504AD
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 93FE9FA07504AD93591C41EB087D3C656666524A4A0A817F02FF41DFBFBDBD5D
FF00FFFFFF00FFFFFF006B6B6B80656565F0606060FF595959F0535353C0FFFF 660704AD23689DCC2C095A47D03AD26AB504FE09FC13F827F01F6136F8FCCBEC
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 5EFA70A9C3658E46E09FC0BFF4A6529BCA5D3A817F99C35308F827F04FE05F66
FF00FFFFFF00FFFFFF00FFFFFF005E5E5EE0595959FF51515160FFFFFF00FFFF F004FE09FC13F8176F22F04FE05F66F83213A310F0EFB5D691DE14FC33F897FB
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 34B73785807FAFB58EDCFB837F06FF2C733C998B47F88F301BE13FE2FF41E4DF
FF00FFFFFF00FFFFFF005C5C5C30575757FF4F4F4FF0FFFFFF00FFFFFF00FFFF 6BAF03FE19FC33F80F59FD0FFEBDF63AE0FFAFADFFFF0783BE05CE
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF0054545490525252FF464646A0FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF004C4C4CE0494949FF3D3D3D50FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF004A4A4A30454545FF3C3C3CF0FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0041414190444444FF323232A0FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00383838E0383838FF2A2A2A50FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF0036363640353535FF282828FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF003434
34802D2D2DC0262626C01F1F1FC0191919B0FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00777777607777
77EF777777FF7575758FFFFFFF00FFFFFF00FFFFFF00616161AF5B5B5BFF5454
5470FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF007777
77BF747474FFFFFFFF00FFFFFF00FFFFFF00FFFFFF0059595910535353CFFFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF007373
73BF6E6E6EFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4ABFFFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF006D6D
6DBF686868FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00414141BFFFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF006767
67BF616161FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00383838BFFFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF006060
60BF595959FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF002F2F2FBFFFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF005858
58BF515151FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00262626BFFFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004F4F
4F8F4B4B4BFF41414150FFFFFF00FFFFFF00FFFFFF00242424401E1E1E8FFFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004646
46203F3F3FEF383838CF31313120FFFFFF00232323401C1C1CCF16161620FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00363636202F2F2F9F282828BF212121BF1B1B1B8F14141430FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF002B2B
2BFF242424FF1E1E1EFF171717FF121212FF0C0C0CFF070707FF030303FFFFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF0074747411707070996B6B6B666565657760606099595959BBFFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF006E6E6EEE6A6A6A77FFFFFF00FFFFFF0058585877515151FFFFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF006D6D
6D66666666FF63636388FFFFFF00FFFFFF00FFFFFF00484848BBFFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF006767
6744606060FF5B5B5BFF545454994D4D4D33FFFFFF003F3F3F44FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00595959BB555555FF515151FF484848FF3D3D3DCC36363644FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0077777775777777FF777777FF7777
77FF777777FF777777FF5F5F5FFF3C3C3CFF181818FF000000FF000000FF0000
00FF000000FF00000074FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004F4F
4F11FFFFFF00FFFFFF00FFFFFF00323232662B2B2BDD323232FF1E1E1ECCFFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004646
46663F3F3F77FFFFFF00FFFFFF00FFFFFF00FFFFFF001C1C1CFF161616DDFFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF003D3D
3D66373737FF2F2F2F11FFFFFF00FFFFFF00FFFFFF00141414EE0F0F0F77FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF003434
34662D2D2DEE262626CC1F1F1F7719191966131313770D0D0D88FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00767676FF747474FF7070
70FF6C6C6CFF686868FF636363FF5E5E5EFF595959FF535353FF4E4E4EFF4848
48FF424242FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF006F6F6FFF6B6B6BFF6666
66FF616161FF5C5C5CFF575757FF515151FF4B4B4BFF454545FFFFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00646464FF5F5F5FFF5A5A
5AFF545454FF4F4F4FFF494949FF434343FF3D3D3DFF373737FF313131FF2B2B
2BFF252525FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00585858FF525252FF4C4C
4CFF464646FF404040FF3A3A3AFF343434FF2E2E2EFF282828FFFFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4AFF444444FF3E3E
3EFF383838FF323232FF2C2C2CFF262626FF202020FF1B1B1BFF161616FF1111
11FF0C0C0CFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF003C3C3CFF353535FF2F2F
2FFF292929FF242424FF1E1E1EFF191919FF141414FF0F0F0FFFFFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00767676FF747474FF7070
70FF6C6C6CFF686868FF636363FF5E5E5EFF595959FF535353FF4E4E4EFF4848
48FF424242FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF006B6B6B6B6666
66FF616161FF5C5C5CFF575757FF515151FF4B4B4BFF454545FF3F3F3FFF3939
396BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00646464FF5F5F5FFF5A5A
5AFF545454FF4F4F4FFF494949FF434343FF3D3D3DFF373737FF313131FF2B2B
2BFF252525FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF005252526B4C4C
4CFF464646FF404040FF3A3A3AFF343434FF2E2E2EFF282828FF232323FF1D1D
1D6BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4AFF444444FF3E3E
3EFF383838FF323232FF2C2C2CFF262626FF202020FF1B1B1BFF161616FF1111
11FF0C0C0CFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF003535356B2F2F
2FFF292929FF242424FF1E1E1EFF191919FF141414FF0F0F0FFF0B0B0BFF0707
076BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00767676FF747474FF7070
70FF6C6C6CFF686868FF636363FF5E5E5EFF595959FF535353FF4E4E4EFF4848
48FF424242FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00616161FF5C5C5CFF575757FF515151FF4B4B4BFF454545FF3F3F3FFF3939
39FF333333FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00646464FF5F5F5FFF5A5A
5AFF545454FF4F4F4FFF494949FF434343FF3D3D3DFF373737FF313131FF2B2B
2BFF252525FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00464646FF404040FF3A3A3AFF343434FF2E2E2EFF282828FF232323FF1D1D
1DFF181818FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4AFF444444FF3E3E
3EFF383838FF323232FF2C2C2CFF262626FF202020FF1B1B1BFF161616FF1111
11FF0C0C0CFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00292929FF242424FF1E1E1EFF191919FF141414FF0F0F0FFF0B0B0BFF0707
07FF030303FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00757575FF737373FF6F6F
6FFF6B6B6BFF676767FF626262FF5D5D5DFF585858FF525252FF4D4D4DFF4747
47FF414141FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF006E6E6EFF6A6A6AFF6565
65FF606060FF5B5B5BFF565656FF505050FF4A4A4AFF444444FF3E3E3EFF3838
38FF323232FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00636363005E5E5E005959
5900535353004E4E4E0048484800424242003C3C3C0036363600303030002A2A
2A0024242400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0057575700515151004B4B
4B00454545003F3F3F0039393900333333002D2D2D0027272700222222001C1C
1C0017171700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0049494900434343003D3D
3D0037373700313131002B2B2B00252525001F1F1F001A1A1A00151515001111
11000C0C0C00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF003B3B3B00343434002E2E
2E0028282800232323001D1D1D0018181800131313000F0F0F000B0B0B000707
070003030300FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0075757500737373006F6F
6F006B6B6B0067676700626262005D5D5D0058585800525252004D4D4D004747
470041414100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF006E6E6E006A6A6A006565
6500606060005B5B5B0056565600505050004A4A4A00444444003E3E3E003838
380032323200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00636363FF5E5E5EFF5959
59FF535353FF4E4E4EFF484848FF424242FF3C3C3CFF363636FF303030FF2A2A
2AFF242424FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00575757FF515151FF4B4B
4BFF454545FF3F3F3FFF393939FF333333FF2D2D2DFF272727FF222222FF1C1C
1CFF171717FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0049494900434343003D3D
3D0037373700313131002B2B2B00252525001F1F1F001A1A1A00151515001111
11000C0C0C00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF003B3B3B00343434002E2E
2E0028282800232323001D1D1D0018181800131313000F0F0F000B0B0B000707
070003030300FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0075757500737373006F6F
6F006B6B6B0067676700626262005D5D5D0058585800525252004D4D4D004747
470041414100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF006E6E6E006A6A6A006565
6500606060005B5B5B0056565600505050004A4A4A00444444003E3E3E003838
380032323200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00636363005E5E5E005959
5900535353004E4E4E0048484800424242003C3C3C0036363600303030002A2A
2A0024242400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0057575700515151004B4B
4B00454545003F3F3F0039393900333333002D2D2D0027272700222222001C1C
1C0017171700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00494949FF434343FF3D3D
3DFF373737FF313131FF2B2B2BFF252525FF1F1F1FFF1A1A1AFF151515FF1111
11FF0C0C0CFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF003B3B3BFF343434FF2E2E
2EFF282828FF232323FF1D1D1DFF181818FF131313FF0F0F0FFF0B0B0BFF0707
07FF030303FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00
} }
end end
end end

View File

@ -1,8 +1,8 @@
FPSpreadsheetControls are a set of visual components which facilitate creation FPSpreadsheetControls are a set of visual components which facilitate creation
of a spreadsheet application. of a spreadsheet application.
TsWorkbookSource is the base of package, it links the visual components to a TsWorkbookSource is the base of the package, it links the visual components to a
worksheet instance. workbook instance and its worksheets and cells.
TsWorkbookTabControl is a TabControl which displays tabs for each worksheet TsWorkbookTabControl is a TabControl which displays tabs for each worksheet
of the workbook. Changing the active tab selects the corresponding worksheet. of the workbook. Changing the active tab selects the corresponding worksheet.

View File

@ -0,0 +1,5 @@
{ "fpsgrid" : {
"Category" : "FPSpreadsheet",
"Keywords" : ["Spreadsheet", "FPSpreadsheet", "WorksheetGrid", "TsWorksheetGrid", "Grid", "gui"],
"Description" : "This project demonstrates use of TsWorksheetGrid, the Lazarus grid component supplied with fpspreadsheet. It demonstrates only the basics; a more extensive example can be found in the \"spready\" application."}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 134 KiB

View File

@ -0,0 +1,7 @@
{ "fpsgrid_no_install" : {
"Category" : "FPSpreadsheet",
"Keywords" : ["Spreadsheet", "FPSpreadsheet", "WorksheetGrid", "TsWorksheetGrid", "Grid", "gui"],
"Description" : "This project demonstrates use of TsWorksheetGrid, the Lazarus grid component supplied with fpspreadsheet. It demonstrates only the basics; a more extensive example can be found in the \"spready\" application.
The grid is created at run-time, therefore installation of the laz_fpspreadsheet_visual packages is not required. Just compile and run..."}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

View File

@ -8,7 +8,7 @@
<CompatibilityMode Value="True"/> <CompatibilityMode Value="True"/>
</Flags> </Flags>
<SessionStorage Value="InProjectDir"/> <SessionStorage Value="InProjectDir"/>
<Title Value="fpsgrid"/> <Title Value="fpsgrid_no_install"/>
<ResourceType Value="res"/> <ResourceType Value="res"/>
<UseXPManifest Value="True"/> <UseXPManifest Value="True"/>
<Icon Value="0"/> <Icon Value="0"/>
@ -58,7 +58,7 @@
</RequiredPackages> </RequiredPackages>
<Units Count="2"> <Units Count="2">
<Unit0> <Unit0>
<Filename Value="fpsgrid.lpr"/> <Filename Value="fpsgrid_no_install.lpr"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
</Unit0> </Unit0>
<Unit1> <Unit1>
@ -74,7 +74,7 @@
<Version Value="11"/> <Version Value="11"/>
<PathDelim Value="\"/> <PathDelim Value="\"/>
<Target> <Target>
<Filename Value="fpsgrid"/> <Filename Value="fpsgrid_no_install"/>
</Target> </Target>
<SearchPaths> <SearchPaths>
<IncludeFiles Value="$(ProjOutDir);..\..\..\source"/> <IncludeFiles Value="$(ProjOutDir);..\..\..\source"/>

View File

@ -1,4 +1,4 @@
program fpsgrid; program fpsgrid_no_install;
{$mode objfpc}{$H+} {$mode objfpc}{$H+}

View File

@ -18,7 +18,7 @@
<Mode Name="Release"/> <Mode Name="Release"/>
</BuildModes> </BuildModes>
</Target> </Target>
<Target FileName="fpsctrls_no_install\demo_ctrls.lpi"> <Target FileName="fpsctrls_no_install\demo_ctrls_no_install.lpi">
<BuildModes> <BuildModes>
<Mode Name="Default"/> <Mode Name="Default"/>
</BuildModes> </BuildModes>
@ -28,7 +28,7 @@
<Mode Name="default"/> <Mode Name="default"/>
</BuildModes> </BuildModes>
</Target> </Target>
<Target FileName="fpsgrid_no_install\fpsgrid.lpi"> <Target FileName="fpsgrid_no_install\fpsgrid_no_install.lpi">
<BuildModes> <BuildModes>
<Mode Name="Debug" Compile="True"/> <Mode Name="Debug" Compile="True"/>
<Mode Name="Release"/> <Mode Name="Release"/>

View File

@ -0,0 +1,9 @@
{ "wikitablemaker" : {
"Category" : "FPSpreadsheet",
"Keywords" : ["Spreadsheet", "FPSpreadsheet", "WorksheetGrid", "TsWorksheetGrid", "Grid", "zoom", "gui", "wiki", "wikimedia", "table"],
"Description" : "WikiTableMaker implements an editor for tables to be used in wikis.
Load a spreadsheet file into the worksheet grid, or type in the data needed. Go to page \"code\" to see the wiki code. Copy it to the clipboard and paste it into the wiki source page.
Technically, WikiTableMaker is a moderately stripped-down version of the \"spready\" application or the \"fpsctrls\" demo project. The worksheetgrid, however, is created at runtime. Therefore, it is not necessary to install the fpspreadsheet packages to run this sample project."}
}

View File

@ -0,0 +1,5 @@
{ "zoomdemo" : {
"Category" : "FPSpreadsheet",
"Keywords" : ["Spreadsheet", "FPSpreadsheet", "WorksheetGrid", "TsWorksheetGrid", "Grid", "zoom", "gui"],
"Description" : "This sample project demonstrates two ways of zooming into a WorksheetGrid.\n\nIn the first one (checkbox \"Override file zoom factor\" off), the zoom factor read from the spreadsheet file is used for displaying the worksheet in the grid.\n\nIn the second one (checkbox on), the file zoom factor is ignored.\n\nThe zoom factor can be changed by entering a zoom percentage in the edit box, or by using the mouse wheel with CTRL and SHIFT keys pressed."}
}