From 046e067ba449daf14e9708e7bc46d0e0f41607ca Mon Sep 17 00:00:00 2001 From: sekelsenmat Date: Thu, 15 Sep 2011 12:57:38 +0000 Subject: [PATCH] Only uses modules if activated and implements support for the source and debug info again git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1956 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- applications/fpbrowser/mainform.pas | 62 ++++++++++++++++++++++++--- applications/fpbrowser/pageloader.pas | 1 + 2 files changed, 56 insertions(+), 7 deletions(-) diff --git a/applications/fpbrowser/mainform.pas b/applications/fpbrowser/mainform.pas index f8538d256..b4b3c339b 100644 --- a/applications/fpbrowser/mainform.pas +++ b/applications/fpbrowser/mainform.pas @@ -117,11 +117,14 @@ type procedure InitializeForm(); procedure UpdateModulesMenu(); procedure HandleModuleMenuItemClick(Sender: TObject); + function GetCurrentPageLoader: TPageLoader; + procedure HandlePageChanged(Sender: TObject); public { Public declarations } CurrentTab: Integer; procedure LoadURL(AURL: string); procedure AddBrowserTab(AURL: string; AGoToTab: Boolean); + procedure AddMemoTab(AText: TStringList; ACaption: string; AGoToTab: Boolean); procedure AddURLToHistory(AURL: string); procedure HandlePageLoaderProgress(APercent: Integer); procedure HandlePageLoaderTerminated(Sender: TObject); @@ -178,9 +181,14 @@ begin end; procedure TformBrowser.menuViewDebugClick(Sender: TObject); +var + lContents, lDebugInfo: TStringList; begin - pageBrowser.ShowTabs := True; - pageBrowser.ActivePageIndex := 2; + lContents := GetCurrentBrowserViewer().MyPageLoader.ContentsList; + lDebugInfo := GetCurrentBrowserViewer().MyPageLoader.DebugInfo; + + AddMemoTab(lContents, 'Source', False); + AddMemoTab(lDebugInfo, 'Debug', False); end; {The Show Images menu item was clicked} @@ -235,6 +243,7 @@ begin History := TStringList.Create; AddBrowserTab('', True); + pageBrowser.OnPageChanged := HandlePageChanged; Position := poScreenCenter; @@ -319,6 +328,22 @@ begin lModule.Activated := lNewState; end; +function TformBrowser.GetCurrentPageLoader: TPageLoader; +var + lViewer: TBrowserViewer; +begin + lViewer := GetCurrentBrowserViewer(); + Result := lViewer.MyPageLoader; +end; + +procedure TformBrowser.HandlePageChanged(Sender: TObject); +var + lIndex: Integer; +begin + lIndex := pageBrowser.ActivePageIndex; + SetCurrentBrowserViewer(lIndex); +end; + procedure TformBrowser.HistoryChange(Sender: TObject); {This event occurs when something changes history list} var @@ -803,6 +828,33 @@ begin end; end; +procedure TformBrowser.AddMemoTab(AText: TStringList; ACaption: string; + AGoToTab: Boolean); +var + lTabSheet: TTabSheet; + lMemo: TMemo; + lViewer: TBrowserViewer; +begin + lTabSheet := pageBrowser.AddTabSheet(); // This call requires Lazarus 0.9.31+ + lTabSheet.Caption := ACaption; + + // Add the top panel of the tab with buttons and the edit box + lMemo := TMemo.Create(lTabSheet); + lMemo.Parent := lTabSheet; + lMemo.Align := alClient; + lMemo.Lines.Assign(AText); + lMemo.ScrollBars := ssBoth; + + // Add a token viewer for the Memo + lViewer := AddBrowserViewer(); + + if AGoToTab then + begin + CurrentTab := GetBrowerViewerCount() - 1; + SetCurrentBrowserViewer(CurrentTab); + end; +end; + procedure TformBrowser.AddURLToHistory(AURL: string); begin { History.Add(AURL); @@ -821,11 +873,7 @@ begin { labelProgress.Caption := 'Finished Loading'; progressBar.Position := 100; - // Load source and debug info - memoSource.Lines.Clear(); - memoSource.Lines.AddStrings(MyPageLoader.ContentsList); - memoDebug.Lines.Clear(); - memoDebug.Lines.AddStrings(MyPageLoader.DebugInfo); + AddURLToHistory(MyPageLoader.LastPageURL);} end; diff --git a/applications/fpbrowser/pageloader.pas b/applications/fpbrowser/pageloader.pas index 0f337411c..aad3437c9 100644 --- a/applications/fpbrowser/pageloader.pas +++ b/applications/fpbrowser/pageloader.pas @@ -66,6 +66,7 @@ begin for i := 0 to GetBrowserModuleCount() - 1 do begin lModule := GetBrowserModule(i); + if not lModule.Activated then Continue; if lModule.HandleOnPageLoad(PageLoader.Contents, lNewContents) then PageLoader.Contents := lNewContents; end;