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

View File

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

View File

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

View File

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

View File

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