Files
Work/imagelst/TVDISP.HPP
2024-08-07 09:16:27 -04:00

118 lines
2.8 KiB
C++

#ifndef _IMAGELIST_TREEVIEWDISPLAYINFO_HPP_
#define _IMAGELIST_TREEVIEWDISPLAYINFO_HPP_
#ifndef _COMMON_NOTIFYMESSAGEHEADER_HPP_
#include <common/notify.hpp>
#endif
#ifndef _IMAGELIST_TREEVIEWITEM_HPP_
#include <imagelst/tvitem.hpp>
#endif
class TreeViewDisplayInfo : private TV_DISPINFO
{
public:
TreeViewDisplayInfo(void);
TreeViewDisplayInfo(const TreeViewDisplayInfo &someTreeViewDisplayInfo);
TreeViewDisplayInfo(const TV_DISPINFO &someTVDISPINFO);
virtual ~TreeViewDisplayInfo();
TreeViewDisplayInfo &operator=(const TreeViewDisplayInfo &someTreeViewDisplayInfo);
TreeViewDisplayInfo &operator=(const TV_DISPINFO &someTVDISPINFO);
WORD operator==(const TreeViewDisplayInfo &someTreeViewDisplayInfo)const;
WORD operator==(const TV_DISPINFO &someTVDISPINFO)const;
operator TV_DISPINFO &(void);
NotifyMessageHeader nmHeader(void)const;
void nmHeader(const NotifyMessageHeader &someNotifyMessageHeader);
TreeViewItem item(void)const;
void item(const TreeViewItem &someTreeViewItem);
private:
void init(void);
};
inline
TreeViewDisplayInfo::TreeViewDisplayInfo(void)
{
init();
}
inline
TreeViewDisplayInfo::TreeViewDisplayInfo(const TreeViewDisplayInfo &someTreeViewDisplayInfo)
{
*this=someTreeViewDisplayInfo;
}
inline
TreeViewDisplayInfo::TreeViewDisplayInfo(const TV_DISPINFO &someTVDISPINFO)
{
*this=someTVDISPINFO;
}
inline
TreeViewDisplayInfo::~TreeViewDisplayInfo()
{
}
inline
TreeViewDisplayInfo &TreeViewDisplayInfo::operator=(const TreeViewDisplayInfo &someTreeViewDisplayInfo)
{
nmHeader(someTreeViewDisplayInfo.nmHeader());
item(someTreeViewDisplayInfo.item());
return *this;
}
inline
TreeViewDisplayInfo &TreeViewDisplayInfo::operator=(const TV_DISPINFO &someTVDISPINFO)
{
(TV_DISPINFO&)*this=someTVDISPINFO;
return *this;
}
inline
WORD TreeViewDisplayInfo::operator==(const TreeViewDisplayInfo &someTreeViewDisplayInfo)const
{
return (nmHeader()==someTreeViewDisplayInfo.nmHeader()&&
item()==someTreeViewDisplayInfo.item());
}
inline
WORD TreeViewDisplayInfo::operator==(const TV_DISPINFO &someTVDISPINFO)const
{
return (nmHeader()==NotifyMessageHeader(someTVDISPINFO.hdr)&&
item()==TreeViewItem(someTVDISPINFO.item));
}
inline
TreeViewDisplayInfo::operator TV_DISPINFO &(void)
{
return *this;
}
inline
NotifyMessageHeader TreeViewDisplayInfo::nmHeader(void)const
{
return TV_DISPINFO::hdr;
}
inline
void TreeViewDisplayInfo::nmHeader(const NotifyMessageHeader &someNotifyMessageHeader)
{
TV_DISPINFO::hdr=(NMHDR&)someNotifyMessageHeader;
}
inline
TreeViewItem TreeViewDisplayInfo::item(void)const
{
return TV_DISPINFO::item;
}
inline
void TreeViewDisplayInfo::item(const TreeViewItem &someTreeViewItem)
{
TV_DISPINFO::item=(TV_ITEM&)someTreeViewItem;
}
inline
void TreeViewDisplayInfo::init(void)
{
::memset(&((TV_DISPINFO&)*this),0,sizeof(TV_DISPINFO));
}
#endif