// ННГУ, ВМК, Курс "Методы программирования-2", С++, ООП // // tcgroup.h - Copyright (c) Гергель В.П. 26.01.2003 // // Графические геометрические объекты - группа #ifndef __TCGROUP_H #define __TCGROUP_H #include "datlist.h" #include "tcroot.h" class TChartGroup : public TChartRoot { protected: // поля TDatList Group; // список графических элементов группы public: TChartGroup () {} void InsUnit ( TChartRoot *pUnit ) { // вставить графический объект в группу Group.InsFirst(pUnit); } virtual void Show() { // визуализация объекта if ( IsActive() && !IsVisible() ) { for ( Group.Reset(); !Group.IsListEnded(); Group.GoNext() ) { TChartRoot *pChart = (TChartRoot *)Group.GetDatValue(); pChart->Show(); } Visible = 1; } } virtual void Hide() { // скрытие объекта Skipped... } virtual void CalcParams(double t=-1) { // вычислить параметры Skipped... } virtual TDatValue * GetCopy() { // создание копии TChartGroup *p = new TChartGroup; for ( Group.Reset(); !Group.IsListEnded(); Group.GoNext() ) { TChartRoot *pChart = (TChartRoot *)Group.GetDatValue(); p->InsUnit(pChart); } p->Active = Active; return p; } }; #endif