mirror of https://gitlab.com/basile.b/dexed.git
docking, mouse wheel can be used on the splitters to expand shrink the area
This commit is contained in:
parent
b475311688
commit
6158dd26a2
|
@ -2109,6 +2109,42 @@ object CEMainForm: TCEMainForm
|
|||
end
|
||||
object MenuItem79: TMenuItem
|
||||
Action = actFileRunOut
|
||||
Bitmap.Data = {
|
||||
36040000424D3604000000000000360000002800000010000000100000000100
|
||||
2000000000000004000064000000640000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000330000003300000000000000000000000000000000000000070000
|
||||
0033000000330000003300000033000000330000003300000033000000330000
|
||||
00337C7C81FF7E7D7DFF0000000E00000033000000338886840060440E44B881
|
||||
14FFB67E0FFFB57D0DFFB57D0CFFB67E0CFFBC7F06FF7F8188FF86878AFFA87F
|
||||
2DFFA8A8ABFFAAA8A8FF52504F698A8886FF868482FF88868400AC7A14CADCC1
|
||||
89FFF5F0E0FFF4EDDBFFF4EDDBFFF6EFDBFFFDF4DCFF878789FFCECDCEFF9696
|
||||
98FFC6C5C6FFC7C5C5FF989695FFD1CFCEFF8B8988FF0000000AB78012FFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3E3DFFFC2C1BBFF959493FFB5B3
|
||||
B4FF8D8C8CFF8D8C8BFFB6B4B3FF999796FF646260894847465BB98419FFB67E
|
||||
0EFFB67F0FFFC0902EFFC08E29FFC59128FF747578FFAAA8A9FFCAC8C7FF8F8D
|
||||
8EFFFFF2D2FFFFFFF5FF8F8D8DFFCBC9C9FFB0AEADFF8E8C8AFFBB871E00B984
|
||||
1900B8831BEFFFFFFFFFF2E9D3FFF7EDD4FF747577FFABA9AAFFCCCACAFF9290
|
||||
8FFFDCD2B9FFE9E7E2FF918F8EFFCECCCBFFB1AFAEFF8F8D8BFFBB871F00BA85
|
||||
1C00B0790BD2FFFFFFFFF1E9D2FFF4EBD2FFFCF2D7FFB4AFA2FF9B9997FFBCBA
|
||||
BAFF939191FF929191FFBCBABAFF9E9C9AFF6C6B699B908E8C00BB871F00BA85
|
||||
1C00AA760C9BF0E4CCFFF6EFE0FFF4ECD7FFFAF2DCFF8B8A8AFFD7D6D6FF9A99
|
||||
97FFD0CECEFFD0CFCFFF9C9A9AFFDBDADBFF918F8EFF94929000BB871F00BA86
|
||||
1D00AD790E73EADBBBFFFAF7EEFFF6EFDEFFFCF4E2FF7B797AFF8B8A89FFD2CC
|
||||
BFFFB1AFAEFFB1B1B1FFC3B28EFF939499FF8C8B8EFF8E8E8E00BB871F00BB86
|
||||
1D00B07B1134DBBF88FFFFFFFFFFF7F2E5FFFAF4E6FFFEF7E9FFFFF9EAFFFFFC
|
||||
EDFF767574FF777778FFF8E9CAFFAA7200A8888D99008B8E9700BB871F00BB86
|
||||
1E00B882150CCCA556FFFFFFFFFFF9F6EBFFF9F5EAFFFAF6ECFFFBF7EDFFFDF9
|
||||
EEFFFFFCF1FFFFFFFCFFFFFFFFFFAB7405CE0000003300000033BB871F00BB87
|
||||
1E00B9831800C89E49FFFFFFFFFFFCF9F3FFFBF8F1FFFBF8F1FFFBF8F1FFFBF8
|
||||
F1FFFCF9F3FFFDFBF6FFFFFFFFFFB27701FFBA851BFFBC8921FFBB871F00BB87
|
||||
1F00B9851B00B27A09E5FFFFFFFFFFFFFFFFFEFEFBFFFEFEFBFFFEFEFCFFFEFE
|
||||
FCFFFEFEFCFFFFFFFEFFFFFFFFFFC69941FFECDFC2FFC19234FFBB871F00BB87
|
||||
1F00BA861D00B7801283E4CFA7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFE9DABAFFEEE2C9FFB67F14BFBB871F00BB87
|
||||
1F00BB871E00B9841A00B67E0FEAC4973BFFC79D49FFC39538FFB37904FFB47A
|
||||
07FFB47A07FFB47A08FFB57C0AFFB67F0FFFB88114FFBA851B23
|
||||
}
|
||||
end
|
||||
object MenuItem63: TMenuItem
|
||||
Action = actFileUnittest
|
||||
|
@ -3637,6 +3673,42 @@ object CEMainForm: TCEMainForm
|
|||
end
|
||||
object MenuItem80: TMenuItem
|
||||
Action = actFileRunOut
|
||||
Bitmap.Data = {
|
||||
36040000424D3604000000000000360000002800000010000000100000000100
|
||||
2000000000000004000064000000640000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000330000003300000000000000000000000000000000000000070000
|
||||
0033000000330000003300000033000000330000003300000033000000330000
|
||||
00337C7C81FF7E7D7DFF0000000E00000033000000338886840060440E44B881
|
||||
14FFB67E0FFFB57D0DFFB57D0CFFB67E0CFFBC7F06FF7F8188FF86878AFFA87F
|
||||
2DFFA8A8ABFFAAA8A8FF52504F698A8886FF868482FF88868400AC7A14CADCC1
|
||||
89FFF5F0E0FFF4EDDBFFF4EDDBFFF6EFDBFFFDF4DCFF878789FFCECDCEFF9696
|
||||
98FFC6C5C6FFC7C5C5FF989695FFD1CFCEFF8B8988FF0000000AB78012FFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3E3DFFFC2C1BBFF959493FFB5B3
|
||||
B4FF8D8C8CFF8D8C8BFFB6B4B3FF999796FF646260894847465BB98419FFB67E
|
||||
0EFFB67F0FFFC0902EFFC08E29FFC59128FF747578FFAAA8A9FFCAC8C7FF8F8D
|
||||
8EFFFFF2D2FFFFFFF5FF8F8D8DFFCBC9C9FFB0AEADFF8E8C8AFFBB871E00B984
|
||||
1900B8831BEFFFFFFFFFF2E9D3FFF7EDD4FF747577FFABA9AAFFCCCACAFF9290
|
||||
8FFFDCD2B9FFE9E7E2FF918F8EFFCECCCBFFB1AFAEFF8F8D8BFFBB871F00BA85
|
||||
1C00B0790BD2FFFFFFFFF1E9D2FFF4EBD2FFFCF2D7FFB4AFA2FF9B9997FFBCBA
|
||||
BAFF939191FF929191FFBCBABAFF9E9C9AFF6C6B699B908E8C00BB871F00BA85
|
||||
1C00AA760C9BF0E4CCFFF6EFE0FFF4ECD7FFFAF2DCFF8B8A8AFFD7D6D6FF9A99
|
||||
97FFD0CECEFFD0CFCFFF9C9A9AFFDBDADBFF918F8EFF94929000BB871F00BA86
|
||||
1D00AD790E73EADBBBFFFAF7EEFFF6EFDEFFFCF4E2FF7B797AFF8B8A89FFD2CC
|
||||
BFFFB1AFAEFFB1B1B1FFC3B28EFF939499FF8C8B8EFF8E8E8E00BB871F00BB86
|
||||
1D00B07B1134DBBF88FFFFFFFFFFF7F2E5FFFAF4E6FFFEF7E9FFFFF9EAFFFFFC
|
||||
EDFF767574FF777778FFF8E9CAFFAA7200A8888D99008B8E9700BB871F00BB86
|
||||
1E00B882150CCCA556FFFFFFFFFFF9F6EBFFF9F5EAFFFAF6ECFFFBF7EDFFFDF9
|
||||
EEFFFFFCF1FFFFFFFCFFFFFFFFFFAB7405CE0000003300000033BB871F00BB87
|
||||
1E00B9831800C89E49FFFFFFFFFFFCF9F3FFFBF8F1FFFBF8F1FFFBF8F1FFFBF8
|
||||
F1FFFCF9F3FFFDFBF6FFFFFFFFFFB27701FFBA851BFFBC8921FFBB871F00BB87
|
||||
1F00B9851B00B27A09E5FFFFFFFFFFFFFFFFFEFEFBFFFEFEFBFFFEFEFCFFFEFE
|
||||
FCFFFEFEFCFFFFFFFEFFFFFFFFFFC69941FFECDFC2FFC19234FFBB871F00BB87
|
||||
1F00BA861D00B7801283E4CFA7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFE9DABAFFEEE2C9FFB67F14BFBB871F00BB87
|
||||
1F00BB871E00B9841A00B67E0FEAC4973BFFC79D49FFC39538FFB37904FFB47A
|
||||
07FFB47A07FFB47A08FFB57C0AFFB67F0FFFB88114FFBA851B23
|
||||
}
|
||||
end
|
||||
object MenuItem64: TMenuItem
|
||||
Action = actFileUnittest
|
||||
|
|
|
@ -5,9 +5,10 @@ unit ce_main;
|
|||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, LazFileUtils, SynEditKeyCmds, SynHighlighterLFM, Forms, StdCtrls,
|
||||
AnchorDocking, AnchorDockStorage, AnchorDockOptionsDlg, Controls, Graphics, strutils,
|
||||
Dialogs, Menus, ActnList, ExtCtrls, process, XMLPropStorage, SynExportHTML,
|
||||
Classes, SysUtils, LazFileUtils, SynEditKeyCmds, SynHighlighterLFM, Forms,
|
||||
StdCtrls, AnchorDocking, AnchorDockStorage, AnchorDockOptionsDlg, Controls,
|
||||
Graphics, strutils, Dialogs, Menus, ActnList, ExtCtrls, process,
|
||||
XMLPropStorage, SynExportHTML,
|
||||
ce_common, ce_dmdwrap, ce_nativeproject, ce_synmemo, ce_writableComponent,
|
||||
ce_widget, ce_messages, ce_interfaces, ce_editor, ce_projinspect, ce_projconf,
|
||||
ce_search, ce_miniexplorer, ce_libman, ce_libmaneditor, ce_todolist, ce_observer,
|
||||
|
@ -18,6 +19,11 @@ type
|
|||
|
||||
TCEApplicationOptions = class;
|
||||
|
||||
TAnchorDockSplitterEx = class(TAnchorDockSplitter)
|
||||
public
|
||||
property OnMouseWheel;
|
||||
end;
|
||||
|
||||
{ TCEMainForm }
|
||||
TCEMainForm = class(TForm, ICEMultiDocObserver, ICEEditableShortCut, ICEProjectObserver)
|
||||
actFileCompAndRun: TAction;
|
||||
|
@ -338,6 +344,8 @@ type
|
|||
procedure mruClearClick(Sender: TObject);
|
||||
|
||||
// layout
|
||||
procedure setSplitterWheelEvent;
|
||||
procedure DockSplitterMw(Sender: TObject; Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
|
||||
procedure LockTopWindow(Sender: TObject; var NewSize: Integer; var Accept: Boolean);
|
||||
procedure layoutMnuItemClick(sender: TObject);
|
||||
procedure layoutLoadFromFile(const aFilename: string);
|
||||
|
@ -956,6 +964,46 @@ begin
|
|||
accept := GetKeyShiftState = [ssCtrl];
|
||||
end;
|
||||
|
||||
procedure TCEMainForm.DockSplitterMw(Sender: TObject; Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
|
||||
var
|
||||
offs: integer;
|
||||
splt: TAnchorDockSplitter;
|
||||
begin
|
||||
offs := -480 div WheelDelta;
|
||||
splt := TAnchorDockSplitter(sender);
|
||||
splt.MoveSplitter(offs);
|
||||
if splt.ResizeAnchor in [akLeft, akRight] then
|
||||
Mouse.CursorPos:= Point(Mouse.CursorPos.X + offs, Mouse.CursorPos.Y)
|
||||
else
|
||||
Mouse.CursorPos:= Point(Mouse.CursorPos.X, Mouse.CursorPos.Y + offs);
|
||||
Handled := true;
|
||||
end;
|
||||
|
||||
//TODO-cdocking: set splitter MW event when a new widget is docked
|
||||
procedure TCEMainForm.setSplitterWheelEvent;
|
||||
var
|
||||
i: integer;
|
||||
widg: TCEWidget;
|
||||
site: TControl;
|
||||
anchl: TAnchorKind;
|
||||
begin
|
||||
for i := 0 to fWidgList.Count-1 do
|
||||
begin
|
||||
widg := fWidgList.widget[i];
|
||||
if not widg.isDockable then continue;
|
||||
for anchl in [low(anchl) .. high(anchl)] do
|
||||
if GetDockSplitterOrParent(DockMaster.GetSite(widg), anchl, site) then
|
||||
begin
|
||||
if site is TAnchorDockHostSite then
|
||||
begin
|
||||
if TAnchorDockHostSite(site).BoundSplitter.isNotNil then
|
||||
TAnchorDockSplitterEx(TAnchorDockHostSite(site).BoundSplitter).OnMouseWheel:=@DockSplitterMw;
|
||||
end else if site is TAnchorDockSplitter then
|
||||
TAnchorDockSplitterEx(TAnchorDockSplitter(site)).OnMouseWheel:=@DockSplitterMw;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TCEMainForm.InitDocking;
|
||||
var
|
||||
i: Integer;
|
||||
|
@ -1240,6 +1288,7 @@ begin
|
|||
|
||||
fFirstShown := true;
|
||||
end;
|
||||
setSplitterWheelEvent;
|
||||
end;
|
||||
|
||||
procedure TCEMainForm.FormClose(Sender: TObject; var CloseAction: TCloseAction);
|
||||
|
|
Loading…
Reference in New Issue