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.1 - (hide annotations) (download) (as text)
Sat Aug 9 13:50:43 2003 UTC (20 years, 8 months ago) by hi_
Branch: MAIN
Branch point for: hi
File MIME type: text/x-pascal
Initial revision

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     FolderTreeView.Items := FavoriteDM.TreeView.Items;
51    
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     { Node := FolderTreeView.Items.AddChild(nil, GikoForm.Favorite.Root.Title);
62     Node.ImageIndex := 0;
63     Node.Data := GikoForm.Favorite.Root;
64     PrepareFavoriteTree(GikoForm.Favorite.Root, Node);
65     Node.Expanded := True;
66     Node.Selected := True;}
67     end;
68    
69    
70     {procedure TFavoriteAddDialog.PrepareFavoriteTree(Favo: TFavoriteItem; Node: TTreeNode);
71     var
72     i: Integer;
73     ChildFavo: TFavoriteItem;
74     ChildNode: TTreeNode;
75     begin
76     for i := 0 to TFavoriteFolder(Favo).Count - 1 do begin
77    
78     ChildFavo := TFavoriteFolder(Favo).Items[i];
79     if ChildFavo is TFavoriteFolder then begin
80     ChildNode := FolderTreeView.Items.AddChild(Node, ChildFavo.Title);
81     ChildNode.ImageIndex := 0;
82     ChildNode.Data := ChildFavo;
83     PrepareFavoriteTree(ChildFavo, ChildNode);
84     end else if ChildFavo is TFavoriteBoardItem then begin
85     end else if ChildFavo is TFavoriteThreadItem then begin
86     end;
87     end;
88     end;}
89    
90     procedure TFavoriteAddDialog.OKButtonClick(Sender: TObject);
91     var
92     i: Integer;
93     Node: TTreeNode;
94     FavoBoardItem: TFavoriteBoardItem;
95     FavoThreadItem: TFavoriteThreadItem;
96     FavNode: TTreeNode;
97     begin
98     if FolderTreeView.Selected = nil then
99     Exit;
100    
101     for i := 0 to FolderTreeView.Items.Count - 1 do begin
102    
103     FavNode := GetGikoFavoriteNode(FolderTreeView.Items[i].Data);
104     if FavNode = nil then begin
105     FavNode := GetGikoFavoriteNode(FolderTreeView.Items[i].Parent.Data);
106     if FavNode <> nil then
107     Node := FavoriteDM.TreeView.Items.AddChildObject(FavNode, FolderTreeView.Items[i].Text, FolderTreeView.Items[i].Data);
108     Node.ImageIndex := 12;
109     Node.SelectedIndex := 13;
110     end;
111     end;
112    
113    
114     FavNode := GetGikoFavoriteNode(FolderTreeView.Selected.Data);
115     if FavNode <> nil then begin
116     if FBoard <> nil then begin
117     FavoBoardItem := TFavoriteBoardItem.Create;
118     FavoBoardItem.BBSID := FBoard.BBSID;
119     FavoBoardItem.BoardName := FBoard.Title;
120     Node := FavoriteDM.TreeView.Items.AddChildObject(FavNode, CaptionEdit.Text, FavoBoardItem);
121     Node.ImageIndex := 14;
122     Node.SelectedIndex := 15;
123     end else if FThreadItem <> nil then begin
124     FavoThreadItem := TFavoriteThreadItem.Create;
125     FavoThreadItem.BBSID := FThreadItem.ParentBoard.BBSID;
126     FavoThreadItem.ThreadID := FThreadItem.FileName;
127     FavoThreadItem.ThreadName := FThreadItem.Title;
128     Node := FavoriteDM.TreeView.Items.AddChildObject(FavNode, CaptionEdit.Text, FavoThreadItem);
129     Node.ImageIndex := 16;
130     Node.SelectedIndex := 17;
131     end;
132     end;
133    
134     FavoriteDM.WriteFavorite;
135     Close;
136     end;
137    
138     procedure TFavoriteAddDialog.CancelButtonClick(Sender: TObject);
139     begin
140     Close;
141     end;
142    
143     procedure TFavoriteAddDialog.NewFolderButtonClick(Sender: TObject);
144     var
145     Dlg: TNewFavoriteFolderDialog;
146     Node: TTreeNode;
147     FavFolder: TFavoriteFolder;
148     begin
149     if FolderTreeView.Selected = nil then
150     Exit;
151    
152     Dlg := TNewFavoriteFolderDialog.Create(Self);
153     try
154     Dlg.ShowModal;
155     if Dlg.ModalResult = mrOK then begin
156     if Length(Dlg.FolderEdit.Text) = 0 then
157     Exit;
158     FavFolder := TFavoriteFolder.Create;
159     Node := FolderTreeView.Items.AddChildObject(FolderTreeView.Selected, Dlg.FolderEdit.Text, FavFolder);
160     Node.ImageIndex := 12;
161     Node.SelectedIndex := 13;
162     FolderTreeView.Selected := Node;
163     end;
164     finally
165     Dlg.Free;
166     end;
167     end;
168    
169     procedure TFavoriteAddDialog.SetBoard(Board: TBoard);
170     begin
171     FBoard := Board;
172     if Board = nil then Exit;
173    
174     NameEdit.Text := Board.Title;
175     CaptionEdit.Text := Board.Title;
176     TitleLabel.Caption := '‚ą‚Ě”Â‚Ş‚¨‹C‚É“ü‚č‚ɒljÁ‚ł‚ę‚Ü‚ˇ';
177     NameLabel.Caption := '”–ź:';
178     end;
179    
180     procedure TFavoriteAddDialog.SetThreadItem(ThreadItem: TThreadItem);
181     begin
182     FThreadItem := ThreadItem;
183     if ThreadItem = nil then Exit;
184    
185     NameEdit.Text := ThreadItem.Title;
186     CaptionEdit.Text := ThreadItem.Title;
187     TitleLabel.Caption := '‚ą‚ĚƒXƒŒƒbƒh‚Ş‚¨‹C‚É“ü‚č‚ɒljÁ‚ł‚ę‚Ü‚ˇ';
188     NameLabel.Caption := 'ƒXƒŒƒbƒh–ź:';
189     end;
190    
191     function TFavoriteAddDialog.GetGikoFavoriteNode(FavFolder: TFavoriteFolder): TTreeNode;
192     var
193     i: Integer;
194     begin
195     Result := nil;
196     for i := 0 to FavoriteDM.TreeView.Items.Count - 1 do begin
197     if FavoriteDM.TreeView.Items[i].Data = FavFolder then begin
198     Result := FavoriteDM.TreeView.Items[i];
199     Exit;
200     end;
201     end;
202     end;
203    
204     end.

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