mirror of
				https://gitlab.com/freepascal.org/lazarus/lazarus.git
				synced 2025-11-04 09:19:50 +01: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