Componentes.Terceros.DevExp.../official/x.19/ExpressQuantumGrid 5/Demos/CBuilder/ViewChartDemo/ViewChartDemoMain.h
2007-09-09 11:27:22 +00:00

183 lines
7.5 KiB
C++

//---------------------------------------------------------------------------
#ifndef ViewChartDemoMainH
#define ViewChartDemoMainH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include "cxClasses.hpp"
#include "cxControls.hpp"
#include "cxCustomData.hpp"
#include "cxData.hpp"
#include "cxDataStorage.hpp"
#include "cxDBData.hpp"
#include "cxEdit.hpp"
#include "cxFilter.hpp"
#include "cxGraphics.hpp"
#include "cxGrid.hpp"
#include "cxGridChartView.hpp"
#include "cxGridCustomTableView.hpp"
#include "cxGridCustomView.hpp"
#include "cxGridDBChartView.hpp"
#include "cxGridDBTableView.hpp"
#include "cxGridLevel.hpp"
#include "cxGridTableView.hpp"
#include "cxImageComboBox.hpp"
#include "cxLookAndFeels.hpp"
#include "cxStyles.hpp"
#include <DB.hpp>
#include <DBTables.hpp>
#include <ImgList.hpp>
#include <Menus.hpp>
//---------------------------------------------------------------------------
class TfrmMain : public TForm
{
__published: // IDE-managed Components
TLabel *Label1;
TcxGrid *grMain;
TcxGridDBTableView *tvData;
TcxGridDBColumn *tvDataID;
TcxGridDBColumn *tvDataProductName;
TcxGridDBColumn *tvDataCompany;
TcxGridDBColumn *tvDataPurchaseDate;
TcxGridDBColumn *tvDataPaymentType;
TcxGridDBColumn *tvDataPaymentAmount;
TcxGridDBColumn *tvDataQuantity;
TcxGridDBChartView *chvSales;
TcxGridDBChartSeries *chvSalesSeries1;
TcxGridChartView *chvSalesByQuarter;
TcxGridChartSeries *chvSalesByQuarterSeries1;
TcxGridChartSeries *chvSalesByQuarterSeries2;
TcxGridChartSeries *chvSalesByQuarterSeries3;
TcxGridChartSeries *chvSalesByQuarterSeries4;
TcxGridLevel *grMainLevel1;
TcxGridLevel *grMainLevel2;
TcxGridLevel *grMainLevel3;
TDataSource *dsOrders;
TTable *tblOrders;
TAutoIncField *tblOrdersID;
TIntegerField *tblOrdersCustomerID;
TIntegerField *tblOrdersProductID;
TDateTimeField *tblOrdersPurchaseDate;
TDateTimeField *tblOrdersTime;
TStringField *tblOrdersPaymentType;
TCurrencyField *tblOrdersPaymentAmount;
TMemoField *tblOrdersDescription;
TIntegerField *tblOrdersQuantity;
TStringField *tblOrdersProductName;
TStringField *tblOrdersCustomer;
TQuery *qrSales;
TDataSource *dsSales;
TTable *tblProducts;
TTable *tblCustomers;
TDatabase *dbMain;
TQuery *qrSalesByQuarter;
TImageList *PaymentTypeImages;
TcxLookAndFeelController *LookAndFeelController;
TMainMenu *mmMain;
TMenuItem *miFile;
TMenuItem *miExit;
TMenuItem *miView;
TMenuItem *miColumnDiagram;
TMenuItem *miBarDiagram;
TMenuItem *N1;
TMenuItem *miTitlePosition;
TMenuItem *miTitlePositionDefault;
TMenuItem *miTitlePositionNone;
TMenuItem *miTitlePositionLeft;
TMenuItem *miTitlePositionTop;
TMenuItem *miTitlePositionRight;
TMenuItem *miTitlePositionBottom;
TMenuItem *miLegendPosition;
TMenuItem *miLegendPositionDefault;
TMenuItem *miLegendPositionNone;
TMenuItem *miLegendPositionLeft;
TMenuItem *miLegendPositionTop;
TMenuItem *miLegendPositionRight;
TMenuItem *miLegendPositionBottom;
TMenuItem *miLegendBorder;
TMenuItem *N2;
TMenuItem *miValueCaptionPosition;
TMenuItem *miValueCaptionPositionNone;
TMenuItem *miValueCaptionPositionInsideBase;
TMenuItem *miValueCaptionPositionCenter;
TMenuItem *miValueCaptionPositionInsideEnd;
TMenuItem *miValueCaptionPositionOutsideEnd;
TMenuItem *miCategoryAxis;
TMenuItem *miCategoryAxisVisible;
TMenuItem *miCategoryAxisGridLines;
TMenuItem *miCategoryAxisTickMarkKind;
TMenuItem *miCategoryAxisTickMarkKindNone;
TMenuItem *miCategoryAxisTickMarkKindCross;
TMenuItem *miCategoryAxisTickMarkKindInside;
TMenuItem *miCategoryAxisTickMarkKindOutside;
TMenuItem *miCategoryAxisTickMarkLabels;
TMenuItem *N3;
TMenuItem *miCategoryAxisCategoriesInReverseOrder;
TMenuItem *miCategoryAxisValueAxisAtMaxCategory;
TMenuItem *miCategoryAxisValueAxisBetweenCategories;
TMenuItem *miValueAxis;
TMenuItem *miValueAxisVisible;
TMenuItem *miValueAxisGridLines;
TMenuItem *miValueAxisTickMarkKind;
TMenuItem *miValueAxisTickMarkKindNone;
TMenuItem *miValueAxisTickMarkKindCross;
TMenuItem *miValueAxisTickMarkKindInside;
TMenuItem *miValueAxisTickMarkKindOutside;
TMenuItem *miValueAxisTickMarkLabels;
TMenuItem *miAbout;
TcxStyleRepository *cxStyleRepository1;
TcxStyle *cxStyle1;
TcxStyle *cxStyle2;
TcxStyle *cxStyle3;
TcxStyle *cxStyle4;
void __fastcall FormCreate(TObject *Sender);
void __fastcall chvSalesByQuarterGetValueHint(
TcxGridChartView *Sender, TcxGridChartSeries *ASeries,
int AValueIndex, AnsiString &AHint);
void __fastcall miExitClick(TObject *Sender);
void __fastcall miAboutClick(TObject *Sender);
void __fastcall chvSalesSeries1CustomDrawValue(
TcxGridChartSeries *Sender, TcxCanvas *ACanvas,
TcxGridChartDiagramValueViewInfo *AViewInfo, bool &ADone);
void __fastcall grMainActiveTabChanged(TcxCustomGrid *Sender,
TcxGridLevel *ALevel);
void __fastcall miColumnDiagramClick(TObject *Sender);
void __fastcall miBarDiagramClick(TObject *Sender);
void __fastcall miTitlePositionItemClick(TObject *Sender);
void __fastcall miLegendPositionItemClick(TObject *Sender);
void __fastcall miLegendBorderClick(TObject *Sender);
void __fastcall miValueCaptionPositionItemClick(
TObject *Sender);
void __fastcall chvSalesActiveDiagramChanged(
TcxGridChartView *Sender, TcxGridChartDiagram *ADiagram);
void __fastcall miAxisVisibleClick(TObject *Sender);
void __fastcall miAxisGridLinesClick(TObject *Sender);
void __fastcall miAxisTickMarkKindItemClick(TObject *Sender);
void __fastcall miAxisTickMarkLabelsClick(TObject *Sender);
void __fastcall miCategoryAxisCategoriesInReverseOrderClick(
TObject *Sender);
void __fastcall miCategoryAxisValueAxisAtMaxCategoryClick(
TObject *Sender);
void __fastcall miCategoryAxisValueAxisBetweenCategoriesClick(
TObject *Sender);
private:
TcxGridChartView* GetActiveChart();
TcxGridChartColumnDiagram* GetActiveColumnDiagram();
protected:
void UpdateControls();
public:
__fastcall TfrmMain(TComponent* Owner);
void CalculateSalesInfo();
void CalculateSalesInfoForQuarter(int AQuarter);
TcxGridChartColumnDiagramAxis* GetActiveAxis(TObject* AMenuItem);
__property TcxGridChartView* ActiveChart = {read = GetActiveChart};
__property TcxGridChartColumnDiagram* ActiveColumnDiagram = {read = GetActiveColumnDiagram};
};
//---------------------------------------------------------------------------
extern PACKAGE TfrmMain *frmMain;
//---------------------------------------------------------------------------
#endif