📄 iscopecomponenteditor.pas
字号:
{*******************************************************}
{ }
{ TiPipeJointComponentEditor }
{ }
{ Copyright (c) 1997,2003 Iocomp Software }
{ }
{*******************************************************}
{$I iInclude.inc}
{$ifdef iVCL}unit iScopeComponentEditor;{$endif}
{$ifdef iCLX}unit QiScopeComponentEditor;{$endif}
interface
uses
{$I iIncludeUsesForms.inc}
{$IFDEF iVCL} iComponentEditorForm, Printers, iTypes, StdCtrls, ExtCtrls, Controls, ComCtrls, Classes, iScope,{$ENDIF}
{$IFDEF iCLX}QiComponentEditorForm, QPrinters, QiTypes, QStdCtrls, QExtCtrls, QControls, QComCtrls, Classes, QiScope,{$ENDIF}
{$IFDEF iVCL} iComponentEditorThemePanel, iComponentEditorButtonPanel, iEditorBasicComponents, iAboutPanel, iSpinSelector, iComponent, iVCLComponent, iScopeChannel,
iRadioGroup, iCustomComponent, iCheckBox;{$ENDIF}
{$IFDEF iCLX}QiComponentEditorThemePanel, QiComponentEditorButtonPanel, QiEditorBasicComponents, QiAboutPanel, QiSpinSelector, QiComponent, QiCLXComponent, QiScopeChannel;{$ENDIF}
type
TiScopeComponentEditorForm = class(TiComponentEditorForm)
PageControl: TiComponentEditorPageControl;
ControlTabSheet: TTabSheet;
AboutTabSheet: TTabSheet;
iComponentEditorButtonPanel1: TiComponentEditorButtonPanel;
iAboutPanel1: TiAboutPanel;
ChannelsTabSheet: TTabSheet;
TimeBaseTabSheet: TTabSheet;
TriggerTabSheet: TTabSheet;
Label12: TLabel;
Label13: TLabel;
TriggerLevelSpinSelector: TiSpinSelector;
TriggerSourceSpinSelector: TiSpinSelector;
TriggerPositiveSlopeCheckBox: TiComponentEditorCheckBox;
TriggerAutoCheckBox: TiComponentEditorCheckBox;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
TimeBaseSecPerDivSpinSelector: TiSpinSelector;
TimeBasePositionSpinSelector: TiSpinSelector;
TimeBasePreCaptureSpinSelector: TiSpinSelector;
TimeBasePostCaptureSpinSelector: TiSpinSelector;
iChannelListBox: TiComponentEditorListBox;
iChannelAddButton: TButton;
ChannelRemoveButton: TButton;
ChannelPageControl: TiComponentEditorPageControl;
ChannelGeneralTabSheet: TTabSheet;
ControlPageControl: TiComponentEditorPageControl;
ControlGeneralTabSheet: TTabSheet;
Label76: TLabel;
UpdateFrameRateUpDown: TiUpDown;
Label2: TLabel;
UpdateFrameRateEdit: TiComponentEditorEdit;
AutoFrameRateCheckBox: TiComponentEditorCheckBox;
SamplesPerSecondEdit: TiComponentEditorEdit;
ControlPrintTabSheet: TTabSheet;
Label175: TLabel;
PrinterMarginGroupBox: TGroupBox;
PrintMarginLeftEdit: TiComponentEditorEdit;
PrintMarginTopEdit: TiComponentEditorEdit;
PrintMarginBottomEdit: TiComponentEditorEdit;
PrintMarginRightEdit: TiComponentEditorEdit;
PrintOrientationRadioGroup: TiComponentEditorRadioGroup;
PrintShowDialogCheckBox: TiComponentEditorCheckBox;
PrintDocumentNameEdit: TiComponentEditorEdit;
HideControlPanelsCheckBox: TiComponentEditorCheckBox;
Label4: TLabel;
Label6: TLabel;
Label208: TLabel;
Label7: TLabel;
Label3: TLabel;
ChannelColorPicker: TiComponentEditorColorPicker;
ChannelTitleEdit: TiComponentEditorEdit;
ChannelTraceGroupBox: TGroupBox;
Label5: TLabel;
ChannelTraceLineWidthUpDown: TiUpDown;
ChannelTraceLineWidthEdit: TiComponentEditorEdit;
ChannelTraceVisibleCheckBox: TiComponentEditorCheckBox;
ChannelVoltsPerDivSpinSelector: TiSpinSelector;
ChannelPositionSpinSelector: TiSpinSelector;
ChannelCouplingSpinSelector: TiSpinSelector;
ChannelRefLineShowCheckBox: TiComponentEditorCheckBox;
ChannelScalerGroupBox: TiComponentEditorGroupBox;
Label14: TLabel;
Label15: TLabel;
ChannelScalerMultiplierEdit: TiComponentEditorEdit;
ChannelScalerOffsetEdit: TiComponentEditorEdit;
DisplayTabSheet: TTabSheet;
Label1: TLabel;
DisplayGridColorPicker: TiComponentEditorColorPicker;
DisplayTextShowCheckBox: TiComponentEditorCheckBox;
DisplayHorzScrollShowCheckBox: TiComponentEditorCheckBox;
procedure iChannelListBoxClick(Sender: TObject);
procedure iChannelListBoxGetData(const Index: Integer; var DrawColorBox: Boolean; var AColor: TColor; var AText: String);
procedure ChannelChange(Sender: TObject);
procedure iChannelAddButtonClick(Sender: TObject);
procedure ChannelRemoveButtonClick(Sender: TObject);
private
FLastChannelIndex : Integer;
procedure ClearAllChannels;
procedure UpdateChannelEdit;
procedure ReloadTriggerChannelList;
protected
procedure CreateThemeInstance; override;
procedure CopyPropertiesToForm (Component: TWinControl); override;
procedure CopyPropertiesToComponent(Component: TWinControl); override;
end;
var
iScopeComponentEditorForm: TiScopeComponentEditorForm;
implementation
type
TiScopeAccess = class(TiScope)end;
{$R *.dfm}
//****************************************************************************************************************************************************
procedure TiScopeComponentEditorForm.CreateThemeInstance;
begin
end;
//****************************************************************************************************************************************************
procedure TiScopeComponentEditorForm.CopyPropertiesToForm(Component: TWinControl);
var
x : Integer;
iScope : TiScope;
iScopeChannel : TiScopeChannel;
begin
iScope := Component as TiScope;
ChannelVoltsPerDivSpinSelector.AssignItems(TiScopeAccess(iScope).PanelChannels.VoltageSelector);
ChannelPositionSpinSelector.AssignItems (TiScopeAccess(iScope).PanelChannels.PositionSelector);
ChannelCouplingSpinSelector.AssignItems (TiScopeAccess(iScope).PanelChannels.CouplingSelector);
TimeBaseSecPerDivSpinSelector.AssignItems (TiScopeAccess(iScope).PanelTimeBase.SecPerDivSelector);
TimeBasePositionSpinSelector.AssignItems (TiScopeAccess(iScope).PanelTimeBase.PositionSelector);
TimeBasePreCaptureSpinSelector.AssignItems (TiScopeAccess(iScope).PanelTimeBase.PreCaptureSelector);
TimeBasePostCaptureSpinSelector.AssignItems(TiScopeAccess(iScope).PanelTimeBase.PostCaptureSelector);
TriggerLevelSpinSelector.AssignItems (TiScopeAccess(iScope).PanelTrigger.LevelSelector);
TriggerSourceSpinSelector.AssignItems(TiScopeAccess(iScope).PanelTrigger.SourceSelector);
//--------------------------------------------------------------------------------------------------
SamplesPerSecondEdit.AsInteger := iScope.SamplesPerSecond;
HideControlPanelsCheckBox.AsBoolean := iScope.HideControlPanels;
UpdateFrameRateEdit.AsInteger := iScope.UpdateFrameRate;
AutoFrameRateCheckBox.AsBoolean := iScope.AutoFrameRate;
PrintOrientationRadioGroup.AsInteger := Ord(iScope.PrintOrientation);
PrintShowDialogCheckBox.AsBoolean := iScope.PrintShowDialog;
PrintMarginLeftEdit.AsFloat := iScope.PrintMarginLeft;
PrintMarginTopEdit.AsFloat := iScope.PrintMarginTop;
PrintMarginRightEdit.AsFloat := iScope.PrintMarginRight;
PrintMarginBottomEdit.AsFloat := iScope.PrintMarginBottom;
PrintDocumentNameEdit.AsString := iScope.PrintDocumentName;
DisplayTextShowCheckBox.AsBoolean := iScope.Display.TextShow;
DisplayHorzScrollShowCheckBox.AsBoolean := iScope.Display.HorzScrollShow;
DisplayGridColorPicker.Color := iScope.Display.GridColor;
TimeBaseSecPerDivSpinSelector.Value := iScope.TimeBase.SecPerDiv;
TimeBasePositionSpinSelector.Value := iScope.TimeBase.Position;
TimeBasePreCaptureSpinSelector.Value := iScope.TimeBase.PreCapture;
TimeBasePostCaptureSpinSelector.Value := iScope.TimeBase.PostCapture;
TriggerLevelSpinSelector.Value := iScope.Trigger.Level;
TriggerSourceSpinSelector.Value := iScope.Trigger.SourceIndex;
TriggerPositiveSlopeCheckBox.AsBoolean := iScope.Trigger.PositiveSlope;
TriggerAutoCheckBox.AsBoolean := iScope.Trigger.Auto;
ClearAllChannels;
for x := 0 to iScope.ChannelCount -1 do
begin
iScopeChannel := TiScopeChannel.Create;
iChannelListBox.Items.AddObject('', iScopeChannel);
iScopeChannel.VoltsPerDivision := iScope.Channel[x].VoltsPerDivision;
iScopeChannel.Position := iScope.Channel[x].Position;
iScopeChannel.Coupling := iScope.Channel[x].Coupling;
iScopeChannel.TitleText := iScope.Channel[x].TitleText;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -