home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 25: Programming / pc_actual_25.iso / Delphi / TeeChartPro / TeeChart5Delphi5Eval.exe / %MAINDIR% / Examples / Features / TeePageNumEdit.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  2001-09-10  |  3.3 KB  |  134 lines

  1. {**********************************************}
  2. {   TeeChart PageNum Tool Editor               }
  3. {   Copyright (c) 2000 by David Berneda        }
  4. {**********************************************}
  5. {$I teedefs.inc}
  6. unit TeePageNumEdit;
  7.  
  8. interface
  9.  
  10. uses
  11.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  12.   TeePageNumTool, StdCtrls, ComCtrls;
  13.  
  14. type
  15.   TPageNumToolEdit = class(TForm)
  16.     PageControl1: TPageControl;
  17.     TabSheet1: TTabSheet;
  18.     Label1: TLabel;
  19.     EFormat: TEdit;
  20.     GroupBox1: TGroupBox;
  21.     Label4: TLabel;
  22.     Label5: TLabel;
  23.     ECustLeft: TEdit;
  24.     UDLeft: TUpDown;
  25.     ECustTop: TEdit;
  26.     UDTop: TUpDown;
  27.     CBCustPos: TCheckBox;
  28.     CBPos: TComboBox;
  29.     Label2: TLabel;
  30.     procedure FormShow(Sender: TObject);
  31.     procedure EFormatChange(Sender: TObject);
  32.     procedure CBPosChange(Sender: TObject);
  33.     procedure ECustLeftChange(Sender: TObject);
  34.     procedure CBCustPosClick(Sender: TObject);
  35.     procedure ECustTopChange(Sender: TObject);
  36.     procedure FormCreate(Sender: TObject);
  37.   private
  38.     { Private declarations }
  39.     CreatingForm : Boolean;
  40.     Tool         : TPageNumTool;
  41.     Function CanChangePos:Boolean;
  42.     Procedure EnableCustomPosition;
  43.   public
  44.     { Public declarations }
  45.   end;
  46.  
  47. implementation
  48.  
  49. {$R *.DFM}
  50.  
  51. Uses TeeCustomShapeEditor;
  52.  
  53. procedure TPageNumToolEdit.FormShow(Sender: TObject);
  54. begin
  55.   Tool:=TPageNumTool(Tag);
  56.   InsertTeeObjectForm(PageControl1,Tool.Shape).RefreshControls(Tool.Shape);
  57.   With Tool do
  58.   begin
  59.     EFormat.Text:=Format;
  60.     CBPos.ItemIndex:=Ord(Position);
  61.     With Shape do
  62.     begin
  63.       CBCustPos.Checked      :=CustomPosition;
  64.       UDLeft.Position        :=Left;
  65.       ECustLeft.Text         :=IntToStr(Left);
  66.       UDTop.Position         :=Top;
  67.       ECustTop.Text          :=IntToStr(Top);
  68.     end;
  69.   end;
  70.   EnableCustomPosition;
  71.   CreatingForm:=False;
  72. end;
  73.  
  74. procedure TPageNumToolEdit.EFormatChange(Sender: TObject);
  75. begin
  76.   Tool.Format:=EFormat.Text;
  77. end;
  78.  
  79. procedure TPageNumToolEdit.CBPosChange(Sender: TObject);
  80. begin
  81.   Tool.Position:=TPageNumPosition(CBPos.ItemIndex);
  82.   Tool.Shape.CustomPosition:=False;
  83.   EnableCustomPosition;
  84. end;
  85.  
  86. procedure TPageNumToolEdit.ECustLeftChange(Sender: TObject);
  87. begin
  88.   if CanChangePos then Tool.Shape.Left:=UDLeft.Position
  89. end;
  90.  
  91. procedure TPageNumToolEdit.CBCustPosClick(Sender: TObject);
  92. begin
  93.   Tool.Shape.CustomPosition:=CBCustPos.Checked;
  94.   EnableCustomPosition;
  95. end;
  96.  
  97. procedure TPageNumToolEdit.ECustTopChange(Sender: TObject);
  98. begin
  99.   if CanChangePos then Tool.Shape.Top:=UDTop.Position
  100. end;
  101.  
  102. Function TPageNumToolEdit.CanChangePos:Boolean;
  103. begin
  104.   result:=(not CreatingForm) and (Tool.Shape.CustomPosition);
  105. end;
  106.  
  107. procedure TPageNumToolEdit.FormCreate(Sender: TObject);
  108. begin
  109.   CreatingForm:=True;
  110. end;
  111.  
  112. Procedure TPageNumToolEdit.EnableCustomPosition;
  113. var tmp : Boolean;
  114.     Old : Boolean;
  115. begin
  116.   Old:=CreatingForm;
  117.   CreatingForm:=True;
  118.   tmp:=Tool.Shape.CustomPosition;
  119.   ECustLeft.Enabled :=tmp;
  120.   ECustTop.Enabled  :=tmp;
  121.   UDLeft.Enabled    :=tmp;
  122.   UDTop.Enabled     :=tmp;
  123.   if tmp then
  124.   begin
  125.     UDLeft.Position :=Tool.Shape.Left;
  126.     UDTop.Position  :=Tool.Shape.Top;
  127.   end;
  128.   CreatingForm:=Old;
  129. end;
  130.  
  131. initialization
  132.   RegisterClass(TPageNumToolEdit);
  133. end.
  134.