File: StrEditD4.pas

package info (click to toggle)
mysql-query-browser 1.1.6-1sarge0
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 36,320 kB
  • ctags: 24,680
  • sloc: pascal: 203,479; xml: 136,561; ansic: 47,502; cpp: 28,926; sh: 12,433; objc: 4,823; java: 1,849; php: 1,485; python: 1,225; sql: 1,128; makefile: 872
file content (70 lines) | stat: -rw-r--r-- 1,518 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
unit StrEditD4;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ExtCtrls, ComCtrls, dsgnintf;

type
  TStrEditDlg = class(TForm)
    Bevel1: TBevel;
    btnOk: TButton;
    btnCancel: TButton;
    Editor: TRichEdit;
    StatusBar: TStatusBar;
    procedure EditorChange(Sender: TObject);
    procedure EditorKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
  	FModified:	Boolean;
  public
    { Public declarations }
  end;

  TStringListProperty = class(TClassProperty)
  public
    function GetAttributes: TPropertyAttributes; override;
    procedure Edit; override;
  end;
  
implementation

{$R *.DFM}

procedure TStrEditDlg.EditorChange(Sender: TObject);
begin
	if Sender = Editor then
  	FModified := True;
  StatusBar.SimpleText := Format ('%d lines.', [Editor.Lines.Count]);
end;

procedure TStrEditDlg.EditorKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
	if Key = VK_ESCAPE then
  	ModalResult := mrCancel;
end;

{ TStringListProperty }

procedure TStringListProperty.Edit;
begin
  with TStrEditDlg.Create(Application) do
  try
    Editor.Lines := TStrings(GetOrdValue);
    EditorChange (nil);
    FModified := False;
    ActiveControl := Editor;
    if ShowModal = mrOk then
    	SetOrdValue(LongInt(Editor.Lines));
  finally
    Free;
  end;
end;

function TStringListProperty.GetAttributes: TPropertyAttributes;
begin
  Result := inherited GetAttributes + [paDialog] - [paSubProperties];
end;

end.