mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-06 06:57:54 +02:00
TAChart: Add TChartListbox demo by Werner Pamler
git-svn-id: trunk@31631 -
This commit is contained in:
parent
2d6a277be3
commit
c7b8797cf5
4
.gitattributes
vendored
4
.gitattributes
vendored
@ -2517,6 +2517,10 @@ components/tachart/demo/line/Main.lfm svneol=native#text/plain
|
||||
components/tachart/demo/line/Main.pas svneol=native#text/pascal
|
||||
components/tachart/demo/line/linedemo.lpi svneol=native#text/plain
|
||||
components/tachart/demo/line/linedemo.lpr svneol=native#text/pascal
|
||||
components/tachart/demo/listbox/Unit1.lfm svneol=native#text/plain
|
||||
components/tachart/demo/listbox/Unit1.pas svneol=native#text/pascal
|
||||
components/tachart/demo/listbox/listboxdemo.lpi svneol=native#text/plain
|
||||
components/tachart/demo/listbox/listboxdemo.lpr svneol=native#text/pascal
|
||||
components/tachart/demo/multi/Main.lfm svneol=native#text/plain
|
||||
components/tachart/demo/multi/Main.pas svneol=native#text/pascal
|
||||
components/tachart/demo/multi/multidemo.lpi svneol=native#text/plain
|
||||
|
3
.gitignore
vendored
3
.gitignore
vendored
@ -181,6 +181,9 @@ components/tachart/demo/legend/lib
|
||||
components/tachart/demo/line/*.exe
|
||||
components/tachart/demo/line/*.lps
|
||||
components/tachart/demo/line/lib
|
||||
components/tachart/demo/listbox/*.exe
|
||||
components/tachart/demo/listbox/*.lps
|
||||
components/tachart/demo/listbox/lib
|
||||
components/tachart/demo/multi/*.exe
|
||||
components/tachart/demo/multi/*.lps
|
||||
components/tachart/demo/multi/lib
|
||||
|
292
components/tachart/demo/listbox/Unit1.lfm
Normal file
292
components/tachart/demo/listbox/Unit1.lfm
Normal file
@ -0,0 +1,292 @@
|
||||
object Form1: TForm1
|
||||
Left = 265
|
||||
Height = 419
|
||||
Top = 182
|
||||
Width = 892
|
||||
Caption = 'Form1'
|
||||
ClientHeight = 419
|
||||
ClientWidth = 892
|
||||
OnCreate = FormCreate
|
||||
LCLVersion = '0.9.31'
|
||||
object Chart: TChart
|
||||
Left = 296
|
||||
Height = 419
|
||||
Top = 0
|
||||
Width = 453
|
||||
AxisList = <
|
||||
item
|
||||
Minors = <
|
||||
item
|
||||
Grid.Color = clSilver
|
||||
end>
|
||||
Title.LabelFont.Orientation = 900
|
||||
Title.LabelFont.Style = [fsBold]
|
||||
Title.Visible = True
|
||||
Title.Caption = 'y axis'
|
||||
end
|
||||
item
|
||||
Alignment = calBottom
|
||||
Minors = <
|
||||
item
|
||||
Grid.Color = clSilver
|
||||
end>
|
||||
Title.LabelFont.Style = [fsBold]
|
||||
Title.Visible = True
|
||||
Title.Caption = 'x axis'
|
||||
end>
|
||||
BackColor = clWhite
|
||||
Extent.XMax = 10
|
||||
Extent.UseXMin = True
|
||||
Extent.UseXMax = True
|
||||
Foot.Brush.Color = clBtnFace
|
||||
Foot.Font.Color = clBlue
|
||||
Title.Brush.Color = clBtnFace
|
||||
Title.Font.Color = clBlue
|
||||
Title.Text.Strings = (
|
||||
'TAChart'
|
||||
)
|
||||
Align = alClient
|
||||
ParentColor = False
|
||||
object SinSeries: TLineSeries
|
||||
end
|
||||
object CosSeries: TLineSeries
|
||||
end
|
||||
end
|
||||
object ListboxPanel: TPanel
|
||||
Left = 754
|
||||
Height = 419
|
||||
Top = 0
|
||||
Width = 138
|
||||
Align = alRight
|
||||
BevelOuter = bvNone
|
||||
ClientHeight = 419
|
||||
ClientWidth = 138
|
||||
TabOrder = 1
|
||||
object CheckListBox1: TCheckListBox
|
||||
Left = 0
|
||||
Height = 83
|
||||
Top = 336
|
||||
Width = 138
|
||||
Align = alBottom
|
||||
Items.Strings = (
|
||||
'Item1'
|
||||
'Item2'
|
||||
'Item3'
|
||||
'Item4'
|
||||
'Item5'
|
||||
)
|
||||
ItemHeight = 15
|
||||
TabOrder = 0
|
||||
Data = {
|
||||
050000000000000000
|
||||
}
|
||||
end
|
||||
object ListBox1: TListBox
|
||||
Left = 0
|
||||
Height = 80
|
||||
Top = 256
|
||||
Width = 138
|
||||
Align = alBottom
|
||||
Items.Strings = (
|
||||
'Item1'
|
||||
'Item2'
|
||||
'Item3'
|
||||
'Item4'
|
||||
'Item5'
|
||||
'Item6'
|
||||
)
|
||||
ItemHeight = 13
|
||||
TabOrder = 1
|
||||
end
|
||||
end
|
||||
object Splitter: TSplitter
|
||||
Left = 749
|
||||
Height = 419
|
||||
Top = 0
|
||||
Width = 5
|
||||
Align = alRight
|
||||
ResizeAnchor = akRight
|
||||
end
|
||||
object Panel1: TPanel
|
||||
Left = 0
|
||||
Height = 419
|
||||
Top = 0
|
||||
Width = 296
|
||||
Align = alLeft
|
||||
BevelInner = bvRaised
|
||||
BevelOuter = bvLowered
|
||||
ClientHeight = 419
|
||||
ClientWidth = 296
|
||||
TabOrder = 3
|
||||
object BtnAddSeries: TButton
|
||||
Left = 8
|
||||
Height = 25
|
||||
Top = 12
|
||||
Width = 81
|
||||
Caption = 'Add series'
|
||||
OnClick = BtnAddSeriesClick
|
||||
TabOrder = 0
|
||||
end
|
||||
object BtnToggleCOS: TButton
|
||||
Left = 104
|
||||
Height = 25
|
||||
Top = 40
|
||||
Width = 81
|
||||
Caption = 'Toggle cos(x)'
|
||||
OnClick = BtnToggleCOSClick
|
||||
TabOrder = 1
|
||||
end
|
||||
object BtnToggleChart: TButton
|
||||
Left = 9
|
||||
Height = 25
|
||||
Top = 232
|
||||
Width = 159
|
||||
Caption = 'Toggle ChartListbox.Chart'
|
||||
OnClick = BtnToggleChartClick
|
||||
TabOrder = 2
|
||||
end
|
||||
object BtnToggleSIN: TButton
|
||||
Left = 104
|
||||
Height = 25
|
||||
Top = 12
|
||||
Width = 82
|
||||
Caption = 'Toggle sin(x)'
|
||||
OnClick = BtnToggleSINClick
|
||||
TabOrder = 3
|
||||
end
|
||||
object CbShowCheckboxes: TCheckBox
|
||||
Left = 9
|
||||
Height = 17
|
||||
Top = 280
|
||||
Width = 105
|
||||
Caption = 'Show checkboxes'
|
||||
Checked = True
|
||||
OnChange = CbShowCheckboxesChange
|
||||
State = cbChecked
|
||||
TabOrder = 4
|
||||
end
|
||||
object CbShowSeriesIcon: TCheckBox
|
||||
Left = 152
|
||||
Height = 17
|
||||
Top = 280
|
||||
Width = 104
|
||||
Caption = 'Show series icons'
|
||||
Checked = True
|
||||
OnChange = CbShowSeriesIconChange
|
||||
State = cbChecked
|
||||
TabOrder = 5
|
||||
end
|
||||
object CbCheckStyle: TCheckBox
|
||||
Left = 8
|
||||
Height = 17
|
||||
Top = 312
|
||||
Width = 84
|
||||
Caption = 'Radiobuttons'
|
||||
OnChange = CbCheckStyleChange
|
||||
TabOrder = 6
|
||||
end
|
||||
object CbMultiSelect: TCheckBox
|
||||
Left = 8
|
||||
Height = 17
|
||||
Top = 344
|
||||
Width = 71
|
||||
Caption = 'MultiSelect'
|
||||
OnChange = CbMultiSelectChange
|
||||
TabOrder = 7
|
||||
end
|
||||
object Memo: TMemo
|
||||
Left = 9
|
||||
Height = 106
|
||||
Top = 104
|
||||
Width = 275
|
||||
ScrollBars = ssAutoVertical
|
||||
TabOrder = 8
|
||||
end
|
||||
object Label1: TLabel
|
||||
Left = 9
|
||||
Height = 14
|
||||
Top = 88
|
||||
Width = 57
|
||||
Caption = 'Click viewer'
|
||||
ParentColor = False
|
||||
end
|
||||
object EdColumns: TSpinEdit
|
||||
Left = 208
|
||||
Height = 21
|
||||
Top = 340
|
||||
Width = 50
|
||||
OnChange = EdColumnsChange
|
||||
TabOrder = 9
|
||||
end
|
||||
object Label2: TLabel
|
||||
Left = 152
|
||||
Height = 14
|
||||
Top = 345
|
||||
Width = 45
|
||||
Caption = 'Columns:'
|
||||
ParentColor = False
|
||||
end
|
||||
object BtnDeleteSeries: TButton
|
||||
Left = 9
|
||||
Height = 25
|
||||
Top = 40
|
||||
Width = 81
|
||||
Caption = 'Delete series'
|
||||
OnClick = BtnDeleteSeriesClick
|
||||
TabOrder = 10
|
||||
end
|
||||
object CbKeepSeriesOut: TCheckBox
|
||||
Left = 9
|
||||
Height = 17
|
||||
Top = 376
|
||||
Width = 227
|
||||
Caption = 'Keep sin and cos series out of ChartListBox'
|
||||
OnChange = CbKeepSeriesOutChange
|
||||
TabOrder = 11
|
||||
end
|
||||
object Bevel1: TBevel
|
||||
Left = 9
|
||||
Height = 4
|
||||
Top = 76
|
||||
Width = 278
|
||||
Shape = bsBottomLine
|
||||
end
|
||||
end
|
||||
object RandomChartSource: TRandomChartSource
|
||||
PointsNumber = 10
|
||||
RandSeed = 1603921857
|
||||
XMax = 10
|
||||
XMin = 0
|
||||
YMax = 1
|
||||
YMin = -1
|
||||
left = 496
|
||||
top = 80
|
||||
end
|
||||
object ColorDialog: TColorDialog
|
||||
Color = clBlack
|
||||
CustomColors.Strings = (
|
||||
'ColorA=000000'
|
||||
'ColorB=000080'
|
||||
'ColorC=008000'
|
||||
'ColorD=008080'
|
||||
'ColorE=800000'
|
||||
'ColorF=800080'
|
||||
'ColorG=808000'
|
||||
'ColorH=808080'
|
||||
'ColorI=C0C0C0'
|
||||
'ColorJ=0000FF'
|
||||
'ColorK=00FF00'
|
||||
'ColorL=00FFFF'
|
||||
'ColorM=FF0000'
|
||||
'ColorN=FF00FF'
|
||||
'ColorO=FFFF00'
|
||||
'ColorP=FFFFFF'
|
||||
'ColorQ=C0DCC0'
|
||||
'ColorR=F0CAA6'
|
||||
'ColorS=F0FBFF'
|
||||
'ColorT=A4A0A0'
|
||||
)
|
||||
left = 496
|
||||
top = 128
|
||||
end
|
||||
end
|
255
components/tachart/demo/listbox/Unit1.pas
Normal file
255
components/tachart/demo/listbox/Unit1.pas
Normal file
@ -0,0 +1,255 @@
|
||||
unit Unit1;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, TASources, TASeries, TAGraph, CheckLst, Spin, ComCtrls,
|
||||
ExtCtrls, StdCtrls, FileUtil, Forms, Controls, Graphics, Dialogs,
|
||||
TAChartListbox;
|
||||
|
||||
type
|
||||
|
||||
{ TForm1 }
|
||||
|
||||
TForm1 = class(TForm)
|
||||
Bevel1 : TBevel;
|
||||
BtnAddSeries:TButton;
|
||||
BtnDeleteSeries:TButton;
|
||||
BtnToggleCOS:TButton;
|
||||
BtnToggleChart:TButton;
|
||||
BtnToggleSIN:TButton;
|
||||
Chart:TChart;
|
||||
CbShowCheckboxes:TCheckBox;
|
||||
CbShowSeriesIcon:TCheckBox;
|
||||
CbCheckStyle:TCheckBox;
|
||||
CbMultiSelect : TCheckBox;
|
||||
CbKeepSeriesOut:TCheckBox;
|
||||
CheckListBox1:TCheckListBox;
|
||||
ColorDialog:TColorDialog;
|
||||
Label1 : TLabel;
|
||||
Label2:TLabel;
|
||||
ListBox1:TListBox;
|
||||
Memo : TMemo;
|
||||
SinSeries:TLineSeries;
|
||||
CosSeries:TLineSeries;
|
||||
ListboxPanel:TPanel;
|
||||
Panel1:TPanel;
|
||||
RandomChartSource:TRandomChartSource;
|
||||
EdColumns:TSpinEdit;
|
||||
Splitter:TSplitter;
|
||||
procedure BtnAddSeriesClick(Sender:TObject);
|
||||
procedure BtnDeleteSeriesClick(Sender:TObject);
|
||||
procedure BtnToggleCOSClick(Sender:TObject);
|
||||
procedure BtnToggleChartClick(Sender:TObject);
|
||||
procedure BtnToggleSINClick(Sender:TObject);
|
||||
procedure CbMultiSelectChange(Sender : TObject);
|
||||
procedure CbShowCheckboxesChange(Sender:TObject);
|
||||
procedure CbShowSeriesIconChange(Sender:TObject);
|
||||
procedure CbCheckStyleChange(Sender:TObject);
|
||||
procedure CbKeepSeriesOutChange(Sender:TObject);
|
||||
procedure EdColumnsChange(Sender:TObject);
|
||||
procedure FormCreate(Sender:TObject);
|
||||
procedure ChartListboxCheckboxClick(Sender:TObject; Index:integer);
|
||||
procedure ChartListboxClick(Sender:TObject);
|
||||
procedure ChartListboxItemClick(Sender:TObject; Index:integer);
|
||||
procedure ChartListboxSeriesIconClick(Sender:TObject; Index:integer);
|
||||
procedure ChartListboxPopulate(Sender:TObject);
|
||||
private
|
||||
{ private declarations }
|
||||
ChartListbox : TChartListbox;
|
||||
procedure CreateData;
|
||||
public
|
||||
{ public declarations }
|
||||
end;
|
||||
|
||||
var
|
||||
Form1: TForm1;
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.lfm}
|
||||
|
||||
uses
|
||||
TATypes;
|
||||
|
||||
{ TForm1 }
|
||||
|
||||
procedure TForm1.CreateData;
|
||||
const
|
||||
n = 100;
|
||||
var
|
||||
i : integer;
|
||||
mn, mx : double;
|
||||
x : double;
|
||||
begin
|
||||
mx := 10.0;
|
||||
mn := 0.0;
|
||||
for i:=0 to n-1 do begin
|
||||
x := mn + (mx - mn) / (n - 1) * i;
|
||||
SinSeries.AddXY(x, sin(x));
|
||||
CosSeries.AddXY(x, cos(x));
|
||||
end;
|
||||
SinSeries.Title := 'sin(x)';
|
||||
SinSeries.SeriesColor := clRed;
|
||||
CosSeries.Title := 'cos(x)';
|
||||
CosSeries.SeriesColor := clBlue;
|
||||
end;
|
||||
|
||||
procedure TForm1.ChartListboxCheckboxClick(Sender:TObject; Index:integer);
|
||||
begin
|
||||
Memo.Lines.Add(Format('Checkbox of item #%d (series "%s") clicked.',
|
||||
[Index, ChartListbox.Series[Index].Title]));
|
||||
end;
|
||||
|
||||
procedure TForm1.ChartListboxSeriesIconClick(Sender:TObject; Index:integer);
|
||||
begin
|
||||
Memo.Lines.Add(Format('Icon of item #%d (series "%s") clicked.',
|
||||
[Index, ChartListbox.Series[Index].Title]));
|
||||
|
||||
if ChartListbox.Series[Index] is TLineSeries then
|
||||
with ColorDialog do begin
|
||||
Color := TLineSeries(ChartListbox.Series[Index]).SeriesColor;
|
||||
if Execute then
|
||||
TLineSeries(ChartListbox.Series[Index]).SeriesColor := Color;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TForm1.ChartListboxItemClick(Sender:TObject; Index:integer);
|
||||
begin
|
||||
Memo.Lines.Add(Format('Title of item #%d (series "%s") clicked.',
|
||||
[Index, ChartListbox.Series[Index].Title]));
|
||||
end;
|
||||
|
||||
procedure TForm1.ChartListboxClick(Sender:TObject);
|
||||
begin
|
||||
Memo.Lines.Add(Format('Item #%d (series "%s") clicked.',
|
||||
[ChartListbox.ItemIndex, ChartListbox.Series[ChartListbox.ItemIndex].Title]));
|
||||
end;
|
||||
|
||||
procedure TForm1.ChartListboxPopulate(Sender:TObject);
|
||||
begin
|
||||
ChartListbox.RemoveSeries(SinSeries);
|
||||
ChartListbox.RemoveSeries(CosSeries);
|
||||
end;
|
||||
|
||||
procedure TForm1.FormCreate(Sender:TObject);
|
||||
begin
|
||||
ChartListbox := TChartListbox.Create(self);
|
||||
ChartListbox.Parent := ListboxPanel;
|
||||
ChartListbox.Align := alClient;
|
||||
ChartListbox.Chart := Chart;
|
||||
ChartListbox.OnSeriesIconClick := @ChartListboxSeriesIconClick;
|
||||
ChartListbox.OnCheckboxClick := @ChartListboxCheckboxClick;
|
||||
ChartListbox.OnItemClick := @ChartListboxItemClick;
|
||||
ChartListbox.OnClick := @ChartListboxClick;
|
||||
|
||||
Memo.Lines.Clear;
|
||||
|
||||
CreateData;
|
||||
end;
|
||||
|
||||
procedure TForm1.BtnToggleSINClick(Sender:TObject);
|
||||
begin
|
||||
SinSeries.Active := not SinSeries.Active;
|
||||
end;
|
||||
|
||||
procedure TForm1.CbMultiSelectChange(Sender : TObject);
|
||||
begin
|
||||
ChartListbox.MultiSelect := CbMultiSelect.Checked;
|
||||
end;
|
||||
|
||||
procedure TForm1.CbShowCheckboxesChange(Sender:TObject);
|
||||
begin
|
||||
ChartListbox.ShowCheckboxes := CbShowCheckboxes.Checked;
|
||||
end;
|
||||
|
||||
procedure TForm1.CbShowSeriesIconChange(Sender:TObject);
|
||||
begin
|
||||
ChartListbox.ShowSeriesIcons := CbShowSeriesIcon.Checked;
|
||||
end;
|
||||
|
||||
procedure TForm1.CbCheckStyleChange(Sender:TObject);
|
||||
begin
|
||||
if CbCheckStyle.Checked then
|
||||
Chartlistbox.CheckStyle := cbsRadioButton
|
||||
else
|
||||
ChartListbox.CheckStyle := cbsCheckbox;
|
||||
end;
|
||||
|
||||
procedure TForm1.CbKeepSeriesOutChange(Sender:TObject);
|
||||
begin
|
||||
if CbKeepSeriesOut.Checked then begin
|
||||
ChartListbox.OnPopulate := @ChartListboxPopulate;
|
||||
ChartListbox.RemoveSeries(SinSeries);
|
||||
ChartListbox.RemoveSeries(CosSeries);
|
||||
end else
|
||||
ChartListbox.OnPopulate := nil;
|
||||
end;
|
||||
|
||||
procedure TForm1.EdColumnsChange(Sender:TObject);
|
||||
begin
|
||||
ChartListbox.Columns := EdColumns.Value;
|
||||
CheckListbox1.Columns := EdColumns.Value;
|
||||
Listbox1.Columns := EdColumns.Value;
|
||||
end;
|
||||
|
||||
procedure TForm1.BtnAddSeriesClick(Sender:TObject);
|
||||
var
|
||||
ser : TLineSeries;
|
||||
cs : TRandomChartSource;
|
||||
begin
|
||||
cs := TRandomChartSource.Create(Chart);
|
||||
cs.RandSeed := random(65000);
|
||||
cs.PointsNumber := random(10) + 3;
|
||||
cs.XMax := 10;
|
||||
cs.XMin := 0;
|
||||
cs.YMax := 1;
|
||||
cs.YMin := -1;
|
||||
cs.YCount := 1;
|
||||
ser := TLineSeries.Create(Chart);
|
||||
ser.Source := cs;
|
||||
ser.SeriesColor := rgbToColor(random(255), random(256), random(256));
|
||||
ser.Title := Format('Series %d', [Chart.SeriesCount+1]);
|
||||
ser.ShowPoints := odd(Chart.SeriesCount);
|
||||
ser.Pointer.Brush.Color := ser.SeriesColor;
|
||||
ser.Pointer.Style := TSeriesPointerStyle(random(ord(High(TSeriesPointerStyle))));
|
||||
Chart.AddSeries(ser);
|
||||
end;
|
||||
|
||||
procedure TForm1.BtnDeleteSeriesClick(Sender:TObject);
|
||||
var
|
||||
ser : TBasicChartSeries;
|
||||
begin
|
||||
if (ChartListbox.ItemIndex = -1) then begin
|
||||
MessageDlg('Select the series to be deleted from the listbox first.',
|
||||
mtInformation, [mbOK], 0);
|
||||
exit;
|
||||
end;
|
||||
if (ChartListbox.ItemIndex < 2) and (not CbKeepSeriesOut.Checked) then
|
||||
MessageDlg('This demo is designed to have at least the sine and cosine '+
|
||||
'series in the chart. Deleting is not allowed.', mtInformation, [mbOK], 0)
|
||||
else begin
|
||||
ser := ChartListbox.Series[ChartListbox.ItemIndex];
|
||||
Chart.DeleteSeries(ser);
|
||||
FreeAndNil(ser);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TForm1.BtnToggleCOSClick(Sender:TObject);
|
||||
begin
|
||||
CosSeries.Active := not CosSeries.Active;
|
||||
end;
|
||||
|
||||
procedure TForm1.BtnToggleChartClick(Sender:TObject);
|
||||
begin
|
||||
if ChartListbox.Chart = nil then
|
||||
ChartListbox.Chart := Chart
|
||||
else
|
||||
ChartListbox.Chart := nil;
|
||||
end;
|
||||
|
||||
|
||||
end.
|
||||
|
384
components/tachart/demo/listbox/listboxdemo.lpi
Normal file
384
components/tachart/demo/listbox/listboxdemo.lpi
Normal file
@ -0,0 +1,384 @@
|
||||
<?xml version="1.0"?>
|
||||
<CONFIG>
|
||||
<ProjectOptions>
|
||||
<Version Value="9"/>
|
||||
<PathDelim Value="\"/>
|
||||
<General>
|
||||
<MainUnit Value="0"/>
|
||||
<ResourceType Value="res"/>
|
||||
<UseXPManifest Value="True"/>
|
||||
<ActiveWindowIndexAtStart Value="0"/>
|
||||
</General>
|
||||
<i18n>
|
||||
<EnableI18N LFM="False"/>
|
||||
</i18n>
|
||||
<VersionInfo>
|
||||
<StringTable ProductVersion=""/>
|
||||
</VersionInfo>
|
||||
<BuildModes Count="1" Active="Default">
|
||||
<Item1 Name="Default" Default="True"/>
|
||||
</BuildModes>
|
||||
<PublishOptions>
|
||||
<Version Value="2"/>
|
||||
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
|
||||
<ExcludeFileFilter Value="*.(bak|ppu|o|so);*~;backup"/>
|
||||
</PublishOptions>
|
||||
<RunParams>
|
||||
<local>
|
||||
<FormatVersion Value="1"/>
|
||||
</local>
|
||||
</RunParams>
|
||||
<RequiredPackages Count="2">
|
||||
<Item1>
|
||||
<PackageName Value="TAChartLazarusPkg"/>
|
||||
</Item1>
|
||||
<Item2>
|
||||
<PackageName Value="LCL"/>
|
||||
</Item2>
|
||||
</RequiredPackages>
|
||||
<Units Count="36">
|
||||
<Unit0>
|
||||
<Filename Value="listboxdemo.lpr"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="listboxdemo"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="1"/>
|
||||
<CursorPos X="37" Y="9"/>
|
||||
<UsageCount Value="85"/>
|
||||
</Unit0>
|
||||
<Unit1>
|
||||
<Filename Value="Unit1.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="Form1"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="Unit1"/>
|
||||
<IsVisibleTab Value="True"/>
|
||||
<EditorIndex Value="0"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="80"/>
|
||||
<CursorPos X="1" Y="106"/>
|
||||
<UsageCount Value="85"/>
|
||||
<Loaded Value="True"/>
|
||||
<LoadedDesigner Value="True"/>
|
||||
</Unit1>
|
||||
<Unit2>
|
||||
<Filename Value="TAGraph.pas"/>
|
||||
<UnitName Value="TAGraph"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="913"/>
|
||||
<CursorPos X="31" Y="925"/>
|
||||
<UsageCount Value="9"/>
|
||||
</Unit2>
|
||||
<Unit3>
|
||||
<Filename Value="..\..\tasources.pas"/>
|
||||
<UnitName Value="TASources"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="78"/>
|
||||
<CursorPos X="3" Y="86"/>
|
||||
<UsageCount Value="28"/>
|
||||
</Unit3>
|
||||
<Unit4>
|
||||
<Filename Value="..\..\tacustomsource.pas"/>
|
||||
<UnitName Value="TACustomSource"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="40"/>
|
||||
<CursorPos X="23" Y="60"/>
|
||||
<UsageCount Value="28"/>
|
||||
</Unit4>
|
||||
<Unit5>
|
||||
<Filename Value="..\..\..\..\fpc\2.4.4\source\rtl\objpas\math.pp"/>
|
||||
<UnitName Value="math"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="154"/>
|
||||
<CursorPos X="10" Y="168"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit5>
|
||||
<Unit6>
|
||||
<Filename Value="C:\lazarus_\components\tachart\tacustomseries.pas"/>
|
||||
<UnitName Value="TACustomSeries"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="163"/>
|
||||
<CursorPos X="37" Y="37"/>
|
||||
<UsageCount Value="4"/>
|
||||
</Unit6>
|
||||
<Unit7>
|
||||
<Filename Value="C:\lazarus_\components\tachart\tafuncseries.pas"/>
|
||||
<UnitName Value="TAFuncSeries"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="87"/>
|
||||
<CursorPos X="17" Y="87"/>
|
||||
<UsageCount Value="4"/>
|
||||
</Unit7>
|
||||
<Unit8>
|
||||
<Filename Value="..\..\tachartutils.pas"/>
|
||||
<UnitName Value="TAChartUtils"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="140"/>
|
||||
<CursorPos X="15" Y="154"/>
|
||||
<UsageCount Value="29"/>
|
||||
</Unit8>
|
||||
<Unit9>
|
||||
<Filename Value="..\..\tanavigation.pas"/>
|
||||
<UnitName Value="TANavigation"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="111"/>
|
||||
<CursorPos X="15" Y="116"/>
|
||||
<UsageCount Value="28"/>
|
||||
</Unit9>
|
||||
<Unit10>
|
||||
<Filename Value="TAChartListbox.pas"/>
|
||||
<UnitName Value="TAChartListbox"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="396"/>
|
||||
<CursorPos X="12" Y="402"/>
|
||||
<UsageCount Value="85"/>
|
||||
</Unit10>
|
||||
<Unit11>
|
||||
<Filename Value="..\..\..\..\lcl\stdctrls.pp"/>
|
||||
<UnitName Value="StdCtrls"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="475"/>
|
||||
<CursorPos X="31" Y="483"/>
|
||||
<UsageCount Value="40"/>
|
||||
</Unit11>
|
||||
<Unit12>
|
||||
<Filename Value="..\..\..\..\lcl\checklst.pas"/>
|
||||
<UnitName Value="CheckLst"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="60"/>
|
||||
<CursorPos X="67" Y="60"/>
|
||||
<UsageCount Value="32"/>
|
||||
</Unit12>
|
||||
<Unit13>
|
||||
<Filename Value="..\..\talegend.pas"/>
|
||||
<UnitName Value="TALegend"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="102"/>
|
||||
<CursorPos X="3" Y="116"/>
|
||||
<UsageCount Value="28"/>
|
||||
</Unit13>
|
||||
<Unit14>
|
||||
<Filename Value="..\..\taseries.pas"/>
|
||||
<UnitName Value="TASeries"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="507"/>
|
||||
<CursorPos X="38" Y="512"/>
|
||||
<UsageCount Value="28"/>
|
||||
</Unit14>
|
||||
<Unit15>
|
||||
<Filename Value="..\..\tacustomseries.pas"/>
|
||||
<UnitName Value="TACustomSeries"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="307"/>
|
||||
<CursorPos X="1" Y="321"/>
|
||||
<UsageCount Value="28"/>
|
||||
</Unit15>
|
||||
<Unit16>
|
||||
<Filename Value="..\..\..\..\lcl\include\customlistbox.inc"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="281"/>
|
||||
<CursorPos X="1" Y="299"/>
|
||||
<UsageCount Value="18"/>
|
||||
</Unit16>
|
||||
<Unit17>
|
||||
<Filename Value="..\..\tadrawutils.pas"/>
|
||||
<UnitName Value="TADrawUtils"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="54"/>
|
||||
<CursorPos X="3" Y="68"/>
|
||||
<UsageCount Value="26"/>
|
||||
</Unit17>
|
||||
<Unit18>
|
||||
<Filename Value="..\..\tadrawercanvas.pas"/>
|
||||
<UnitName Value="TADrawerCanvas"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="241"/>
|
||||
<CursorPos X="1" Y="257"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit18>
|
||||
<Unit19>
|
||||
<Filename Value="..\..\..\..\lcl\widgetset\wschecklst.pp"/>
|
||||
<UnitName Value="WSCheckLst"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="35"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<UsageCount Value="5"/>
|
||||
</Unit19>
|
||||
<Unit20>
|
||||
<Filename Value="..\..\..\..\lcl\extctrls.pp"/>
|
||||
<UnitName Value="ExtCtrls"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="1"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<UsageCount Value="16"/>
|
||||
</Unit20>
|
||||
<Unit21>
|
||||
<Filename Value="..\..\..\..\lcl\comctrls.pp"/>
|
||||
<UnitName Value="ComCtrls"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="2977"/>
|
||||
<CursorPos X="21" Y="2994"/>
|
||||
<UsageCount Value="17"/>
|
||||
</Unit21>
|
||||
<Unit22>
|
||||
<Filename Value="..\..\..\..\lcl\include\headercontrol.inc"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="366"/>
|
||||
<CursorPos X="13" Y="394"/>
|
||||
<UsageCount Value="5"/>
|
||||
</Unit22>
|
||||
<Unit23>
|
||||
<Filename Value="..\..\..\..\lcl\themes.pas"/>
|
||||
<UnitName Value="Themes"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="491"/>
|
||||
<CursorPos X="10" Y="505"/>
|
||||
<UsageCount Value="16"/>
|
||||
</Unit23>
|
||||
<Unit24>
|
||||
<Filename Value="..\..\..\..\lcl\include\winapih.inc"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="78"/>
|
||||
<CursorPos X="10" Y="152"/>
|
||||
<UsageCount Value="5"/>
|
||||
</Unit24>
|
||||
<Unit25>
|
||||
<Filename Value="..\..\..\..\lcl\lcltype.pp"/>
|
||||
<UnitName Value="LCLType"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="264"/>
|
||||
<CursorPos X="3" Y="278"/>
|
||||
<UsageCount Value="9"/>
|
||||
</Unit25>
|
||||
<Unit26>
|
||||
<Filename Value="..\..\tagraph.pas"/>
|
||||
<UnitName Value="TAGraph"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="1336"/>
|
||||
<CursorPos X="21" Y="1360"/>
|
||||
<UsageCount Value="17"/>
|
||||
</Unit26>
|
||||
<Unit27>
|
||||
<Filename Value="..\..\tatypes.pas"/>
|
||||
<UnitName Value="TATypes"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="220"/>
|
||||
<CursorPos X="3" Y="234"/>
|
||||
<UsageCount Value="16"/>
|
||||
</Unit27>
|
||||
<Unit28>
|
||||
<Filename Value="..\..\..\..\lcl\controls.pp"/>
|
||||
<UnitName Value="Controls"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="1159"/>
|
||||
<CursorPos X="1" Y="1184"/>
|
||||
<UsageCount Value="15"/>
|
||||
</Unit28>
|
||||
<Unit29>
|
||||
<Filename Value="..\..\tageometry.pas"/>
|
||||
<UnitName Value="TAGeometry"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="27"/>
|
||||
<CursorPos X="10" Y="41"/>
|
||||
<UsageCount Value="14"/>
|
||||
</Unit29>
|
||||
<Unit30>
|
||||
<Filename Value="D:\lazarus\components\tachart\tachartutils.pas"/>
|
||||
<UnitName Value="TAChartUtils"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="582"/>
|
||||
<CursorPos X="1" Y="613"/>
|
||||
<UsageCount Value="9"/>
|
||||
</Unit30>
|
||||
<Unit31>
|
||||
<Filename Value="D:\lazarus\components\tachart\tagraph.pas"/>
|
||||
<UnitName Value="TAGraph"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="1341"/>
|
||||
<CursorPos X="1" Y="1361"/>
|
||||
<UsageCount Value="9"/>
|
||||
</Unit31>
|
||||
<Unit32>
|
||||
<Filename Value="D:\lazarus\components\tachart\tacustomseries.pas"/>
|
||||
<UnitName Value="TACustomSeries"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="395"/>
|
||||
<CursorPos X="1" Y="415"/>
|
||||
<UsageCount Value="9"/>
|
||||
</Unit32>
|
||||
<Unit33>
|
||||
<Filename Value="D:\lazarus\lcl\include\buttoncontrol.inc"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="31"/>
|
||||
<CursorPos X="63" Y="48"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit33>
|
||||
<Unit34>
|
||||
<Filename Value="..\..\tachartlazaruspkg.pas"/>
|
||||
<UnitName Value="TAChartLazarusPkg"/>
|
||||
<WindowIndex Value="0"/>
|
||||
<TopLine Value="1"/>
|
||||
<CursorPos X="14" Y="6"/>
|
||||
<UsageCount Value="12"/>
|
||||
</Unit34>
|
||||
<Unit35>
|
||||
<Filename Value="..\TAChartListbox.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="TAChartListbox"/>
|
||||
<UsageCount Value="20"/>
|
||||
</Unit35>
|
||||
</Units>
|
||||
<JumpHistory Count="3" HistoryIndex="2">
|
||||
<Position1>
|
||||
<Filename Value="Unit1.pas"/>
|
||||
<Caret Line="225" Column="10" TopLine="212"/>
|
||||
</Position1>
|
||||
<Position2>
|
||||
<Filename Value="Unit1.pas"/>
|
||||
<Caret Line="208" Column="23" TopLine="185"/>
|
||||
</Position2>
|
||||
<Position3>
|
||||
<Filename Value="Unit1.pas"/>
|
||||
<Caret Line="255" Column="1" TopLine="185"/>
|
||||
</Position3>
|
||||
</JumpHistory>
|
||||
</ProjectOptions>
|
||||
<CompilerOptions>
|
||||
<Version Value="10"/>
|
||||
<PathDelim Value="\"/>
|
||||
<SearchPaths>
|
||||
<IncludeFiles Value="$(ProjOutDir)"/>
|
||||
<OtherUnitFiles Value=".."/>
|
||||
<UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
|
||||
</SearchPaths>
|
||||
<Linking>
|
||||
<Debugging>
|
||||
<StripSymbols Value="True"/>
|
||||
</Debugging>
|
||||
<Options>
|
||||
<Win32>
|
||||
<GraphicApplication Value="True"/>
|
||||
</Win32>
|
||||
</Options>
|
||||
</Linking>
|
||||
<Other>
|
||||
<CompilerMessages>
|
||||
<UseMsgFile Value="True"/>
|
||||
</CompilerMessages>
|
||||
<CompilerPath Value="$(CompPath)"/>
|
||||
</Other>
|
||||
</CompilerOptions>
|
||||
<Debugging>
|
||||
<Exceptions Count="3">
|
||||
<Item1>
|
||||
<Name Value="EAbort"/>
|
||||
</Item1>
|
||||
<Item2>
|
||||
<Name Value="ECodetoolError"/>
|
||||
</Item2>
|
||||
<Item3>
|
||||
<Name Value="EFOpenError"/>
|
||||
</Item3>
|
||||
</Exceptions>
|
||||
</Debugging>
|
||||
</CONFIG>
|
20
components/tachart/demo/listbox/listboxdemo.lpr
Normal file
20
components/tachart/demo/listbox/listboxdemo.lpr
Normal file
@ -0,0 +1,20 @@
|
||||
program listboxdemo;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
uses
|
||||
{$IFDEF UNIX}{$IFDEF UseCThreads}
|
||||
cthreads,
|
||||
{$ENDIF}{$ENDIF}
|
||||
Interfaces, // this includes the LCL widgetset
|
||||
Forms, tachartlazaruspkg, Unit1, TAChartListbox;
|
||||
|
||||
{$R *.res}
|
||||
|
||||
begin
|
||||
RequireDerivedFormResource := True;
|
||||
Application.Initialize;
|
||||
Application.CreateForm(TForm1, Form1);
|
||||
Application.Run;
|
||||
end.
|
||||
|
Loading…
Reference in New Issue
Block a user