home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 October / Chip_2001-10_cd1.bin / zkuste / delphi / kompon / d123456 / CHEMPLOT.ZIP / TPlot / Plot.hpp < prev    next >
C/C++ Source or Header  |  2001-07-31  |  26KB  |  608 lines

  1. // Borland C++ Builder
  2. // Copyright (c) 1995, 1998 by Borland International
  3. // All rights reserved
  4.  
  5. // (DO NOT EDIT: machine generated header) 'Plot.pas' rev: 3.00
  6.  
  7. #ifndef PlotHPP
  8. #define PlotHPP
  9. #include <Titles.hpp>
  10. #include <Seredit.hpp>
  11. #include <Datalist.hpp>
  12. #include <Propedit.hpp>
  13. #include <Plotzoom.hpp>
  14. #include <Plotdefs.hpp>
  15. #include <Parser.hpp>
  16. #include <Optnsdlg.hpp>
  17. #include <Misc.hpp>
  18. #include <Data.hpp>
  19. #include <Axisedit.hpp>
  20. #include <Axis.hpp>
  21. #include <Aboutdlg.hpp>
  22. #include <StdCtrls.hpp>
  23. #include <Printers.hpp>
  24. #include <Menus.hpp>
  25. #include <Graphics.hpp>
  26. #include <Forms.hpp>
  27. #include <ExtCtrls.hpp>
  28. #include <Dialogs.hpp>
  29. #include <Controls.hpp>
  30. #include <ComCtrls.hpp>
  31. #include <Clipbrd.hpp>
  32. #include <Buttons.hpp>
  33. #include <Windows.hpp>
  34. #include <NoMath.hpp>
  35. #include <TypInfo.hpp>
  36. #include <SysUtils.hpp>
  37. #include <Classes.hpp>
  38. #include <SysInit.hpp>
  39. #include <System.hpp>
  40.  
  41. //-- user supplied -----------------------------------------------------------
  42.  
  43. namespace Plot
  44. {
  45. //-- type declarations -------------------------------------------------------
  46. typedef void __fastcall (__closure *TOnPaintEvent)(System::TObject* Sender, Graphics::TCanvas* ACanvas
  47.     );
  48.  
  49. typedef void __fastcall (__closure *TOnFileEvent)(System::TObject* Sender, System::AnsiString TheFile
  50.     );
  51.  
  52. typedef void __fastcall (__closure *TOnHeaderEvent)(System::TObject* Sender, Classes::TMemoryStream* 
  53.     TheStream);
  54.  
  55. typedef void __fastcall (__closure *TOnRequestHeaderEvent)(System::TObject* Sender, Classes::TMemoryStream* 
  56.     TheStream);
  57.  
  58. typedef void __fastcall (__closure *TOnRequestHTMLHeaderEvent)(System::TObject* Sender, Classes::TStringList* 
  59.     Header);
  60.  
  61. typedef void __fastcall (__closure *TOnSelectionEvent)(System::TObject* Sender, const Windows::TRect 
  62.     &Sel);
  63.  
  64. typedef void __fastcall (__closure *TOnDualSelectionEvent)(System::TObject* Sender, const Windows::TRect 
  65.     &Sel1, const Windows::TRect &Sel2);
  66.  
  67. typedef System::AnsiString Plot__2[4];
  68.  
  69. class DELPHICLASS TCustomPlot;
  70. class PASCALIMPLEMENTATION TCustomPlot : public Extctrls::TCustomPanel 
  71. {
  72.     typedef Extctrls::TCustomPanel inherited;
  73.     
  74. private:
  75.     System::AnsiString FAbout;
  76.     System::AnsiString FAxesProperties;
  77.     System::AnsiString FDataProperties;
  78.     System::AnsiString FProperties;
  79.     System::AnsiString FSeriesProperties;
  80.     Classes::TList* FAxisList;
  81.     Titles::TBorder* FBorder;
  82.     Misc::TPercent FBubbleSize;
  83.     Misc::TPercent FColumnGap;
  84.     TContourDetail FContourDetail;
  85.     float FContourInterval;
  86.     float FContourStart;
  87.     bool FContourWireFrame;
  88.     System::AnsiString FCreatedBy;
  89.     System::AnsiString FDescription;
  90.     System::AnsiString FDefaultExtension;
  91.     TDisplayMode FDisplayMode;
  92.     float FDisplayHistory;
  93.     bool FEditable;
  94.     System::AnsiString FFileName;
  95.     System::AnsiString OpenDriveDir;
  96.     System::AnsiString OverlayDriveDir;
  97.     System::AnsiString ImageDriveDir;
  98.     System::AnsiString PropsFileName;
  99.     int OpenFilterIndex;
  100.     int SaveFilterIndex;
  101.     int ImageFilterIndex;
  102.     TGridType FGrid;
  103.     TPenStyle FGridStyle;
  104.     Graphics::TColor FGridColor;
  105.     System::AnsiString FHelpFile;
  106.     Graphics::TFont* FHighFont;
  107.     Classes::TStringList* FInstructions;
  108.     Titles::TLegend* FLegend;
  109.     int FMenuTag;
  110.     bool FMovable;
  111.     Graphics::TPen* FMultiplePen;
  112.     Byte FMultiplicity;
  113.     int FMultiJoin1;
  114.     int FMultiJoin2;
  115.     Graphics::TBitmap* FPageButtons[4];
  116.     Byte FPieRowCount;
  117.     Menus::TMainMenu* FPlotMenu;
  118.     Comctrls::TToolBar* FPlotToolBar;
  119.     TPlotType FPlotType;
  120.     Plotdefs::TPopupOptions* FPopupOptions;
  121.     float FPolarRange;
  122.     TPrinterOrientation FPrintOrientation;
  123.     int FOutlineWidth;
  124.     Titles::TCaption* FResult;
  125.     Plotdefs::TSaveOptions FSaveOptions;
  126.     bool FAsText;
  127.     TScreenJob FScreenJob;
  128.     Titles::TTitle* FTitle;
  129.     Graphics::TColor FWallColor;
  130.     Axis::TAxis* FXAxis;
  131.     int FXYFastAt;
  132.     Axis::TAxis* FYAxis;
  133.     Axis::TAngleAxis* FZAxis;
  134.     bool FZLink;
  135.     TOnPaintEvent FOnAfterPaint;
  136.     TOnPaintEvent FOnAfterDraw;
  137.     TOnPaintEvent FOnBeforePaint;
  138.     TOnPaintEvent FOnBeforeDraw;
  139.     Classes::TNotifyEvent FOnStyleChange;
  140.     Classes::TNotifyEvent FOnDataChange;
  141.     TOnFileEvent FOnFileOpen;
  142.     TOnFileEvent FOnFileClose;
  143.     TOnHeaderEvent FOnHeader;
  144.     TOnRequestHeaderEvent FOnHeaderRequest;
  145.     TOnRequestHTMLHeaderEvent FOnHTMLHeaderRequest;
  146.     TOnSelectionEvent FOnSelection;
  147.     TOnDualSelectionEvent FOnDualSelection;
  148.     Titles::TRectangle* LeftBorder;
  149.     Titles::TRectangle* TopBorder;
  150.     Titles::TRectangle* RightBorder;
  151.     Titles::TRectangle* BottomBorder;
  152.     bool IgnoreChanges;
  153.     Classes::TList* ScreenObjectList;
  154.     int NoBasicScreenObjects;
  155.     int NoteCount;
  156.     Extctrls::TTimer* MouseTimer;
  157.     tagPOINT MouseStart;
  158.     TObjectType ClickedObjectType;
  159.     void *pClickedObject;
  160.     TObjectType SecondClickedObjectType;
  161.     void *pSecondClickedObject;
  162.     tagPOINT ClickedObjectOffset;
  163.     float Slope;
  164.     float Intercept;
  165.     Titles::TAngleRect* Selection;
  166.     Windows::TRect Sel1;
  167.     Windows::TRect Sel2;
  168.     Menus::TPopupMenu* FPlotPopUpMenu;
  169.     Menus::TPopupMenu* FDragPopUpMenu;
  170.     Menus::TPopupMenu* WhichPopUpMenu;
  171.     Menus::TMenuItem* WhichPopUpItems[2];
  172.     Stdctrls::TEdit* FFlashEdit;
  173.     int TheSeries;
  174.     Data::TSeries* pSeries;
  175.     int ThePointNumber;
  176.     int TheAxis;
  177.     Axis::TAxis* pAxis;
  178.     int ClipBoardFormatForHTML;
  179.     int FirstOverlay;
  180.     int BevelGap;
  181.     System::AnsiString FileExtensions[4];
  182.     System::AnsiString FileTypes;
  183.     int __fastcall GetClickAndDragDelay(void);
  184.     Word __fastcall GetNoSeries(void);
  185.     int __fastcall GetNoYAxes(void);
  186.     Data::TSeries* __fastcall GetSeries(int Index);
  187.     bool __fastcall GetNoteFromUser(void);
  188.     bool __fastcall GetSeriesFromUser(void);
  189.     bool __fastcall GetAxisFromUser(Word StartAxis);
  190.     int __fastcall GetFilterIndex(System::AnsiString Ext);
  191.     void __fastcall SetAxisDimensions(void);
  192.     void __fastcall SetDisplayModeHistory(float HistoryValue, Plotdefs::TDisplayMode ScalingValue);
  193.     void __fastcall SetMetafileDescription(void);
  194.     void __fastcall GetTheClickedObject(int X, int Y);
  195.     void __fastcall MouseTimeOut(System::TObject* Sender);
  196.     void __fastcall MoveTheClickedObjectTo(int X, int Y);
  197.     void __fastcall OutlineTheClickedObject(void);
  198.     void __fastcall SetResult(float Slope, float Intercept, float Rsq);
  199.     void __fastcall StretchTheClickedObjectTo(int X, int Y);
  200.     void __fastcall SwapEnds(void);
  201.     void __fastcall MoveTheClickedObjectClick(System::TObject* Sender);
  202.     void __fastcall MoveSecondClickedObjectClick(System::TObject* Sender);
  203.     void __fastcall CreateFlashEditor(void);
  204.     void __fastcall FlashEditKeyDown(System::TObject* Sender, Word &Key, Classes::TShiftState Shift);
  205.     void __fastcall FlashEditExit(System::TObject* Sender);
  206.     
  207. protected:
  208.     Datalist::TSeriesList* FSeriesList;
  209.     System::AnsiString __fastcall GetMultiJoin();
  210.     Word __fastcall GetZAngle(void);
  211.     Word __fastcall GetZLength(void);
  212.     void __fastcall SetZAngle(Word Value);
  213.     void __fastcall SetZLength(Word Value);
  214.     void __fastcall SetZLink(bool Value);
  215.     void __fastcall SetXYFastAt(int Value);
  216.     void __fastcall SetBubbleSize(Misc::TPercent Value);
  217.     void __fastcall SetColumnGap(Misc::TPercent Value);
  218.     void __fastcall SetContourDetail(Plotdefs::TContourDetail Value);
  219.     void __fastcall SetContourInterval(float Value);
  220.     void __fastcall SetContourStart(float Value);
  221.     void __fastcall SetContourWireFrame(bool Value);
  222.     void __fastcall SetGrid(Plotdefs::TGridType Value);
  223.     void __fastcall SetGridStyle(Graphics::TPenStyle Value);
  224.     void __fastcall SetGridColor(Graphics::TColor Value);
  225.     void __fastcall SetWallColor(Graphics::TColor Value);
  226.     void __fastcall SetDefaultExtension(System::AnsiString Value);
  227.     void __fastcall SetDefaults(void);
  228.     void __fastcall SetDisplayMode(Plotdefs::TDisplayMode Value);
  229.     void __fastcall SetHistory(float Value);
  230.     void __fastcall SetInstructions(Classes::TStringList* Value);
  231.     void __fastcall SetFileName(System::AnsiString Value);
  232.     void __fastcall SetNoYAxes(int Value);
  233.     void __fastcall SetPlotType(Plotdefs::TPlotType Value);
  234.     void __fastcall SetPolarRange(float Value);
  235.     void __fastcall SetPopupOptions(Plotdefs::TPopupOptions* Value);
  236.     void __fastcall SetOutlineWidth(int Value);
  237.     void __fastcall SetMultiplicity(Byte Value);
  238.     void __fastcall SetMultiplePen(Graphics::TPen* Value);
  239.     void __fastcall SetMultiJoin(System::AnsiString Value);
  240.     void __fastcall SetPieRowCount(Byte Value);
  241.     virtual void __fastcall SetNoSeries(Word Value);
  242.     void __fastcall SetClickAndDragDelay(int Value);
  243.     void __fastcall SetOnSelection(TOnSelectionEvent Value);
  244.     void __fastcall SetOnDualSelection(TOnDualSelectionEvent Value);
  245.     virtual void __fastcall CopyText(void);
  246.     virtual void __fastcall CopyHTML(Word Format);
  247.     virtual void __fastcall CopyBitmap(void);
  248.     virtual Graphics::TBitmap* __fastcall GetBitmap(void);
  249.     virtual Graphics::TMetafile* __fastcall GetDrawing(void);
  250.     virtual void __fastcall CopyDrawing(bool Enhanced);
  251.     void __fastcall CreateMenus(void);
  252.     void __fastcall CreatePageButtons(void);
  253.     void __fastcall DestroyPageButtons(void);
  254.     void __fastcall PageButtonClick(int Index);
  255.     DYNAMIC void __fastcall DoStyleChange(System::TObject* Sender);
  256.     DYNAMIC void __fastcall DoDataChange(System::TObject* Sender);
  257.     DYNAMIC void __fastcall DoFileClose(System::AnsiString AFileName);
  258.     DYNAMIC void __fastcall DoFileOpen(System::AnsiString AFileName);
  259.     DYNAMIC void __fastcall DoHeader(Classes::TMemoryStream* TheStream);
  260.     DYNAMIC void __fastcall DoHeaderRequest(Classes::TMemoryStream* TheStream);
  261.     DYNAMIC void __fastcall DoHTMLHeaderRequest(Classes::TStringList* TheHeader);
  262.     DYNAMIC void __fastcall DoSelection(const Windows::TRect &Sel1);
  263.     DYNAMIC void __fastcall DoDualSelection(const Windows::TRect &Sel1, const Windows::TRect &Sel2);
  264.     void __fastcall OpenProperties(System::AnsiString AFileName);
  265.     void __fastcall SaveTheProperties(System::AnsiString AFileName);
  266.     bool __fastcall CanPaste(void);
  267.     DYNAMIC void __fastcall DblClick(void);
  268.     DYNAMIC void __fastcall MouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, 
  269.         int Y);
  270.     DYNAMIC void __fastcall MouseMove(Classes::TShiftState Shift, int X, int Y);
  271.     DYNAMIC void __fastcall MouseUp(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int 
  272.         Y);
  273.     virtual void __fastcall ProcessClickedObject(void * pObject, Plotdefs::TObjectType TheObjectType);
  274.     void __fastcall DrawGrid(Graphics::TCanvas* ACanvas);
  275.     void __fastcall DrawWalls(Graphics::TCanvas* ACanvas);
  276.     virtual void __fastcall Paint(void);
  277.     void __fastcall DrawInstructions(void);
  278.     DYNAMIC void __fastcall Resize(void);
  279.     DYNAMIC void __fastcall ZeroScreenStuff(void);
  280.     void __fastcall DetermineMenuVisibility(void);
  281.     void __fastcall SetSeriesVisibility(bool Value);
  282.     void __fastcall SetSeriesEnabledness(Menus::TMenu* TheMenu);
  283.     __property System::AnsiString About = {read=FAbout, write=FAbout};
  284.     __property System::AnsiString AxesProperties = {read=FAxesProperties, write=FAxesProperties};
  285.     __property System::AnsiString DataProperties = {read=FDataProperties, write=FDataProperties};
  286.     __property System::AnsiString Properties = {read=FProperties, write=FProperties};
  287.     __property System::AnsiString SeriesProperties = {read=FSeriesProperties, write=FSeriesProperties};
  288.         
  289.     __property Classes::TList* AxisList = {read=FAxisList};
  290.     __property Graphics::TBitmap* Bitmap = {read=GetBitmap};
  291.     __property Graphics::TMetafile* Drawing = {read=GetDrawing};
  292.     __property Menus::TPopupMenu* PlotPopUpMenu = {read=FPlotPopUpMenu};
  293.     __property Data::TSeries* Series[int Index] = {read=GetSeries/*, default*/};
  294.     __property Datalist::TSeriesList* SeriesList = {read=FSeriesList};
  295.     __property Plotdefs::TScreenJob ScreenJob = {read=FScreenJob, write=FScreenJob, nodefault};
  296.     __property Titles::TBorder* Border = {read=FBorder, write=FBorder};
  297.     __property Misc::TPercent BubbleSize = {read=FBubbleSize, write=SetBubbleSize, nodefault};
  298.     __property Misc::TPercent ColumnGap = {read=FColumnGap, write=SetColumnGap, nodefault};
  299.     __property Plotdefs::TContourDetail ContourDetail = {read=FContourDetail, write=SetContourDetail, nodefault
  300.         };
  301.     __property float ContourInterval = {read=FContourInterval, write=SetContourInterval};
  302.     __property float ContourStart = {read=FContourStart, write=SetContourStart};
  303.     __property bool ContourWireFrame = {read=FContourWireFrame, write=SetContourWireFrame, nodefault};
  304.     __property Plotdefs::TGridType Grid = {read=FGrid, write=SetGrid, nodefault};
  305.     __property Graphics::TPenStyle GridStyle = {read=FGridStyle, write=SetGridStyle, nodefault};
  306.     __property Graphics::TColor GridColor = {read=FGridColor, write=SetGridColor, default=8421504};
  307.     __property Graphics::TColor WallColor = {read=FWallColor, write=SetWallColor, nodefault};
  308.     __property System::AnsiString HelpFile = {read=FHelpFile, write=FHelpFile};
  309.     __property Classes::TStringList* Instructions = {read=FInstructions, write=SetInstructions};
  310.     __property int ClickAndDragDelay = {read=GetClickAndDragDelay, write=SetClickAndDragDelay, nodefault
  311.         };
  312.     __property System::AnsiString CreatedBy = {read=FCreatedBy, write=FCreatedBy};
  313.     __property System::AnsiString Description = {read=FDescription, write=FDescription};
  314.     __property float DisplayHistory = {read=FDisplayHistory, write=SetHistory};
  315.     __property Plotdefs::TDisplayMode DisplayMode = {read=FDisplayMode, write=SetDisplayMode, nodefault
  316.         };
  317.     __property bool Editable = {read=FEditable, write=FEditable, nodefault};
  318.     __property System::AnsiString DefaultExtension = {read=FDefaultExtension, write=SetDefaultExtension
  319.         };
  320.     __property System::AnsiString FileName = {read=FFileName, write=SetFileName};
  321.     __property Graphics::TFont* HighFont = {read=FHighFont, write=FHighFont};
  322.     __property Titles::TLegend* Legend = {read=FLegend, write=FLegend};
  323.     __property Graphics::TPen* MultiplePen = {read=FMultiplePen, write=SetMultiplePen};
  324.     __property System::AnsiString MultiJoin = {read=GetMultiJoin, write=SetMultiJoin};
  325.     __property Plotdefs::TPlotType PlotType = {read=FPlotType, write=SetPlotType, nodefault};
  326.     __property float PolarRange = {read=FPolarRange, write=SetPolarRange};
  327.     __property Plotdefs::TPopupOptions* PopupOptions = {read=FPopupOptions, write=SetPopupOptions};
  328.     __property bool Movable = {read=FMovable, write=FMovable, nodefault};
  329.     __property Byte Multiplicity = {read=FMultiplicity, write=SetMultiplicity, nodefault};
  330.     __property Byte PieRowCount = {read=FPieRowCount, write=SetPieRowCount, nodefault};
  331.     __property Word NoSeries = {read=GetNoSeries, write=SetNoSeries, nodefault};
  332.     __property int NoYAxes = {read=GetNoYAxes, write=SetNoYAxes, nodefault};
  333.     __property Printers::TPrinterOrientation PrintOrientation = {read=FPrintOrientation, write=FPrintOrientation
  334.         , nodefault};
  335.     __property int OutlineWidth = {read=FOutlineWidth, write=SetOutlineWidth, nodefault};
  336.     __property Plotdefs::TSaveOptions SaveOptions = {read=FSaveOptions, write=FSaveOptions, nodefault};
  337.         
  338.     __property Titles::TTitle* Title = {read=FTitle, write=FTitle};
  339.     __property Axis::TAxis* XAxis = {read=FXAxis, write=FXAxis};
  340.     __property Axis::TAxis* YAxis = {read=FYAxis, write=FYAxis};
  341.     __property Axis::TAngleAxis* ZAxis = {read=FZAxis, write=FZAxis};
  342.     __property Word ZAngle = {read=GetZAngle, write=SetZAngle, nodefault};
  343.     __property Word ZLength = {read=GetZLength, write=SetZLength, nodefault};
  344.     __property bool ZLink = {read=FZLink, write=SetZLink, nodefault};
  345.     __property int XYFastAt = {read=FXYFastAt, write=SetXYFastAt, default=10000};
  346.     __property TOnPaintEvent OnAfterPaint = {read=FOnAfterPaint, write=FOnAfterPaint};
  347.     __property TOnPaintEvent OnAfterDraw = {read=FOnAfterDraw, write=FOnAfterDraw};
  348.     __property TOnPaintEvent OnBeforePaint = {read=FOnBeforePaint, write=FOnBeforePaint};
  349.     __property TOnPaintEvent OnBeforeDraw = {read=FOnBeforeDraw, write=FOnBeforeDraw};
  350.     __property Classes::TNotifyEvent OnStyleChange = {read=FOnStyleChange, write=FOnStyleChange};
  351.     __property Classes::TNotifyEvent OnDataChange = {read=FOnDataChange, write=FOnDataChange};
  352.     __property TOnFileEvent OnFileOpen = {read=FOnFileOpen, write=FOnFileOpen};
  353.     __property TOnFileEvent OnFileClose = {read=FOnFileClose, write=FOnFileClose};
  354.     __property TOnHeaderEvent OnHeader = {read=FOnHeader, write=FOnHeader};
  355.     __property TOnRequestHeaderEvent OnHeaderRequest = {read=FOnHeaderRequest, write=FOnHeaderRequest};
  356.         
  357.     __property TOnRequestHTMLHeaderEvent OnHTMLHeaderRequest = {read=FOnHTMLHeaderRequest, write=FOnHTMLHeaderRequest
  358.         };
  359.     __property TOnSelectionEvent OnSelection = {read=FOnSelection, write=SetOnSelection};
  360.     __property TOnDualSelectionEvent OnDualSelection = {read=FOnDualSelection, write=SetOnDualSelection
  361.         };
  362.     
  363. public:
  364.     __fastcall virtual TCustomPlot(Classes::TComponent* AOwner);
  365.     __fastcall virtual ~TCustomPlot(void);
  366.     virtual void __fastcall Clear(bool Cancellable);
  367.     virtual void __fastcall Draw(Graphics::TCanvas* ACanvas);
  368.     System::AnsiString __fastcall GetFileExtension();
  369.     System::AnsiString __fastcall GetFileDriveDir();
  370.     System::AnsiString __fastcall GetFileRoot();
  371.     System::AnsiString __fastcall GetPlotTypeAsString();
  372.     void __fastcall ShowAbout(void);
  373.     void __fastcall ShowAxes(void);
  374.     void __fastcall ShowData(void);
  375.     void __fastcall ShowProperties(void);
  376.     void __fastcall ShowSeries(void);
  377.     virtual int __fastcall AddSeries(int XSeriesIndex);
  378.     virtual int __fastcall AddExternalSeries(Misc::pSingleArray XPointer, Misc::pSingleArray YPointer, 
  379.         int NumberOfPoints);
  380.     virtual int __fastcall AddInternalSeries(Misc::pSingleArray XPointer, Misc::pSingleArray YPointer, 
  381.         int NumberOfPoints);
  382.     virtual int __fastcall CloneSeries(int TheSeries);
  383.     virtual void __fastcall DeleteSeries(int Index);
  384.     void __fastcall DetermineMenuEnabledness(Menus::TMenu* TheMenu);
  385.     virtual void __fastcall AddData(int NoPoints, Misc::pXYArray XYArray);
  386.     void __fastcall Trace(void);
  387.     void __fastcall CopyClick(System::TObject* Sender);
  388.     void __fastcall HideClick(System::TObject* Sender);
  389.     void __fastcall PrintClick(System::TObject* Sender);
  390.     void __fastcall ShowAllClick(System::TObject* Sender);
  391.     void __fastcall PositionClick(System::TObject* Sender);
  392.     void __fastcall NearestPointClick(System::TObject* Sender);
  393.     void __fastcall DeleteSeriesClick(System::TObject* Sender);
  394.     void __fastcall CopySeriesClick(System::TObject* Sender);
  395.     void __fastcall NewSeriesClick(System::TObject* Sender);
  396.     void __fastcall CloneSeriesClick(System::TObject* Sender);
  397.     void __fastcall ModeClick(System::TObject* Sender);
  398.     void __fastcall PasteClick(System::TObject* Sender);
  399.     void __fastcall LineBestFitClick(System::TObject* Sender);
  400.     void __fastcall TwoRegionLineBestFitClick(System::TObject* Sender);
  401.     void __fastcall SmoothSeriesClick(System::TObject* Sender);
  402.     void __fastcall CompressSeriesClick(System::TObject* Sender);
  403.     void __fastcall CompressAllSeriesClick(System::TObject* Sender);
  404.     void __fastcall ContractSeriesClick(System::TObject* Sender);
  405.     void __fastcall ContractAllSeriesClick(System::TObject* Sender);
  406.     void __fastcall LegendClick(System::TObject* Sender);
  407.     void __fastcall EditAxisClick(System::TObject* Sender);
  408.     void __fastcall ApplyAxisChange(System::TObject* Sender);
  409.     void __fastcall NewNoteClick(System::TObject* Sender);
  410.     void __fastcall MoveNotePointerClick(System::TObject* Sender);
  411.     void __fastcall DeleteNoteClick(System::TObject* Sender);
  412.     void __fastcall EditFontClick(System::TObject* Sender);
  413.     void __fastcall EditPointClick(System::TObject* Sender);
  414.     void __fastcall EditDataClick(System::TObject* Sender);
  415.     void __fastcall EditSeriesClick(System::TObject* Sender);
  416.     void __fastcall ApplySeriesChange(System::TObject* Sender);
  417.     void __fastcall ResetDisplacementClick(System::TObject* Sender);
  418.     void __fastcall EditPropertiesClick(System::TObject* Sender);
  419.     void __fastcall ApplyPropertiesChange(System::TObject* Sender);
  420.     void __fastcall NewClick(System::TObject* Sender);
  421.     virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
  422.         );
  423.     void __fastcall OpenClick(System::TObject* Sender);
  424.     void __fastcall OpenFile(System::AnsiString TheFile);
  425.     void __fastcall ClearOverlaysClick(System::TObject* Sender);
  426.     void __fastcall OverlayClick(System::TObject* Sender);
  427.     void __fastcall SaveImageClick(System::TObject* Sender);
  428.     void __fastcall SaveClick(System::TObject* Sender);
  429.     void __fastcall SaveAsClick(System::TObject* Sender);
  430.     virtual void __fastcall LoadFromFile(System::AnsiString AFileName);
  431.     virtual void __fastcall LoadFromStream(Classes::TMemoryStream* AStream);
  432.     void __fastcall AppendToFile(void);
  433.     virtual void __fastcall SaveToFile(System::AnsiString AFileName);
  434.     virtual void __fastcall SaveToStream(Classes::TMemoryStream* &TheStream);
  435.     virtual void __fastcall SaveAsBitmap(System::AnsiString AFileName);
  436.     virtual void __fastcall SaveAsDrawing(System::AnsiString AFileName);
  437.     void __fastcall SetAsNormalClick(System::TObject* Sender);
  438.     void __fastcall NormalViewClick(System::TObject* Sender);
  439.     void __fastcall ManualZoomClick(System::TObject* Sender);
  440.     void __fastcall ApplyZoom(System::TObject* Sender);
  441.     void __fastcall ZoomOutClick(System::TObject* Sender);
  442.     void __fastcall MakeDummyData(int NoSteps);
  443.     void __fastcall CopyHTMLClick(System::TObject* Sender);
  444.     void __fastcall DisplaceClick(System::TObject* Sender);
  445.     void __fastcall DifferentiateClick(System::TObject* Sender);
  446.     void __fastcall HandleClick(System::TObject* Sender, int TheTag);
  447.     bool __fastcall GetIndicesFromTag(int TheTag, int &i, int &j);
  448.     void __fastcall IntegrateClick(System::TObject* Sender);
  449.     void __fastcall IntegralClick(System::TObject* Sender);
  450.     void __fastcall SortClick(System::TObject* Sender);
  451.     void __fastcall SplineClick(System::TObject* Sender);
  452.     int __fastcall Spline(int ASeries);
  453.     void __fastcall ZoomInClick(System::TObject* Sender);
  454.     void __fastcall HighsClick(System::TObject* Sender);
  455.     void __fastcall MovingAverageClick(System::TObject* Sender);
  456.     void __fastcall AverageClick(System::TObject* Sender);
  457.     void __fastcall LinearizeClick(System::TObject* Sender);
  458.     void __fastcall ZeroClick(System::TObject* Sender);
  459.     void __fastcall NewYAxisClick(System::TObject* Sender);
  460.     void __fastcall DeleteAxis(int Index, bool Confirm);
  461.     void __fastcall DeleteAxisClick(System::TObject* Sender);
  462.     void __fastcall SetPlotMenu(Menus::TMainMenu* Value);
  463.     void __fastcall SetPlotToolBar(Comctrls::TToolBar* Value);
  464.     void __fastcall SetInstructionText(System::AnsiString Value);
  465. public:
  466.     /* TWinControl.CreateParented */ __fastcall TCustomPlot(HWND ParentWindow) : Extctrls::TCustomPanel(
  467.         ParentWindow) { }
  468.     
  469. };
  470.  
  471. class DELPHICLASS TPlot;
  472. class PASCALIMPLEMENTATION TPlot : public Plot::TCustomPlot 
  473. {
  474.     typedef Plot::TCustomPlot inherited;
  475.     
  476. public:
  477.     __property AxisList ;
  478.     __property Bitmap ;
  479.     __property Drawing ;
  480.     __property PlotPopUpMenu ;
  481.     __property Series ;
  482.     __property SeriesList ;
  483.     __property ScreenJob ;
  484.     __property ZAxis ;
  485.     
  486. __published:
  487.     __property About ;
  488.     __property AxesProperties ;
  489.     __property DataProperties ;
  490.     __property Properties ;
  491.     __property SeriesProperties ;
  492.     __property Border ;
  493.     __property ClickAndDragDelay ;
  494.     __property ColumnGap ;
  495.     __property ContourDetail ;
  496.     __property ContourInterval ;
  497.     __property ContourStart ;
  498.     __property ContourWireFrame ;
  499.     __property CreatedBy ;
  500.     __property Description ;
  501.     __property DisplayHistory ;
  502.     __property DisplayMode ;
  503.     __property DefaultExtension ;
  504.     __property Editable ;
  505.     __property FileName ;
  506.     __property Grid ;
  507.     __property GridStyle ;
  508.     __property GridColor ;
  509.     __property HighFont ;
  510.     __property HelpFile ;
  511.     __property Instructions ;
  512.     __property Legend ;
  513.     __property Movable ;
  514.     __property Multiplicity ;
  515.     __property MultiplePen ;
  516.     __property MultiJoin ;
  517.     __property PieRowCount ;
  518.     __property NoSeries ;
  519.     __property NoYAxes ;
  520.     __property OutlineWidth ;
  521.     __property PlotType ;
  522.     __property PolarRange ;
  523.     __property PopupOptions ;
  524.     __property PrintOrientation ;
  525.     __property SaveOptions ;
  526.     __property Title ;
  527.     __property WallColor ;
  528.     __property XAxis ;
  529.     __property YAxis ;
  530.     __property ZAngle ;
  531.     __property ZLink ;
  532.     __property XYFastAt ;
  533.     __property OnAfterPaint ;
  534.     __property OnAfterDraw ;
  535.     __property OnBeforePaint ;
  536.     __property OnBeforeDraw ;
  537.     __property OnStyleChange ;
  538.     __property OnDataChange ;
  539.     __property OnFileOpen ;
  540.     __property OnFileClose ;
  541.     __property OnHeader ;
  542.     __property OnHeaderRequest ;
  543.     __property OnHTMLHeaderRequest ;
  544.     __property OnSelection ;
  545.     __property OnDualSelection ;
  546.     __property Align ;
  547.     __property BevelInner ;
  548.     __property BevelOuter ;
  549.     __property BevelWidth ;
  550.     __property BorderWidth ;
  551.     __property BorderStyle ;
  552.     __property Color ;
  553.     __property Ctl3D ;
  554.     __property DragCursor ;
  555.     __property DragMode ;
  556.     __property Enabled ;
  557.     __property Font ;
  558.     __property ParentColor ;
  559.     __property Locked ;
  560.     __property ParentCtl3D ;
  561.     __property ParentFont ;
  562.     __property ParentShowHint ;
  563.     __property ShowHint ;
  564.     __property TabOrder ;
  565.     __property TabStop ;
  566.     __property Visible ;
  567.     __property OnClick ;
  568.     __property OnDblClick ;
  569.     __property OnDragDrop ;
  570.     __property OnDragOver ;
  571.     __property OnEndDrag ;
  572.     __property OnEnter ;
  573.     __property OnExit ;
  574.     __property OnMouseDown ;
  575.     __property OnMouseMove ;
  576.     __property OnMouseUp ;
  577.     __property OnResize ;
  578.     __property FullRepaint ;
  579.     __property OnStartDrag ;
  580. public:
  581.     /* TCustomPlot.Create */ __fastcall virtual TPlot(Classes::TComponent* AOwner) : Plot::TCustomPlot(
  582.         AOwner) { }
  583.     /* TCustomPlot.Destroy */ __fastcall virtual ~TPlot(void) { }
  584.     
  585. public:
  586.     /* TWinControl.CreateParented */ __fastcall TPlot(HWND ParentWindow) : Plot::TCustomPlot(ParentWindow
  587.         ) { }
  588.     
  589. };
  590.  
  591. //-- var, const, procedure ---------------------------------------------------
  592. #define SUBHEADER "Subheader"
  593. #define POLYORDER (Byte)(1)
  594. #define DEF_EXTENSION "plot"
  595. #define PROP_EXTENSION "props"
  596. #define crScope (Byte)(1)
  597. #define crX (Byte)(2)
  598. extern PACKAGE System::AnsiString ImageExtensions[5];
  599. #define PICTURE_TYPES "Metafile (picture)|*.wmf|Enhanced Metafile (picture)|*.emf"\
  600.     "|Bitmap|*.bmp"
  601.  
  602. }    /* namespace Plot */
  603. #if !defined(NO_IMPLICIT_NAMESPACE_USE)
  604. using namespace Plot;
  605. #endif
  606. //-- end unit ----------------------------------------------------------------
  607. #endif    // Plot
  608.