home *** CD-ROM | disk | FTP | other *** search
/ Delphi 5 for Professionals / DELPHI5.iso / AddOns / Components / TEECHART / Src Code / CANDLEDI.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1998-10-24  |  4.4 KB  |  169 lines

  1. {**********************************************}
  2. {   TCandleSeries Component Editor Dialog      }
  3. {   Copyright (c) 1996-98 by David Berneda     }
  4. {**********************************************}
  5. {$I teedefs.inc}
  6. unit CandlEdi;
  7.  
  8. interface
  9.  
  10. uses
  11.   SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  12.   Forms, Dialogs, StdCtrls, Buttons, ExtCtrls, Chart, Series, CandleCh
  13.   {$IFDEF D1}
  14.   , TeeUpDow, Spin
  15.   {$ELSE}
  16.   , ComCtrls
  17.   {$ENDIF};
  18.  
  19. type
  20.   TCandleEditor = class(TForm)
  21.     RGStyle: TRadioGroup;
  22.     Label1: TLabel;
  23.     BitBtn1: TBitBtn;
  24.     BitBtn2: TBitBtn;
  25.     SEWidth: TEdit;
  26.     ShapeUp: TShape;
  27.     ShapeDown: TShape;
  28.     CBShowOpen: TCheckBox;
  29.     CBShowClose: TCheckBox;
  30.     Button1: TButton;
  31.     UDWidth: TUpDown;
  32.     CBDraw3D: TCheckBox;
  33.     CBDark3D: TCheckBox;
  34.     procedure FormShow(Sender: TObject);
  35.     procedure RGStyleClick(Sender: TObject);
  36.     procedure BitBtn1Click(Sender: TObject);
  37.     procedure BitBtn2Click(Sender: TObject);
  38.     procedure SEWidthChange(Sender: TObject);
  39.     procedure ShapeDownMouseUp(Sender: TObject; Button: TMouseButton;
  40.       Shift: TShiftState; X, Y: Integer);
  41.     procedure ShapeUpMouseUp(Sender: TObject; Button: TMouseButton;
  42.       Shift: TShiftState; X, Y: Integer);
  43.     procedure CBShowOpenClick(Sender: TObject);
  44.     procedure CBShowCloseClick(Sender: TObject);
  45.     procedure Button1Click(Sender: TObject);
  46.     procedure FormCreate(Sender: TObject);
  47.     procedure CBDraw3DClick(Sender: TObject);
  48.     procedure CBDark3DClick(Sender: TObject);
  49.   private
  50.     { Private declarations }
  51.     CreatingForm:Boolean;
  52.     Procedure RefreshControls;
  53.   public
  54.     { Public declarations }
  55.     Candle:TCandleSeries;
  56.   end;
  57.  
  58. implementation
  59.  
  60. {$R *.DFM}
  61. uses PenDlg, TeeProcs;
  62.  
  63. Procedure TCandleEditor.RefreshControls;
  64. begin
  65.   CBShowOpen.Enabled :=Candle.CandleStyle=csCandleBar;
  66.   CBShowClose.Enabled:=CBShowOpen.Enabled;
  67.   CBDraw3D.Enabled:=not CBShowOpen.Enabled;
  68.   CBDark3D.Enabled:=CBDraw3D.Enabled;
  69. end;
  70.  
  71. procedure TCandleEditor.FormShow(Sender: TObject);
  72. begin
  73.   Screen.Cursor:=crDefault;
  74.   Candle:=TCandleSeries(Tag);
  75.   With Candle do
  76.   begin
  77.     if CandleStyle=csCandleStick then RGStyle.ItemIndex:=0
  78.                                  else RGStyle.ItemIndex:=1;
  79.     UDWidth.Position      :=CandleWidth;
  80.     ShapeUp.Brush.Color   :=UpCloseColor;
  81.     ShapeDown.Brush.Color :=DownCloseColor;
  82.     CBShowOpen.Checked    :=ShowOpenTick;
  83.     CBShowClose.Checked   :=ShowCloseTick;
  84.     CBDraw3D.Checked      :=Draw3D;
  85.     CBDark3D.Checked      :=Dark3D;
  86.     RefreshControls;
  87.   end;
  88.   ShapeUp.Cursor:=crTeeHand;
  89.   ShapeDown.Cursor:=crTeeHand;
  90.   CreatingForm:=False;
  91. end;
  92.  
  93. procedure TCandleEditor.BitBtn1Click(Sender: TObject);
  94. begin
  95.   With Candle do
  96.   begin
  97.     UpCloseColor:=EditColor(Self,UpCloseColor);
  98.     ShapeUp.Brush.Color:=UpCloseColor;
  99.   end;
  100. end;
  101.  
  102. procedure TCandleEditor.RGStyleClick(Sender: TObject);
  103. begin
  104.   with Candle do
  105.   if RGStyle.ItemIndex=0 then CandleStyle:=csCandleStick
  106.                          else CandleStyle:=csCandleBar;
  107.   RefreshControls;
  108. end;
  109.  
  110. procedure TCandleEditor.BitBtn2Click(Sender: TObject);
  111. begin
  112.   With Candle do
  113.   begin
  114.     DownCloseColor:=EditColor(Self,DownCloseColor);
  115.     ShapeDown.Brush.Color:=DownCloseColor;
  116.   end;
  117. end;
  118.  
  119. procedure TCandleEditor.SEWidthChange(Sender: TObject);
  120. begin
  121.   if not CreatingForm then Candle.CandleWidth:=UDWidth.Position;
  122. end;
  123.  
  124. procedure TCandleEditor.ShapeDownMouseUp(Sender: TObject;
  125.   Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
  126. begin
  127.   BitBtn2Click(Self);
  128. end;
  129.  
  130. procedure TCandleEditor.ShapeUpMouseUp(Sender: TObject;
  131.   Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
  132. begin
  133.   BitBtn1Click(Self);
  134. end;
  135.  
  136. procedure TCandleEditor.CBShowOpenClick(Sender: TObject);
  137. begin
  138.   Candle.ShowOpenTick:=CBShowOpen.Checked;
  139. end;
  140.  
  141. procedure TCandleEditor.CBShowCloseClick(Sender: TObject);
  142. begin
  143.   Candle.ShowCloseTick:=CBShowClose.Checked;
  144. end;
  145.  
  146. procedure TCandleEditor.Button1Click(Sender: TObject);
  147. begin
  148.   EditPen(Self,Candle.Pen);
  149. end;
  150.  
  151. procedure TCandleEditor.FormCreate(Sender: TObject);
  152. begin
  153.   CreatingForm:=True;
  154. end;
  155.  
  156. procedure TCandleEditor.CBDraw3DClick(Sender: TObject);
  157. begin
  158.   Candle.Draw3D:=CBDraw3D.Checked;
  159. end;
  160.  
  161. procedure TCandleEditor.CBDark3DClick(Sender: TObject);
  162. begin
  163.   Candle.Dark3D:=CBDark3D.Checked;
  164. end;
  165.  
  166. initialization
  167.   RegisterClass(TCandleEditor);
  168. end.
  169.