Develop and Download Open Source Software

Browse CVS Repository

Annotation of /gikonavigoeson/gikonavi/FavoriteAdd.pas

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.7 - (hide annotations) (download) (as text)
Sun Apr 4 14:11:37 2004 UTC (20 years ago) by h677
Branch: MAIN
CVS Tags: b47, v1_48_0_510
Branch point for: BRANCH_TORA
Changes since 1.6: +0 -5 lines
File MIME type: text/x-pascal
デバッグコード入れたままだったので削除しました

1 hi_ 1.1 unit FavoriteAdd;
2    
3     interface
4    
5     uses
6     Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
7     Dialogs, ComCtrls, StdCtrls, Favorite, ImgList, BoardGroup, NewFavoriteFolder;
8    
9     type
10     TFavoriteAddDialog = class(TForm)
11     TitleLabel: TLabel;
12     NameLabel: TLabel;
13     Label3: TLabel;
14     NameEdit: TEdit;
15     CaptionEdit: TEdit;
16     OKButton: TButton;
17     CancelButton: TButton;
18     NewFolderButton: TButton;
19     FolderTreeView: TTreeView;
20     Label4: TLabel;
21     procedure FormCreate(Sender: TObject);
22     procedure OKButtonClick(Sender: TObject);
23     procedure CancelButtonClick(Sender: TObject);
24     procedure NewFolderButtonClick(Sender: TObject);
25     private
26     { Private ?辿?転 }
27     FBoard: TBoard;
28     FThreadItem: TThreadItem;
29     // procedure PrepareFavoriteTree(Favo: TFavoriteItem; Node: TTreeNode);
30     function GetGikoFavoriteNode(FavFolder: TFavoriteFolder): TTreeNode;
31     public
32     { Public ?辿?転 }
33     procedure SetBoard(Board: TBoard);
34     procedure SetThreadItem(ThreadItem: TThreadItem);
35     end;
36    
37     var
38     FavoriteAddDialog: TFavoriteAddDialog;
39    
40     implementation
41    
42     uses Giko;
43    
44     {$R *.dfm}
45    
46     procedure TFavoriteAddDialog.FormCreate(Sender: TObject);
47     var
48     i: Integer;
49     begin
50 h677 1.6 FolderTreeView.Items.BeginUpdate;
51 hi_ 1.1 FolderTreeView.Items := FavoriteDM.TreeView.Items;
52     for i := FolderTreeView.Items.Count - 1 downto 0 do begin
53     if not (TObject(FolderTreeView.Items[i].Data) is TFavoriteFolder) then
54     FolderTreeView.Items[i].Delete;
55     end;
56    
57     if FolderTreeView.Items.GetFirstNode <> nil then begin
58     FolderTreeView.Items.GetFirstNode.Expanded := True;
59     FolderTreeView.Items.GetFirstNode.Selected := True;
60     end;
61 h677 1.6 FolderTreeView.Items.EndUpdate;
62    
63 hi_ 1.1 { Node := FolderTreeView.Items.AddChild(nil, GikoForm.Favorite.Root.Title);
64     Node.ImageIndex := 0;
65     Node.Data := GikoForm.Favorite.Root;
66     PrepareFavoriteTree(GikoForm.Favorite.Root, Node);
67     Node.Expanded := True;
68     Node.Selected := True;}
69     end;
70    
71    
72     {procedure TFavoriteAddDialog.PrepareFavoriteTree(Favo: TFavoriteItem; Node: TTreeNode);
73     var
74     i: Integer;
75     ChildFavo: TFavoriteItem;
76     ChildNode: TTreeNode;
77     begin
78     for i := 0 to TFavoriteFolder(Favo).Count - 1 do begin
79    
80     ChildFavo := TFavoriteFolder(Favo).Items[i];
81     if ChildFavo is TFavoriteFolder then begin
82     ChildNode := FolderTreeView.Items.AddChild(Node, ChildFavo.Title);
83     ChildNode.ImageIndex := 0;
84     ChildNode.Data := ChildFavo;
85     PrepareFavoriteTree(ChildFavo, ChildNode);
86     end else if ChildFavo is TFavoriteBoardItem then begin
87     end else if ChildFavo is TFavoriteThreadItem then begin
88     end;
89     end;
90     end;}
91    
92     procedure TFavoriteAddDialog.OKButtonClick(Sender: TObject);
93     var
94     i: Integer;
95     Node: TTreeNode;
96     FavoBoardItem: TFavoriteBoardItem;
97     FavoThreadItem: TFavoriteThreadItem;
98     FavNode: TTreeNode;
99     begin
100     if FolderTreeView.Selected = nil then
101     Exit;
102 h677 1.3 Node := nil;
103 hi_ 1.1 for i := 0 to FolderTreeView.Items.Count - 1 do begin
104    
105     FavNode := GetGikoFavoriteNode(FolderTreeView.Items[i].Data);
106     if FavNode = nil then begin
107     FavNode := GetGikoFavoriteNode(FolderTreeView.Items[i].Parent.Data);
108     if FavNode <> nil then
109     Node := FavoriteDM.TreeView.Items.AddChildObject(FavNode, FolderTreeView.Items[i].Text, FolderTreeView.Items[i].Data);
110 yoffy 1.2 Node.ImageIndex := 14;
111     Node.SelectedIndex := 14;
112 hi_ 1.1 end;
113     end;
114    
115    
116     FavNode := GetGikoFavoriteNode(FolderTreeView.Selected.Data);
117     if FavNode <> nil then begin
118     if FBoard <> nil then begin
119 yoffy 1.5 FavoBoardItem := TFavoriteBoardItem.Create( FBoard.URL, FBoard.Title, FBoard );
120 hi_ 1.1 Node := FavoriteDM.TreeView.Items.AddChildObject(FavNode, CaptionEdit.Text, FavoBoardItem);
121 yoffy 1.2 Node.ImageIndex := 15;
122 hi_ 1.1 Node.SelectedIndex := 15;
123     end else if FThreadItem <> nil then begin
124 yoffy 1.5 FavoThreadItem := TFavoriteThreadItem.Create( FThreadItem.URL, FThreadItem.Title, FThreadItem );
125 hi_ 1.1 Node := FavoriteDM.TreeView.Items.AddChildObject(FavNode, CaptionEdit.Text, FavoThreadItem);
126     Node.ImageIndex := 16;
127 yoffy 1.2 Node.SelectedIndex := 16;
128 hi_ 1.1 end;
129     end;
130    
131     FavoriteDM.WriteFavorite;
132     Close;
133     end;
134    
135     procedure TFavoriteAddDialog.CancelButtonClick(Sender: TObject);
136     begin
137     Close;
138     end;
139    
140     procedure TFavoriteAddDialog.NewFolderButtonClick(Sender: TObject);
141     var
142     Dlg: TNewFavoriteFolderDialog;
143     Node: TTreeNode;
144     FavFolder: TFavoriteFolder;
145     begin
146     if FolderTreeView.Selected = nil then
147     Exit;
148    
149     Dlg := TNewFavoriteFolderDialog.Create(Self);
150     try
151     Dlg.ShowModal;
152     if Dlg.ModalResult = mrOK then begin
153     if Length(Dlg.FolderEdit.Text) = 0 then
154     Exit;
155     FavFolder := TFavoriteFolder.Create;
156     Node := FolderTreeView.Items.AddChildObject(FolderTreeView.Selected, Dlg.FolderEdit.Text, FavFolder);
157 yoffy 1.2 Node.ImageIndex := 14;
158     Node.SelectedIndex := 14;
159 hi_ 1.1 FolderTreeView.Selected := Node;
160     end;
161     finally
162     Dlg.Free;
163     end;
164     end;
165    
166     procedure TFavoriteAddDialog.SetBoard(Board: TBoard);
167     begin
168     FBoard := Board;
169     if Board = nil then Exit;
170    
171     NameEdit.Text := Board.Title;
172     CaptionEdit.Text := Board.Title;
173     TitleLabel.Caption := '?????????即?C???端????????????????';
174     NameLabel.Caption := '???添:';
175     end;
176    
177     procedure TFavoriteAddDialog.SetThreadItem(ThreadItem: TThreadItem);
178     begin
179     FThreadItem := ThreadItem;
180     if ThreadItem = nil then Exit;
181    
182     NameEdit.Text := ThreadItem.Title;
183     CaptionEdit.Text := ThreadItem.Title;
184     TitleLabel.Caption := '?????X???b?h???即?C???端????????????????';
185     NameLabel.Caption := '?X???b?h?添:';
186     end;
187    
188     function TFavoriteAddDialog.GetGikoFavoriteNode(FavFolder: TFavoriteFolder): TTreeNode;
189     var
190     i: Integer;
191     begin
192     Result := nil;
193     for i := 0 to FavoriteDM.TreeView.Items.Count - 1 do begin
194     if FavoriteDM.TreeView.Items[i].Data = FavFolder then begin
195     Result := FavoriteDM.TreeView.Items[i];
196     Exit;
197     end;
198     end;
199     end;
200    
201     end.

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26