TAChart: Overload "RegisterSeriesClass", "RegisterChartToolClass", and "RegisterAxisTransformClass" with old version accepting a string as parameter

git-svn-id: trunk@50856 -
This commit is contained in:
wp 2015-12-17 10:59:59 +00:00
parent 2e076a451f
commit b4e20416f1
5 changed files with 61 additions and 20 deletions

View File

@ -23,11 +23,11 @@ msgstr "Datenpunkt-Editor"
#: tachartstrconsts.desdeleterow
msgid "Delete row"
msgstr ""
msgstr "Zeile löschen"
#: tachartstrconsts.desinsertrow
msgid "Insert row"
msgstr ""
msgstr "Zeile einfügen"
#: tachartstrconsts.destext
msgid "Text"
@ -167,7 +167,6 @@ msgid "User-defined"
msgstr "Benutzerdefiniert"
#: tachartstrconsts.rsuserdefinedtool
#, fuzzy
msgctxt "tachartstrconsts.rsuserdefinedtool"
msgid "User-defined"
msgstr "Benutzerdefiniert"
@ -203,4 +202,3 @@ msgstr "Fehler beim Umbenennen von Komponenten: %s"
#: tachartstrconsts.tastoolseditortitle
msgid "Edit tools"
msgstr "Werkzeuge bearbeiten"

View File

@ -260,8 +260,10 @@ type
TClassRegistryItem = class
FClass: TClass;
FCaption: PStr;
constructor Create(AClass: TClass; ACaption: PStr);
FCaption: String;
FCaptionPtr: PStr;
constructor Create(AClass: TClass; const ACaption: String);
constructor CreateRes(AClass: TClass; ACaptionPtr: PStr);
end;
TClassRegistry = class(TFPList)
@ -989,12 +991,19 @@ end;
{ TClassRegistryItem }
constructor TClassRegistryItem.Create(AClass: TClass; ACaption: PStr);
constructor TClassRegistryItem.Create(AClass: TClass; const ACaption: String);
begin
FClass := AClass;
FCaption := ACaption;
end;
constructor TClassRegistryItem.CreateRes(AClass: TClass; ACaptionPtr: PStr);
begin
FClass := AClass;
FCaptionPtr := ACaptionPtr;
if FCaptionPtr <> nil then FCaption := ACaptionPtr^;
end;
{ TClassRegistry }
@ -1015,10 +1024,12 @@ end;
function TClassRegistry.GetCaption(AIndex: Integer): String;
var
P: PStr;
item: TClassRegistryItem;
begin
P := TClassRegistryItem(Items[AIndex]).FCaption;
if P = nil then Result := '' else Result := P^;
item := TClassRegistryItem(Items[AIndex]);
if item.FCaptionPtr <> nil then
Result := item.FCaptionPtr^ else
Result := item.FCaption;
end;
function TClassRegistry.GetClass(AIndex: Integer): TClass;

View File

@ -447,7 +447,8 @@ type
end;
procedure Register;
procedure RegisterSeriesClass(ASeriesClass: TSeriesClass; const ACaption: PStr);
procedure RegisterSeriesClass(ASeriesClass: TSeriesClass; const ACaption: String); overload;
procedure RegisterSeriesClass(ASeriesClass: TSeriesClass; ACaptionPtr: PStr); overload;
var
SeriesClassRegistry: TClassRegistry = nil;
@ -480,13 +481,18 @@ begin
end;
end;
procedure RegisterSeriesClass(
ASeriesClass: TSeriesClass; const ACaption: PStr);
procedure RegisterSeriesClass(ASeriesClass: TSeriesClass; const ACaption: String);
begin
if SeriesClassRegistry.IndexOfClass(ASeriesClass) < 0 then
SeriesClassRegistry.Add(TClassRegistryItem.Create(ASeriesClass, ACaption));
end;
procedure RegisterSeriesClass(ASeriesClass: TSeriesClass; ACaptionPtr: PStr);
begin
if SeriesClassRegistry.IndexOfClass(ASeriesClass) < 0 then
SeriesClassRegistry.Add(TClassRegistryItem.CreateRes(ASeriesClass, ACaptionPtr));
end;
procedure WriteComponentToStream(AStream: TStream; AComponent: TComponent);
var
writer: TWriter;

View File

@ -573,10 +573,14 @@ type
end;
procedure Register;
procedure RegisterChartToolClass(AToolClass: TChartToolClass; ACaption: PStr);
procedure RegisterChartToolClass(AToolClass: TChartToolClass;
const ACaption: String); overload;
procedure RegisterChartToolClass(AToolClass: TChartToolClass;
ACaptionPtr: PStr); overload;
var
ToolsClassRegistry: TClassRegistry;
ToolsClassRegistry: TClassRegistry = nil;
implementation
@ -610,13 +614,21 @@ begin
RegisterComponents(CHART_COMPONENT_IDE_PAGE, [TChartToolset]);
end;
procedure RegisterChartToolClass(AToolClass: TChartToolClass; ACaption: PStr);
procedure RegisterChartToolClass(AToolClass: TChartToolClass;
const ACaption: String);
begin
RegisterClass(AToolClass);
if ToolsClassRegistry.IndexOfClass(AToolClass) < 0 then
ToolsClassRegistry.Add(TClassRegistryItem.Create(AToolClass, ACaption));
end;
procedure RegisterChartToolClass(AToolClass: TChartToolClass; ACaptionPtr: PStr);
begin
RegisterClass(AToolClass);
if ToolsClassRegistry.IndexOfClass(AToolClass) < 0 then
ToolsClassRegistry.Add(TClassRegistryItem.CreateRes(AToolClass, ACaptionPtr));
end;
{ TDataPointTool.TPointRef }
procedure TDataPointTool.TPointRef.Assign(ASource: TPointRef);

View File

@ -194,6 +194,10 @@ type
procedure Register;
procedure RegisterAxisTransformClass(AAxisTransformClass: TAxisTransformClass;
const ACaption: String); overload;
procedure RegisterAxisTransformClass(AAxisTransformClass: TAxisTransformClass;
ACaptionPtr: PStr); overload;
implementation
@ -255,12 +259,22 @@ begin
TChartAxisTransformations, TAxisTransformsComponentEditor);
end;
procedure RegisterAxisTransformClass(
AAxisTransformClass: TAxisTransformClass; const ACaption: PStr);
procedure RegisterAxisTransformClass(AAxisTransformClass: TAxisTransformClass;
const ACaption: String);
begin
RegisterClass(AAxisTransformClass);
if AxisTransformsClassRegistry.IndexOfClass(AAxisTransformClass) < 0 then
AxisTransformsClassRegistry.Add(TClassRegistryItem.Create(AAxisTransformClass, ACaption));
with AxisTransformsClassRegistry do
if IndexOfClass(AAxisTransformClass) < 0 then
Add(TClassRegistryItem.Create(AAxisTransformClass, ACaption));
end;
procedure RegisterAxisTransformClass(AAxisTransformClass: TAxisTransformClass;
ACaptionPtr: PStr);
begin
RegisterClass(AAxisTransformClass);
with AxisTransformsClassRegistry do
if IndexOfClass(AAxisTransformClass) < 0 then
Add(TClassRegistryItem.CreateRes(AAxisTransformClass, ACaptionPtr));
end;
{ TAxisTransformList }