diff --git a/components/dockedformeditor/source/dockedanchordesigner.pas b/components/dockedformeditor/source/dockedanchordesigner.pas index 6fbd5a3550..8ff8c93ddc 100644 --- a/components/dockedformeditor/source/dockedanchordesigner.pas +++ b/components/dockedformeditor/source/dockedanchordesigner.pas @@ -203,7 +203,7 @@ begin {$ENDIF} FState := []; - GlobalDesignHook.Modified(FSelectedControl.RootControl); + GlobalDesignHook.Modified(Self, 'Anchors'); GlobalDesignHook.SelectOnlyThis(TAnchorControl(Sender).RootControl); end; @@ -329,7 +329,7 @@ begin {$ENDIF} FState := []; - GlobalDesignHook.Modified(FSelectedControl.RootControl); + GlobalDesignHook.Modified(Self, 'Anchors'); end; procedure TAnchorDesigner.BringToFront(AControl: TAnchorControl); @@ -574,7 +574,7 @@ begin FSelectedControl.AssignToRoot_Anchors; FState := []; - GlobalDesignHook.Modified(FSelectedControl.RootControl); + GlobalDesignHook.Modified(Self, 'Anchors'); GlobalDesignHook.SelectOnlyThis(FSelectedControl.RootControl); end; diff --git a/components/dockedformeditor/source/dockedmainide.pas b/components/dockedformeditor/source/dockedmainide.pas index 9192711425..8329844779 100644 --- a/components/dockedformeditor/source/dockedmainide.pas +++ b/components/dockedformeditor/source/dockedmainide.pas @@ -16,7 +16,6 @@ - ObjectInspector eats focus of AnchorDesigner (bug or feature?) - Qt5 shows own menu in form, this isn't shown in anchor editor TODO: - - Lazarus AnchorEditor isn't refreshed after control is changed in DockedAnchorDesigner - Undo } diff --git a/designer/anchoreditor.pas b/designer/anchoreditor.pas index 94eba5e6b4..20627b6b06 100644 --- a/designer/anchoreditor.pas +++ b/designer/anchoreditor.pas @@ -181,6 +181,7 @@ type FUpdating: Boolean; FNeedUpdate: boolean; FSideControls: array[TAnchorKind] of TAnchorDesignerSideControls; + procedure OnModifiedWithName(Sender: TObject; PropName: ShortString); procedure Refresh; procedure OnRefreshPropertyValues; procedure OnSetSelection(const ASelection: TPersistentSelectionList); @@ -404,6 +405,7 @@ begin LoadGlyphs; CreateSideControls; + GlobalDesignHook.AddHandlerModifiedWithName(@OnModifiedWithName); GlobalDesignHook.AddHandlerRefreshPropertyValues(@OnRefreshPropertyValues); GlobalDesignHook.AddHandlerSetSelection(@OnSetSelection); end; @@ -1067,6 +1069,13 @@ begin end; end; +procedure TAnchorDesigner.OnModifiedWithName(Sender: TObject; PropName: ShortString); +begin + if Sender = Self then Exit; + if PropName = 'Anchors' then + Refresh; +end; + procedure TAnchorDesigner.OnRefreshPropertyValues; begin Refresh;