mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-05-29 17:22:49 +02:00
sparta: update fake menu on modification
git-svn-id: trunk@51295 -
This commit is contained in:
parent
1cba70270b
commit
476ee9dad4
@ -174,7 +174,9 @@ type
|
||||
|
||||
class procedure OnShowMethod(const Name: String);
|
||||
class procedure OnDesignRefreshPropertyValues;
|
||||
class procedure OnMenuChanged;
|
||||
class procedure OnModifiedPersistentAdded(APersistent: TPersistent; Select: Boolean);
|
||||
class procedure OnModifiedSender(Sender: TObject);
|
||||
class procedure OnModified;
|
||||
class procedure DesignerSetFocus;
|
||||
class procedure OnDesignMouseDown(Sender: TObject; Button: TMouseButton;
|
||||
Shift: TShiftState; X, Y: Integer);
|
||||
@ -464,9 +466,6 @@ begin
|
||||
RepaintFormImages;
|
||||
end;
|
||||
|
||||
if (TheMessage.msg = CM_MENUCHANGED) and (Form.Form is TFakeForm) then
|
||||
TSpartaMainIDE.OnMenuChanged;
|
||||
|
||||
// during docking, form position was in wrong place... we need to delay changing position :)
|
||||
if TheMessage.msg = WM_BoundToDesignTabSheet then
|
||||
if Form.LastActiveSourceWindow <> nil then
|
||||
@ -1494,13 +1493,24 @@ begin
|
||||
DesignerSetFocus;
|
||||
end;
|
||||
|
||||
class procedure TSpartaMainIDE.OnMenuChanged;
|
||||
class procedure TSpartaMainIDE.OnModifiedSender(Sender: TObject);
|
||||
begin
|
||||
OnModified;
|
||||
end;
|
||||
|
||||
class procedure TSpartaMainIDE.OnModified;
|
||||
var
|
||||
LResizer: TResizer;
|
||||
begin
|
||||
LResizer := GetCurrentResizer;
|
||||
if LResizer<>nil then
|
||||
LResizer.FResizerFrame.OnMenuChanged;
|
||||
LResizer.FResizerFrame.OnModified;
|
||||
end;
|
||||
|
||||
class procedure TSpartaMainIDE.OnModifiedPersistentAdded(
|
||||
APersistent: TPersistent; Select: Boolean);
|
||||
begin
|
||||
OnModified;
|
||||
end;
|
||||
|
||||
class procedure TSpartaMainIDE.OnShowDesignerForm(Sender: TObject; AEditor: TSourceEditorInterface;
|
||||
|
@ -46,6 +46,9 @@ begin
|
||||
LazarusIDE.AddHandlerOnShowSourceOfActiveDesignerForm(TSpartaMainIDE.OnShowSrcEditor);
|
||||
|
||||
GlobalDesignHook.AddHandlerShowMethod(TSpartaMainIDE.OnShowMethod);
|
||||
GlobalDesignHook.AddHandlerModified(TSpartaMainIDE.OnModifiedSender);
|
||||
GlobalDesignHook.AddHandlerPersistentAdded(TSpartaMainIDE.OnModifiedPersistentAdded);
|
||||
GlobalDesignHook.AddHandlerPersistentDeleted(TSpartaMainIDE.OnModified);
|
||||
GlobalDesignHook.AddHandlerRefreshPropertyValues(TSpartaMainIDE.OnDesignRefreshPropertyValues);
|
||||
GlobalDesignHook.AddHandlerDesignerMouseDown(TSpartaMainIDE.OnDesignMouseDown);
|
||||
|
||||
|
@ -74,7 +74,7 @@ type
|
||||
FActivePropertyGridItemIndex: Integer;
|
||||
FLastClientWidth, FLastClientHeight: Integer;
|
||||
FOldHasMainMenu: Boolean;
|
||||
FMenuChanged: Boolean;
|
||||
FDesignerModified: Boolean;
|
||||
|
||||
function HasMainMenu: Boolean;
|
||||
procedure AppOnIdle(Sender: TObject; var Done: Boolean);
|
||||
@ -135,7 +135,7 @@ type
|
||||
procedure ShowSizeRects;
|
||||
procedure ShowSizeControls;
|
||||
|
||||
procedure OnMenuChanged;
|
||||
procedure OnModified;
|
||||
procedure DesignerSetFocus;
|
||||
|
||||
property VerticalScrollPos: Integer read FVerticalScrollPos write FVerticalScrollPos;
|
||||
@ -633,9 +633,9 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TResizerFrame.OnMenuChanged;
|
||||
procedure TResizerFrame.OnModified;
|
||||
begin
|
||||
FMenuChanged := True;
|
||||
FDesignerModified := True;
|
||||
end;
|
||||
|
||||
function TResizerFrame.GetRightMargin: Integer;
|
||||
@ -834,7 +834,7 @@ end;
|
||||
|
||||
procedure TResizerFrame.AppOnIdle(Sender: TObject; var Done: Boolean);
|
||||
begin
|
||||
if FMenuChanged then
|
||||
if FDesignerModified then
|
||||
begin
|
||||
if FOldHasMainMenu <> HasMainMenu then
|
||||
begin
|
||||
@ -843,9 +843,9 @@ begin
|
||||
OnNodePositioning(Self, [pkBottom], pcPositioningEnd);
|
||||
Application.NotifyUserInputHandler(Self, 0); // force repaint invisible components
|
||||
end else
|
||||
pFakeMenu.Invalidate;
|
||||
pFakeMenu.Invalidate; // always repaint menu on modification
|
||||
|
||||
FMenuChanged := False;
|
||||
FDesignerModified := False;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user