// $Revision: 1.6 $ //------------------------------------------------------------------------------ // // Copyright (C) 1994, 1995 Taligent, Inc. All rights reserved. // // Project: StockBrowser // File: ViewerConstructors.h // Build/Version: 1.0.0 // // Description: TPriceGraphConstructor is a concrete base class for // objects that set up a TStandardGraph object to display // stock price information. // // TAllDaysPriceGraphConstructor is a concrete class which // sets up a TStandardGraph to show stock price information // for every TStockDay object in the stock data collection. // TMonthlySummaryPriceGraphConstructor shows stock price // information grouped into summaries of each month's trading. // TWeeklySummaryPriceGraphConstructor shows stock price // information grouped into summaries of each week's trading. // // TVolumeGraphConstructor is a concrete base class for // objects that set up a TStandardGraph object to display // stock trading volume information. // // TAllDaysVolumeGraphConstructor is a concrete class which // sets up a TStandardGraph to show stock trading volumes // for every TStockDay object in the stock data collection. // TMonthlySummaryPriceGraphConstructor shows trading volume // information grouped into summaries of each month's trading. // TWeeklySummaryPriceGraphConstructor shows trading volume // information grouped into summaries of each week's trading. // //------------------------------------------------------------------------------ #ifndef TaligentSamples_VIEWERCONSTRUCTORS #define TaligentSamples_VIEWERCONSTRUCTORS class TPriceGraphConstructor; class TAllDaysPriceGraphConstructor; class TMonthlySummaryPriceGraphConstructor; class TWeeklySummaryPriceGraphConstructor; class TVolumeGraphConstructor; class TAllDaysVolumeGraphConstructor; class TMonthlySummaryVolumeGraphConstructor; class TWeeklySummaryVolumeGraphConstructor; #ifndef TaligentSamples_STOCKGRAPHCONSTRUCTOR #include "StockGraphConstructor.h" #endif //========================================================================= // TPriceGraphConstructor class TPriceGraphConstructor : public TStockGraphConstructor { public: TaligentTypeExtensionDeclarationsMacro_Abstract(TPriceGraphConstructor) public: TPriceGraphConstructor( const TStandardText& description, const TStandardText& xAxisLabel, const TStandardText& yAxisLabel); TPriceGraphConstructor(const TPriceGraphConstructor& source); virtual ~TPriceGraphConstructor(); virtual TStream& operator>>=(TStream& toStream) const; virtual TStream& operator<<=(TStream& fromStream); protected: TPriceGraphConstructor(); virtual void CalcGraphRanges(TGraphRange& xRange, TGraphRange& yRange, const TCollectionOf& data); virtual void HandleAddExtendedDrawers(TStandardGraph& theGraph, const TCollectionOf& data, const TGraphRange& xRange, const TGraphRange& yRange); virtual void HandleDoEnd(TStandardGraph& theGraph, const TCollectionOf& data, const TGraphRange& xRange, const TGraphRange& yRange); private: enum {kOriginalVersion}; }; //========================================================================= // TAllDaysPriceGraphConstructor class TAllDaysPriceGraphConstructor : public TPriceGraphConstructor { public: TaligentTypeExtensionDeclarationsMacro(TAllDaysPriceGraphConstructor) public: TAllDaysPriceGraphConstructor( const TStandardText& description, const TStandardText& xAxisLabel, const TStandardText& yAxisLabel); TAllDaysPriceGraphConstructor(const TAllDaysPriceGraphConstructor& source); virtual ~TAllDaysPriceGraphConstructor(); virtual TStream& operator>>=(TStream& toStream) const; virtual TStream& operator<<=(TStream& fromStream); protected: TAllDaysPriceGraphConstructor(); virtual void HandleDoBegin(TStandardGraph& theGraph, TCollectionOf& data); private: enum {kOriginalVersion}; }; //========================================================================= // TMonthlySummaryPriceGraphConstructor class TMonthlySummaryPriceGraphConstructor : public TPriceGraphConstructor { public: TaligentTypeExtensionDeclarationsMacro(TMonthlySummaryPriceGraphConstructor) public: TMonthlySummaryPriceGraphConstructor( const TStandardText& description, const TStandardText& xAxisLabel, const TStandardText& yAxisLabel); TMonthlySummaryPriceGraphConstructor(const TMonthlySummaryPriceGraphConstructor& source); virtual ~TMonthlySummaryPriceGraphConstructor(); virtual TStream& operator>>=(TStream& toStream) const; virtual TStream& operator<<=(TStream& fromStream); protected: TMonthlySummaryPriceGraphConstructor(); virtual void HandleDoBegin(TStandardGraph& theGraph, TCollectionOf& data); private: enum {kOriginalVersion}; }; //========================================================================= // TWeeklySummaryPriceGraphConstructor class TWeeklySummaryPriceGraphConstructor : public TPriceGraphConstructor { public: TaligentTypeExtensionDeclarationsMacro(TWeeklySummaryPriceGraphConstructor) public: TWeeklySummaryPriceGraphConstructor( const TStandardText& description, const TStandardText& xAxisLabel, const TStandardText& yAxisLabel); TWeeklySummaryPriceGraphConstructor(const TWeeklySummaryPriceGraphConstructor& source); virtual ~TWeeklySummaryPriceGraphConstructor(); virtual TStream& operator>>=(TStream& toStream) const; virtual TStream& operator<<=(TStream& fromStream); protected: TWeeklySummaryPriceGraphConstructor(); virtual void HandleDoBegin(TStandardGraph& theGraph, TCollectionOf& data); private: enum {kOriginalVersion}; }; //========================================================================= // TVolumeGraphConstructor class TVolumeGraphConstructor : public TStockGraphConstructor { public: TaligentTypeExtensionDeclarationsMacro_Abstract(TVolumeGraphConstructor) TVolumeGraphConstructor( const TStandardText& description, const TStandardText& xAxisLabel, const TStandardText& yAxisLabel); TVolumeGraphConstructor(const TVolumeGraphConstructor& source); virtual ~TVolumeGraphConstructor(); virtual TStream& operator>>=(TStream& toStream) const; virtual TStream& operator<<=(TStream& fromStream); protected: TVolumeGraphConstructor(); virtual void CalcGraphRanges(TGraphRange& xRange, TGraphRange& yRange, const TCollectionOf& data); virtual void HandleAddExtendedDrawers(TStandardGraph& theGraph, const TCollectionOf& data, const TGraphRange& xRange, const TGraphRange& yRange); virtual void HandleDoEnd(TStandardGraph& theGraph, const TCollectionOf& data, const TGraphRange& xRange, const TGraphRange& yRange); private: enum {kOriginalVersion}; }; //========================================================================= // TAllDaysVolumeGraphConstructor class TAllDaysVolumeGraphConstructor : public TVolumeGraphConstructor { public: TaligentTypeExtensionDeclarationsMacro(TAllDaysVolumeGraphConstructor) public: TAllDaysVolumeGraphConstructor( const TStandardText& description, const TStandardText& xAxisLabel, const TStandardText& yAxisLabel); TAllDaysVolumeGraphConstructor(const TAllDaysVolumeGraphConstructor& source); virtual ~TAllDaysVolumeGraphConstructor(); virtual TStream& operator>>=(TStream& toStream) const; virtual TStream& operator<<=(TStream& fromStream); protected: TAllDaysVolumeGraphConstructor(); virtual void HandleDoBegin(TStandardGraph& theGraph, TCollectionOf& data); private: enum {kOriginalVersion}; }; //========================================================================= // TMonthlySummaryVolumeGraphConstructor class TMonthlySummaryVolumeGraphConstructor : public TVolumeGraphConstructor { public: TaligentTypeExtensionDeclarationsMacro(TMonthlySummaryVolumeGraphConstructor) public: TMonthlySummaryVolumeGraphConstructor( const TStandardText& description, const TStandardText& xAxisLabel, const TStandardText& yAxisLabel); TMonthlySummaryVolumeGraphConstructor(const TMonthlySummaryVolumeGraphConstructor& source); virtual ~TMonthlySummaryVolumeGraphConstructor(); virtual TStream& operator>>=(TStream& toStream) const; virtual TStream& operator<<=(TStream& fromStream); protected: TMonthlySummaryVolumeGraphConstructor(); virtual void HandleDoBegin(TStandardGraph& theGraph, TCollectionOf& data); private: enum {kOriginalVersion}; }; //========================================================================= // TWeeklySummaryVolumeGraphConstructor class TWeeklySummaryVolumeGraphConstructor : public TVolumeGraphConstructor { public: TaligentTypeExtensionDeclarationsMacro(TWeeklySummaryVolumeGraphConstructor) public: TWeeklySummaryVolumeGraphConstructor( const TStandardText& description, const TStandardText& xAxisLabel, const TStandardText& yAxisLabel); TWeeklySummaryVolumeGraphConstructor(const TWeeklySummaryVolumeGraphConstructor& source); virtual ~TWeeklySummaryVolumeGraphConstructor(); virtual TStream& operator>>=(TStream& toStream) const; virtual TStream& operator<<=(TStream& fromStream); protected: TWeeklySummaryVolumeGraphConstructor(); virtual void HandleDoBegin(TStandardGraph& theGraph, TCollectionOf& data); private: enum {kOriginalVersion}; }; #endif