301 lines
6.4 KiB
C++
301 lines
6.4 KiB
C++
#ifndef _IMAGELIST_TREEVIEWITEM_HPP_
|
|
#define _IMAGELIST_TREEVIEWITEM_HPP_
|
|
#ifndef _COMMON_WINDOWS_HPP_
|
|
#include <common/windows.hpp>
|
|
#endif
|
|
#ifndef _COMMON_COMMCTRL_HPP_
|
|
#include <common/commctrl.hpp>
|
|
#endif
|
|
|
|
class TreeViewItem : private TV_ITEM
|
|
{
|
|
public:
|
|
enum ItemFlags{MaskText=TVIF_TEXT,MaskImage=TVIF_IMAGE,MaskParam=TVIF_PARAM,
|
|
MaskState=TVIF_STATE,MaskHandle=TVIF_HANDLE,MaskSelectedImage=TVIF_SELECTEDIMAGE,
|
|
MaskChildren=TVIF_CHILDREN};
|
|
enum StateFlags{StateSelected=TVIS_SELECTED,StateCut=TVIS_CUT,
|
|
StateDropHilited=TVIS_DROPHILITED,StateBold=TVIS_BOLD,
|
|
StateExpanded=TVIS_EXPANDED,StateExpandedOnce=TVIS_EXPANDEDONCE};
|
|
TreeViewItem(void);
|
|
TreeViewItem(const TreeViewItem &someTreeViewItem);
|
|
TreeViewItem(const TV_ITEM &someTVITEM);
|
|
TreeViewItem(UINT maskParam,HTREEITEM itemParam,UINT stateParam,UINT stateMask,LPSTR pszTextParam,DWORD maxTextParam,DWORD imageParam,DWORD selectedImageParam,DWORD childrenParam,DWORD lParam);
|
|
virtual ~TreeViewItem();
|
|
TreeViewItem &operator=(const TreeViewItem &someTreeViewItem);
|
|
TreeViewItem &operator=(const TV_ITEM &someTVITEM);
|
|
WORD operator==(const TreeViewItem &someTreeViewItem)const;
|
|
WORD operator==(const TV_ITEM &someTVITEM)const;
|
|
operator TV_ITEM&(void);
|
|
UINT mask(void)const;
|
|
void mask(UINT mask);
|
|
HTREEITEM item(void)const;
|
|
void item(HTREEITEM item);
|
|
UINT state(void)const;
|
|
void state(UINT state);
|
|
UINT stateMask(void)const;
|
|
void stateMask(UINT stateMask);
|
|
LPSTR text(void)const;
|
|
void text(LPSTR pszText);
|
|
DWORD maxText(void)const;
|
|
void maxText(DWORD maxText);
|
|
DWORD image(void)const;
|
|
void image(DWORD image);
|
|
DWORD selectedImage(void)const;
|
|
void selectedImage(DWORD selectedImage);
|
|
DWORD children(void)const;
|
|
void children(DWORD children);
|
|
LPARAM lParam(void)const;
|
|
void lParam(LPARAM lParam);
|
|
private:
|
|
void clearData(void);
|
|
};
|
|
|
|
inline
|
|
TreeViewItem::TreeViewItem(void)
|
|
{
|
|
clearData();
|
|
}
|
|
|
|
inline
|
|
TreeViewItem::TreeViewItem(const TreeViewItem &someTreeViewItem)
|
|
{
|
|
clearData();
|
|
*this=someTreeViewItem;
|
|
}
|
|
|
|
inline
|
|
TreeViewItem::TreeViewItem(const TV_ITEM &someTVITEM)
|
|
{
|
|
*this=someTVITEM;
|
|
}
|
|
|
|
inline
|
|
TreeViewItem::TreeViewItem(UINT maskParam,HTREEITEM itemParam,UINT stateParam,UINT stateMaskParam,LPSTR pszTextParam,DWORD maxTextParam,DWORD imageParam,DWORD selectedImageParam,DWORD childrenParam,DWORD lParamParam)
|
|
{
|
|
clearData();
|
|
mask(maskParam);
|
|
item(itemParam);
|
|
state(stateParam);
|
|
stateMask(stateMaskParam);
|
|
text(pszTextParam);
|
|
maxText(maxTextParam);
|
|
image(imageParam);
|
|
selectedImage(selectedImageParam);
|
|
children(childrenParam);
|
|
lParam(lParamParam);
|
|
}
|
|
|
|
inline
|
|
TreeViewItem::~TreeViewItem()
|
|
{
|
|
}
|
|
|
|
inline
|
|
TreeViewItem::operator TV_ITEM &(void)
|
|
{
|
|
return *this;
|
|
}
|
|
|
|
inline
|
|
TreeViewItem &TreeViewItem::operator=(const TreeViewItem &someTreeViewItem)
|
|
{
|
|
mask(someTreeViewItem.mask());
|
|
item(someTreeViewItem.item());
|
|
state(someTreeViewItem.state());
|
|
stateMask(someTreeViewItem.stateMask());
|
|
text(someTreeViewItem.text());
|
|
maxText(someTreeViewItem.maxText());
|
|
image(someTreeViewItem.image());
|
|
selectedImage(someTreeViewItem.selectedImage());
|
|
children(someTreeViewItem.children());
|
|
lParam(someTreeViewItem.lParam());
|
|
return *this;
|
|
}
|
|
|
|
inline
|
|
TreeViewItem &TreeViewItem::operator=(const TV_ITEM &someTVITEM)
|
|
{
|
|
mask(someTVITEM.mask);
|
|
item(someTVITEM.hItem);
|
|
state(someTVITEM.state);
|
|
stateMask(someTVITEM.stateMask);
|
|
text(someTVITEM.pszText);
|
|
maxText(someTVITEM.cchTextMax);
|
|
image(someTVITEM.iImage);
|
|
selectedImage(someTVITEM.iSelectedImage);
|
|
children(someTVITEM.cChildren);
|
|
lParam(someTVITEM.lParam);
|
|
return *this;
|
|
}
|
|
|
|
inline
|
|
WORD TreeViewItem::operator==(const TreeViewItem &someTreeViewItem)const
|
|
{
|
|
return (mask()==someTreeViewItem.mask()&&
|
|
item()==someTreeViewItem.item()&&
|
|
state()==someTreeViewItem.state()&&
|
|
stateMask()==someTreeViewItem.stateMask()&&
|
|
text()==someTreeViewItem.text()&&
|
|
maxText()==someTreeViewItem.maxText()&&
|
|
image()==someTreeViewItem.image()&&
|
|
selectedImage()==someTreeViewItem.selectedImage()&&
|
|
children()==someTreeViewItem.children()&&
|
|
lParam()==someTreeViewItem.lParam());
|
|
}
|
|
|
|
inline
|
|
WORD TreeViewItem::operator==(const TV_ITEM &someTVITEM)const
|
|
{
|
|
return (TV_ITEM::mask==someTVITEM.mask&&
|
|
TV_ITEM::hItem==someTVITEM.hItem&&
|
|
TV_ITEM::state==someTVITEM.state&&
|
|
TV_ITEM::stateMask==someTVITEM.stateMask&&
|
|
TV_ITEM::pszText==someTVITEM.pszText&&
|
|
TV_ITEM::cchTextMax==someTVITEM.cchTextMax&&
|
|
TV_ITEM::iImage==someTVITEM.iImage&&
|
|
TV_ITEM::iSelectedImage==someTVITEM.iSelectedImage&&
|
|
TV_ITEM::cChildren==someTVITEM.cChildren&&
|
|
TV_ITEM::lParam==someTVITEM.lParam);
|
|
}
|
|
|
|
inline
|
|
void TreeViewItem::clearData(void)
|
|
{
|
|
TV_ITEM::mask=0;
|
|
TV_ITEM::hItem=0;
|
|
TV_ITEM::state=0;
|
|
TV_ITEM::stateMask=0;
|
|
TV_ITEM::pszText=0;
|
|
TV_ITEM::cchTextMax=0;
|
|
TV_ITEM::iImage=0;
|
|
TV_ITEM::iSelectedImage=0;
|
|
TV_ITEM::cChildren=0;
|
|
TV_ITEM::lParam=0;
|
|
}
|
|
|
|
inline
|
|
UINT TreeViewItem::mask(void)const
|
|
{
|
|
return TV_ITEM::mask;
|
|
}
|
|
|
|
inline
|
|
void TreeViewItem::mask(UINT mask)
|
|
{
|
|
TV_ITEM::mask=mask;
|
|
}
|
|
|
|
inline
|
|
HTREEITEM TreeViewItem::item(void)const
|
|
{
|
|
return TV_ITEM::hItem;
|
|
}
|
|
|
|
inline
|
|
void TreeViewItem::item(HTREEITEM hItem)
|
|
{
|
|
TV_ITEM::hItem=hItem;
|
|
}
|
|
|
|
inline
|
|
UINT TreeViewItem::state(void)const
|
|
{
|
|
return TV_ITEM::state;
|
|
}
|
|
|
|
inline
|
|
void TreeViewItem::state(UINT state)
|
|
{
|
|
TV_ITEM::state=state;
|
|
}
|
|
|
|
inline
|
|
UINT TreeViewItem::stateMask(void)const
|
|
{
|
|
return TV_ITEM::stateMask;
|
|
}
|
|
|
|
inline
|
|
void TreeViewItem::stateMask(UINT stateMask)
|
|
{
|
|
TV_ITEM::stateMask=stateMask;
|
|
}
|
|
|
|
inline
|
|
LPSTR TreeViewItem::text(void)const
|
|
{
|
|
return TV_ITEM::pszText;
|
|
}
|
|
|
|
inline
|
|
void TreeViewItem::text(LPSTR pszText)
|
|
{
|
|
TV_ITEM::pszText=pszText;
|
|
}
|
|
|
|
inline
|
|
DWORD TreeViewItem::maxText(void)const
|
|
{
|
|
return TV_ITEM::cchTextMax;
|
|
}
|
|
|
|
inline
|
|
void TreeViewItem::maxText(DWORD maxText)
|
|
{
|
|
TV_ITEM::cchTextMax=maxText;
|
|
}
|
|
|
|
inline
|
|
DWORD TreeViewItem::image(void)const
|
|
{
|
|
return TV_ITEM::iImage;
|
|
}
|
|
|
|
inline
|
|
void TreeViewItem::image(DWORD image)
|
|
{
|
|
TV_ITEM::iImage=image;
|
|
}
|
|
|
|
inline
|
|
DWORD TreeViewItem::selectedImage(void)const
|
|
{
|
|
return TV_ITEM::iSelectedImage;
|
|
}
|
|
|
|
inline
|
|
void TreeViewItem::selectedImage(DWORD selectedImage)
|
|
{
|
|
TV_ITEM::iSelectedImage=selectedImage;
|
|
}
|
|
|
|
inline
|
|
DWORD TreeViewItem::children(void)const
|
|
{
|
|
return TV_ITEM::cChildren;
|
|
}
|
|
|
|
inline
|
|
void TreeViewItem::children(DWORD children)
|
|
{
|
|
TV_ITEM::cChildren=children;
|
|
}
|
|
|
|
inline
|
|
LPARAM TreeViewItem::lParam(void)const
|
|
{
|
|
return TV_ITEM::lParam;
|
|
}
|
|
|
|
inline
|
|
void TreeViewItem::lParam(LPARAM lParam)
|
|
{
|
|
TV_ITEM::lParam=lParam;
|
|
}
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|