#include #include #include NewsTree::NewsTree(GUIWindow &parentWindow,const Rect &winRect,int controlID) : FolderTree(parentWindow,winRect,controlID) { mSelChangedHandler.setCallback(this,&NewsTree::selChangedHandler); mSelChangingHandler.setCallback(this,&NewsTree::selChangingHandler); mItemExpandingHandler.setCallback(this,&NewsTree::itemExpandingHandler); mItemExpandedHandler.setCallback(this,&NewsTree::itemExpandedHandler); mBeginDragHandler.setCallback(this,&NewsTree::beginDragHandler); insertHandler(FolderTree::SelChangedHandler,&mSelChangedHandler); insertHandler(FolderTree::SelChangingHandler,&mSelChangingHandler); insertHandler(FolderTree::ItemExpandingHandler,&mItemExpandingHandler); insertHandler(FolderTree::ItemExpandedHandler,&mItemExpandedHandler); insertHandler(FolderTree::BeginDragHandler,&mBeginDragHandler); addItems(); } NewsTree::~NewsTree() { } CallbackData::ReturnType NewsTree::selChangedHandler(CallbackData &cbData) { String currentSelection; ::OutputDebugString("MainFrame::selChangedHandler\n"); currentSelection=this->currentSelection(); ItemType itemType=getItemType(cbData.lParam()); if(GroupNode==itemType)::OutputDebugString("GroupNode"); else if(RootNode==itemType)::OutputDebugString("RootNode"); else if(NewsNode==itemType)::OutputDebugString("NewsNode"); return false; } CallbackData::ReturnType NewsTree::selChangingHandler(CallbackData &cbData) { ::OutputDebugString("MainFrame::selChangingHandler\n"); return false; } CallbackData::ReturnType NewsTree::itemExpandingHandler(CallbackData &cbData) { ::OutputDebugString("MainFrame::itemExpandingHandler\n"); return false; } CallbackData::ReturnType NewsTree::itemExpandedHandler(CallbackData &cbData) { ::OutputDebugString("MainFrame::itemExpandedHandler\n"); return false; } CallbackData::ReturnType NewsTree::beginDragHandler(CallbackData &cbData) { ::OutputDebugString("MainFrame::beginDragHandler\n"); return false; } // ******************************************************************************** void NewsTree::addItems() { Block groupNames; TreeView::NodeType nodeType; String rootNodeName("news.optonline.net"); addRootNode(0,rootNodeName,makeItemID(RootNode,0)); loadGroups(groupNames); for(int index=0;index &strLines) { QuickSort stringSorter; File inFile("newssrc","rb"); String strLine; int max=4; int count=0; if(!inFile.isOkay())return; strLines.remove(); while(inFile.readLine(strLine)&&count++