51 lines
1.3 KiB
C++
51 lines
1.3 KiB
C++
#ifndef _SPLITTER_NEWSTREE_HPP_
|
|
#define _SPLITTER_NEWSTREE_HPP_
|
|
#ifndef _IMAGELIST_FOLDERTREE_HPP_
|
|
#include <imagelst/ftree.hpp>
|
|
#endif
|
|
|
|
class NewsTree : public FolderTree
|
|
{
|
|
public:
|
|
NewsTree(GUIWindow &parentWindow,const Rect &winRect,int controlID);
|
|
virtual ~NewsTree();
|
|
private:
|
|
enum ItemType{GroupNode=1,RootNode,NewsNode};
|
|
CallbackData::ReturnType selChangedHandler(CallbackData &cbData);
|
|
CallbackData::ReturnType selChangingHandler(CallbackData &cbData);
|
|
CallbackData::ReturnType itemExpandingHandler(CallbackData &cbData);
|
|
CallbackData::ReturnType itemExpandedHandler(CallbackData &cbData);
|
|
CallbackData::ReturnType beginDragHandler(CallbackData &cbData);
|
|
DWORD makeItemID(int id,int index);
|
|
ItemType getItemType(DWORD itemID);
|
|
DWORD getIndex(DWORD itemID);
|
|
void addItems();
|
|
void loadGroups(Block<String> &strLines);
|
|
|
|
Callback<NewsTree> mSelChangedHandler;
|
|
Callback<NewsTree> mSelChangingHandler;
|
|
Callback<NewsTree> mItemExpandingHandler;
|
|
Callback<NewsTree> mItemExpandedHandler;
|
|
Callback<NewsTree> mBeginDragHandler;
|
|
};
|
|
|
|
inline
|
|
DWORD NewsTree::makeItemID(int id,int index)
|
|
{
|
|
return (id<<16)|index;
|
|
}
|
|
|
|
inline
|
|
NewsTree::ItemType NewsTree::getItemType(DWORD itemID)
|
|
{
|
|
return ItemType(itemID>>16);
|
|
}
|
|
|
|
inline
|
|
DWORD NewsTree::getIndex(DWORD itemID)
|
|
{
|
|
return (itemID&0xFFFF);
|
|
}
|
|
#endif
|
|
|