mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-26 10:39:18 +02:00
147 lines
4.3 KiB
ObjectPascal
147 lines
4.3 KiB
ObjectPascal
{ $Id$ }
|
|
{ ----------------------------------------------
|
|
watchproperydlg.pp - property editor for
|
|
watches
|
|
----------------------------------------------
|
|
|
|
@created(Fri Dec 14st WET 2001)
|
|
@lastmod($Date$)
|
|
@author(Shane Miller)
|
|
@author(Marc Weustink <marc@@dommelstein.net>)
|
|
|
|
This unit contains the watch property dialog.
|
|
|
|
|
|
***************************************************************************
|
|
* *
|
|
* This source is free software; you can redistribute it and/or modify *
|
|
* it under the terms of the GNU General Public License as published by *
|
|
* the Free Software Foundation; either version 2 of the License, or *
|
|
* (at your option) any later version. *
|
|
* *
|
|
* This code is distributed in the hope that it will be useful, but *
|
|
* WITHOUT ANY WARRANTY; without even the implied warranty of *
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
|
|
* General Public License for more details. *
|
|
* *
|
|
* A copy of the GNU General Public License is available on the World *
|
|
* Wide Web at <http://www.gnu.org/copyleft/gpl.html>. You can also *
|
|
* obtain it by writing to the Free Software Foundation, *
|
|
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
|
|
* *
|
|
***************************************************************************
|
|
}
|
|
|
|
unit WatchPropertyDlg;
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
interface
|
|
|
|
uses
|
|
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, LResources, StdCtrls,
|
|
Buttons, Extctrls, Menus,
|
|
IDEContextHelpEdit, Debugger, BaseDebugManager, ButtonPanel;
|
|
|
|
type
|
|
|
|
{ TWatchPropertyDlg }
|
|
|
|
TWatchPropertyDlg = class(TForm)
|
|
ButtonPanel: TButtonPanel;
|
|
lblExpression: TLabel;
|
|
lblRepCount: TLabel;
|
|
lblDigits: TLabel;
|
|
chkEnabled: TCHeckbox;
|
|
chkAllowFunc: TCheckbox;
|
|
rgStyle: TRadioGroup;
|
|
txtExpression: TEdit;
|
|
txtRepCount: TEdit;
|
|
txtDigits: TEdit;
|
|
procedure btnHelpClick(Sender: TObject);
|
|
procedure btnOKClick(Sender: TObject);
|
|
private
|
|
FWatch: TIDEWatch;
|
|
public
|
|
constructor Create(AOWner: TComponent; const AWatch: TIDEWatch); overload;
|
|
destructor Destroy; override;
|
|
end;
|
|
|
|
implementation
|
|
uses
|
|
LazarusIDEStrConsts;
|
|
|
|
{ TWatchPropertyDlg }
|
|
|
|
procedure TWatchPropertyDlg.btnOKClick(Sender: TObject);
|
|
begin
|
|
if FWatch = nil
|
|
then begin
|
|
FWatch := DebugBoss.Watches.Add(txtExpression.Text);
|
|
end
|
|
else begin
|
|
FWatch.Expression := txtExpression.Text;
|
|
end;
|
|
|
|
FWatch.Enabled := chkEnabled.Checked;
|
|
end;
|
|
|
|
procedure TWatchPropertyDlg.btnHelpClick(Sender: TObject);
|
|
begin
|
|
ShowContextHelpForIDE(Self);
|
|
end;
|
|
|
|
constructor TWatchPropertyDlg.Create(AOwner: TComponent; const AWatch: TIDEWatch);
|
|
begin
|
|
FWatch := AWatch;
|
|
inherited Create(AOwner);
|
|
if FWatch = nil
|
|
then begin
|
|
chkEnabled.Checked := True;
|
|
end
|
|
else begin
|
|
txtExpression.Text := FWatch.Expression;
|
|
chkEnabled.Checked := FWatch.Enabled;
|
|
end;
|
|
|
|
lblRepCount.Enabled := False;
|
|
txtRepCount.Enabled := False;
|
|
lblDigits.Enabled := False;
|
|
txtDigits.Enabled := False;
|
|
chkAllowFunc.Enabled := False;
|
|
rgStyle.Enabled := False;
|
|
|
|
Caption:= lisWatchPropert;
|
|
lblExpression.Caption:= lisExpression;
|
|
lblRepCount.Caption:= lisRepeatCount;
|
|
lblDigits.Caption:= lisDigits;
|
|
chkEnabled.Caption:= lisEnabled;
|
|
chkAllowFunc.Caption:= lisAllowFunctio;
|
|
rgStyle.Caption:= lisStyle;
|
|
rgStyle.Items[0]:= lisCharacter;
|
|
rgStyle.Items[1]:= lisString;
|
|
rgStyle.Items[2]:= lisDecimal;
|
|
rgStyle.Items[3]:= lisHexadecimal;
|
|
rgStyle.Items[4]:= lisFloatingPoin;
|
|
rgStyle.Items[5]:= lisPointer;
|
|
rgStyle.Items[6]:= lisRecordStruct;
|
|
rgStyle.Items[7]:= dlgAssemblerDefault;
|
|
rgStyle.Items[8]:= lisMemoryDump;
|
|
|
|
ButtonPanel.OKButton.OnClick := @btnOKClick;
|
|
ButtonPanel.HelpButton.OnClick := @btnHelpClick;
|
|
end;
|
|
|
|
destructor TWatchPropertyDlg.destroy;
|
|
begin
|
|
inherited;
|
|
end;
|
|
|
|
initialization
|
|
{$I watchpropertydlg.lrs}
|
|
|
|
|
|
|
|
end.
|
|
|