-{
-procedure TFavoriteDM.SAXStartDocument(Sender: TObject);
-begin
- FStack := TStack.Create;
- FStack.Push(FTreeView.Items.GetFirstNode);
-end;
-
-procedure TFavoriteDM.SAXEndDocument(Sender: TObject);
-begin
- FStack.Free;
-end;
-
-procedure TFavoriteDM.SAXStartElement(Sender: TObject; const NamespaceURI, LocalName, QName: SAXString;
- const Atts: IAttributes);
-var
- FavType: string;
- ParentNode: TTreeNode;
- CurrentNode: TTreeNode;
- FavFolder: TFavoriteFolder;
- FavBoard: TFavoriteBoardItem;
- FavThread: TFavoriteThreadItem;
-begin
- if QName = 'folder' then begin
- ParentNode := FStack.Peek;
- if TObject(ParentNode.Data) is TFavoriteFolder then begin
- FavFolder := TFavoriteFolder.Create;
- CurrentNode := FTreeView.Items.AddChildObject(ParentNode, Atts.getValue('title'), FavFolder);
- CurrentNode.ImageIndex := 12;
- CurrentNode.SelectedIndex := 13;
- FStack.Push(CurrentNode);
- end;
- end else if QName = 'favitem' then begin
- ParentNode := FStack.Peek;
- if TObject(ParentNode.Data) is TFavoriteFolder then begin
- FavType := Atts.getValue('favtype');
- if FavType = 'board' then begin
- FavBoard := TFavoriteBoardItem.Create;
- FavBoard.BBSID := Atts.getValue('bbs');
- FavBoard.BoardName := Atts.getValue('boardname');
- CurrentNode := FTreeView.Items.AddChildObject(ParentNode, Atts.getValue('title'), FavBoard);
- CurrentNode.ImageIndex := 14;
- CurrentNode.SelectedIndex := 15;
- end else if FavType = 'thread' then begin
- FavThread := TFavoriteThreadItem.Create;
- FavThread.BBSID := Atts.getValue('bbs');
- FavThread.ThreadID := Atts.getValue('thread');
- FavThread.ThreadName := Atts.getValue('threadname');
- CurrentNode := FTreeView.Items.AddChildObject(ParentNode, Atts.getValue('title'), FavThread);
- CurrentNode.ImageIndex := 16;
- CurrentNode.SelectedIndex := 17;
- end;
- end;
- end;
-end;
-
-procedure TFavoriteDM.SAXEndElement(Sender: TObject; const NamespaceURI, LocalName, QName: SAXString);
-begin
- if QName = 'folder' then begin
- if FStack.Count <> 0 then
- FStack.Pop;
- end;
-end;
-
-procedure TFavoriteDM.SAXCharacters(Sender: TObject; const PCh: SAXString);
-begin
-//
-end;
-}