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

  1. {**********************************************}
  2. {   TBarSeries Component Editor Dialog         }
  3. {   Copyright (c) 1996-98 by David Berneda     }
  4. {**********************************************}
  5. {$I teedefs.inc}
  6. Unit BarEdit;
  7.  
  8. interface
  9.  
  10. uses
  11.   SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  12.   Forms, Dialogs, StdCtrls, Buttons, ExtCtrls, Chart, Series
  13.   {$IFDEF D1}
  14.   , TeeUpDow, Spin
  15.   {$ELSE}
  16.   , ComCtrls
  17.   {$ENDIF};
  18.  
  19. type
  20.   TBarSeriesEditor = class(TForm)
  21.     SEBarwidth: TEdit;
  22.     Label1: TLabel;
  23.     CBBarStyle: TComboBox;
  24.     LStyle: TLabel;
  25.     BBarPen: TButton;
  26.     BBarBrush: TButton;
  27.     CBYOrigin: TCheckBox;
  28.     EYOrigin: TEdit;
  29.     RGMultiBar: TRadioGroup;
  30.     Label3: TLabel;
  31.     SEBarOffset: TEdit;
  32.     GroupBox1: TGroupBox;
  33.     CBDarkBar: TCheckBox;
  34.     CBBarSideMargins: TCheckBox;
  35.     GroupBox2: TGroupBox;
  36.     SHBarColor: TShape;
  37.     CBColorEach: TCheckBox;
  38.     BBarColor: TBitBtn;
  39.     CBMarksAutoPosition: TCheckBox;
  40.     UDBarWidth: TUpDown;
  41.     UDBarOffset: TUpDown;
  42.     procedure FormShow(Sender: TObject);
  43.     procedure SEBarwidthChange(Sender: TObject);
  44.     procedure CBYOriginClick(Sender: TObject);
  45.     procedure EYOriginChange(Sender: TObject);
  46.     procedure CBBarStyleChange(Sender: TObject);
  47.     procedure BBarPenClick(Sender: TObject);
  48.     procedure BBarBrushClick(Sender: TObject);
  49.     procedure RGMultiBarClick(Sender: TObject);
  50.     procedure CBColorEachClick(Sender: TObject);
  51.     procedure BBarColorClick(Sender: TObject);
  52.     procedure CBDarkBarClick(Sender: TObject);
  53.     procedure CBBarSideMarginsClick(Sender: TObject);
  54.     procedure SEBarOffsetChange(Sender: TObject);
  55.     procedure SHBarColorMouseUp(Sender: TObject; Button: TMouseButton;
  56.       Shift: TShiftState; X, Y: Integer);
  57.     procedure CBMarksAutoPositionClick(Sender: TObject);
  58.     procedure FormCreate(Sender: TObject);
  59.   private
  60.     { Private declarations }
  61.     CreatingForm:Boolean;
  62.     Procedure RefreshShape;
  63.   public
  64.     { Public declarations }
  65.     Bar:TCustomBarSeries;
  66.   end;
  67.  
  68. implementation
  69.  
  70. {$R *.DFM}
  71. Uses PenDlg, BrushDlg, TeeProcs;
  72.  
  73. procedure TBarSeriesEditor.FormShow(Sender: TObject);
  74. begin
  75.   Screen.Cursor:=crDefault;
  76.   Bar:=TCustomBarSeries(Tag);
  77.   With Bar do
  78.   begin
  79.     CBBarStyle.ItemIndex :=Ord(BarStyle);
  80.     UDBarWidth.Position  :=BarWidthPercent;
  81.     UDBarOffset.Position :=OffsetPercent;
  82.     CBYOrigin.Checked    :=UseYOrigin;
  83.     EYOrigin.Text        :=FloatToStr(YOrigin);
  84.     EYOrigin.Enabled     :=UseYOrigin;
  85.     RGMultiBar.ItemIndex :=Ord(MultiBar);
  86.     CBColorEach.Checked  :=ColorEachPoint;
  87.     CBMarksAutoPosition.Checked:=AutoMarkPosition;
  88.     CBDarkBar.Checked    :=Dark3D;
  89.     CBBarSideMargins.Checked:=SideMargins;
  90.   end;
  91.   SHBarColor.Cursor:=crTeeHand;
  92.   RefreshShape;
  93.   CreatingForm:=False;
  94. end;
  95.  
  96. Procedure TBarSeriesEditor.RefreshShape;
  97. Begin
  98.   SHBarColor.Visible:=not Bar.ColorEachPoint;
  99.   BBarColor.Enabled:=SHBarColor.Visible;
  100.   if SHBarColor.Visible then SHBarColor.Brush.Color:=Bar.SeriesColor;
  101. end;
  102.  
  103. procedure TBarSeriesEditor.SEBarWidthChange(Sender: TObject);
  104. begin
  105.   if not CreatingForm then Bar.BarWidthPercent:=UDBarWidth.Position;
  106. end;
  107.  
  108. procedure TBarSeriesEditor.CBYOriginClick(Sender: TObject);
  109. begin
  110.   if not CreatingForm then
  111.   begin
  112.     Bar.UseYOrigin:=CBYOrigin.Checked;
  113.     EYOrigin.Enabled:=Bar.UseYOrigin;
  114.     if EYOrigin.Enabled then EYOrigin.SetFocus;
  115.   end;
  116. end;
  117.  
  118. procedure TBarSeriesEditor.EYOriginChange(Sender: TObject);
  119. begin
  120.   if not CreatingForm then
  121.   if EYOrigin.Text<>'' then
  122.      Bar.YOrigin:=StrToFloat(EYOrigin.Text);
  123. end;
  124.  
  125. procedure TBarSeriesEditor.CBBarStyleChange(Sender: TObject);
  126. begin
  127.   if not CreatingForm then
  128.      Bar.BarStyle:=TBarStyle(CBBarStyle.ItemIndex);
  129. end;
  130.  
  131. procedure TBarSeriesEditor.BBarPenClick(Sender: TObject);
  132. begin
  133.   EditChartPen(Self,Bar.BarPen);
  134. end;
  135.  
  136. procedure TBarSeriesEditor.BBarBrushClick(Sender: TObject);
  137. begin
  138.   EditChartBrush(Self,Bar.BarBrush);
  139. end;
  140.  
  141. procedure TBarSeriesEditor.RGMultiBarClick(Sender: TObject);
  142. begin
  143.   if not CreatingForm then
  144.      Bar.MultiBar:=TMultiBar(RGMultiBar.ItemIndex);
  145. end;
  146.  
  147. procedure TBarSeriesEditor.CBColorEachClick(Sender: TObject);
  148. begin
  149.   if not CreatingForm then
  150.   begin
  151.     Bar.ColorEachPoint:=CBColorEach.Checked;
  152.     RefreshShape;
  153.   end;
  154. end;
  155.  
  156. procedure TBarSeriesEditor.BBarColorClick(Sender: TObject);
  157. begin
  158.   With Bar do SeriesColor:=EditColor(Self,SeriesColor);
  159.   CBColorEach.Checked:=False;
  160.   RefreshShape;
  161. end;
  162.  
  163. procedure TBarSeriesEditor.CBDarkBarClick(Sender: TObject);
  164. begin
  165.   if not CreatingForm then Bar.Dark3D:=CBDarkBar.Checked;
  166. end;
  167.  
  168. procedure TBarSeriesEditor.CBBarSideMarginsClick(Sender: TObject);
  169. begin
  170.   if not CreatingForm then
  171.      Bar.SideMargins:=CBBarSideMargins.Checked;
  172. end;
  173.  
  174. procedure TBarSeriesEditor.SEBarOffsetChange(Sender: TObject);
  175. begin
  176.   if not CreatingForm then Bar.OffsetPercent:=UDBarOffset.Position;
  177. end;
  178.  
  179. procedure TBarSeriesEditor.SHBarColorMouseUp(Sender: TObject;
  180.   Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
  181. begin
  182.   BBarColorClick(Self);
  183. end;
  184.  
  185. procedure TBarSeriesEditor.CBMarksAutoPositionClick(Sender: TObject);
  186. begin
  187.   Bar.AutoMarkPosition:=CBMarksAutoPosition.Checked;
  188. end;
  189.  
  190. procedure TBarSeriesEditor.FormCreate(Sender: TObject);
  191. begin
  192.   CreatingForm:=True;
  193. end;
  194.  
  195. initialization
  196.   RegisterClass(TBarSeriesEditor);
  197. end.
  198.