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

  1. {**********************************************}
  2. {  TCustomChart (or derived) Editor Dialog     }
  3. {  Copyright (c) 1996-98 by David Berneda      }
  4. {**********************************************}
  5. {$I teedefs.inc}
  6. unit IEdiLege;
  7.  
  8. interface
  9.  
  10. uses
  11.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  12.   StdCtrls, Chart, ComCtrls;
  13.  
  14. type
  15.   TFormTeeLegend = class(TForm)
  16.     CBShow: TCheckBox;
  17.     BColor: TButton;
  18.     BFont: TButton;
  19.     BFrame: TButton;
  20.     CBResizeChart: TCheckBox;
  21.     CBInverted: TCheckBox;
  22.     CBLegendStyle: TComboBox;
  23.     CBLegStyle: TComboBox;
  24.     L12: TLabel;
  25.     L7: TLabel;
  26.     L10: TLabel;
  27.     L11: TLabel;
  28.     SETopPos: TEdit;
  29.     SEColWi: TEdit;
  30.     BDivLines: TButton;
  31.     GB1: TGroupBox;
  32.     L25: TLabel;
  33.     BShadow: TButton;
  34.     SEShadowSize: TEdit;
  35.     GB7: TGroupBox;
  36.     L1: TLabel;
  37.     RBLeft: TRadioButton;
  38.     RBRight: TRadioButton;
  39.     RBBottom: TRadioButton;
  40.     RBTop: TRadioButton;
  41.     SEMargin: TEdit;
  42.     UDMargin: TUpDown;
  43.     UDTopPos: TUpDown;
  44.     UDColWi: TUpDown;
  45.     UDShadowSize: TUpDown;
  46.     procedure SEMarginChange(Sender: TObject);
  47.     procedure CBLegendStyleChange(Sender: TObject);
  48.     procedure SEColWiChange(Sender: TObject);
  49.     procedure SETopPosChange(Sender: TObject);
  50.     procedure BFontClick(Sender: TObject);
  51.     procedure BColorClick(Sender: TObject);
  52.     procedure CBLegStyleChange(Sender: TObject);
  53.     procedure CBShowClick(Sender: TObject);
  54.     procedure BFrameClick(Sender: TObject);
  55.     procedure CBResizeChartClick(Sender: TObject);
  56.     procedure CBInvertedClick(Sender: TObject);
  57.     procedure BShadowClick(Sender: TObject);
  58.     procedure SEShadowSizeChange(Sender: TObject);
  59.     procedure FormShow(Sender: TObject);
  60.     procedure RBTopClick(Sender: TObject);
  61.     procedure RBLeftClick(Sender: TObject);
  62.     procedure RBRightClick(Sender: TObject);
  63.     procedure RBBottomClick(Sender: TObject);
  64.     procedure BDivLinesClick(Sender: TObject);
  65.     procedure FormCreate(Sender: TObject);
  66.   private
  67.     { Private declarations }
  68.     CreatingForm : Boolean;
  69.     Procedure EnableLegendMarginControls;
  70.   public
  71.     { Public declarations }
  72.     TheLegend:TChartLegend;
  73.     Constructor CreateLegend(Owner:TComponent; ALegend:TChartLegend);
  74.   end;
  75.  
  76. implementation
  77.  
  78. {$R *.DFM}
  79. Uses Teengine, PenDlg, BrushDlg;
  80.  
  81. Constructor TFormTeeLegend.CreateLegend(Owner:TComponent; ALegend:TChartLegend);
  82. begin
  83.   inherited Create(Owner);
  84.   TheLegend:=ALegend;
  85. end;
  86.  
  87. procedure TFormTeeLegend.SEMarginChange(Sender: TObject);
  88. begin
  89.   if not CreatingForm then
  90.   With TheLegend do
  91.   if Vertical then HorizMargin:=UDMargin.Position
  92.               else VertMargin:=UDMargin.Position;
  93. end;
  94.  
  95. procedure TFormTeeLegend.CBLegendStyleChange(Sender: TObject);
  96. begin
  97.   TheLegend.LegendStyle:=TLegendStyle(CBLegendStyle.ItemIndex);
  98. end;
  99.  
  100. procedure TFormTeeLegend.SEColWiChange(Sender: TObject);
  101. begin
  102.   if not CreatingForm then TheLegend.ColorWidth:=UDColWi.Position;
  103. end;
  104.  
  105. procedure TFormTeeLegend.SETopPosChange(Sender: TObject);
  106. begin
  107.   if not CreatingForm then TheLegend.TopPos:=UDTopPos.Position;
  108. end;
  109.  
  110. procedure TFormTeeLegend.BFontClick(Sender: TObject);
  111. begin
  112.   With TheLegend do Font:=InternalEditFont(Self,Font);
  113. end;
  114.  
  115. procedure TFormTeeLegend.BColorClick(Sender: TObject);
  116. begin
  117.   with TheLegend do Color:=EditColor(Self,Color);
  118. end;
  119.  
  120. procedure TFormTeeLegend.CBLegStyleChange(Sender: TObject);
  121. begin
  122.   TheLegend.TextStyle:=TLegendTextStyle(CBLegStyle.ItemIndex);
  123. end;
  124.  
  125. procedure TFormTeeLegend.CBShowClick(Sender: TObject);
  126. begin
  127.   TheLegend.Visible:=CBShow.Checked;
  128. end;
  129.  
  130. procedure TFormTeeLegend.BFrameClick(Sender: TObject);
  131. begin
  132.   EditChartPen(Self,TheLegend.Frame);
  133. end;
  134.  
  135. procedure TFormTeeLegend.CBResizeChartClick(Sender: TObject);
  136. begin
  137.   TheLegend.ResizeChart:=CBResizeChart.Checked;
  138. end;
  139.  
  140. procedure TFormTeeLegend.CBInvertedClick(Sender: TObject);
  141. begin
  142.   TheLegend.Inverted:=CBInverted.Checked;
  143. end;
  144.  
  145. procedure TFormTeeLegend.BShadowClick(Sender: TObject);
  146. begin
  147.   with TheLegend do ShadowColor:=EditColor(Self,ShadowColor);
  148. end;
  149.  
  150. procedure TFormTeeLegend.SEShadowSizeChange(Sender: TObject);
  151. begin
  152.   if not CreatingForm then TheLegend.ShadowSize:=UDShadowSize.Position;
  153. end;
  154.  
  155. procedure TFormTeeLegend.FormShow(Sender: TObject);
  156. begin
  157.   With TheLegend do
  158.   begin
  159.     UDTopPos.Position      :=TopPos;
  160.     UDColWi.Position       :=ColorWidth;
  161.     UDShadowSize.Position  :=ShadowSize;
  162.     CBResizeChart.Checked  :=ResizeChart;
  163.     CBLegendStyle.ItemIndex:=Ord(LegendStyle);
  164.     CBLegStyle.ItemIndex   :=Ord(TextStyle);
  165.     CBShow.Checked      :=Visible;
  166.     Case Alignment of
  167.       laTop   : RBTop.Checked:=True;
  168.       laBottom: RBBottom.Checked:=True;
  169.       laLeft  : RBLeft.Checked:=True;
  170.       laRight : RBRight.Checked:=True;
  171.     end;
  172.     EnableLegendMarginControls;
  173.   end;
  174.   CreatingForm:=False;
  175. end;
  176.  
  177. procedure TFormTeeLegend.RBTopClick(Sender: TObject);
  178. begin
  179.   TheLegend.Alignment:=laTop;
  180.   EnableLegendMarginControls;
  181. end;
  182.  
  183. procedure TFormTeeLegend.RBLeftClick(Sender: TObject);
  184. begin
  185.   TheLegend.Alignment:=laLeft;
  186.   EnableLegendMarginControls;
  187. end;
  188.  
  189. procedure TFormTeeLegend.RBRightClick(Sender: TObject);
  190. begin
  191.   TheLegend.Alignment:=laRight;
  192.   EnableLegendMarginControls;
  193. end;
  194.  
  195. procedure TFormTeeLegend.RBBottomClick(Sender: TObject);
  196. begin
  197.   TheLegend.Alignment:=laBottom;
  198.   EnableLegendMarginControls;
  199. end;
  200.  
  201. procedure TFormTeeLegend.BDivLinesClick(Sender: TObject);
  202. begin
  203.   EditChartPen(Self,TheLegend.DividingLines);
  204. end;
  205.  
  206. Procedure TFormTeeLegend.EnableLegendMarginControls;
  207. begin
  208.   With TheLegend do
  209.   if Vertical then UDMargin.Position:=HorizMargin
  210.               else UDMargin.Position:=VertMargin;
  211. end;
  212.  
  213. procedure TFormTeeLegend.FormCreate(Sender: TObject);
  214. begin
  215.   CreatingForm:=True;
  216. end;
  217.  
  218. end.
  219.