diff --git a/src/ce_editor.pas b/src/ce_editor.pas index f00dbe15..7695e72a 100644 --- a/src/ce_editor.pas +++ b/src/ce_editor.pas @@ -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; diff --git a/src/ce_synmemo.pas b/src/ce_synmemo.pas index 11efc7ee..643b4f5e 100644 --- a/src/ce_synmemo.pas +++ b/src/ce_synmemo.pas @@ -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);