fix, bug is described in c1a0ed2799

This commit is contained in:
Basile Burg 2015-01-18 11:59:23 +01:00
parent 8ab97cb644
commit cc5150f1a2
2 changed files with 21 additions and 13 deletions

View File

@ -12,6 +12,13 @@ uses
type
// this descendant propagates the Visible property to the children.
// this fix the bug described in commit c1a0ed2799390d788b1d1e435eb8dc1ed3369ce7
TCEEditorPage = class(TTabSheet)
protected
procedure SetVisible(Value: Boolean); override;
end;
{ TCEEditorWidget }
TCEEditorWidget = class(TCEWidget, ICEMultiDocObserver)
imgList: TImageList;
@ -72,6 +79,17 @@ implementation
uses
ce_main;
procedure TCEEditorPage.SetVisible(Value: Boolean);
var
i: integer;
begin
inherited;
for i := 0 to ComponentCount-1 do
if (Components[i] is TWinControl) then
TWinControl(Components[i]).Visible:= Value;
end;
{$REGION Standard Comp/Obj------------------------------------------------------}
constructor TCEEditorWidget.create(aOwner: TComponent);
var
@ -205,11 +223,12 @@ end;
procedure TCEEditorWidget.addEditor;
var
sheet: TTabSheet;
sheet: TCEEditorPage;
memo: TCESynMemo;
begin
sheet := pageControl.AddTabSheet;
sheet := TCEEditorPage.Create(self);
memo := TCESynMemo.Create(sheet);
sheet.PageControl := PageControl;
//
memo.Align := alClient;
memo.Parent := sheet;

View File

@ -97,7 +97,6 @@ type
constructor Create(aOwner: TComponent); override;
destructor destroy; override;
procedure setFocus; override;
procedure UpdateShowing; override;
procedure DoEnter; override;
//
procedure checkFileDate;
@ -359,7 +358,6 @@ end;
procedure TCESynMemo.setFocus;
begin
inherited;
if not Visible then exit;
checkFileDate;
identifierToD2Syn;
subjDocFocused(TCEMultiDocSubject(fMultiDocSubject), self);
@ -374,20 +372,11 @@ begin
subjDocFocused(TCEMultiDocSubject(fMultiDocSubject), self);
end;
procedure TCESynMemo.UpdateShowing;
begin
inherited;
identifierToD2Syn;
subjDocFocused(TCEMultiDocSubject(fMultiDocSubject), self);
end;
procedure TCESynMemo.DoEnter;
begin
Inherited;
checkFileDate;
identifierToD2Syn;
// produces too much updates in the widgets
//subjDocFocused(TCEMultiDocSubject(fMultiDocSubject), self);
end;
procedure TCESynMemo.SetHighlighter(const Value: TSynCustomHighlighter);