3f66f6a5b3
This keyword is not expanded by Git which means it's not replaced with the correct revision value in the releases made using git-based scripts and it's confusing to have lines with unexpanded "$Id$" in the released files. As expanding them with Git is not that simple (it could be done with git archive and export-subst attribute) and there are not many benefits in having them in the first place, just remove all these lines. If nothing else, this will make an eventual transition to Git simpler. Closes #14487. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
62 lines
2.0 KiB
C++
62 lines
2.0 KiB
C++
///////////////////////////////////////////////////////////////////////////////
|
|
// Name: wx/itemid.h
|
|
// Purpose: wxItemId class declaration.
|
|
// Author: Vadim Zeitlin
|
|
// Created: 2011-08-17
|
|
// Copyright: (c) 2011 Vadim Zeitlin <vadim@wxwidgets.org>
|
|
// Licence: wxWindows licence
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _WX_ITEMID_H_
|
|
#define _WX_ITEMID_H_
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// wxItemId: an opaque item identifier used with wx{Tree,TreeList,DataView}Ctrl.
|
|
// ----------------------------------------------------------------------------
|
|
|
|
// The template argument T is typically a pointer to some opaque type. While
|
|
// wxTreeItemId and wxDataViewItem use a pointer to void, this is dangerous and
|
|
// not recommended for the new item id classes.
|
|
template <typename T>
|
|
class wxItemId
|
|
{
|
|
public:
|
|
typedef T Type;
|
|
|
|
// This ctor is implicit which is fine for non-void* types, but if you use
|
|
// this class with void* you're strongly advised to make the derived class
|
|
// ctor explicit as implicitly converting from any pointer is simply too
|
|
// dangerous.
|
|
wxItemId(Type item = NULL) : m_pItem(item) { }
|
|
|
|
// Default copy ctor, assignment operator and dtor are ok.
|
|
|
|
bool IsOk() const { return m_pItem != NULL; }
|
|
Type GetID() const { return m_pItem; }
|
|
operator const Type() const { return m_pItem; }
|
|
|
|
// This is used for implementation purposes only.
|
|
Type operator->() const { return m_pItem; }
|
|
|
|
void Unset() { m_pItem = NULL; }
|
|
|
|
// This field is public *only* for compatibility with the old wxTreeItemId
|
|
// implementation and must not be used in any new code.
|
|
//private:
|
|
Type m_pItem;
|
|
};
|
|
|
|
template <typename T>
|
|
bool operator==(const wxItemId<T>& left, const wxItemId<T>& right)
|
|
{
|
|
return left.GetID() == right.GetID();
|
|
}
|
|
|
|
template <typename T>
|
|
bool operator!=(const wxItemId<T>& left, const wxItemId<T>& right)
|
|
{
|
|
return !(left == right);
|
|
}
|
|
|
|
#endif // _WX_ITEMID_H_
|