⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 teechartreg.pas

📁 BCB第三方组件
💻 PAS
📖 第 1 页 / 共 3 页
字号:
{******************************************}
{ TeeChart Standard version                }
{                                          }
{ Component Registration Unit              }
{                                          }
{ Comps:   TChart                          }
{          TDBChart                        }
{                                          }
{ Series:  TLineSeries                     }
{          TAreaSeries                     }
{          TPointSeries                    }
{          TBarSeries                      }
{          THorizBarSeries                 }
{          TPieSeries                      }
{          TBubbleSeries                   }
{          TGanttSeries                    }
{          TChartShape                     }
{          TArrowSeries                    }
{          TFastLineSeries                 }
{          THorizLineSeries                }
{          THorizAreaSeries                }
{                                          }
{ Other:                                   }
{          TButtonColor                    }
{          TButtonPen                      }
{          TButtonGradient                 }
{          TComboFlat                      }
{          TDraw3D                         }
{          TImageFiltered                  }
{                                          }
{          Multi-Language selector         }
{                                          }
{          TTeeDBCrossTab                  }
{                                          }
{ Copyright (c) 1995-2007 by David Berneda }
{ All Rights Reserved                      }
{                                          }
{******************************************}
unit TeeChartReg;
{$I TeeDefs.inc}

interface

Uses
  {$IFDEF CLR}
   {$IFDEF TEEEDITORS}
   Borland.VCL.Design.DesignEditors, Borland.VCL.Design.DesignIntf,
   {$ENDIF}
  {$ELSE}
   {$IFDEF D6DESIGNER}
   DesignIntf, DesignEditors, PropertyCategories,
   {$ELSE}
   {$IFDEF LCL}
   PropEdits, ComponentEditors,
   {$ELSE}
   DsgnIntf,
   {$ENDIF}
   {$ENDIF}
  {$ENDIF}

  Classes,

  {$IFDEF CLR}
  Variants,
  {$ENDIF}
  
  TeEngine, Chart, TeCanvas;

{$IFDEF CLR}
{$R 'Chart.TChart.bmp'} // Do not localize
{$R 'DBChart.TDBChart.bmp'} // Do not localize
{$R 'TeeDraw3D.TDraw3D.bmp'} // Do not localize
{$R 'TeeData.TSeriesDataSet.bmp'} // Do not localize
{$R 'TeeEdit.TChartPreviewer.bmp'} // Do not localize
{$R 'TChartEditor.bmp'} // Do not localize
{$R 'TTeeCommander.bmp'} // Do not localize
{$R 'TChartScrollBar.bmp'} // Do not localize
{$R 'TChartListBox.bmp'} // Do not localize
{$R 'TChartEditorPanel.bmp'} // Do not localize
{$R 'TChartGrid.bmp'} // Do not localize
{$R 'TChartGridNavigator.bmp'} // Do not localize
{$R 'TChartPageNavigator.bmp'} // Do not localize
{$R 'TChartGalleryPanel.bmp'} // Do not localize
{$R 'TChartWebSource.bmp'} // Do not localize
{$R 'TSeriesTextSource.bmp'} // Do not localize
{$R 'TTeeXMLSource.bmp'} // Do not localize
{$R 'TDBCrossTabSource.bmp'} // Do not localize
{$R 'TButtonColor.bmp'} // Do not localize
{$R 'TButtonPen.bmp'} // Do not localize
{$R 'TComboFlat.bmp'} // Do not localize
{$R 'TTeePreviewPanel.bmp'} // Do not localize
{$R 'TButtonGradient.bmp'} // Do not localize
{$R 'TChartDataSet.bmp'} // Do not localize
{$R 'TImportChart.bmp'} // Do not localize

{$DEFINE SPLASH_BDS}

{$ELSE}
{$R TeeChart.res}
{$ENDIF}

{$IFNDEF BCB}
{$IFNDEF CLX}
{$IFNDEF TEENOSERIESDESIGN}
{$IFNDEF TEELITE}
{$IFNDEF LCL}
{$DEFINE TEESHOWCUSTOMAXES}
{$ENDIF}
{$ENDIF}
{$ENDIF}
{$ENDIF}
{$ENDIF}

{$IFNDEF NOUSE_BDE}
{$DEFINE TEEDBREG}
{$ENDIF}

{$IFDEF KYLIXOPEN}
{$UNDEF TEEDBREG}
{$ENDIF}

type

{$IFDEF TEEEDITORS}

  TTeeClassProperty=class(TClassProperty)
  {$IFDEF LCL}
  private
    function Designer:TTeeClassProperty;
  {$ENDIF}
  protected
    function GetObject:{$IFDEF CLR}TObject{$ELSE}Integer{$ENDIF};
  public
    function GetValue: string; override;
  end;

  TChartClassProperty=class(TTeeClassProperty)
  protected
    procedure InternalEditPage(AChart:TCustomChart; APage:Integer);
  public
    function GetAttributes : TPropertyAttributes; override;
  end;

  TChartCompEditor=class(TComponentEditor)
  protected
    Function Chart:TCustomChart; virtual;
  public
    procedure Edit; override;
    procedure ExecuteVerb( Index : Integer ); override;
    function GetVerbCount : Integer; override;
    function GetVerb( Index : Integer ) : string; override;
  end;

  {$IFDEF TEEDBREG}
  TDBChartCompEditor=class(TChartCompEditor)
  public
    procedure ExecuteVerb( Index : Integer ); override;
    function GetVerbCount : Integer; override;
    function GetVerb( Index : Integer ) : string; override;
  end;
  {$ENDIF}

  TChartSeriesEditor=class(TComponentEditor)
  public
    procedure Edit; override;
    procedure ExecuteVerb( Index : Integer ); override;
    function GetVerbCount : Integer; override;
    function GetVerb( Index : Integer ) : string; override;
  end;

  TChartPenProperty=class(TChartClassProperty)
  public
    procedure Edit; override;
  end;

  TChartBrushProperty=class(TChartClassProperty)
  public
    procedure Edit; override;
  end;

  { Property Categories }
  {$IFNDEF D6}
  {$IFNDEF CLX}
  {$IFDEF D5}
  TChartAxesCategory = class(TPropertyCategory)
  public
    class function Name: string; override;
    class function Description: string; override;
  end;

  TChartWallsCategory = class(TPropertyCategory)
  public
    class function Name: string; override;
    class function Description: string; override;
  end;

  TChartTitlesCategory = class(TPropertyCategory)
  public
    class function Name: string; override;
    class function Description: string; override;
  end;

  TChart3DCategory = class(TPropertyCategory)
  public
    class function Name: string; override;
    class function Description: string; override;
  end;
  {$ENDIF}
  {$ENDIF}
  {$ENDIF}

{$ENDIF}

  TTeeDesigner={$IFDEF CLR}
               IDesigner
               {$ELSE}
               {$IFDEF D6DESIGNER}
               IDesigner
               {$ELSE}
               {$IFDEF LCL}
               TPropertyEditorHook
               {$ELSE}
               IFormDesigner
               {$ENDIF}
               {$ENDIF}
               {$ENDIF}
               ;

  TTeeEditSeriesProc=procedure(ASeries:TChartSeries; ADesigner:TTeeDesigner);
  TTeeChartEditorHook=procedure(ADesigner: TTeeDesigner;
                                AList: TCustomSeriesList;
                                EditSeriesProc: TTeeEditSeriesProc;
                                AGroup: TSeriesGroup=nil);

  TTeeDesignOptionsHook=procedure;

Var
  TeeChartEditorHook   : TTeeChartEditorHook=nil;
  TeeDesignOptionsHook : TTeeDesignOptionsHook=nil;

{ for QrTeeReg.pas }
procedure EditChartDesign(AChart:TCustomChart);

procedure EditSeriesProc(ASeries:TChartSeries; ADesigner:TTeeDesigner);

procedure Register;

{$IFDEF SPLASH_BDS}
//type
//  TeeChartIDE=class
//  public
//    class procedure IDERegister; static;
//  end;

procedure IDERegister;

{$ENDIF}

implementation

Uses {$IFNDEF LINUX}
     Windows,
     {$ENDIF}

     TypInfo,
     SysUtils,

     {$IFDEF TEEDBREG}
     DB,

     {$IFNDEF CLX}
     {$IFNDEF LCL}
     DBTables,
     {$ENDIF}
     {$ENDIF}

     {$ENDIF}

     {$IFDEF CLX}
     QClipbrd, QGraphics, QForms, QControls, QDialogs, QMenus,
     {$ELSE}
     Clipbrd, Graphics, Forms, Controls, Dialogs, Menus,
     {$ENDIF}

     TeeGalleryPanel, EditChar, TeeProcs, TeeConst, TeeAbout,
     TeeEditCha, TeeEdiSeri, TeeEdiGene, TeeEdiGrad, TeeShadowEditor,
     TeeDraw3D,

     {$IFDEF TEEDBREG}
     DBChart, DBEditCh, TeeDBEdit,

     {$IFNDEF CLR}
     TeeData,
     {$ENDIF}

     TeeDBCrossTab, 
     {$ENDIF}

     {$IFDEF SPLASH_BDS}
     Borland.Studio.ToolsAPI,
     {$ENDIF}

     TeeCustEdit, Series, TeeSourceEdit, TeePoEdi,
     TeePieEdit, TeeAreaEdit, TeeBarEdit, TeeFLineEdi, TeePenDlg,
     TeeBrushDlg, GanttCh, TeeShape, BubbleCh, ArrowCha, TeeArrowEdi,
     TeeGanttEdi, TeeShapeEdi, TeeCustomFuncEditor, TeeAvgFuncEditor,
     TeePrevi, TeExport, TeeFilters, TeeFiltersEditor

     {$IFDEF TEELITE}
     , TeeDesignOptions
     {$ENDIF}

     {$IFNDEF CLX}
     {$IFNDEF LCL} // LCL Bug: Can't find DBCtrls unit
     , TeeExpForm
     {$ENDIF}
     {$ENDIF}

     {$IFNDEF LCL}
     {$IFNDEF BCB}
     {$IFNDEF TEENOSERIESDESIGN}
     {$IFDEF CLR}
     , Borland.Vcl.Design.ColnEdit
     {$ELSE}
     , ColnEdit
     {$ENDIF}
     {$ENDIF}
     {$ENDIF}
     {$ENDIF}
     ;

{$IFDEF TEEEDITORS}
type
  TChartLegendProperty=class(TChartClassProperty)
  public
    procedure Edit; override;
  end;

  TChartAxisProperty=class(TChartClassProperty)
  public
    procedure Edit; override;
  end;

  TChartAxisTitleProperty=class(TTeeClassProperty)
  public
    function GetAttributes : TPropertyAttributes; override;
  end;

  TCustomSeriesListProperty=class(TTeeClassProperty)
  public
    procedure Edit; override;
    function GetAttributes : TPropertyAttributes; override;
  end;

  TChartToolsProperty=class(TTeeClassProperty)
  public
    procedure Edit; override;
    function GetAttributes : TPropertyAttributes; override;
  end;

  TSeriesPointerProperty=class(TChartClassProperty)
  public
    procedure Edit; override;
  end;

  TChartTitleProperty=class(TChartClassProperty)
  public
    procedure Edit; override;
  end;

  TChartWallProperty=class(TChartClassProperty)
  public
    procedure Edit; override;
  end;

  TChartGradientProperty=class(TChartClassProperty)
  public
    procedure Edit; override;
  end;

  TTeeShadowProperty=class(TChartClassProperty)
  public
    procedure Edit; override;
  end;

  TBarSeriesGradientProperty=class(TChartClassProperty)
  public
    procedure Edit; override;
  end;

  TSeriesMarksProperty=class(TChartClassProperty)
  public
    procedure Edit; override;
  end;

  TView3DOptionsProperty=class(TChartClassProperty)
  public
    procedure Edit; override;
  end;

  TChartPageProperty=class(TChartClassProperty)
  public
    procedure Edit; override;
  end;

  TImageFilteredEditor=class(TComponentEditor)
  public
    procedure Edit; override;
    procedure ExecuteVerb( Index : Integer ); override;
    function GetVerbCount : Integer; override;
    function GetVerb( Index : Integer ) : string; override;
  end;
{$ENDIF}

{$IFDEF TEEDBREG}
type
  TDesignSources=class
    FAddCurrent   : Boolean;
    FItems        : TStrings;
    FFormDesigner : TTeeDesigner;
    FProc         : TAddComponentDataSource;
    Procedure AddDataSource(Const St:String);
  end;

Procedure TDesignSources.AddDataSource(Const St:String);
var tmpComp : TComponent;
begin
  if St<>'' then
  begin
    tmpComp:=FFormDesigner.GetComponent(St);
    if Assigned(tmpComp) and Assigned(FProc) then
       FProc(tmpComp,FItems,FAddCurrent);
  end;
end;

Procedure DesignTimeOnGetDesignerNames( AProc      : TAddComponentDataSource;
					ASeries    : TChartSeries;
					AItems     : TStrings;
					AddCurrent : Boolean );
Var tmpForm : TCustomForm;
    {$IFDEF CLR}
    tmpDesigner : IDesignerNotify;
    {$ENDIF}
begin
  tmpForm:=nil;

  {$IFDEF D9}
  if ASeries.Owner is TCustomForm then
     tmpForm:=TCustomForm(ASeries.Owner);
  {$ENDIF}

  if not Assigned(tmpForm) then
     tmpForm:=GetParentForm(ASeries.ParentChart);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -