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

  1. {**********************************************}
  2. {   TGrid3DSeries Editor Dialog                }
  3. {   Copyright (c) 1996-98 by David Berneda     }
  4. {**********************************************}
  5. {$I teedefs.inc}
  6. unit TeeGriEd;
  7.  
  8. interface
  9.  
  10. uses
  11.   SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  12.   Forms, Dialogs, StdCtrls, Buttons, ExtCtrls, Chart, TeeSurfa
  13.   {$IFDEF D1}
  14.   , TeeUpDow, Spin
  15.   {$ELSE}
  16.   , ComCtrls
  17.   {$ENDIF};
  18.  
  19. type
  20.   TGrid3DSeriesEditor = class(TForm)
  21.     GroupBox1: TGroupBox;
  22.     RGColor: TRadioButton;
  23.     RGRange: TRadioButton;
  24.     RGPalette: TRadioButton;
  25.     Shape1: TShape;
  26.     Label2: TLabel;
  27.     Shape2: TShape;
  28.     Label3: TLabel;
  29.     Shape3: TShape;
  30.     Label4: TLabel;
  31.     SEPalette: TEdit;
  32.     UDPalette: TUpDown;
  33.     GroupBox2: TGroupBox;
  34.     SEXGrid: TEdit;
  35.     UDXGrid: TUpDown;
  36.     SEZGrid: TEdit;
  37.     UDZGrid: TUpDown;
  38.     Label1: TLabel;
  39.     Label5: TLabel;
  40.     Label6: TLabel;
  41.     EDepth: TEdit;
  42.     UDDepth: TUpDown;
  43.     procedure FormShow(Sender: TObject);
  44.     procedure SEZGridChange(Sender: TObject);
  45.     procedure Shape1MouseUp(Sender: TObject; Button: TMouseButton;
  46.       Shift: TShiftState; X, Y: Integer);
  47.     procedure Shape2MouseUp(Sender: TObject; Button: TMouseButton;
  48.       Shift: TShiftState; X, Y: Integer);
  49.     procedure Shape3MouseUp(Sender: TObject; Button: TMouseButton;
  50.       Shift: TShiftState; X, Y: Integer);
  51.     procedure SEPaletteChange(Sender: TObject);
  52.     procedure FormCreate(Sender: TObject);
  53.     procedure RGColorClick(Sender: TObject);
  54.     procedure RGRangeClick(Sender: TObject);
  55.     procedure RGPaletteClick(Sender: TObject);
  56.     procedure EDepthChange(Sender: TObject);
  57.   private
  58.     { Private declarations }
  59.     CreatingForm : Boolean;
  60.     Grid3D : TCustom3DGridSeries;
  61.     Procedure RefreshShapes;
  62.   public
  63.     { Public declarations }
  64.   end;
  65.  
  66. Procedure TeeInsertGrid3DForm(AParent:TControl; AGrid3D:TCustom3DGridSeries);
  67.  
  68. implementation
  69.  
  70. {$R *.DFM}
  71. Uses PenDlg,BrushDlg,TeeProcs,TeeProco
  72.      {$IFDEF D1}
  73.      ,IEdit16
  74.      {$ELSE}
  75.      ,IEdiSeri
  76.      {$ENDIF};
  77.  
  78. Procedure TeeInsertGrid3DForm(AParent:TControl; AGrid3D:TCustom3DGridSeries);
  79. begin
  80.   {$IFDEF D1}
  81.   (GetOwnerForm(AParent) as TChartEditForm).InsertSeriesForm( TGrid3DSeriesEditor,
  82.                                                         1,TeeMsg_Grid3D,
  83.                                                         AGrid3D);
  84.   {$ELSE}
  85.   (AParent.Owner as TFormTeeSeries).InsertSeriesForm( TGrid3DSeriesEditor,
  86.                                                      1,TeeMsg_Grid3D,
  87.                                                      AGrid3D);
  88.   {$ENDIF}
  89. end;
  90.  
  91. procedure TGrid3DSeriesEditor.FormShow(Sender: TObject);
  92. begin
  93.   Screen.Cursor:=crDefault;
  94.   Grid3D:=TCustom3DGridSeries(Tag);
  95.   With Grid3D do
  96.   begin
  97.     UDXGrid.Position:=NumXValues;
  98.     UDZGrid.Position:=NumZValues;
  99.     EnableControls(CanCreateValues,[UDXGrid,UDZGrid,SEXGrid,SEZGrid]);
  100.  
  101.     UDDepth.Position:=TimesZOrder;
  102.     UDPalette.Position:=PaletteSteps;
  103.  
  104.     RGRange.Checked:=UseColorRange;
  105.     RGPalette.Checked:=UsePalette;
  106.     RGColor.Checked:=(not UseColorRange) and (not UsePalette);
  107.     RefreshShapes;
  108.   end;
  109.   CreatingForm:=False;
  110. end;
  111.  
  112. Procedure TGrid3DSeriesEditor.RefreshShapes;
  113. Begin
  114.   With Grid3D do
  115.   Begin
  116.     Shape1.Brush.Color:=SeriesColor;
  117.     Shape2.Brush.Color:=StartColor;
  118.     Shape3.Brush.Color:=EndColor;
  119.   end;
  120. end;
  121.  
  122. procedure TGrid3DSeriesEditor.SEZGridChange(Sender: TObject);
  123. begin
  124.   if not CreatingForm then
  125.      Grid3D.CreateValues(UDXGrid.Position,UDZGrid.Position);
  126. end;
  127.  
  128. procedure TGrid3DSeriesEditor.Shape1MouseUp(Sender: TObject;
  129.   Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
  130. begin
  131.   With Grid3D do SeriesColor:=EditColor(Self,SeriesColor);
  132.   RefreshShapes;
  133. end;
  134.  
  135. procedure TGrid3DSeriesEditor.Shape2MouseUp(Sender: TObject;
  136.   Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
  137. begin
  138.   With Grid3D do StartColor:=EditColor(Self,StartColor);
  139.   RefreshShapes;
  140. end;
  141.  
  142. procedure TGrid3DSeriesEditor.Shape3MouseUp(Sender: TObject;
  143.   Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
  144. begin
  145.   With Grid3D do EndColor:=EditColor(Self,EndColor);
  146.   RefreshShapes;
  147. end;
  148.  
  149. procedure TGrid3DSeriesEditor.SEPaletteChange(Sender: TObject);
  150. begin
  151.   if not CreatingForm then
  152.   if SEPalette.Text<>'' then
  153.   begin
  154.     Grid3D.PaletteSteps:=UDPalette.Position;
  155.     Grid3D.Repaint;
  156.   end;
  157. end;
  158.  
  159. procedure TGrid3DSeriesEditor.FormCreate(Sender: TObject);
  160. begin
  161.   CreatingForm:=True;
  162.   Shape1.Cursor:=crTeeHand;
  163.   Shape2.Cursor:=crTeeHand;
  164.   Shape3.Cursor:=crTeeHand;
  165. end;
  166.  
  167. procedure TGrid3DSeriesEditor.RGColorClick(Sender: TObject);
  168. begin
  169.   With Grid3D do
  170.   begin
  171.     ColorEachPoint:=True;
  172.     ColorEachPoint:=False;
  173.     UseColorRange:=False;
  174.     UsePalette:=False;
  175.   end;
  176. end;
  177.  
  178. procedure TGrid3DSeriesEditor.RGRangeClick(Sender: TObject);
  179. begin
  180.   Grid3D.UseColorRange:=True;
  181.   Grid3D.UsePalette:=False;
  182. end;
  183.  
  184. procedure TGrid3DSeriesEditor.RGPaletteClick(Sender: TObject);
  185. begin
  186.   Grid3D.UseColorRange:=False;
  187.   Grid3D.UsePalette:=True;
  188. end;
  189.  
  190. procedure TGrid3DSeriesEditor.EDepthChange(Sender: TObject);
  191. begin
  192.   if not CreatingForm then Grid3D.TimesZOrder:=UDDepth.Position;
  193. end;
  194.  
  195. initialization
  196.   RegisterClass(TGrid3DSeriesEditor);
  197. end.
  198.