EditorOptions/Mouse: Cleanup / Resize Grid

git-svn-id: trunk@20384 -
This commit is contained in:
martin 2009-06-03 22:29:33 +00:00
parent 8f78d9aa6a
commit 2000315a22
7 changed files with 196 additions and 142 deletions

View File

@ -5,8 +5,8 @@ inherited EditorMouseOptionsFrame: TEditorMouseOptionsFrame
ClientHeight = 415
ClientWidth = 610
Visible = False
DesignLeft = 421
DesignTop = 193
DesignLeft = 276
DesignTop = 195
object p2: TPanel[0]
Left = 0
Height = 378
@ -30,9 +30,13 @@ inherited EditorMouseOptionsFrame: TEditorMouseOptionsFrame
FixedCols = 0
Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRangeSelect, goColSizing, goRowSelect, goSmoothScroll]
RowCount = 1
ScrollBars = ssAutoVertical
TabOrder = 0
OnDblClick = UpdateButtonClick
OnHeaderSized = ActionGridHeaderSized
OnMouseDown = ActionGridMouseDown
OnMouseMove = ActionGridMouseMove
OnMouseUp = ActionGridMouseUp
OnResize = ActionGridResize
end
object ContextTree: TTreeView

View File

@ -3,7 +3,7 @@
LazarusResources.Add('TEditorMouseOptionsFrame','FORMDATA',[
'TPF0'#241#24'TEditorMouseOptionsFrame'#23'EditorMouseOptionsFrame'#6'Height'
+#3#159#1#5'Width'#3'b'#2#7'Anchors'#11#5'akTop'#0#12'ClientHeight'#3#159#1#11
+'ClientWidth'#3'b'#2#7'Visible'#8#10'DesignLeft'#3#165#1#9'DesignTop'#3#193#0
+'ClientWidth'#3'b'#2#7'Visible'#8#10'DesignLeft'#3#20#1#9'DesignTop'#3#195#0
+#0#242#2#0#6'TPanel'#2'p2'#4'Left'#2#0#6'Height'#3'z'#1#3'Top'#2#0#5'Width'#3
+'b'#2#5'Align'#7#8'alClient'#10'BevelOuter'#7#6'bvNone'#12'ClientHeight'#3'z'
+#1#11'ClientWidth'#3'b'#2#8'TabOrder'#2#0#0#11'TStringGrid'#10'ActionGrid'#24
@ -11,32 +11,34 @@ LazarusResources.Add('TEditorMouseOptionsFrame','FORMDATA',[
+#0#5'Width'#3#219#1#5'Align'#7#8'alClient'#8'AutoEdit'#8#8'ColCount'#2#8#14
+'ExtendedSelect'#8#9'FixedCols'#2#0#7'Options'#11#15'goFixedVertLine'#15'goF'
+'ixedHorzLine'#10'goVertLine'#10'goHorzLine'#13'goRangeSelect'#11'goColSizin'
+'g'#11'goRowSelect'#14'goSmoothScroll'#0#8'RowCount'#2#1#8'TabOrder'#2#0#10
+'OnDblClick'#7#17'UpdateButtonClick'#13'OnHeaderSized'#7#21'ActionGridHeader'
+'Sized'#8'OnResize'#7#16'ActionGridResize'#0#0#9'TTreeView'#11'ContextTree'#4
+'Left'#2#0#6'Height'#3'z'#1#3'Top'#2#0#5'Width'#3#130#0#5'Align'#7#6'alLeft'
+#10'AutoExpand'#9#20'Constraints.MinWidth'#2#25#17'DefaultItemHeight'#2#17#8
+'ReadOnly'#9#8'TabOrder'#2#1#8'OnChange'#7#17'ContextTreeChange'#7'Options'
+#11#13'tvoAutoExpand'#17'tvoAutoItemHeight'#16'tvoHideSelection'#21'tvoKeepC'
+'ollapsedNodes'#11'tvoReadOnly'#14'tvoShowButtons'#12'tvoShowLines'#11'tvoSh'
+'owRoot'#11'tvoToolTips'#0#0#0#9'TSplitter'#9'Splitter1'#4'Left'#3#130#0#6'H'
+'eight'#3'z'#1#3'Top'#2#0#5'Width'#2#5#7'MinSize'#2'd'#0#0#0#242#2#1#6'TPane'
+'l'#2'p3'#23'AnchorSideRight.Control'#7#2'p2'#20'AnchorSideRight.Side'#7#9'a'
+'srBottom'#24'AnchorSideBottom.Control'#7#2'p2'#21'AnchorSideBottom.Side'#7#9
+'asrBottom'#4'Left'#2#0#6'Height'#2'%'#3'Top'#3'z'#1#5'Width'#3'b'#2#5'Align'
+#7#8'alBottom'#8'AutoSize'#9#10'BevelOuter'#7#6'bvNone'#12'ClientHeight'#2'%'
+#11'ClientWidth'#3'b'#2#8'TabOrder'#2#1#0#7'TButton'#9'DelButton'#22'AnchorS'
+'ideLeft.Control'#7#2'p3'#21'AnchorSideTop.Control'#7#2'p3'#4'Left'#2#0#6'He'
+'ight'#2#25#3'Top'#2#6#5'Width'#2'O'#8'AutoSize'#9#17'BorderSpacing.Top'#2#6
+#7'Caption'#6#9'DelButton'#7'OnClick'#7#14'DelButtonClick'#8'TabOrder'#2#2#0
+#0#7'TButton'#12'AddNewButton'#21'AnchorSideTop.Control'#7#12'UpdateButton'
+#23'AnchorSideRight.Control'#7#2'p3'#20'AnchorSideRight.Side'#7#9'asrBottom'
+#4'Left'#3#246#1#6'Height'#2#25#3'Top'#2#6#5'Width'#2'l'#7'Anchors'#11#5'akT'
+'op'#7'akRight'#0#8'AutoSize'#9#7'Caption'#6#12'AddNewButton'#7'OnClick'#7#17
+'AddNewButtonClick'#8'TabOrder'#2#0#0#0#7'TButton'#12'UpdateButton'#21'Ancho'
+'rSideTop.Control'#7#2'p3'#23'AnchorSideRight.Control'#7#12'AddNewButton'#4
+'Left'#3#140#1#6'Height'#2#25#3'Top'#2#6#5'Width'#2'd'#7'Anchors'#11#5'akTop'
+#7'akRight'#0#8'AutoSize'#9#17'BorderSpacing.Top'#2#6#19'BorderSpacing.Right'
+#2#6#20'BorderSpacing.Bottom'#2#6#7'Caption'#6#12'UpdateButton'#7'OnClick'#7
+#17'UpdateButtonClick'#8'TabOrder'#2#1#0#0#0#0
+'g'#11'goRowSelect'#14'goSmoothScroll'#0#8'RowCount'#2#1#10'ScrollBars'#7#14
+'ssAutoVertical'#8'TabOrder'#2#0#10'OnDblClick'#7#17'UpdateButtonClick'#13'O'
+'nHeaderSized'#7#21'ActionGridHeaderSized'#11'OnMouseDown'#7#19'ActionGridMo'
+'useDown'#11'OnMouseMove'#7#19'ActionGridMouseMove'#9'OnMouseUp'#7#17'Action'
+'GridMouseUp'#8'OnResize'#7#16'ActionGridResize'#0#0#9'TTreeView'#11'Context'
+'Tree'#4'Left'#2#0#6'Height'#3'z'#1#3'Top'#2#0#5'Width'#3#130#0#5'Align'#7#6
+'alLeft'#10'AutoExpand'#9#20'Constraints.MinWidth'#2#25#17'DefaultItemHeight'
+#2#17#8'ReadOnly'#9#8'TabOrder'#2#1#8'OnChange'#7#17'ContextTreeChange'#7'Op'
+'tions'#11#13'tvoAutoExpand'#17'tvoAutoItemHeight'#16'tvoHideSelection'#21't'
+'voKeepCollapsedNodes'#11'tvoReadOnly'#14'tvoShowButtons'#12'tvoShowLines'#11
+'tvoShowRoot'#11'tvoToolTips'#0#0#0#9'TSplitter'#9'Splitter1'#4'Left'#3#130#0
+#6'Height'#3'z'#1#3'Top'#2#0#5'Width'#2#5#7'MinSize'#2'd'#0#0#0#242#2#1#6'TP'
+'anel'#2'p3'#23'AnchorSideRight.Control'#7#2'p2'#20'AnchorSideRight.Side'#7#9
+'asrBottom'#24'AnchorSideBottom.Control'#7#2'p2'#21'AnchorSideBottom.Side'#7
+#9'asrBottom'#4'Left'#2#0#6'Height'#2'%'#3'Top'#3'z'#1#5'Width'#3'b'#2#5'Ali'
+'gn'#7#8'alBottom'#8'AutoSize'#9#10'BevelOuter'#7#6'bvNone'#12'ClientHeight'
+#2'%'#11'ClientWidth'#3'b'#2#8'TabOrder'#2#1#0#7'TButton'#9'DelButton'#22'An'
+'chorSideLeft.Control'#7#2'p3'#21'AnchorSideTop.Control'#7#2'p3'#4'Left'#2#0
+#6'Height'#2#25#3'Top'#2#6#5'Width'#2'O'#8'AutoSize'#9#17'BorderSpacing.Top'
+#2#6#7'Caption'#6#9'DelButton'#7'OnClick'#7#14'DelButtonClick'#8'TabOrder'#2
+#2#0#0#7'TButton'#12'AddNewButton'#21'AnchorSideTop.Control'#7#12'UpdateButt'
+'on'#23'AnchorSideRight.Control'#7#2'p3'#20'AnchorSideRight.Side'#7#9'asrBot'
+'tom'#4'Left'#3#246#1#6'Height'#2#25#3'Top'#2#6#5'Width'#2'l'#7'Anchors'#11#5
+'akTop'#7'akRight'#0#8'AutoSize'#9#7'Caption'#6#12'AddNewButton'#7'OnClick'#7
+#17'AddNewButtonClick'#8'TabOrder'#2#0#0#0#7'TButton'#12'UpdateButton'#21'An'
+'chorSideTop.Control'#7#2'p3'#23'AnchorSideRight.Control'#7#12'AddNewButton'
+#4'Left'#3#140#1#6'Height'#2#25#3'Top'#2#6#5'Width'#2'd'#7'Anchors'#11#5'akT'
+'op'#7'akRight'#0#8'AutoSize'#9#17'BorderSpacing.Top'#2#6#19'BorderSpacing.R'
+'ight'#2#6#20'BorderSpacing.Bottom'#2#6#7'Caption'#6#12'UpdateButton'#7'OnCl'
+'ick'#7#17'UpdateButtonClick'#8'TabOrder'#2#1#0#0#0#0
]);

View File

@ -27,7 +27,7 @@ interface
uses
LResources, EditorOptions, LazarusIDEStrConsts, IDEOptionsIntf, sysutils,
StdCtrls, ExtCtrls, Classes, Controls, LCLProc, Grids, ComCtrls, Dialogs,
SynEditMouseCmds, editor_mouseaction_options_dlg;
SynEditMouseCmds, editor_mouseaction_options_dlg, math;
type
@ -42,6 +42,11 @@ type
ActionGrid: TStringGrid;
ContextTree: TTreeView;
p3: TPanel;
procedure ActionGridMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState;
X, Y: Integer);
procedure ActionGridMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
procedure ActionGridMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,
Y: Integer);
procedure ContextTreeChange(Sender: TObject; Node: TTreeNode);
procedure AddNewButtonClick(Sender: TObject);
procedure UpdateButtonClick(Sender: TObject);
@ -54,7 +59,9 @@ type
FMainActions, FSelActions: TSynEditMouseActions;
FCurActions: TSynEditMouseActions;
ChangeDlg: TEditorMouseOptionsChangeDialog;
protected
FColWidths: Array of Integer;
FLastWidth: Integer;
FIsHeaderSizing: Boolean;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
@ -67,19 +74,21 @@ type
implementation
const
MinGridColSize = 25;
{ TEditorMouseOptionsFrame }
procedure TEditorMouseOptionsFrame.ContextTreeChange(Sender: TObject; Node: TTreeNode);
const
Boolname: Array [Boolean] of String = ('', 'Y');
MMoveName: Array [Boolean] of String = (dlgMouseOptMoveMouseFalse, dlgMouseOptMoveMouseTrue);
var
act: TSynEditMouseAction;
i: Integer;
function ShiftName(ss: TShiftStateEnum): String;
begin
if not(ss in act.ShiftMask) then exit('-');
if ss in act.Shift then exit('Y');
exit('n');
if not(ss in act.ShiftMask) then exit(dlgMouseOptModKeyIgnore);
if ss in act.Shift then exit(dlgMouseOptModKeyTrue);
exit(dlgMouseOptModKeyFalse);
end;
begin
@ -96,7 +105,7 @@ begin
ActionGrid.Cells[4, i] := ShiftName(ssShift);
ActionGrid.Cells[5, i] := ShiftName(ssAlt);
ActionGrid.Cells[6, i] := ShiftName(ssCtrl);
ActionGrid.Cells[7, i] := Boolname[act.MoveCaret];
ActionGrid.Cells[7, i] := MMoveName[act.MoveCaret];
end;
ActionGrid.Row := 1;
end;
@ -170,27 +179,61 @@ end;
procedure TEditorMouseOptionsFrame.ActionGridResize(Sender: TObject);
var
i, j, k: Integer;
i, Oldwidth, NewWidth: Integer;
begin
j := 0;
for i := 0 to ActionGrid.ColCount-1 do j := j + ActionGrid.ColWidths[i];
k := ActionGrid.ClientWidth - ActionGrid.ColCount * 10;
if ActionGrid.Width = FLastWidth then Exit;
FLastWidth := ActionGrid.Width;
if Length(FColWidths) < ActionGrid.ColCount then exit;
Oldwidth := 0;
for i := 0 to ActionGrid.ColCount-1 do Oldwidth := Oldwidth + FColWidths[i];
NewWidth := ActionGrid.ClientWidth - 1;
for i := 0 to ActionGrid.ColCount-1 do
ActionGrid.ColWidths[i] := 10 + ActionGrid.ColWidths[i] * k div j;
NewWidth := NewWidth - (MinGridColSize -
Min(MinGridColSize, FColWidths[i] * NewWidth div Oldwidth));
for i := 0 to ActionGrid.ColCount-1 do
ActionGrid.ColWidths[i] := Max(MinGridColSize, FColWidths[i] * NewWidth div Oldwidth);
end;
procedure TEditorMouseOptionsFrame.ActionGridHeaderSized(Sender: TObject; IsColumn: Boolean;
Index: Integer);
procedure TEditorMouseOptionsFrame.ActionGridHeaderSized(Sender: TObject;
IsColumn: Boolean; Index: Integer);
var
i: Integer;
begin
SetLength(FColWidths, ActionGrid.ColCount);
for i := 0 to ActionGrid.ColCount - 1 do
FColWidths[i] := Min(Max(MinGridColSize, ActionGrid.ColWidths[i]),
ActionGrid.ClientWidth);
FLastWidth := -2;
ActionGridResize(nil);
end;
procedure TEditorMouseOptionsFrame.ActionGridMouseMove(Sender: TObject;
Shift: TShiftState; X,
Y: Integer);
begin
if not FIsHeaderSizing then exit;
ActionGridHeaderSized(nil, true, 0);
end;
procedure TEditorMouseOptionsFrame.ActionGridMouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
FIsHeaderSizing := False;
end;
procedure TEditorMouseOptionsFrame.ActionGridMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
FIsHeaderSizing := y <= ActionGrid.RowHeights[0];
end;
constructor TEditorMouseOptionsFrame.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FMainActions := TSynEditMouseActions.Create(nil);
FSelActions := TSynEditMouseActions.Create(nil);
ChangeDlg := TEditorMouseOptionsChangeDialog.Create(self);
ActionGrid.Constraints.MinWidth := ActionGrid.ColCount * MinGridColSize;
end;
destructor TEditorMouseOptionsFrame.Destroy;
@ -213,6 +256,8 @@ begin
FMainNode.Data := FMainActions;
FSelNode := ContextTree.Items.AddChild(FMainNode, dlgMouseOptNodeSelect);
FSelNode.Data := FSelActions;
ActionGrid.Constraints.MinWidth := ActionGrid.ColCount * MinGridColSize;
Splitter1.MinSize := ActionGrid.ColCount * MinGridColSize;
ActionGrid.Cells[0,0] := dlgMouseOptHeadDesc;
ActionGrid.Cells[1,0] := dlgMouseOptHeadBtn;
ActionGrid.Cells[2,0] := dlgMouseOptHeadCount;
@ -222,7 +267,7 @@ begin
ActionGrid.Cells[6,0] := dlgMouseOptHeadCtrl;
ActionGrid.Cells[7,0] := dlgMouseOptHeadCaret;
ActionGrid.ColWidths[0] := 100;
ActionGridResize(nil);
ActionGridHeaderSized(nil, true, 0);
DelButton.Caption := dlgMouseOptBtnDel;
UpdateButton.Caption := dlgMouseOptBtnUdp;

View File

@ -1,14 +1,14 @@
object EditorMouseOptionsChangeDialog: TEditorMouseOptionsChangeDialog
Left = 647
Height = 175
Height = 185
Top = 463
Width = 346
Width = 362
AutoSize = True
BorderIcons = [biSystemMenu]
BorderStyle = bsDialog
Caption = 'EditorMouseOptionsChangeDialog'
ClientHeight = 175
ClientWidth = 346
ClientHeight = 185
ClientWidth = 362
OnCreate = FormCreate
Position = poScreenCenter
LCLVersion = '0.9.27'
@ -19,9 +19,9 @@ object EditorMouseOptionsChangeDialog: TEditorMouseOptionsChangeDialog
AnchorSideRight.Control = ActionLabel
AnchorSideRight.Side = asrBottom
Left = 6
Height = 14
Top = 59
Width = 56
Height = 16
Top = 63
Width = 64
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 6
Caption = 'BtnLabel'
@ -32,9 +32,9 @@ object EditorMouseOptionsChangeDialog: TEditorMouseOptionsChangeDialog
AnchorSideTop.Control = ActionBox
AnchorSideTop.Side = asrCenter
Left = 6
Height = 14
Height = 16
Top = 9
Width = 56
Width = 64
BorderSpacing.Left = 6
Caption = 'ActionLabel'
ParentColor = False
@ -47,9 +47,9 @@ object EditorMouseOptionsChangeDialog: TEditorMouseOptionsChangeDialog
AnchorSideBottom.Control = BtnDefault
AnchorSideBottom.Side = asrBottom
Left = 6
Height = 23
Top = 106
Width = 251
Height = 25
Top = 114
Width = 262
Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Left = 6
BorderSpacing.Top = 6
@ -65,10 +65,10 @@ object EditorMouseOptionsChangeDialog: TEditorMouseOptionsChangeDialog
AnchorSideLeft.Control = ButtonBox
AnchorSideTop.Control = ButtonBox
AnchorSideTop.Side = asrBottom
Left = 68
Height = 17
Top = 83
Width = 69
Left = 76
Height = 19
Top = 89
Width = 77
AllowGrayed = True
BorderSpacing.Top = 6
Caption = 'ShiftCheck'
@ -79,10 +79,10 @@ object EditorMouseOptionsChangeDialog: TEditorMouseOptionsChangeDialog
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = ShiftCheck
AnchorSideTop.Side = asrCenter
Left = 143
Height = 17
Top = 83
Width = 60
Left = 159
Height = 19
Top = 89
Width = 68
AllowGrayed = True
BorderSpacing.Left = 6
Caption = 'AltCheck'
@ -93,10 +93,10 @@ object EditorMouseOptionsChangeDialog: TEditorMouseOptionsChangeDialog
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = ShiftCheck
AnchorSideTop.Side = asrCenter
Left = 209
Height = 17
Top = 83
Width = 64
Left = 233
Height = 19
Top = 89
Width = 72
AllowGrayed = True
BorderSpacing.Left = 6
Caption = 'CtrlCheck'
@ -110,10 +110,10 @@ object EditorMouseOptionsChangeDialog: TEditorMouseOptionsChangeDialog
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Side = asrBottom
Left = 263
Height = 23
Top = 106
Width = 77
Left = 274
Height = 25
Top = 114
Width = 82
Anchors = [akTop, akRight]
AutoSize = True
BorderSpacing.Left = 6
@ -128,10 +128,10 @@ object EditorMouseOptionsChangeDialog: TEditorMouseOptionsChangeDialog
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = ClickBox
AnchorSideTop.Side = asrCenter
Left = 280
Height = 17
Top = 58
Width = 60
Left = 288
Height = 19
Top = 62
Width = 68
BorderSpacing.Around = 6
Caption = 'DirCheck'
TabOrder = 5
@ -140,12 +140,12 @@ object EditorMouseOptionsChangeDialog: TEditorMouseOptionsChangeDialog
AnchorSideLeft.Control = ButtonBox
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = ButtonBox
Left = 174
Height = 21
Top = 56
Left = 182
Height = 23
Top = 60
Width = 100
BorderSpacing.Left = 6
ItemHeight = 13
ItemHeight = 15
Style = csDropDownList
TabOrder = 4
end
@ -154,13 +154,13 @@ object EditorMouseOptionsChangeDialog: TEditorMouseOptionsChangeDialog
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = CaretCheck
AnchorSideTop.Side = asrBottom
Left = 68
Height = 21
Top = 56
Left = 76
Height = 23
Top = 60
Width = 100
BorderSpacing.Left = 6
BorderSpacing.Top = 6
ItemHeight = 13
ItemHeight = 15
Style = csDropDownList
TabOrder = 3
end
@ -168,10 +168,10 @@ object EditorMouseOptionsChangeDialog: TEditorMouseOptionsChangeDialog
AnchorSideLeft.Control = ActionBox
AnchorSideTop.Control = ActionBox
AnchorSideTop.Side = asrBottom
Left = 68
Height = 17
Top = 33
Width = 74
Left = 76
Height = 19
Top = 35
Width = 81
BorderSpacing.Top = 6
Caption = 'CaretCheck'
TabOrder = 1
@ -180,13 +180,13 @@ object EditorMouseOptionsChangeDialog: TEditorMouseOptionsChangeDialog
AnchorSideLeft.Control = ActionLabel
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Owner
Left = 68
Height = 21
Left = 76
Height = 23
Top = 6
Width = 196
BorderSpacing.Left = 6
BorderSpacing.Top = 6
ItemHeight = 13
ItemHeight = 15
Style = csDropDownList
TabOrder = 0
end
@ -195,8 +195,8 @@ object EditorMouseOptionsChangeDialog: TEditorMouseOptionsChangeDialog
AnchorSideTop.Side = asrBottom
Left = 6
Height = 34
Top = 135
Width = 334
Top = 145
Width = 350
Anchors = [akTop, akLeft, akRight, akBottom]
TabOrder = 10
ShowButtons = [pbOK, pbCancel]

View File

@ -2,71 +2,71 @@
LazarusResources.Add('TEditorMouseOptionsChangeDialog','FORMDATA',[
'TPF0'#31'TEditorMouseOptionsChangeDialog'#30'EditorMouseOptionsChangeDialog'
+#4'Left'#3#135#2#6'Height'#3#175#0#3'Top'#3#207#1#5'Width'#3'Z'#1#8'AutoSize'
+#4'Left'#3#135#2#6'Height'#3#185#0#3'Top'#3#207#1#5'Width'#3'j'#1#8'AutoSize'
+#9#11'BorderIcons'#11#12'biSystemMenu'#0#11'BorderStyle'#7#8'bsDialog'#7'Cap'
+'tion'#6#30'EditorMouseOptionsChangeDialog'#12'ClientHeight'#3#175#0#11'Clie'
+'ntWidth'#3'Z'#1#8'OnCreate'#7#10'FormCreate'#8'Position'#7#14'poScreenCente'
+'tion'#6#30'EditorMouseOptionsChangeDialog'#12'ClientHeight'#3#185#0#11'Clie'
+'ntWidth'#3'j'#1#8'OnCreate'#7#10'FormCreate'#8'Position'#7#14'poScreenCente'
+'r'#10'LCLVersion'#6#6'0.9.27'#0#6'TLabel'#8'BtnLabel'#22'AnchorSideLeft.Con'
+'trol'#7#5'Owner'#21'AnchorSideTop.Control'#7#9'ButtonBox'#18'AnchorSideTop.'
+'Side'#7#9'asrCenter'#23'AnchorSideRight.Control'#7#11'ActionLabel'#20'Ancho'
+'rSideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#14#3'Top'#2';'#5'Wi'
+'dth'#2'8'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#18'BorderSpacing.Le'
+'rSideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#16#3'Top'#2'?'#5'Wi'
+'dth'#2'@'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#18'BorderSpacing.Le'
+'ft'#2#6#7'Caption'#6#8'BtnLabel'#11'ParentColor'#8#0#0#6'TLabel'#11'ActionL'
+'abel'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#9'A'
+'ctionBox'#18'AnchorSideTop.Side'#7#9'asrCenter'#4'Left'#2#6#6'Height'#2#14#3
+'Top'#2#9#5'Width'#2'8'#18'BorderSpacing.Left'#2#6#7'Caption'#6#11'ActionLab'
+'ctionBox'#18'AnchorSideTop.Side'#7#9'asrCenter'#4'Left'#2#6#6'Height'#2#16#3
+'Top'#2#9#5'Width'#2'@'#18'BorderSpacing.Left'#2#6#7'Caption'#6#11'ActionLab'
+'el'#11'ParentColor'#8#0#0#6'TPanel'#12'CapturePanel'#22'AnchorSideLeft.Cont'
+'rol'#7#5'Owner'#21'AnchorSideTop.Control'#7#10'ShiftCheck'#18'AnchorSideTop'
+'.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#10'BtnDefault'#24'Ancho'
+'rSideBottom.Control'#7#10'BtnDefault'#21'AnchorSideBottom.Side'#7#9'asrBott'
+'om'#4'Left'#2#6#6'Height'#2#23#3'Top'#2'j'#5'Width'#3#251#0#7'Anchors'#11#5
+'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#18'BorderSpacing.Left'#2#6#17'Bor'
+'derSpacing.Top'#2#6#19'BorderSpacing.Right'#2#6#10'BevelOuter'#7#9'bvLowere'
+'d'#10'BevelWidth'#2#2#5'Color'#7#11'clBtnShadow'#11'ParentColor'#8#8'TabOrd'
+'er'#2#2#11'OnMouseDown'#7#21'CapturePanelMouseDown'#0#0#9'TCheckBox'#10'Shi'
+'ftCheck'#22'AnchorSideLeft.Control'#7#9'ButtonBox'#21'AnchorSideTop.Control'
+#7#9'ButtonBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2'D'#6'Height'
+#2#17#3'Top'#2'S'#5'Width'#2'E'#11'AllowGrayed'#9#17'BorderSpacing.Top'#2#6#7
+'Caption'#6#10'ShiftCheck'#8'TabOrder'#2#6#0#0#9'TCheckBox'#8'AltCheck'#22'A'
+'nchorSideLeft.Control'#7#10'ShiftCheck'#19'AnchorSideLeft.Side'#7#9'asrBott'
+'om'#21'AnchorSideTop.Control'#7#10'ShiftCheck'#18'AnchorSideTop.Side'#7#9'a'
+'srCenter'#4'Left'#3#143#0#6'Height'#2#17#3'Top'#2'S'#5'Width'#2'<'#11'Allow'
+'Grayed'#9#18'BorderSpacing.Left'#2#6#7'Caption'#6#8'AltCheck'#8'TabOrder'#2
+#7#0#0#9'TCheckBox'#9'CtrlCheck'#22'AnchorSideLeft.Control'#7#8'AltCheck'#19
+'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#10'ShiftChe'
+'ck'#18'AnchorSideTop.Side'#7#9'asrCenter'#4'Left'#3#209#0#6'Height'#2#17#3
+'Top'#2'S'#5'Width'#2'@'#11'AllowGrayed'#9#18'BorderSpacing.Left'#2#6#7'Capt'
+'ion'#6#9'CtrlCheck'#8'TabOrder'#2#8#0#0#7'TButton'#10'BtnDefault'#22'Anchor'
+'SideLeft.Control'#7#9'CtrlCheck'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21
+'AnchorSideTop.Control'#7#10'ShiftCheck'#18'AnchorSideTop.Side'#7#9'asrBotto'
+'m'#23'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideRight.Side'#7#9'asrB'
+'ottom'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#3#7#1#6'Height'#2#23
+#3'Top'#2'j'#5'Width'#2'M'#7'Anchors'#11#5'akTop'#7'akRight'#0#8'AutoSize'#9
+#18'BorderSpacing.Left'#2#6#17'BorderSpacing.Top'#2#6#19'BorderSpacing.Right'
+#2#6#7'Caption'#6#10'BtnDefault'#7'OnClick'#7#15'BtnDefaultClick'#8'TabOrder'
+#2#9#0#0#9'TCheckBox'#8'DirCheck'#22'AnchorSideLeft.Control'#7#8'ClickBox'#19
+'om'#4'Left'#2#6#6'Height'#2#25#3'Top'#2'r'#5'Width'#3#6#1#7'Anchors'#11#5'a'
+'kTop'#6'akLeft'#7'akRight'#8'akBottom'#0#18'BorderSpacing.Left'#2#6#17'Bord'
+'erSpacing.Top'#2#6#19'BorderSpacing.Right'#2#6#10'BevelOuter'#7#9'bvLowered'
+#10'BevelWidth'#2#2#5'Color'#7#11'clBtnShadow'#11'ParentColor'#8#8'TabOrder'
+#2#2#11'OnMouseDown'#7#21'CapturePanelMouseDown'#0#0#9'TCheckBox'#10'ShiftCh'
+'eck'#22'AnchorSideLeft.Control'#7#9'ButtonBox'#21'AnchorSideTop.Control'#7#9
+'ButtonBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2'L'#6'Height'#2#19
+#3'Top'#2'Y'#5'Width'#2'M'#11'AllowGrayed'#9#17'BorderSpacing.Top'#2#6#7'Cap'
+'tion'#6#10'ShiftCheck'#8'TabOrder'#2#6#0#0#9'TCheckBox'#8'AltCheck'#22'Anch'
+'orSideLeft.Control'#7#10'ShiftCheck'#19'AnchorSideLeft.Side'#7#9'asrBottom'
+#21'AnchorSideTop.Control'#7#10'ShiftCheck'#18'AnchorSideTop.Side'#7#9'asrCe'
+'nter'#4'Left'#3#159#0#6'Height'#2#19#3'Top'#2'Y'#5'Width'#2'D'#11'AllowGray'
+'ed'#9#18'BorderSpacing.Left'#2#6#7'Caption'#6#8'AltCheck'#8'TabOrder'#2#7#0
+#0#9'TCheckBox'#9'CtrlCheck'#22'AnchorSideLeft.Control'#7#8'AltCheck'#19'Anc'
+'horSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#10'ShiftCheck'
+#18'AnchorSideTop.Side'#7#9'asrCenter'#4'Left'#3#233#0#6'Height'#2#19#3'Top'
+#2'Y'#5'Width'#2'H'#11'AllowGrayed'#9#18'BorderSpacing.Left'#2#6#7'Caption'#6
+#9'CtrlCheck'#8'TabOrder'#2#8#0#0#7'TButton'#10'BtnDefault'#22'AnchorSideLef'
+'t.Control'#7#9'CtrlCheck'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorS'
+'ideTop.Control'#7#10'ShiftCheck'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'A'
+'nchorSideRight.Control'#7#5'Owner'#20'AnchorSideRight.Side'#7#9'asrBottom'
+#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#3#18#1#6'Height'#2#25#3'To'
+'p'#2'r'#5'Width'#2'R'#7'Anchors'#11#5'akTop'#7'akRight'#0#8'AutoSize'#9#18
+'BorderSpacing.Left'#2#6#17'BorderSpacing.Top'#2#6#19'BorderSpacing.Right'#2
+#6#7'Caption'#6#10'BtnDefault'#7'OnClick'#7#15'BtnDefaultClick'#8'TabOrder'#2
+#9#0#0#9'TCheckBox'#8'DirCheck'#22'AnchorSideLeft.Control'#7#8'ClickBox'#19
+'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#8'ClickBox'
+#18'AnchorSideTop.Side'#7#9'asrCenter'#4'Left'#3#24#1#6'Height'#2#17#3'Top'#2
+':'#5'Width'#2'<'#20'BorderSpacing.Around'#2#6#7'Caption'#6#8'DirCheck'#8'Ta'
+#18'AnchorSideTop.Side'#7#9'asrCenter'#4'Left'#3' '#1#6'Height'#2#19#3'Top'#2
+'>'#5'Width'#2'D'#20'BorderSpacing.Around'#2#6#7'Caption'#6#8'DirCheck'#8'Ta'
+'bOrder'#2#5#0#0#9'TComboBox'#8'ClickBox'#22'AnchorSideLeft.Control'#7#9'But'
+'tonBox'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#9
+'ButtonBox'#4'Left'#3#174#0#6'Height'#2#21#3'Top'#2'8'#5'Width'#2'd'#18'Bord'
+'erSpacing.Left'#2#6#10'ItemHeight'#2#13#5'Style'#7#14'csDropDownList'#8'Tab'
+'ButtonBox'#4'Left'#3#182#0#6'Height'#2#23#3'Top'#2'<'#5'Width'#2'd'#18'Bord'
+'erSpacing.Left'#2#6#10'ItemHeight'#2#15#5'Style'#7#14'csDropDownList'#8'Tab'
+'Order'#2#4#0#0#9'TComboBox'#9'ButtonBox'#22'AnchorSideLeft.Control'#7#8'Btn'
+'Label'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#10
+'CaretCheck'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2'D'#6'Height'#2
+#21#3'Top'#2'8'#5'Width'#2'd'#18'BorderSpacing.Left'#2#6#17'BorderSpacing.To'
+'p'#2#6#10'ItemHeight'#2#13#5'Style'#7#14'csDropDownList'#8'TabOrder'#2#3#0#0
+'CaretCheck'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2'L'#6'Height'#2
+#23#3'Top'#2'<'#5'Width'#2'd'#18'BorderSpacing.Left'#2#6#17'BorderSpacing.To'
+'p'#2#6#10'ItemHeight'#2#15#5'Style'#7#14'csDropDownList'#8'TabOrder'#2#3#0#0
+#9'TCheckBox'#10'CaretCheck'#22'AnchorSideLeft.Control'#7#9'ActionBox'#21'An'
+'chorSideTop.Control'#7#9'ActionBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4
+'Left'#2'D'#6'Height'#2#17#3'Top'#2'!'#5'Width'#2'J'#17'BorderSpacing.Top'#2
+'Left'#2'L'#6'Height'#2#19#3'Top'#2'#'#5'Width'#2'Q'#17'BorderSpacing.Top'#2
+#6#7'Caption'#6#10'CaretCheck'#8'TabOrder'#2#1#0#0#9'TComboBox'#9'ActionBox'
+#22'AnchorSideLeft.Control'#7#11'ActionLabel'#19'AnchorSideLeft.Side'#7#9'as'
+'rBottom'#21'AnchorSideTop.Control'#7#5'Owner'#4'Left'#2'D'#6'Height'#2#21#3
+'rBottom'#21'AnchorSideTop.Control'#7#5'Owner'#4'Left'#2'L'#6'Height'#2#23#3
+'Top'#2#6#5'Width'#3#196#0#18'BorderSpacing.Left'#2#6#17'BorderSpacing.Top'#2
+#6#10'ItemHeight'#2#13#5'Style'#7#14'csDropDownList'#8'TabOrder'#2#0#0#0#12
+#6#10'ItemHeight'#2#15#5'Style'#7#14'csDropDownList'#8'TabOrder'#2#0#0#0#12
,'TButtonPanel'#12'ButtonPanel1'#21'AnchorSideTop.Control'#7#10'BtnDefault'#18
+'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2'"'#3'Top'#3#135#0
+#5'Width'#3'N'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#8
+'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2'"'#3'Top'#3#145#0
+#5'Width'#3'^'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#8
+'TabOrder'#2#10#11'ShowButtons'#11#4'pbOK'#8'pbCancel'#0#0#0#0
]);

View File

@ -38,8 +38,6 @@ type
procedure CapturePanelMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState;
X, Y: Integer);
procedure FormCreate(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
Procedure ResetInputs;

View File

@ -1182,6 +1182,11 @@ resourcestring
dlgMouseOptBtn2 = 'Double';
dlgMouseOptBtn3 = 'Triple';
dlgMouseOptBtn4 = 'Quad';
dlgMouseOptMoveMouseTrue = 'Y';
dlgMouseOptMoveMouseFalse = '';
dlgMouseOptModKeyFalse = 'n';
dlgMouseOptModKeyTrue = 'Y';
dlgMouseOptModKeyIgnore = '-';
dlgMouseOptCheckUpDown = 'Act on Mouse up';
dlgMouseOptModShift = 'Shift';
dlgMouseOptModAlt = 'Alt';