unit class_model;

interface

uses class_source, class_basics, Contnrs;

{$REGION 'ÊËÀÑÑ "ÌÎÄÅËÜ"'}
type
  TRDModel = class (TRD_Something)
    private

    public
      sources: TRDSource;

      constructor Create ( in_model_name, in_model_desc:string); override;
      destructor Destroy; override;
end;
{$ENDREGION}

type
  TRDModelList = class (TRD_List)
    private
      function set_current_param (in_model: integer): boolean;
    public
      function Find_by_name( in_object_name: string ): TRDModel;
      function Next_point: TRDModel;
      function Prev_point: TRDModel;
      function First_point: TRDModel;
      function Last_point: TRDModel;
      function Get_current_point: TRDModel;
      function Find_by_index (in_index: integer): TRDModel;
      function Add (in_model: TRDModel):integer; virtual;
end;


implementation
{$REGION 'ÊËÀÑÑ "ÌÎÄÅËÜ" ÐÅÀËÈÇÀÖÈß'}
constructor TRDModel.Create ( in_model_name, in_model_desc: string);
begin
Assert( ( in_model_name <> '' ),
        'Âõîäíîå ïîëå ÈÌß ÌÎÄÅËÈ êëàññà RDMODEL ïóñòîå!'+'{BC114396-B595-4724-A9F7-CD8141188280}');
  inherited Create(in_model_name, in_model_desc);
  self.sources := TRDSource.Create;
end;

destructor TRDModel.Destroy;
begin
  self.sources.Free;
  inherited Destroy;
end;

{$ENDREGION}

{ TRDModelList }

function TRDModelList.Add(in_model: TRDModel): integer;
begin

end;

function TRDModelList.Find_by_index(in_index: integer): TRDModel;
begin

end;

function TRDModelList.Find_by_name(in_object_name: string): TRDModel;
begin
result := inherited Find_by_name(in_object_name) as TRDModel;
end;

function TRDModelList.First_point: TRDModel;
begin

end;

function TRDModelList.Get_current_point: TRDModel;
begin

end;

function TRDModelList.Last_point: TRDModel;
begin

end;

function TRDModelList.Next_point: TRDModel;
begin

end;

function TRDModelList.Prev_point: TRDModel;
begin

end;

function TRDModelList.set_current_param(in_model: integer): boolean;
begin

end;

end.
