mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-05 10:37:58 +02:00
Component demos and samples, a lot of general fixes.
This commit is contained in:
parent
4e1548d574
commit
8f091d6af5
@ -1,5 +1,13 @@
|
||||
{ "AggPasPango_example" : {
|
||||
"Category" : "Techniques",
|
||||
"Keywords" : ["Pango","AGG","textout", "Anti-Grain Geometry", "2D Vector Graphics"],
|
||||
"Description" : "Demonstrates using Pango to write text on a bitmap and display it in a Lazarus widget.\n\nAggPas is an Object Pascal port of the Anti-Grain Geometry library - AGG,\n originally written by Maxim Shemanarev in industrially standard C++. \n AGG as well as AggPas is Open Source and free of charge 2D vector graphic\n library.\n\nFor further information, see the readme.txt file in <LazDir>/components/aggpas."}
|
||||
}
|
||||
{
|
||||
"AggPasPango_example" : {
|
||||
"Category" : "General",
|
||||
"Keywords" : [
|
||||
"Pango",
|
||||
"AGG",
|
||||
"textout",
|
||||
"Anti-Grain Geometry",
|
||||
"2D Vector Graphics"
|
||||
],
|
||||
"Description" : "Demonstrates using Pango to write text on a bitmap and display it in a Lazarus widget.\n\nAggPas is an Object Pascal port of the Anti-Grain Geometry library - AGG,\n originally written by Maxim Shemanarev in industrially standard C++. \n AGG as well as AggPas is Open Source and free of charge 2D vector graphic\n library.\n\nFor further information, see the readme.txt file in <LazDir>/components/aggpas."
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,13 @@
|
||||
{ "AggPas_LCLDemo1_example" : {
|
||||
"Category" : "Techniques",
|
||||
"Keywords" : ["AggPas","2d vector","Graphics","AGG","Textout"],
|
||||
"Description" : "Draws and writes some text on a AggLCLCanvas.\n\nAggPas is an Object Pascal port of the Anti-Grain Geometry library - AGG, originally written by Maxim Shemanarev in industrially standard C++. \n AGG as well as AggPas is Open Source and free of charge 2D vector graphic\n library.\n\nFor further information, see the readme.txt file in <LazDir>/components/aggpas."}
|
||||
}
|
||||
{
|
||||
"AggPas_LCLDemo1_example" : {
|
||||
"Category" : "General",
|
||||
"Keywords" : [
|
||||
"AggPas",
|
||||
"2d vector",
|
||||
"Graphics",
|
||||
"AGG",
|
||||
"Textout"
|
||||
],
|
||||
"Description" : "Draws and writes some text on a AggLCLCanvas.\n\nAggPas is an Object Pascal port of the Anti-Grain Geometry library - AGG, originally written by Maxim Shemanarev in industrially standard C++. \n AGG as well as AggPas is Open Source and free of charge 2D vector graphic\n library.\n\nFor further information, see the readme.txt file in <LazDir>/components/aggpas."
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,13 @@
|
||||
{ "AggPas_LCLDemo2_example" : {
|
||||
"Category" : "Techniques",
|
||||
"Keywords" : ["AGG","Canvas","shapes", "Anti-Grain Geometry", "2D Vector Graphics"],
|
||||
"Description" : "Demonstrates writing text and a range of shapes to a canvas using AGG.\n\nAggPas is an Object Pascal port of the Anti-Grain Geometry library - AGG,\n originally written by Maxim Shemanarev in industrially standard C++. \n AGG as well as AggPas is Open Source and free of charge 2D vector graphic\n library.\n\nFor further information, see the readme.txt file in <LazDir>/components/aggpas."}
|
||||
}
|
||||
{
|
||||
"AggPas_LCLDemo2_example" : {
|
||||
"Category" : "General",
|
||||
"Keywords" : [
|
||||
"AGG",
|
||||
"Canvas",
|
||||
"shapes",
|
||||
"Anti-Grain Geometry",
|
||||
"2D Vector Graphics"
|
||||
],
|
||||
"Description" : "Demonstrates writing text and a range of shapes to a canvas using AGG.\n\nAggPas is an Object Pascal port of the Anti-Grain Geometry library - AGG,\n originally written by Maxim Shemanarev in industrially standard C++. \n AGG as well as AggPas is Open Source and free of charge 2D vector graphic\n library.\n\nFor further information, see the readme.txt file in <LazDir>/components/aggpas."
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ "cairocanvas_example" : {
|
||||
"Category" : "Techniques",
|
||||
"Category" : "General",
|
||||
"Keywords" : ["Cairo","PDF","Postscript","svg","png"],
|
||||
"Description" : "Package for use libcairo in fpc. This example does NOT display a GUI, it writes out a number of files, PDF, PS, SVG and PNG the content of which generated within the example.\n\nThis cairocanvas example require the Cairo Graphics and Pango libraries.\n\nSee the associated readme.txt file.\n\n"}
|
||||
"Description" : "Package for use libcairo in fpc. This example does NOT display a GUI, it writes out a number of files, PDF, PS, SVG and PNG the content of which are generated within the example.\n\nThis cairocanvas example require the Cairo Graphics and Pango libraries.\n\nSee the associated readme.txt file.\n\n"}
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
{ "dbexport_demo" : {
|
||||
"Category" : "DBase",
|
||||
"Keywords" : ["dbase","database","export","Needs work"],
|
||||
"Description" : "Demonstrates exporting a small database in a number of formats. Accepts an input file of your choice so may even be a useful utility.\nRequires the dbflaz package.\nSee also stdexports.\nAppears to have some UTF8 issues, char may not be displayed correctly and some Pango errors reported to console."}
|
||||
"Keywords" : ["dbase","database","export"],
|
||||
"Description" : "Demonstrates exporting a small database in a number of formats. Accepts an input file of your choice so may even be a useful utility.\nRequires the dbflaz package (part of bigide).\nRequires the package LazDBExport be installed.\nSee also stdexports.\n\n"}
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
{ "stdexports" : {
|
||||
"Category" : "DBase",
|
||||
"Keywords" : ["dbase","database","export","Needs work"],
|
||||
"Description" : "Demonstrates exporting a small database in a number of formats. Accepts an input file of your choice s may even be a useful utility.\nSee also dbexport_demo.\nPlease see the associated readme.txt file.\nAppears to have some UTF8 issues, char may not be displayed correctly and some Pango errors reported to console."}
|
||||
"Description" : "Demonstrates exporting a small database in a number of formats. Accepts an input file of your choice s may even be a useful utility.\nSee also dbexport_demo.\nPlease see the associated readme.txt file.\nAppears to have some UTF8 issues, char may not be displayed correctly and some Pango errors reported to console when opening its own test file."}
|
||||
}
|
@ -1,5 +1,12 @@
|
||||
{ "Google_calendar_demo" : {
|
||||
"Category" : "Techniques",
|
||||
"Keywords" : ["google api","calendar","Synapse", "Needs Work"],
|
||||
"Description" : "Demonstrates access to the Google API, as long as Synapse is installed, compiles and starts up fine but not tested because I don't have a Google API Access Code. Its possible that Google no longer supports the OAuth mode that is used here as testing generates a Google Invalid Client rather than a signing request. And does not behave very well on a 'cancel'. \nRequires Synapse from OPM\nRequires the use of a Google API Access Code"}
|
||||
}
|
||||
{
|
||||
"Google_calendar_demo" : {
|
||||
"Category" : "General",
|
||||
"Keywords" : [
|
||||
"google api",
|
||||
"calendar",
|
||||
"Synapse",
|
||||
"Needs Work"
|
||||
],
|
||||
"Description" : "Demonstrates access to the Google API, as long as Synapse is installed, compiles and starts up fine but not tested because I don't have a Google API Access Code. Its possible that Google no longer supports the OAuth mode that is used here as testing generates a Google Invalid Client rather than a signing request. And does not behave very well on a 'cancel'. \nRequires Synapse from OPM\nRequires the use of a Google API Access Code"
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,11 @@
|
||||
{ "Google_discovery_demo" : {
|
||||
"Category" : "Techniques",
|
||||
"Keywords" : ["Google API", "discovery", "Synapse"],
|
||||
"Description" : "Finds and displays the Google API Services.\nRequires the synapse package from the OPM."}
|
||||
}
|
||||
{
|
||||
"Google_discovery_demo" : {
|
||||
"Category" : "General",
|
||||
"Keywords" : [
|
||||
"Google API",
|
||||
"discovery",
|
||||
"Synapse"
|
||||
],
|
||||
"Description" : "Finds and displays the Google API Services.\nRequires the synapse package from the OPM."
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,12 @@
|
||||
{ "google_drive" : {
|
||||
"Category" : "Techniques",
|
||||
"Keywords" : ["Google API","Synapse","Google Drive", "Needs Work"],
|
||||
"Description" : "Demonstrates access to the Google API, as long as Synapse is installed, compiles and starts up fine but not tested because I don't have a Google API Access Code. Its possible that Google no longer supports the OAuth mode that is used here as testing generates a Google Invalid Client rather than a signing request. And does not behave very well on a 'cancel'. \nRequires Synapse from OPM\nRequires the use of a Google API Access Code"}
|
||||
}
|
||||
{
|
||||
"google_drive" : {
|
||||
"Category" : "General",
|
||||
"Keywords" : [
|
||||
"Google API",
|
||||
"Synapse",
|
||||
"Google Drive",
|
||||
"Needs Work"
|
||||
],
|
||||
"Description" : "Demonstrates access to the Google API, as long as Synapse is installed, compiles and starts up fine but not tested because I don't have a Google API Access Code. Its possible that Google no longer supports the OAuth mode that is used here as testing generates a Google Invalid Client rather than a signing request. And does not behave very well on a 'cancel'. \nRequires Synapse from OPM\nRequires the use of a Google API Access Code"
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,12 @@
|
||||
{ "google_gmail" : {
|
||||
"Category" : "Techniques",
|
||||
"Keywords" : ["Google API","Synapse","gmail", "Needs Work"],
|
||||
"Description" : "Demonstrates access to the Google API, as long as Synapse is installed, compiles and starts up fine but not tested because I don't have a Google API Access Code. Its possible that Google no longer supports the OAuth mode that is used here as testing generates a Google Invalid Client rather than a signing request. And does not behave very well on a 'cancel'. \nRequires Synapse from OPM\nRequires the use of a Google API Access Code"}
|
||||
}
|
||||
{
|
||||
"google_gmail" : {
|
||||
"Category" : "General",
|
||||
"Keywords" : [
|
||||
"Google API",
|
||||
"Synapse",
|
||||
"gmail",
|
||||
"Needs Work"
|
||||
],
|
||||
"Description" : "Demonstrates access to the Google API, as long as Synapse is installed, compiles and starts up fine but not tested because I don't have a Google API Access Code. Its possible that Google no longer supports the OAuth mode that is used here as testing generates a Google Invalid Client rather than a signing request. And does not behave very well on a 'cancel'. \nRequires Synapse from OPM\nRequires the use of a Google API Access Code"
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,12 @@
|
||||
{ "Google_tasks_demo" : {
|
||||
"Category" : "Techniques",
|
||||
"Keywords" : ["Google API","Synapse","Tasks", "Needs Work"],
|
||||
"Description" : "Demonstrates access to the Google API, as long as Synapse is installed, compiles and starts up fine but not tested because I don't have a Google API Access Code. Its possible that Google no longer supports the OAuth mode that is used here as testing generates a Google Invalid Client rather than a signing request. And does not behave very well on a 'cancel'. \nRequires Synapse from OPM.\nRequires the use of a Google API Access Code"}
|
||||
}
|
||||
{
|
||||
"Google_tasks_demo" : {
|
||||
"Category" : "General",
|
||||
"Keywords" : [
|
||||
"Google API",
|
||||
"Synapse",
|
||||
"Tasks",
|
||||
"Needs Work"
|
||||
],
|
||||
"Description" : "Demonstrates access to the Google API, as long as Synapse is installed, compiles and starts up fine but not tested because I don't have a Google API Access Code. Its possible that Google no longer supports the OAuth mode that is used here as testing generates a Google Invalid Client rather than a signing request. And does not behave very well on a 'cancel'. \nRequires Synapse from OPM.\nRequires the use of a Google API Access Code"
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,5 @@
|
||||
{ "Laz_Report_ChildBand_Example" : {
|
||||
"Category" : "LazReport",
|
||||
"Keywords" : ["LazReport","child","filter","TfrBand"],
|
||||
"Description" : "Demonstrates filtering LazReport content using the Band approach.\n\nRequires the LazReport package be installed. \n"}
|
||||
}
|
@ -0,0 +1,5 @@
|
||||
{ "Demo_CrossTab" : {
|
||||
"Category" : "DBase",
|
||||
"Keywords" : ["Interbase", "Firebird", "crosstab"],
|
||||
"Description" : "Builds but not tested.\nRequires Interbase/Firebird to be installed before running."}
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
{
|
||||
"LazReport_console_cgi_http" : {
|
||||
"Category" : "LazReport",
|
||||
"Keywords" : [
|
||||
"LazReport",
|
||||
"http server",
|
||||
"console",
|
||||
"powerpdf"
|
||||
],
|
||||
"Description" : "Builds an http server and several versions of a client console app that work with a database and LazReport. \n\nRequires the powerpdf package from On Line Package manager.\nNote: Select a build mode (other than 'Default') before building.\nNote: There is an extensive readme.txt that you almost certainly need to read.\n\n"
|
||||
}
|
||||
}
|
BIN
components/lazreport/samples/detail_reports/countries.dbf
Normal file
BIN
components/lazreport/samples/detail_reports/countries.dbf
Normal file
Binary file not shown.
@ -0,0 +1,5 @@
|
||||
{ "detail_reports" : {
|
||||
"Category" : "LazReport",
|
||||
"Keywords" : ["LazReport","Interbase"],
|
||||
"Description" : "Demonstrates importing data from databases and speadsheets into a LazReport.\n\nRequires lazReport, lr_OfficeImport, lr_tdbf, lr_SqlDB packages.\nRequires FPSpreadsheet from OPM (yes, including dcpcrypt).\nRequires the Firebird libraries to run the Firebird part of demo but builds fine without.\n"}
|
||||
}
|
@ -0,0 +1,5 @@
|
||||
{ "LazReport_editor" : {
|
||||
"Category" : "LazReport",
|
||||
"Keywords" : ["LazReport","editor","printing"],
|
||||
"Description" : "A quite expansive demonstration of LazReport including preparing the report in a number of views and printing.\n\nRequires that LazReport, lr_tdbf, lr_add_function and lr_extexp be installed before building.\nHas an extensive readme.txt file.\n\n"}
|
||||
}
|
@ -0,0 +1,5 @@
|
||||
{ "LazReport_dbf_demo" : {
|
||||
"Category" : "LazReport",
|
||||
"Keywords" : ["LazReport","DBf"],
|
||||
"Description" : "Demonstrates a simple LazReport obtaining data from a DBf file.\n\nRequires LazReport, lr_tdbf , lr_dialogdesign package to build."}
|
||||
}
|
Binary file not shown.
BIN
components/lazreport/samples/enduser_reports/dbf_demo/list.mdx
Normal file
BIN
components/lazreport/samples/enduser_reports/dbf_demo/list.mdx
Normal file
Binary file not shown.
@ -0,0 +1,5 @@
|
||||
{ "LazReport_sql_demo" : {
|
||||
"Category" : "LazReport",
|
||||
"Keywords" : ["LazReport","Interbase","Firebird"],
|
||||
"Description" : "Requires lr_tdbf, lr_SqlDB, lr_dialogdesign packages to build.\nRequires InterBase / Firebird client libraries to run.\n"}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
{
|
||||
"test_lr_formstorage" : {
|
||||
"Category" : "LazReport",
|
||||
"Keywords" : [
|
||||
"LazReport",
|
||||
"prompt",
|
||||
"input"
|
||||
],
|
||||
"Description" : "Demonstrates prompting the end user for input that is used in a LazReport\n\nRequires lr_DialogDesign package be installed.\n"
|
||||
}
|
||||
}
|
@ -0,0 +1,5 @@
|
||||
{ "Laz_report_url" : {
|
||||
"Category" : "LazReport",
|
||||
"Keywords" : ["LazReport","URL"],
|
||||
"Description" : "Demonstrates a basic report that contains several URLs. The person reading the report can click a URL and its content is acted on by the report. \n\nRequires the LazReport package.\n"}
|
||||
}
|
@ -0,0 +1,5 @@
|
||||
{ "LazReport_stringgrid" : {
|
||||
"Category" : "LazReport",
|
||||
"Keywords" : ["LazReport","stringgrid","basic"],
|
||||
"Description" : "A very basic LazReport project, no database and the data is not saved. But does demonstrate basic use of LazReport.\n\nDoes require the LazReport package.\n\n"}
|
||||
}
|
@ -0,0 +1,5 @@
|
||||
{ "LazReport_userds" : {
|
||||
"Category" : "Beginner",
|
||||
"Keywords" : ["LazReport","userds"],
|
||||
"Description" : "This sample demonstrates several LazReport features: how to build a custom Crosstab report using TfrUserDatasets only, using format script to control color and text content of cell report, and also how to use runtime events to modify report item look. See in app notes !\n\nIt requires the package LazReport be installed, from the Main Menu, 'Packages'->'Install/Uninstall Packages', enter 'LazReport' on RHS, select it in the list and click \"Install Selection\", 'Save and Rebuild IDE', 'Continue'. \n\nThere are more LazReport examples under the LazReport category.\n\n"}
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
{ "lrFclPDFExport_demo" : {
|
||||
"Category" : "Components",
|
||||
"Keywords" : ["LazReport","PDF","lrPDFExport","lr_pdfexport", "needs work"],
|
||||
"Description" : "Demonstrates how to generate PDF reports from LazReport.\nRequires the package lr_PDFExport be installed before loading.\nNote that it generates an eror while starting up, clGray is not a valid integer. Its coming from the LRF file, needs fixing."}
|
||||
"Category" : "LazReport",
|
||||
"Keywords" : ["LazReport","PDF","lrPDFExport","lr_pdfexport"],
|
||||
"Description" : "Demonstrates how to generate PDF reports from LazReport.\nRequires the package lr_PDFExport be installed before loading.\n"}
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
{ "lr_codereport_sample" : {
|
||||
"Category" : "Components",
|
||||
"Category" : "LazReport",
|
||||
"Keywords" : ["LazReport","CodeReport","PDF"],
|
||||
"Description" : "Generates a report and can export it as a PDF.\nRequires LazReportPDFExport and lr_CodeReport\n\n "}
|
||||
"Description" : "Generates a report and can export it as a PDF.\nRequires LazReportPDFExport and lr_CodeReport\nRequires powerPDF from the OnLine Package Manager (OPM)."}
|
||||
}
|
@ -1,5 +1,11 @@
|
||||
{ "lrspreadsheetexport_demo" : {
|
||||
"Category" : "Components",
|
||||
"Keywords" : ["lazreport","spreadsheet","export"],
|
||||
"Description" : "Demonstrates creating and exporting a spreadsheet in several formats, ODS, XLS, XLSX\n\nDepends on fpspreadsheet in OPM, install FIRST !\nDepends on lrSpreadSheetExport.\n\n"}
|
||||
}
|
||||
{
|
||||
"lrspreadsheetexport_demo" : {
|
||||
"Category" : "General",
|
||||
"Keywords" : [
|
||||
"lazreport",
|
||||
"spreadsheet",
|
||||
"export"
|
||||
],
|
||||
"Description" : "Demonstrates creating and exporting a spreadsheet in several formats, ODS, XLS, XLSX\n\nDepends on fpspreadsheet in OPM, install FIRST !\nDepends on lrSpreadSheetExport.\n\n"
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ "mouseandkeyinput_example" : {
|
||||
"Category" : "Techniques",
|
||||
"Keywords" : ["mouse", "keyboard", "input", "simulate"],
|
||||
"Description" : "Shows how to simulate mouse and keyboard input programatically, for example triggered by the press of a button."}
|
||||
"Category" : "General",
|
||||
"Keywords" : ["mouse","keyboard","input","simulate"],
|
||||
"Description" : "Shows how to simulate mouse and keyboard input programmatically, for example triggered by the press of a button."}
|
||||
}
|
@ -1,5 +1,11 @@
|
||||
{ "mrumenu_demo" : {
|
||||
"Category" : "Techniques",
|
||||
"Keywords" : ["MRU", "most recently used", "open"],
|
||||
"Description" : "Appears to demonstrate a most recently used file open behaviour. Perhaps for Operating Systems that don't have that available in their normal file manager interface ? "}
|
||||
}
|
||||
{
|
||||
"mrumenu_demo" : {
|
||||
"Category" : "General",
|
||||
"Keywords" : [
|
||||
"MRU",
|
||||
"most recently used",
|
||||
"open"
|
||||
],
|
||||
"Description" : "Appears to demonstrate a most recently used file open behaviour. Perhaps for Operating Systems that don't have that available in their normal file manager interface ? "
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,11 @@
|
||||
{ "rotate_example" : {
|
||||
"Category" : "Techniques",
|
||||
"Keywords" : ["opengl", "graphics", "rotating cube"],
|
||||
"Description" : "Demo, using OpenGL of the classic rotating colored cube. "}
|
||||
}
|
||||
{
|
||||
"rotate_example" : {
|
||||
"Category" : "General",
|
||||
"Keywords" : [
|
||||
"opengl",
|
||||
"graphics",
|
||||
"rotating cube"
|
||||
],
|
||||
"Description" : "Demo, using OpenGL of the classic rotating colored cube. "
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,11 @@
|
||||
{ "usergui_example" : {
|
||||
"Category" : "Techniques",
|
||||
"Keywords" : ["opengl", "OpenGlContext", "Controls"],
|
||||
"Description" : "Includes a unit, OpenGLContext that has a number of controls build using OpenGL and demonstrates a basic (and quite retro looking) user interface, buttons, sliders etc."}
|
||||
{
|
||||
"usergui_example" : {
|
||||
"Category" : "General",
|
||||
"Keywords" : [
|
||||
"opengl",
|
||||
"OpenGlContext",
|
||||
"Controls"
|
||||
],
|
||||
"Description" : "Includes a unit, OpenGLContext that has a number of controls build using OpenGL and demonstrates a basic (and quite retro looking) user interface, buttons, sliders etc."
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ "paradox_demo" : {
|
||||
"Category" : "DBase",
|
||||
"Keywords" : ["paradox","dbase","db","Needs Work"],
|
||||
"Description" : "Appears to demonstrate basic use of Paradox Database.\nRequires the lazparadox package (in Laz SRC Tree) to be installed.\nRequires Paradox library on your system, eg on Debian pxlib1.\nGenerates a message \"unable to find TDatasource...\" despite it being in the use db unit and compiling and running fine.\n\n"}
|
||||
"Description" : "Appears to demonstrate basic use of Paradox Database.\nRequires the lazparadox package (in Laz SRC Tree) to be installed.\nRequires Paradox library on your system, eg on Debian pxlib1.\nGenerates a message \"unable to find TDatasource...\", probably looking for a design time component that it cannot find, neither can I.\n\nIt does compile and run fine, but you cannot view the form or see it in the Object Inspector. Needs fixing !\n\n"}
|
||||
}
|
@ -1,5 +1,11 @@
|
||||
{ "plotevent_demo" : {
|
||||
"Category" : "Components",
|
||||
"Keywords" : ["plotpanel","event driven","plotting data"],
|
||||
"Description" : "Demonstrates plotting data obtained from a procedure. That procedure could be a Lazarus Event (but is not in the example).\n"}
|
||||
}
|
||||
{
|
||||
"plotevent_demo" : {
|
||||
"Category" : "General",
|
||||
"Keywords" : [
|
||||
"plotpanel",
|
||||
"event driven",
|
||||
"plotting data"
|
||||
],
|
||||
"Description" : "Demonstrates plotting data obtained from a procedure. That procedure could be a Lazarus Event (but is not in the example).\n"
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,11 @@
|
||||
{ "plotfunction_expression" : {
|
||||
"Category" : "Components",
|
||||
"Keywords" : ["fpexprpars", "plot", "expression"],
|
||||
"Description" : "Plots a square function with adjustable values."}
|
||||
}
|
||||
{
|
||||
"plotfunction_expression" : {
|
||||
"Category" : "General",
|
||||
"Keywords" : [
|
||||
"fpexprpars",
|
||||
"plot",
|
||||
"expression"
|
||||
],
|
||||
"Description" : "Plots a square function with adjustable values."
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,5 @@
|
||||
{ "Printer_dialogs" : {
|
||||
"Category" : "Beginner",
|
||||
"Keywords" : ["Printer","dialogs","settings"],
|
||||
"Description" : "Demonstrates how to display various printer dialogs and how to get printer data.\n\nAppears to be a issue in this project where you need to (manually) build before clicking run. \n\n"}
|
||||
}
|
11
components/printers/samples/rawmode/Printer_rawmode.ex-meta
Normal file
11
components/printers/samples/rawmode/Printer_rawmode.ex-meta
Normal file
@ -0,0 +1,11 @@
|
||||
{
|
||||
"Printer_rawmode" : {
|
||||
"Category" : "General",
|
||||
"Keywords" : [
|
||||
"Printer",
|
||||
"raw",
|
||||
"dot matrix"
|
||||
],
|
||||
"Description" : "Shows how to write to a dot matrix in raw mode. Probably not very useful (or safe) on the more modern page orientated printers. So, please take care !"
|
||||
}
|
||||
}
|
5
components/tachart/demo/3d/TAChart_3d.ex-meta
Normal file
5
components/tachart/demo/3d/TAChart_3d.ex-meta
Normal file
@ -0,0 +1,5 @@
|
||||
{ "TAChart_3d" : {
|
||||
"Category" : "TAChart",
|
||||
"Keywords" : ["TAChart","3d"],
|
||||
"Description" : "Demonstrates some 3d charts using randomly generated data. Chart1 has three 'series' properties, each one has a data 'source' set to a TRandomChartSource."}
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
{ "TAChart_aggpas" : {
|
||||
"Category" : "TAChart",
|
||||
"Keywords" : ["TAChart","aggpas","Needs Work"],
|
||||
"Description" : "\n\nrequires the package tachartaggpas be installed before loading.\n\nRaises an Exception, SIGFPE at startup.\n"}
|
||||
"Description" : "requires the package tachartaggpas be installed before loading.\n\nRaises an Exception, SIGFPE at startup.\n"}
|
||||
}
|
5
components/tachart/demo/axis/TAChart_axis.ex-meta
Normal file
5
components/tachart/demo/axis/TAChart_axis.ex-meta
Normal file
@ -0,0 +1,5 @@
|
||||
{ "TAChart_axis" : {
|
||||
"Category" : "TAChart",
|
||||
"Keywords" : ["TAChart", "Axis"],
|
||||
"Description" : "Demonstrates a range of styles and types of axis on a chart."}
|
||||
}
|
@ -0,0 +1,5 @@
|
||||
{ "barseriesshapes" : {
|
||||
"Category" : "TAChart",
|
||||
"Keywords" : ["TAChart", "bar chart", "shapes"],
|
||||
"Description" : "Demonstrates the different shapes that can be used to draw the bars in a bar chart."}
|
||||
}
|
5
components/tachart/demo/basic/TAChart_basic.ex-meta
Normal file
5
components/tachart/demo/basic/TAChart_basic.ex-meta
Normal file
@ -0,0 +1,5 @@
|
||||
{ "TAChart_basic" : {
|
||||
"Category" : "Beginner",
|
||||
"Keywords" : ["TAChart","basic"],
|
||||
"Description" : "A good introduction to using TAChart, will draw a number of different charts (based on random data) in just over 300 lines of code.\n\nThere are more TAChart examples under the TAChart category."}
|
||||
}
|
5
components/tachart/demo/bgra/TAChart_bgra.ex-meta
Normal file
5
components/tachart/demo/bgra/TAChart_bgra.ex-meta
Normal file
@ -0,0 +1,5 @@
|
||||
{ "TAChart_bgra" : {
|
||||
"Category" : "TAChart",
|
||||
"Keywords" : ["TAChart","bgra","bitmap","bgrabitmappack","TAGUIConnectorBGRA","BGRAGradients"],
|
||||
"Description" : "Demonstrates using bgra to enhance the appearance of charts.\nThis demo requires both BGRABitmap from the OnLine Package Manager and TACharBGRA from the Lazarus supplied packages.\n"}
|
||||
}
|
@ -0,0 +1,5 @@
|
||||
{ "TAChart_editor" : {
|
||||
"Category" : "TAChart",
|
||||
"Keywords" : ["TAChart","Chart Editor","Interactive","Attributes"],
|
||||
"Description" : "Has a chart with several data series displayed, click on some aspect of it and see an interactive dialog allowing you to alter the relevant attributes. "}
|
||||
}
|
@ -0,0 +1,5 @@
|
||||
{ "TAChart_datapointtools" : {
|
||||
"Category" : "TAChart",
|
||||
"Keywords" : ["TAChart","data point tools","cross hair","hints"],
|
||||
"Description" : "Demonstrates a number of tools that allow you to examine and alter data points for a range of plot types."}
|
||||
}
|
5
components/tachart/demo/db/TAChart_db.ex-meta
Normal file
5
components/tachart/demo/db/TAChart_db.ex-meta
Normal file
@ -0,0 +1,5 @@
|
||||
{ "TAChart_db" : {
|
||||
"Category" : "TAChart",
|
||||
"Keywords" : ["TAChart", "dbase", "MemDataset"],
|
||||
"Description" : "Demonstrates plotting a TAChart from data from a database."}
|
||||
}
|
@ -0,0 +1,5 @@
|
||||
{ "TAChart_distance" : {
|
||||
"Category" : "TAChart",
|
||||
"Keywords" : ["TAChart", "measure", "distance"],
|
||||
"Description" : "How to measure distances on a chart using the mouse."}
|
||||
}
|
@ -0,0 +1,5 @@
|
||||
{ "TAChart_dragdrop" : {
|
||||
"Category" : "TAChart",
|
||||
"Keywords" : ["TAChart", "Drag and Drop", "DragDrop"],
|
||||
"Description" : "Demonstrates dragging chart data points for both line and bar chart."}
|
||||
}
|
5
components/tachart/demo/events/TAChart_events.ex-meta
Normal file
5
components/tachart/demo/events/TAChart_events.ex-meta
Normal file
@ -0,0 +1,5 @@
|
||||
{ "TAChart_events" : {
|
||||
"Category" : "TAChart",
|
||||
"Keywords" : ["TAChart","events","OnBeforeDrawBackground","OnBeforeDrawBackWall","BeforeDrawBar"],
|
||||
"Description" : "Demonstrates how to respond to some TAChart drawing events."}
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
{ "fpvectorial" : {
|
||||
"Category" : "TAChart",
|
||||
"Keywords" : ["TaChart","TvVectorialFormat","TFPVectorialDrawer"],
|
||||
"Description" : "Uses Vectorial to display (and export) some line and block charts.\n\nNote, generates a message that it has failed to open a particular TrueTypeFont that is definitly available but works anyway. "}
|
||||
"Description" : "Uses Vectorial to display (and export) some line and block charts.\n\nNote, generates a message that it has failed to open a particular TrueTypeFont that is definitely available but works anyway. "}
|
||||
}
|
5
components/tachart/demo/func/TAChart_func.ex-meta
Normal file
5
components/tachart/demo/func/TAChart_func.ex-meta
Normal file
@ -0,0 +1,5 @@
|
||||
{ "TAChart_func" : {
|
||||
"Category" : "TAChart",
|
||||
"Keywords" : ["TAChart", "function"],
|
||||
"Description" : "Plot a number of functions in TAChart."}
|
||||
}
|
5
components/tachart/demo/html/TAChart_html.ex-meta
Normal file
5
components/tachart/demo/html/TAChart_html.ex-meta
Normal file
@ -0,0 +1,5 @@
|
||||
{ "TAChart_html" : {
|
||||
"Category" : "TAChart",
|
||||
"Keywords" : ["TAChart", "html", "export", "svg", "Needs Work"],
|
||||
"Description" : "Draws a chart with some HTML components although its not clear why it does so. Can save or export that chart in WMF (Windows only) or SVG. Can copy that chart, as a bitmap to clipboard (but see below).\n\nHas problems on Linux (at least).\n1. When click the SVG button, fails to load a FreeType font when running in the IDE. OK when standalone.\n2. When click \"copy to clipboard\", a crash is triggered (it should copy a bitmap image).\n3. Horiz size needs to be increased."}
|
||||
}
|
@ -1,5 +1,10 @@
|
||||
{ "TAChart_lazreport" : {
|
||||
"Category" : "TAChart",
|
||||
"Keywords" : ["TAChart","LazReport"],
|
||||
"Description" : "Load a LazReport into a TAChart.\n\nRequires the package LazReport\n\n"}
|
||||
}
|
||||
{
|
||||
"TAChart_lazreport" : {
|
||||
"Category" : "LazReport",
|
||||
"Keywords" : [
|
||||
"TAChart",
|
||||
"LazReport"
|
||||
],
|
||||
"Description" : "Load a LazReport into a TAChart.\n\nRequires the package LazReport\n\n"
|
||||
}
|
||||
}
|
||||
|
5
components/tachart/demo/legend/TAChart_legend.ex-meta
Normal file
5
components/tachart/demo/legend/TAChart_legend.ex-meta
Normal file
@ -0,0 +1,5 @@
|
||||
{ "TAChart_legend" : {
|
||||
"Category" : "TAChart",
|
||||
"Keywords" : ["TAChart","Legend"],
|
||||
"Description" : "Demonstrates various legend styles in a TAChart. Alignment, text attributes etc."}
|
||||
}
|
5
components/tachart/demo/line/TAChart_line.ex-meta
Normal file
5
components/tachart/demo/line/TAChart_line.ex-meta
Normal file
@ -0,0 +1,5 @@
|
||||
{ "TAChart_line" : {
|
||||
"Category" : "TAChart",
|
||||
"Keywords" : ["TAChart","line chart","pointers"],
|
||||
"Description" : "Demonstrates a line chart and the various pointers it might use."}
|
||||
}
|
@ -0,0 +1,5 @@
|
||||
{ "TAChart_liveview" : {
|
||||
"Category" : "TAChart",
|
||||
"Keywords" : ["TAChart", "live view", "add data"],
|
||||
"Description" : "Demonstrates adding data points to a chart, in this case from a user click and a random number but obvious how to do so from some other process. "}
|
||||
}
|
5
components/tachart/demo/nan/TAChart_nan.ex-meta
Normal file
5
components/tachart/demo/nan/TAChart_nan.ex-meta
Normal file
@ -0,0 +1,5 @@
|
||||
{ "TAChart_nan" : {
|
||||
"Category" : "TAChart",
|
||||
"Keywords" : ["TAChart", "nan", "not a number"],
|
||||
"Description" : "Demonstrates how TAChart deals with a data series that contain a nan (not a number). "}
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
{ "TAChart_navigate" : {
|
||||
"Category" : "TAChart",
|
||||
"Keywords" : ["TAChart","navigate","zoom"],
|
||||
"Description" : "Demonstrates how to navigate and zoom around a chart.\n\nHas a small navpanel that does not appear to work as expected."}
|
||||
"Description" : "Demonstrates how to navigate and zoom around a chart.\n\n"}
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
{ "TAChart_nogui" : {
|
||||
"Category" : "TAChart",
|
||||
"Keywords" : ["TAChart","nogui","console mode"],
|
||||
"Description" : "This demo does not have a GUI, when run, its writes its chart out to a png file in the working dir.\n\nNote: It used a unit, TADrawerFPCanv in ../../TADrawerFPCanvas.pas, I have now added that unit directly the demo directory to maintain stand alone status, DRB.\n\nNote: Window users must see the readme.txt about putting freetype.dll in current directory.\n\n"}
|
||||
"Description" : "This demo does not have a GUI, when run, its writes its chart out to a png file in the working dir.\n\nNote: Window users must see the readme.txt about putting freetype.dll in current directory.\n\n"}
|
||||
}
|
5
components/tachart/demo/rotate/TAChart_rotate.ex-meta
Normal file
5
components/tachart/demo/rotate/TAChart_rotate.ex-meta
Normal file
@ -0,0 +1,5 @@
|
||||
{ "TAChart_rotate" : {
|
||||
"Category" : "TAChart",
|
||||
"Keywords" : ["TAChart", "rotate"],
|
||||
"Description" : "How to rotate some parts of a combined bar and line chart."}
|
||||
}
|
5
components/tachart/demo/save/TAChart_save.ex-meta
Normal file
5
components/tachart/demo/save/TAChart_save.ex-meta
Normal file
@ -0,0 +1,5 @@
|
||||
{ "TAChart_save" : {
|
||||
"Category" : "TAChart",
|
||||
"Keywords" : ["TAChart","save file","PNG","SVG","BMP","JPG","JPEG"],
|
||||
"Description" : "Shows how to save a chart as a BMP, SVG, JPEG or PNG."}
|
||||
}
|
5
components/tachart/demo/script/TAChart_script.ex-meta
Normal file
5
components/tachart/demo/script/TAChart_script.ex-meta
Normal file
@ -0,0 +1,5 @@
|
||||
{ "TAChart_script" : {
|
||||
"Category" : "TAChart",
|
||||
"Keywords" : ["TAChart", "Pascal Script", "PSCompiler"],
|
||||
"Description" : "Demonstrates plotting the output of a short Pascal Script. "}
|
||||
}
|
@ -0,0 +1,5 @@
|
||||
{ "TAChart_sorted_source" : {
|
||||
"Category" : "TAChart",
|
||||
"Keywords" : ["TAChart","sorting"],
|
||||
"Description" : "Demonstrates sorting the data that is the source for a number of different chart plots."}
|
||||
}
|
5
components/tachart/demo/tools/TAChart_tools.ex-meta
Normal file
5
components/tachart/demo/tools/TAChart_tools.ex-meta
Normal file
@ -0,0 +1,5 @@
|
||||
{ "TAChart_tools" : {
|
||||
"Category" : "TAChart",
|
||||
"Keywords" : ["TAChart", "Panning", "Zooming"],
|
||||
"Description" : "Demonstrates some TAChart tools, zooming and panning in various modes."}
|
||||
}
|
@ -0,0 +1,5 @@
|
||||
{ "TAChart_userdrawn" : {
|
||||
"Category" : "TAChart",
|
||||
"Keywords" : ["TAChart", "userdrawn"],
|
||||
"Description" : "Demonstrates defining your own series draw method. The chart has a 'series' of type TUserDrawnSeries whose OnDraw event is set to call the procedure TMainForm.SeriesDraw. "}
|
||||
}
|
11
components/vlc/example/VLC_test.ex-meta
Normal file
11
components/vlc/example/VLC_test.ex-meta
Normal file
@ -0,0 +1,11 @@
|
||||
{
|
||||
"VLC_test" : {
|
||||
"Category" : "General",
|
||||
"Keywords" : [
|
||||
"VLC",
|
||||
"video",
|
||||
"mp4"
|
||||
],
|
||||
"Description" : "Makes a small app that uses the VLC libraries, to display video content.\n\nNote that it generates a number of warnings to console and does not seem to be particularly happy working under the debugger in the IDE. \nNote that the Qt option is Qt4.\n\n"
|
||||
}
|
||||
}
|
108
components/vlc/example/lclvlc.pp
Normal file
108
components/vlc/example/lclvlc.pp
Normal file
@ -0,0 +1,108 @@
|
||||
{ <description>
|
||||
|
||||
Copyright (C) 2012 Michael Van Canneyt (michael@freepascal.org)
|
||||
|
||||
This library is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or (at your
|
||||
option) any later version with the following modification:
|
||||
|
||||
As a special exception, the copyright holders of this library give you
|
||||
permission to link this library with independent modules to produce an
|
||||
executable, regardless of the license terms of these independent modules,and
|
||||
to copy and distribute the resulting executable under terms of your choice,
|
||||
provided that you also meet, for each linked independent module, the terms
|
||||
and conditions of the license of that module. An independent module is a
|
||||
module which is not derived from or based on this library. If you modify
|
||||
this library, you may extend this exception to your version of the library,
|
||||
but you are not obligated to do so. If you do not wish to do so, delete this
|
||||
exception statement from your version.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public License
|
||||
along with this library; if not, write to the Free Software Foundation,
|
||||
Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1335, USA.
|
||||
}
|
||||
unit lclvlc;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, libvlc, vlc, controls;
|
||||
|
||||
Type
|
||||
|
||||
{ TLCLVLCPlayer }
|
||||
|
||||
TLCLVLCPlayer = Class(TVLCMediaPlayer)
|
||||
private
|
||||
FParentWindow: TWinControl;
|
||||
procedure SetLCLParentWindow(AValue: TWinControl);
|
||||
Protected
|
||||
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
|
||||
Procedure SetParentWindow; override;
|
||||
Procedure SetParentWindowSize(AWidth,AHeight : Cardinal); override;
|
||||
Published
|
||||
Property ParentWindow : TWinControl Read FParentWindow Write SetLCLParentWindow;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
{$ifdef Unix}
|
||||
{$ifdef lclgtk2}
|
||||
{$I vlcgtk2.inc}
|
||||
{$endif}
|
||||
{$ifdef lclqt}
|
||||
{$I vlcqt.inc}
|
||||
{$endif}
|
||||
{$endif}
|
||||
|
||||
{ TLCLVLCPlayer }
|
||||
|
||||
procedure TLCLVLCPlayer.SetLCLParentWindow(AValue: TWinControl);
|
||||
begin
|
||||
if FParentWindow=AValue then Exit;
|
||||
If Assigned(FParentWindow) then
|
||||
FParentWindow.RemoveFreeNotification(Self);
|
||||
FParentWindow:=AValue;
|
||||
If Assigned(FParentWindow) then
|
||||
FParentWindow.FreeNotification(Self);
|
||||
end;
|
||||
|
||||
procedure TLCLVLCPlayer.Notification(AComponent: TComponent;
|
||||
Operation: TOperation);
|
||||
begin
|
||||
inherited Notification(AComponent, Operation);
|
||||
if (Operation=opRemove) and (AComponent=FParentWindow) then
|
||||
FParentWindow:=Nil;
|
||||
end;
|
||||
|
||||
procedure TLCLVLCPlayer.SetParentWindow;
|
||||
begin
|
||||
if Assigned(ParentWindow) then
|
||||
begin
|
||||
{$IFDEF UNIX}
|
||||
libvlc_media_player_set_xwindow(Instance, GetXHandle(ParentWindow));
|
||||
{$else}
|
||||
{$IFDEF MSWINDOWS}
|
||||
libvlc_media_player_set_hwnd(Instance, Pointer(ParentWindow.Handle));
|
||||
{$else}
|
||||
{$ERROR This platform is currently not supported by the VLC player component}
|
||||
{$ENDIF}
|
||||
{$endif}
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TLCLVLCPlayer.SetParentWindowSize(AWidth, AHeight: Cardinal);
|
||||
begin
|
||||
if AWidth=0 then ;
|
||||
if AHeight=0 then ;
|
||||
end;
|
||||
|
||||
end.
|
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 64 KiB |
16
components/vlc/example/vlcgtk2.inc
Normal file
16
components/vlc/example/vlcgtk2.inc
Normal file
@ -0,0 +1,16 @@
|
||||
{%MainUnit lclvlc.pp}
|
||||
|
||||
uses gtk2proc, gtk2extra, ctypes, gtk2;
|
||||
|
||||
Function GetXHandle(AWinControl : TWinControl) : culong;
|
||||
|
||||
var
|
||||
Widget: PGtkWidget;
|
||||
begin
|
||||
Result:=0;
|
||||
if (AWinControl=nil) or (not AWinControl.HandleAllocated) then exit;
|
||||
Widget:={%H-}PGtkWidget(AWinControl.Handle);
|
||||
if Widget^.window = nil then exit;
|
||||
Result := gdk_window_xwindow(Widget^.window);
|
||||
end;
|
||||
|
14
components/vlc/example/vlcqt.inc
Normal file
14
components/vlc/example/vlcqt.inc
Normal file
@ -0,0 +1,14 @@
|
||||
{%MainUnit lclvlc.pp}
|
||||
|
||||
uses qt45;
|
||||
|
||||
Function GetXHandle(AWinControl : TWinControl) : culong;
|
||||
|
||||
var
|
||||
Widget: PGtkWidget;
|
||||
begin
|
||||
Result:=0;
|
||||
if (AWinControl=nil) or (not AWinControl.HandleAllocated) then exit;
|
||||
Result:=QWidget_winID(TQtWidget(AWinControl.Handle).Widget);
|
||||
end;
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ "CustomHint" : {
|
||||
"Category" : "Beginner",
|
||||
"Keywords" : ["Hint","Timeout","Format","TTrackBar"],
|
||||
"Description" : "Shows how to control the shown Hint, Timeout etc. Demonstrates performing a function in the Hint (showing updated time of day). Also incidently demonstrates TTrackBar."}
|
||||
"Description" : "Shows how to control the shown Hint, Timeout etc. Demonstrates performing a function in the Hint (showing updated time of day). Also incidentally demonstrates TTrackBar."}
|
||||
}
|
@ -1,51 +1,22 @@
|
||||
object Form1: TForm1
|
||||
Left = 515
|
||||
Height = 226
|
||||
Top = 174
|
||||
Width = 467
|
||||
Left = 323
|
||||
Height = 240
|
||||
Top = 239
|
||||
Width = 320
|
||||
Caption = 'Form1'
|
||||
ClientHeight = 226
|
||||
ClientWidth = 467
|
||||
ClientHeight = 240
|
||||
ClientWidth = 320
|
||||
LCLVersion = '2.3.0.0'
|
||||
object ButtonHello: TButton
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideBottom.Control = Owner
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 10
|
||||
Height = 41
|
||||
Top = 175
|
||||
Width = 103
|
||||
Anchors = [akLeft, akBottom]
|
||||
BorderSpacing.Left = 10
|
||||
BorderSpacing.Bottom = 10
|
||||
Caption = 'Say Hello'
|
||||
OnClick = ButtonHelloClick
|
||||
TabOrder = 0
|
||||
end
|
||||
object ButtonClose: TButton
|
||||
AnchorSideRight.Control = Memo1
|
||||
AnchorSideRight.Side = asrBottom
|
||||
AnchorSideBottom.Control = ButtonHello
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 320
|
||||
Height = 41
|
||||
Top = 175
|
||||
Width = 137
|
||||
Anchors = [akRight, akBottom]
|
||||
Caption = 'Close'
|
||||
OnClick = ButtonCloseClick
|
||||
TabOrder = 1
|
||||
end
|
||||
object Memo1: TMemo
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideTop.Control = Owner
|
||||
AnchorSideRight.Control = Owner
|
||||
AnchorSideRight.Side = asrBottom
|
||||
AnchorSideBottom.Control = ButtonHello
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 10
|
||||
Height = 155
|
||||
Height = 174
|
||||
Top = 10
|
||||
Width = 447
|
||||
Width = 300
|
||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||
BorderSpacing.Left = 10
|
||||
BorderSpacing.Top = 10
|
||||
@ -54,7 +25,37 @@ object Form1: TForm1
|
||||
Lines.Strings = (
|
||||
'Memo1'
|
||||
)
|
||||
ScrollBars = ssAutoVertical
|
||||
TabOrder = 0
|
||||
end
|
||||
object ButtonHello: TButton
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideBottom.Control = Owner
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 10
|
||||
Height = 30
|
||||
Top = 200
|
||||
Width = 118
|
||||
Anchors = [akLeft, akBottom]
|
||||
BorderSpacing.Left = 10
|
||||
BorderSpacing.Bottom = 10
|
||||
Caption = 'Say Hello'
|
||||
OnClick = ButtonHelloClick
|
||||
TabOrder = 1
|
||||
end
|
||||
object ButtonClose: TButton
|
||||
AnchorSideRight.Control = Owner
|
||||
AnchorSideRight.Side = asrBottom
|
||||
AnchorSideBottom.Control = Owner
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 176
|
||||
Height = 30
|
||||
Top = 200
|
||||
Width = 134
|
||||
Anchors = [akRight, akBottom]
|
||||
BorderSpacing.Right = 10
|
||||
BorderSpacing.Bottom = 10
|
||||
Caption = 'Close'
|
||||
OnClick = ButtonCloseClick
|
||||
TabOrder = 2
|
||||
end
|
||||
end
|
||||
|
@ -5,26 +5,26 @@ unit Unit1;
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls;
|
||||
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls;
|
||||
|
||||
type
|
||||
|
||||
{ TForm1 }
|
||||
{ TForm1 }
|
||||
|
||||
TForm1 = class(TForm)
|
||||
ButtonHello: TButton;
|
||||
ButtonClose: TButton;
|
||||
Memo1: TMemo;
|
||||
procedure ButtonCloseClick(Sender: TObject);
|
||||
procedure ButtonHelloClick(Sender: TObject);
|
||||
private
|
||||
TForm1 = class(TForm)
|
||||
ButtonHello: TButton;
|
||||
ButtonClose: TButton;
|
||||
Memo1: TMemo;
|
||||
procedure ButtonCloseClick(Sender: TObject);
|
||||
procedure ButtonHelloClick(Sender: TObject);
|
||||
private
|
||||
|
||||
public
|
||||
public
|
||||
|
||||
end;
|
||||
end;
|
||||
|
||||
var
|
||||
Form1: TForm1;
|
||||
Form1: TForm1;
|
||||
|
||||
implementation
|
||||
|
||||
@ -34,12 +34,12 @@ implementation
|
||||
|
||||
procedure TForm1.ButtonHelloClick(Sender: TObject);
|
||||
begin
|
||||
Memo1.Append('Hello World');
|
||||
Memo1.Append('Hello');
|
||||
end;
|
||||
|
||||
procedure TForm1.ButtonCloseClick(Sender: TObject);
|
||||
begin
|
||||
close;
|
||||
Close;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ "lclversion" : {
|
||||
"Category" : "Beginner",
|
||||
"Keywords" : ["LCL Version","Version String"],
|
||||
"Description" : "Small app that demonstrates how to read the LCL version defined in every Lazarus app.\n"}
|
||||
"Description" : "Small app that demonstrates how to read the LCL version defined in every Lazarus app.\nAlso shows a couple of other useful strings, CPU, OS etc and how to compare LCL versions."}
|
||||
}
|
@ -1,19 +1,19 @@
|
||||
object VersionForm: TVersionForm
|
||||
Left = 290
|
||||
Height = 300
|
||||
Height = 316
|
||||
Top = 164
|
||||
Width = 400
|
||||
HorzScrollBar.Page = 399
|
||||
VertScrollBar.Page = 299
|
||||
ActiveControl = Memo1
|
||||
Caption = 'VersionForm'
|
||||
ClientHeight = 300
|
||||
ClientHeight = 316
|
||||
ClientWidth = 400
|
||||
OnCreate = FormCreate
|
||||
LCLVersion = '1.7'
|
||||
LCLVersion = '2.3.0.0'
|
||||
object Memo1: TMemo
|
||||
Left = 29
|
||||
Height = 130
|
||||
Height = 253
|
||||
Top = 19
|
||||
Width = 349
|
||||
Lines.Strings = (
|
||||
@ -22,9 +22,9 @@ object VersionForm: TVersionForm
|
||||
TabOrder = 0
|
||||
end
|
||||
object Button1: TButton
|
||||
Left = 36
|
||||
Left = 29
|
||||
Height = 25
|
||||
Top = 181
|
||||
Top = 280
|
||||
Width = 75
|
||||
Caption = 'Button1'
|
||||
OnClick = Button1Click
|
||||
|
@ -47,6 +47,14 @@ begin
|
||||
{$else}
|
||||
Memo1.Append('No lcl version information available');
|
||||
{$endif}
|
||||
{$ifdef LCLQT5} Memo1.Append('QT5 widget set'); {$endif}
|
||||
{$ifdef LCLGTK3}Memo1.Append('GTK3 widget set'); {$endif}
|
||||
{$ifdef LCLGTK2}Memo1.Append('GTK2 widget set'); {$endif}
|
||||
Memo1.Append('CPU Target - ' + {$i %FPCTARGETCPU%});
|
||||
Memo1.Append('Operating System - ' + {$i %FPCTARGETOS%});
|
||||
{$IFDEF LINUX}
|
||||
Memo1.Append('Desktop - ' + GetEnvironmentVariable('XDG_CURRENT_DESKTOP'));
|
||||
{$endif}
|
||||
end;
|
||||
|
||||
procedure TVersionForm.Button1Click(Sender: TObject);
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ "listview" : {
|
||||
"Category" : "Beginner",
|
||||
"Keywords" : ["TListView"],
|
||||
"Keywords" : ["TListView", "SubItems"],
|
||||
"Description" : "Demonstrates TListView, how to add and remove items and sub items."}
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
{ "notebook" : {
|
||||
"Category" : "Beginner",
|
||||
"Keywords" : ["TNoteBook"],
|
||||
"Description" : "Demonstrates TNoteBook"}
|
||||
"Description" : "Demonstrates TNoteBook, a multipage GUI element."}
|
||||
}
|
@ -1,7 +1,9 @@
|
||||
{
|
||||
"BitButton" : {
|
||||
"Category" : "Components",
|
||||
"Keywords" : ["TBitButton"],
|
||||
"Description" : "This example shows how a BitButton, that is a button with a small bitmap, can be used."}
|
||||
"BitButton" : {
|
||||
"Category" : "General",
|
||||
"Keywords" : [
|
||||
"TBitButton"
|
||||
],
|
||||
"Description" : "This example shows how a BitButton, that is a button with a small bitmap, can be used."
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,11 @@
|
||||
{ "Completion" : {
|
||||
"Category" : "Components",
|
||||
"Keywords" : ["SynEdit", "Auto Completion", "TSynAutoComplete"],
|
||||
"Description" : "Example for SynEdit's auto-completion features. As used in the Lazarus IDE, provides 2 different auto-completion features."}
|
||||
}
|
||||
{
|
||||
"Completion" : {
|
||||
"Category" : "General",
|
||||
"Keywords" : [
|
||||
"SynEdit",
|
||||
"Auto Completion",
|
||||
"TSynAutoComplete"
|
||||
],
|
||||
"Description" : "Example for SynEdit's auto-completion features. As used in the Lazarus IDE, provides 2 different auto-completion features."
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,12 @@
|
||||
{ "NewHighlighterTutorial" : {
|
||||
"Category" : "Components",
|
||||
"Keywords" : ["TSynEdit", "wiki", "highlighter", "TSynHighlighterAttributes"],
|
||||
"Description" : "Example for the \"Create your own SynEdit Highlighter\" tutorial on the wiki http://wiki.lazarus.freepascal.org/SynEdit_Highlighter"}
|
||||
}
|
||||
{
|
||||
"NewHighlighterTutorial" : {
|
||||
"Category" : "General",
|
||||
"Keywords" : [
|
||||
"TSynEdit",
|
||||
"wiki",
|
||||
"highlighter",
|
||||
"TSynHighlighterAttributes"
|
||||
],
|
||||
"Description" : "Example for the \"Create your own SynEdit Highlighter\" tutorial on the wiki http://wiki.lazarus.freepascal.org/SynEdit_Highlighter"
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,10 @@
|
||||
{ "SearchAndReplace" : {
|
||||
"Category" : "Components",
|
||||
"Keywords" : ["TSynEdit", "SearchAndReplace"],
|
||||
"Description" : "Demonstrates TSynEdit's Searc and Replace capability, and the range of options it can use."}
|
||||
}
|
||||
{
|
||||
"SearchAndReplace" : {
|
||||
"Category" : "General",
|
||||
"Keywords" : [
|
||||
"TSynEdit",
|
||||
"SearchAndReplace"
|
||||
],
|
||||
"Description" : "Demonstrates TSynEdit's Searc and Replace capability, and the range of options it can use."
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,10 @@
|
||||
{ "SynAnyHighlighter" : {
|
||||
"Category" : "Components",
|
||||
"Keywords" : ["TSynEdit", "runtime"],
|
||||
"Description" : "This example shows, how the the Keywords, Objects and Constants properties of the class TSynAnySyn can be controlled at runtime. Text can be highlighted following a number of rules.
|
||||
|
||||
"}
|
||||
}
|
||||
{
|
||||
"SynAnyHighlighter" : {
|
||||
"Category" : "General",
|
||||
"Keywords" : [
|
||||
"TSynEdit",
|
||||
"runtime"
|
||||
],
|
||||
"Description" : "This example shows, how the the Keywords, Objects and Constants properties of the class TSynAnySyn can be controlled at runtime. Text can be highlighted following a number of rules.\n\n"
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,11 @@
|
||||
{ "SynGutterMarks" : {
|
||||
"Category" : "Components",
|
||||
"Keywords" : ["TSynEdit", "Gutter", "Bookmarks"],
|
||||
"Description" : "Example for SynEdit's Bookmarks, SynEdit is the editor used by the Lazarus IDE. This example shows how to display Bookmarks and other marks/icons in the gutter of the editor."}
|
||||
}
|
||||
{
|
||||
"SynGutterMarks" : {
|
||||
"Category" : "General",
|
||||
"Keywords" : [
|
||||
"TSynEdit",
|
||||
"Gutter",
|
||||
"Bookmarks"
|
||||
],
|
||||
"Description" : "Example for SynEdit's Bookmarks, SynEdit is the editor used by the Lazarus IDE. This example shows how to display Bookmarks and other marks/icons in the gutter of the editor."
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,10 @@
|
||||
{ "SynPositionHighlighter" : {
|
||||
"Category" : "Components",
|
||||
"Keywords" : ["TSynEdit", "TSynPositionHighlighter"],
|
||||
"Description" : "Example for SynEdit's Highlighter: TSynPositionHighlighter. SynEdit is the editor used by the IDE.
|
||||
|
||||
TSynPositionHighlighter allows one to highlight text at one or more fixed position(s). For example, it can be used to highlight the first 3 letters of the 2nd line of text, in a specific color."}
|
||||
}
|
||||
{
|
||||
"SynPositionHighlighter" : {
|
||||
"Category" : "General",
|
||||
"Keywords" : [
|
||||
"TSynEdit",
|
||||
"TSynPositionHighlighter"
|
||||
],
|
||||
"Description" : "Example for SynEdit's Highlighter: TSynPositionHighlighter. SynEdit is the editor used by the IDE.\n\nTSynPositionHighlighter allows one to highlight text at one or more fixed position(s). For example, it can be used to highlight the first 3 letters of the 2nd line of text, in a specific color."
|
||||
}
|
||||
}
|
||||
|
@ -1,10 +1,12 @@
|
||||
{ "Cell_OverFlow" : {
|
||||
"Category" : "Components",
|
||||
"Keywords" : ["Grid", "Cell", "Overflow", "TStringGrid"],
|
||||
"Description" : "This sample project implements overflowing text in a StringGrid descendant. This means that text which is longer than the width of the column is not truncated at the cell border, but is allowed to flow into adjacent empty cells.
|
||||
|
||||
The code is based on a forum contribution by user Geepster
|
||||
(http://forum.lazarus.freepascal.org/index.php/topic,35869.msg238079.html#msg238079)
|
||||
|
||||
It was extended to correctly handle left, right and centered text alignments."}
|
||||
}
|
||||
{
|
||||
"Cell_OverFlow" : {
|
||||
"Category" : "General",
|
||||
"Keywords" : [
|
||||
"Grid",
|
||||
"Cell",
|
||||
"Overflow",
|
||||
"TStringGrid"
|
||||
],
|
||||
"Description" : "This sample project implements overflowing text in a StringGrid descendant. This means that text which is longer than the width of the column is not truncated at the cell border, but is allowed to flow into adjacent empty cells.\n\nThe code is based on a forum contribution by user Geepster \n(http://forum.lazarus.freepascal.org/index.php/topic,35869.msg238079.html#msg238079)\n\nIt was extended to correctly handle left, right and centered text alignments."
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,13 @@
|
||||
{ "ColumnEditors" : {
|
||||
"Category" : "Components",
|
||||
"Keywords" : ["grid","TStringGrid","editor", "columns", "Wiki"],
|
||||
"Description" : "Demonstrates a number of things relating to Column Editors, EditMask, changing colour of cells, triggering events.
|
||||
|
||||
See the included readme.txt and wiki page http://wiki.freepascal.org/Grids_Reference_Page
|
||||
"}
|
||||
}
|
||||
{
|
||||
"ColumnEditors" : {
|
||||
"Category" : "General",
|
||||
"Keywords" : [
|
||||
"grid",
|
||||
"TStringGrid",
|
||||
"editor",
|
||||
"columns",
|
||||
"Wiki"
|
||||
],
|
||||
"Description" : "Demonstrates a number of things relating to Column Editors, EditMask, changing colour of cells, triggering events.\n\nSee the included readme.txt and wiki page http://wiki.freepascal.org/Grids_Reference_Page\n"
|
||||
}
|
||||
}
|
||||
|
5
examples/Components/cooltoolbar/CoolToolBar.ex-meta
Normal file
5
examples/Components/cooltoolbar/CoolToolBar.ex-meta
Normal file
@ -0,0 +1,5 @@
|
||||
{ "CoolToolBar" : {
|
||||
"Category" : "General",
|
||||
"Keywords" : ["TCoolBar","TToolBar","TActionList","TAction","IniFile"],
|
||||
"Description" : "Demonstrates TCoolBar and TToolBar in a number of modes. Also uses TAction and TActionList. Saves and loads the coolbar to and from an ini file."}
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
{
|
||||
"CoolToolBar" : {
|
||||
"Category" : "Components",
|
||||
"Keywords" : ["TCoolBar", "TToolBar", "TActionList", "TAction"],
|
||||
"Description" : "Demonstrates TCoolBar and TToolBar in a number of modes. Also uses TAction and TActionList."}
|
||||
}
|
@ -1,6 +1,13 @@
|
||||
{
|
||||
"Cursors" : {
|
||||
"Category" : "Components",
|
||||
"Keywords" : ["Cursor", "crHourGlass", "ctSQLWait", "crNoDrop", "crDrag"],
|
||||
"Description" : "Demonstrates changing and using Cursor to display various states. Includes Dragging cursors, Drop and NoDrop, HourGlass and custom cursors."}
|
||||
"Cursors" : {
|
||||
"Category" : "General",
|
||||
"Keywords" : [
|
||||
"Cursor",
|
||||
"crHourGlass",
|
||||
"ctSQLWait",
|
||||
"crNoDrop",
|
||||
"crDrag"
|
||||
],
|
||||
"Description" : "Demonstrates changing and using Cursor to display various states. Includes Dragging cursors, Drop and NoDrop, HourGlass and custom cursors."
|
||||
}
|
||||
}
|
||||
|
BIN
examples/Components/embedded_images/cheetah.jpg
Normal file
BIN
examples/Components/embedded_images/cheetah.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 90 KiB |
BIN
examples/Components/embedded_images/da_block.png
Normal file
BIN
examples/Components/embedded_images/da_block.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.3 KiB |
@ -1,5 +1,11 @@
|
||||
{ "embedded_images" : {
|
||||
"Category" : "Components",
|
||||
"Keywords" : ["Grid", "TStringGrid", "Image"],
|
||||
"Description" : "Demonstrates how to embed an image in a StringGrid."}
|
||||
}
|
||||
{
|
||||
"embedded_images" : {
|
||||
"Category" : "General",
|
||||
"Keywords" : [
|
||||
"Grid",
|
||||
"TStringGrid",
|
||||
"Image"
|
||||
],
|
||||
"Description" : "Demonstrates how to embed an image in a StringGrid."
|
||||
}
|
||||
}
|
||||
|
@ -98,9 +98,14 @@ uses
|
||||
Types, LCLIntf;
|
||||
|
||||
const
|
||||
JPEG_FILE = '../../../images/splash_source/cheetah.jpg';
|
||||
PNG_FILE1 = '../../../images/codetoolsdefines/da_block.png';
|
||||
PNG_FILE2 = '../../../images/icons/lazarus256x256.png';
|
||||
//JPEG_FILE = '../../../images/splash_source/cheetah.jpg';
|
||||
//PNG_FILE1 = '../../../images/codetoolsdefines/da_block.png';
|
||||
//PNG_FILE2 = '../../../images/icons/lazarus256x256.png';
|
||||
|
||||
JPEG_FILE = 'cheetah.jpg';
|
||||
PNG_FILE1 = 'da_block.png';
|
||||
PNG_FILE2 = 'lazarus256x256.png';
|
||||
|
||||
|
||||
{ TForm1 }
|
||||
|
||||
|
BIN
examples/Components/embedded_images/lazarus256x256.png
Normal file
BIN
examples/Components/embedded_images/lazarus256x256.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 34 KiB |
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user