OSDN Git Service

TBrowserRecordを別ファイルに追い出した。
authorh677 <h677>
Sun, 27 Nov 2005 15:51:34 +0000 (15:51 +0000)
committerh677 <h677>
Sun, 27 Nov 2005 15:51:34 +0000 (15:51 +0000)
BrowserRecord.pas [new file with mode: 0644]
Giko.pas
GikoDataModule.pas
Option.pas
gikoNavi.dpr

diff --git a/BrowserRecord.pas b/BrowserRecord.pas
new file mode 100644 (file)
index 0000000..ab6ee16
--- /dev/null
@@ -0,0 +1,77 @@
+unit BrowserRecord;
+
+interface
+
+uses
+       Windows, OleCtrls, ActiveX,
+{$IF Defined(DELPRO) }
+       SHDocVw,
+       MSHTML,
+{$ELSE}
+       SHDocVw_TLB,
+       MSHTML_TLB,
+{$IFEND}
+       BoardGroup, HTMLDocumentEvent;
+
+type
+       TBrowserRecord = class( TObject )
+       private
+               FBrowser        : TWebBrowser;
+               FEvent: THTMLDocumentEventSink; ///< \83u\83\89\83E\83U\83h\83L\83\85\83\81\83\93\83g\83C\83x\83\93\83g
+               FThread         : TThreadItem;
+               FLastSize       : Integer;
+               FRepaint        : Boolean;
+               FMovement       : string;                                                       ///< \83X\83N\83\8d\81[\83\8b\90æ\83A\83\93\83J\81[
+       public
+               destructor      Destroy; override;
+               property        Event : THTMLDocumentEventSink read FEvent write FEvent;
+               property        Browser : TWebBrowser   read FBrowser   write FBrowser;
+               property        Thread  : TThreadItem   read FThread    write FThread;
+               property        LastSize        : Integer               read FLastSize  write FLastSize;
+               property        Repaint         : Boolean               read FRepaint   write FRepaint;
+               property        Movement        : string                read FMovement  write FMovement;
+       end;
+       // BrowserRecord\82É\82Â\82¢\82Ä\82¢\82éFBrowser\82ð\8aO\82·
+       procedure ReleaseBrowser( BRecord: TBrowserRecord);
+
+implementation
+// *************************************************************************
+//! BrowserRecord\82É\82Â\82¢\82Ä\82¢\82éFBrowser\82ð\8aO\82·
+// *************************************************************************
+procedure ReleaseBrowser( BRecord: TBrowserRecord);
+begin
+       if BRecord <> nil then begin
+               BRecord.Browser := nil;
+               if BRecord.Event <> nil then begin
+                       BRecord.Event.Free;
+                       BRecord.Event := nil;
+               end;
+               BRecord.Repaint := true;
+       end;
+end;
+// *************************************************************************
+//! BrowserRecord\82Ì\83f\83X\83g\83\89\83N\83^
+// *************************************************************************
+destructor     TBrowserRecord.Destroy;
+var
+       doc :OleVariant;
+begin
+       if Self.FEvent <> nil then
+               Self.FEvent.Free;
+       if Self.FBrowser <> nil then begin
+               if Self.Thread <> nil then begin
+                       //\83^\83u\82Ì\95\9c\8c³\82Å\95\9c\8c³\82³\82ê\82½\83X\83\8c\82Í\81A\95`\89æ\82³\82ê\82Ä\82¢\82È\82¢\82Æ\82«\82ª\82 \82é\82Ì\82Å
+                       //\82»\82Ì\82Æ\82«\82Ì\83X\83N\83\8d\81[\83\8b\97Ê\82ð\95Û\91\82µ\82Ä\82µ\82Ü\82¤\82Æ\83g\83b\83v\82É\96ß\82Á\82Ä\82µ\82Ü\82¤\81B
+                       if Self.FBrowser.OleObject.Document.documentElement.innerText <> '' then begin
+                               doc := Idispatch( olevariant(Self.FBrowser.ControlInterface).Document) as IHTMLDocument2;
+                               Self.Thread.ScrollTop := doc.Body.ScrollTop;
+                       end;
+               end;
+               //TOleControl(Self.FBrowser).Visible := false;
+               ShowWindow(Self.FBrowser.Handle, SW_HIDE);
+       end;
+
+end;
+
+
+end.
index ccb93e5..5bfd2a5 100644 (file)
--- a/Giko.pas
+++ b/Giko.pas
@@ -18,7 +18,7 @@ uses
        Editor, RoundData, GikoPanel, Favorite, HTMLDocumentEvent,
        HintWindow, GikoCoolBar, GikoListView, Search, ExternalBoardManager,
        ExternalBoardPlugInMain, StdActns, Variants, ExtActns,IdTCPConnection,
-       IdBaseComponent, IdTCPClient, AppEvnts;
+       IdBaseComponent, IdTCPClient, AppEvnts, BrowserRecord;
 
 type
        TGikoTreeType = (gttNone, gtt2ch, gttHistory, gttFavorite);
@@ -26,7 +26,7 @@ type
        TMinimizeType = (mtNone, mtMinimizing, mtMinimized);
        TResizeType = (rtNone, rtResizing);
 
-       TBrowserRecord = class;
+//     TBrowserRecord = class;
 
        TGikoForm = class(TForm)
                StatusBar: TStatusBar;
@@ -530,7 +530,6 @@ type
     procedure ListToolBarResize(Sender: TObject);
     procedure BrowserToolBarResize(Sender: TObject);
        procedure KokoPopupMenuPopup(Sender: TObject);
-       procedure BeLogInOutActionUpdate(Sender: TObject);
        procedure ListViewKeyUp(Sender: TObject; var Key: Word;
          Shift: TShiftState);
     procedure FavoriteTreeViewEditing(Sender: TObject; Node: TTreeNode;
@@ -654,8 +653,6 @@ type
                function GetTabURLs(AStringList: TStringList) : Boolean;
                /// ListColumnPopupMenu \83A\83C\83e\83\80\82Ì\83N\83\8a\83b\83N\83C\83x\83\93\83g
                procedure       ListColumnPopupMenuOnClick( Sender : TObject );
-               // BrowserRecord\82É\82Â\82¢\82Ä\82¢\82éFBrowser\82ð\8aO\82·
-               procedure ReleaseBrowser( BRecord: TBrowserRecord);
                //! \8di\82è\8d\9e\82Ý\95\8e\9a\97ñ\90Ý\92è
                procedure SetSelectWord( const text : string );
                //\8c»\8dÝ\82Ì\83J\81[\83\\83\8b\82ð\8eæ\93¾\82·\82é
@@ -828,23 +825,6 @@ type
                property Data: Pointer read FData write FData;
        end;
 
-       TBrowserRecord = class( TObject )
-       private
-               FBrowser        : TWebBrowser;
-               FEvent: THTMLDocumentEventSink; ///< \83u\83\89\83E\83U\83h\83L\83\85\83\81\83\93\83g\83C\83x\83\93\83g
-               FThread         : TThreadItem;
-               FLastSize       : Integer;
-               FRepaint        : Boolean;
-               FMovement       : string;                                                       ///< \83X\83N\83\8d\81[\83\8b\90æ\83A\83\93\83J\81[
-       public
-               destructor      Destroy; override;
-               property        Browser : TWebBrowser   read FBrowser   write FBrowser;
-               property        Thread  : TThreadItem   read FThread    write FThread;
-               property        LastSize        : Integer               read FLastSize  write FLastSize;
-               property        Repaint         : Boolean               read FRepaint   write FRepaint;
-               property        Movement        : string                read FMovement  write FMovement;
-       end;
-
 var
        GikoForm: TGikoForm;
 
@@ -911,7 +891,6 @@ var
        i: Integer;
        wp: TWindowPlacement;
        s: string;
-       ToolButton: TToolButton;
 begin
 {$IFDEF DEBUG}
        AllocConsole;
@@ -2256,13 +2235,6 @@ begin
        end;
 end;
 
-{procedure TGikoForm.CabinetPanelVisible(PanelVisible: Boolean);
-begin
-       TreeSplitter.Visible := PanelVisible;
-       CabinetPanel.Visible := PanelVisible;
-       CabinetToolButton.Down := PanelVisible;
-end;}
-
 procedure TGikoForm.ListViewAllSelect;
 begin
        ListView.SetFocus;
@@ -2445,21 +2417,6 @@ begin
        StatusBar.Panels[1].Text := FDownloadTitle + ' - \83_\83E\83\93\83\8d\81[\83h\92\86 (' + IntToStr(AWorkCount) + '/' + IntToStr(FDownloadMax) + ')';
 end;
 
-{
-procedure TGikoForm.SetProgressValue(Number: Integer; Value: Integer; Max: Integer = -1);
-var
-       Component: TComponent;
-begin
-       Component := FindComponent('ProgressBar' + IntToStr(Number + 1));
-       if Component <> nil then begin
-               if not (Component is TProgressBar) then Exit;
-               if Max <> -1 then
-                       TProgressBar(Component).Max := Max;
-               TProgressBar(Component).Position := Value;
-       end;
-end;
-}
-
 procedure TGikoForm.AddMessageList(ACaption: string; AObject: TObject; Icon: TGikoMessageIcon);
 var
        ListItem: TListItem;
@@ -2498,9 +2455,9 @@ begin
        if ThreadItem.IsLogFile then begin
                //\82¨\8bC\82É\93ü\82è\82Ì\91S\82Ä\8aJ\82­\82Æ\82©\82â\82é\82Æ\81A\8d¡\8aJ\82¢\82Ä\82é\83X\83\8c\82Ìbrowser\82ð\95t\82¯\91Ö\82¦\82é\8b°\82ê\82ª\82 \82é
                //\8fí\82É\82S\94Ô\96Ú\82ÉActive\82Ì\83u\83\89\83E\83U\82ª\97\88\82È\82¢\82æ\82¤\82É\88Ú\93®\82³\82¹\82é
-               if (FActiveContent <> nil) and (FActiveContent.FBrowser <> nil) and
-                       (FActiveContent.FBrowser <> BrowserNullTab.Browser)then begin
-                       j := FBrowsers.IndexOf(FActiveContent.FBrowser);
+               if (FActiveContent <> nil) and (FActiveContent.Browser <> nil) and
+                       (FActiveContent.Browser <> BrowserNullTab.Browser)then begin
+                       j := FBrowsers.IndexOf(FActiveContent.Browser);
                        if j = BROWSER_COUNT - 1 then
                                FBrowsers.Move(BROWSER_COUNT - 1, 0);
                end;
@@ -2512,14 +2469,14 @@ begin
                        if TObject(BrowserTab.Tabs.Objects[i]) is TBrowserRecord then begin
                                if TBrowserRecord(BrowserTab.Tabs.Objects[i]).Thread = ThreadItem then begin
                                        Result := TBrowserRecord( BrowserTab.Tabs.Objects[i] );
-                                       if TBrowserRecord(BrowserTab.Tabs.Objects[i]).FBrowser = nil then begin
+                                       if TBrowserRecord(BrowserTab.Tabs.Objects[i]).Browser = nil then begin
                                                for j := BrowserTab.Tabs.Count - 1 downto 0 do begin
-                                                       if TBrowserRecord(BrowserTab.Tabs.Objects[j]).FBrowser = TWebBrowser(FBrowsers[BROWSER_COUNT - 1]) then begin
+                                                       if TBrowserRecord(BrowserTab.Tabs.Objects[j]).Browser = TWebBrowser(FBrowsers[BROWSER_COUNT - 1]) then begin
                                                                ReleaseBrowser(TBrowserRecord(BrowserTab.Tabs.Objects[j]));
                                                                break;
                                                        end;
                                                end;
-                                               TBrowserRecord(BrowserTab.Tabs.Objects[i]).FBrowser := TWebBrowser(FBrowsers[BROWSER_COUNT - 1]);
+                                               TBrowserRecord(BrowserTab.Tabs.Objects[i]).Browser := TWebBrowser(FBrowsers[BROWSER_COUNT - 1]);
                                                TBrowserRecord(BrowserTab.Tabs.Objects[i]).Repaint := true;
                                                FBrowsers.Move(BROWSER_COUNT - 1, 0);
                                        end;
@@ -2536,7 +2493,7 @@ begin
                if GikoSys.Setting.BrowserTabAppend = gtaFirst then begin
                        newBrowser := TBrowserRecord.Create;
                        for j := BrowserTab.Tabs.Count - 1 downto 0 do begin
-                               if TBrowserRecord(BrowserTab.Tabs.Objects[j]).FBrowser = TWebBrowser(FBrowsers[BROWSER_COUNT - 1]) then begin
+                               if TBrowserRecord(BrowserTab.Tabs.Objects[j]).Browser = TWebBrowser(FBrowsers[BROWSER_COUNT - 1]) then begin
                                        ReleaseBrowser(TBrowserRecord(BrowserTab.Tabs.Objects[j]));
                                        break;
                                end;
@@ -2561,7 +2518,7 @@ begin
                end else begin
                        newBrowser := TBrowserRecord.Create;
                        for j := BrowserTab.Tabs.Count - 1 downto 0 do begin
-                               if TBrowserRecord(BrowserTab.Tabs.Objects[j]).FBrowser = TWebBrowser(FBrowsers[BROWSER_COUNT - 1]) then begin
+                               if TBrowserRecord(BrowserTab.Tabs.Objects[j]).Browser = TWebBrowser(FBrowsers[BROWSER_COUNT - 1]) then begin
                                        ReleaseBrowser(TBrowserRecord(BrowserTab.Tabs.Objects[j]));
                                        break;
                                end;
@@ -2651,7 +2608,7 @@ begin
                if FActiveContent.Browser = TWebBrowser(FBrowsers[BROWSER_COUNT - 1]) then
                        FBrowsers.Move(BROWSER_COUNT - 1, 0);
                for i := BrowserTab.Tabs.Count - 1 downto 0 do begin
-                       if TBrowserRecord(BrowserTab.Tabs.Objects[i]).FBrowser = TWebBrowser(FBrowsers[BROWSER_COUNT - 1]) then begin
+                       if TBrowserRecord(BrowserTab.Tabs.Objects[i]).Browser = TWebBrowser(FBrowsers[BROWSER_COUNT - 1]) then begin
                                ReleaseBrowser(TBrowserRecord(BrowserTab.Tabs.Objects[i]));
                                break;
                        end;
@@ -2681,7 +2638,7 @@ begin
                        if (FActiveContent.Browser <> BrowserNullTab.Browser) then
                                ShowWindow(FActiveContent.Browser.Handle, SW_HIDE);
                end;
-               ShowWindow(Thread.FBrowser.Handle, SW_SHOW);
+               ShowWindow(Thread.Browser.Handle, SW_SHOW);
                if (not Assigned(Thread.Browser.Document)) then begin
                        Thread.Browser.Navigate('about:blank');
                end;
@@ -3547,8 +3504,8 @@ begin
        end;
 
        // Access Violation \82ª\8bN\82«\82é\8e\96\82ª\82 \82é\82Ì\82Å\8d¡\8cã\97v\83`\83F\83b\83N
-       if(BrowserRecord <> nil) and (BrowserRecord.FBrowser <> nil) then begin
-               activeBrower := BrowserRecord.FBrowser;
+       if(BrowserRecord <> nil) and (BrowserRecord.Browser <> nil) then begin
+               activeBrower := BrowserRecord.Browser;
                try
                        top := 0;
                        nm := AName;
@@ -4235,12 +4192,12 @@ begin
                                end;
                        end;
                        if BrowserRecord <> nil then begin
-                               if BrowserRecord.FEvent <> nil then
-                                       BrowserRecord.FEvent.Free;
+                               if BrowserRecord.Event <> nil then
+                                       BrowserRecord.Event.Free;
                                FDispHtmlDocument := Idispatch(OleVariant(BrowserRecord.Browser.ControlInterface).Document) as DispHTMLDocument;
-                               BrowserRecord.FEvent := THTMLDocumentEventSink.Create(Self, FDispHtmlDocument, HTMLDocumentEvents2);
-                               BrowserRecord.FEvent.OnContextMenu := OnDocumentContextMenu;
-                               BrowserRecord.FEvent.OnClick := WebBrowserClick;  //\92Ç\89Á\82µ\82½OnClick\83C\83x\83\93\83g
+                               BrowserRecord.Event := THTMLDocumentEventSink.Create(Self, FDispHtmlDocument, HTMLDocumentEvents2);
+                               BrowserRecord.Event.OnContextMenu := OnDocumentContextMenu;
+                               BrowserRecord.Event.OnClick := WebBrowserClick;  //\92Ç\89Á\82µ\82½OnClick\83C\83x\83\93\83g
                        end;
                end else begin
                        if GetActiveContent <> nil then begin
@@ -5076,7 +5033,7 @@ var
 begin
        Result := False;
     IDAnchorPopup('');
-       Doc := FactiveContent.FBrowser.Document as IHtmlDocument2;
+       Doc := FactiveContent.Browser.Document as IHtmlDocument2;
        if Assigned(Doc) then begin
                Range := Doc.selection.createRange as IHTMLTxtRange;
                s := CustomStringReplace(Range.text, '\81@', ' ');//\91S\8ap\8bó\94\92\82ð\94¼\8ap\8bó\94\92\82É
@@ -6063,7 +6020,7 @@ begin
                Node.ImageIndex := 16;
                Node.SelectedIndex := 16;
        end else if Source is TBrowserRecord then begin
-               ThreadItem := TBrowserRecord( Source ).FThread;
+               ThreadItem := TBrowserRecord( Source ).Thread;
                FavoThreadItem                          := TFavoriteThreadItem.CreateWithItem( ThreadItem );
                Node := FavoriteDM.TreeView.Items.AddChildObject(FavNode, ThreadItem.Title, FavoThreadItem);
                Node.ImageIndex := 16;
@@ -6307,9 +6264,6 @@ procedure TGikoForm.FavoriteTreeViewDblClick(Sender: TObject);
 begin
        //\83N\83\8a\83b\83N\8e\9e\82Ì\91I\91ð\83C\83x\83\93\83g\82Æ\93¯\82\82È\82ç\83_\83u\83\8b\83N\83\8a\83b\83N\8eÀ\8ds
        if (FClickNode = FavoriteTreeView.Selected) then begin
-{$IFDEF DEBUG}
-               Writeln('FVDbClick');
-{$ENDIF}
                GikoDM.FavoriteTreeViewReloadActionExecute( Sender );
        end;
 end;
@@ -6840,35 +6794,11 @@ procedure TGikoForm.FavoriteTreeViewMouseUp(Sender: TObject;
 begin
        if (Button = mbLeft) and not (ssDouble  in Shift) then begin
                if (FClickNode = FavoriteTreeView.Selected) then begin
-{$IFDEF DEBUG}
-               Writeln('FVMouseUp');
-{$ENDIF}
                        FavoriteClick( TObject( FClickNode ) );
                end;
        end;
 end;
 
-destructor     TBrowserRecord.Destroy;
-var
-       doc :OleVariant;
-begin
-       if Self.FEvent <> nil then
-               Self.FEvent.Free;
-       if Self.FBrowser <> nil then begin
-               if Self.Thread <> nil then begin
-                       //\83^\83u\82Ì\95\9c\8c³\82Å\95\9c\8c³\82³\82ê\82½\83X\83\8c\82Í\81A\95`\89æ\82³\82ê\82Ä\82¢\82È\82¢\82Æ\82«\82ª\82 \82é\82Ì\82Å
-                       //\82»\82Ì\82Æ\82«\82Ì\83X\83N\83\8d\81[\83\8b\97Ê\82ð\95Û\91\82µ\82Ä\82µ\82Ü\82¤\82Æ\83g\83b\83v\82É\96ß\82Á\82Ä\82µ\82Ü\82¤\81B
-                       if Self.FBrowser.OleObject.Document.documentElement.innerText <> '' then begin
-                               doc := Idispatch( olevariant(Self.FBrowser.ControlInterface).Document) as IHTMLDocument2;
-                               Self.Thread.ScrollTop := doc.Body.ScrollTop;
-                       end;
-               end;
-               //TOleControl(Self.FBrowser).Visible := false;
-               ShowWindow(Self.FBrowser.Handle, SW_HIDE);
-       end;
-
-end;
-
 function TGikoForm.WebBrowserClick(Sender: TObject): WordBool;
 var
        p : TPoint;
@@ -7221,18 +7151,6 @@ begin
        SetActiveList( FActiveList );
 
 end;
-//\8ew\92è\82µ\82½\94Ô\8d\86\82Ì\83\8c\83X\82Éjump\82·\82éAction
-procedure TGikoForm.ReleaseBrowser( BRecord: TBrowserRecord);
-begin
-       if BRecord <> nil then begin
-               BRecord.Browser := nil;
-               if BRecord.FEvent <> nil then begin
-                       BRecord.FEvent.Free;
-                       BRecord.FEvent := nil;
-               end;
-               BRecord.Repaint := true;
-       end;
-end;
 
 procedure TGikoForm.OnGestureStart(Sender: TObject);
 begin
@@ -7564,9 +7482,6 @@ begin
 
 end;
 
-procedure TGikoForm.BeLogInOutActionUpdate(Sender: TObject);
-begin
-end;
 //ListView\82Ì\91I\91ð\8fó\91Ô\82ð\89ð\8f\9c\82·\82é
 procedure TGikoForm.ListViewKeyUp(Sender: TObject; var Key: Word;
   Shift: TShiftState);
@@ -7585,7 +7500,9 @@ begin
                end;
        end;
 end;
-
+// *************************************************************************
+//! \82¨\8bC\82É\93ü\82è\82Ì\95Ò\8fW\8aJ\8en\83C\83x\83\93\83g
+// *************************************************************************
 procedure TGikoForm.FavoriteTreeViewEditing(Sender: TObject;
   Node: TTreeNode; var AllowEdit: Boolean);
 begin
@@ -7797,9 +7714,6 @@ end;
 // *************************************************************************
 procedure TGikoForm.FavoriteTreeViewClick(Sender: TObject);
 begin
-{$IFDEF DEBUG}
-               Writeln('FVClick');
-{$ENDIF}
        //\8c»\8dÝ\91I\91ð\82³\82ê\82Ä\82¢\82é\83A\83C\83e\83\80\82ð\95Û\91
        FClickNode := FavoriteTreeView.Selected;
 end;
index 11660e1..9f3a7d0 100644 (file)
@@ -11,7 +11,7 @@ uses
        SHDocVw_TLB,
        MSHTML_TLB,
 {$IFEND}
-  ComCtrls;
+  ComCtrls, BrowserRecord;
 
 
 type
index 3371633..d479bdb 100644 (file)
@@ -13,7 +13,7 @@ uses
        SHDocVw_TLB,
        MSHTML_TLB,
 {$IFEND}
-       BoardGroup;
+       BoardGroup, BrowserRecord;
 
 type
        TOptionDialog = class(TForm)
index c313190..879c03b 100644 (file)
@@ -69,7 +69,8 @@ uses
   Y_TextConverter in 'res\ExternalBoardPlugIn\Y_TextConverter.pas',
   HTMLCreate in 'HTMLCreate.pas',
   ListViewUtils in 'ListViewUtils.pas',
-  GikoDataModule in 'GikoDataModule.pas' {GikoDM: TDataModule};
+  GikoDataModule in 'GikoDataModule.pas' {GikoDM: TDataModule},
+  BrowserRecord in 'BrowserRecord.pas';
 
 {$R *.RES}
 {$R gikoResource.res}