15#if !defined(OWL_SHELLITM_H)
19#if defined(BI_HAS_PRAGMA_ONCE)
28#if defined(BI_COMP_MSC)
30#pragma warning(disable:4091)
35#if defined(BI_COMP_MSC)
52 static void DragAcceptFiles(
HWND,
BOOL);
53 static void DragFinish(
HDROP);
199 ulong GetSize()
const;
203 long GetItemCount()
const;
207 TPidl GetLastItem()
const;
211 TPidl StripLastItem()
const;
457 bool IsDesktop()
const;
461 TPidl GetPidl()
const;
465 TPidl GetFullyQualifiedPidl()
const;
505 void AddToRecentDocs()
const;
533 const int kind = -1)
const;
550 void EnforceValidity()
const;
551 void RetrieveIShellFolder()
const;
580 const int kind = Folders | NonFolders);
593 long GetCount()
const;
606 void Skip(
const ulong count);
614 void EnforceValidInterface()
const;
872 return Pidl ==
nullptr;
951 return !!Pidl && !!ParentFolder;
1097ParentFolder(
source.ParentFolder)
TComRef< T > & operator=(T *iface)
Wraps the IDataObject interface (currently lightweight).
TDataObject(IDataObject *iface=0)
Default constructor for TDataObject.
TDataObject & operator=(const TComRef< IDataObject > &source)
TDataObject assignment operator (from TComRef<IDataObject>)
Wraps the IDropTarget interface (currently lightweight).
TDropTarget & operator=(const TComRef< IDropTarget > &source)
TDropTarget assignment operator (from TComRef<IDropTarget>)
TDropTarget(IDropTarget *iface=0)
Default constructor for TDropTarget.
ObjectWindows dynamic-link libraries (DLLs) construct an instance of TModule, which acts as an object...
TPidl is an item identifier list class (ITEMIDLIST).
TPidl(LPITEMIDLIST pidl=0)
Construct a TPidl from an LPITEMIDLIST (pidl)
virtual ~TPidl()
TPidl destructor.
void FreePidl()
Free a pidl with the shell's allocator.
static LPITEMIDLIST Next(LPITEMIDLIST pidl)
Return next item id (in the list)
TPidl & operator=(const TPidl &source)
TPidl assignement operator (from another TPidl)
bool operator!() const
Check to see if TPidl represents an ITEMIDLIST (return true if it does not)
delay loading SHELL32.DLL/SHELL.DLL
static HRESULT SHGetMalloc(LPMALLOC *)
Invokes 'SHGetMalloc' indirectly.
An item in the shell's name space.
bool IsShortcut(const bool validateCachedInfo=false) const
Return true if the TShellItem represents an item that is a shortcut.
bool CanBeRenamed(const bool validateCachedInfo=false) const
Return true if the TShellItem represents an item that can be renamed.
bool ContainsSubFolder(const bool validateCachedInfo=false) const
Return true if the TShellItem represents an item that contains a subfolder.
bool HasAPropertySheet(const bool validateCachedInfo=false) const
Return true if the TShellItem represents an item that has a property sheet.
TIconKind
Used by TShellItem::GetIcon See MS doc for SHGetFileInfo for more information, Programmer's Guide to ...
bool ContainsFileSystemFolder(const bool validateCachedInfo=false) const
Return true if the TShellItem represents an item that contains a file system folder.
TBrowseFlags
Used by TShellItem::BrowseForFolder See MS doc for BROWSEINFO for more information,...
@ OnlyPrinters
Returns only printers.
@ OnlyFSAncestors
Returns only file system ancestors.
@ OnlyComputers
Returns only computers.
@ NoNetorkFoldersBelowDomain
Does not return network folders below the domain.
bool CanCreateShortcut(const bool validateCachedInfo=false) const
Return true if the TShellItem represents an item for which a shortcut can be created.
bool CanBeCopied(const bool validateCachedInfo=false) const
Return true if the TShellItem represents an item that can be copied.
TExeKind
Returned by TShellItem::GetExeType See MS doc for SHGetFileInfo for more information,...
@ WindowsPE
Windows level (3.0, 3.5, or 4.0)
@ WindowsNE
Windows-based application.
@ MSDOS
MS-DOS .EXE, .COM, or .BAT file.
@ NonExecutable
Nonexecutable file or an error condition.
bool operator!=(const TShellItem &rhs) const
Compare sort order of this TShellItem is not equal to another TShellItem.
bool CanBeRemoved(const bool validateCachedInfo=false) const
Return true if the TShellItem represents an item that can be removed.
bool DisplayGhosted(const bool validateCachedInfo=false) const
Return true if the TShellItem represents an item that should be displayed as ghosted.
bool operator<(const TShellItem &rhs) const
Compare sort order of this TShellItem is less than another TShellItem.
bool operator==(const TShellItem &rhs) const
Compare sort order of this TShellItem equals another TShellItem.
bool HaveSameParent(const TShellItem &other) const
HaveSameParent returns true if this TShellItem and other TShellItem have the same immediate parent fo...
TIconSize
Used by TShellItem::GetIcon See MS doc for SHGetFileInfo for more information, Programmer's Guide to ...
TDisplayNameKind
Used by TShelItem::GetDisplayName() and TShellItem::Rename() See MS doc for SHGNO for more informatio...
TPidl GetPidl() const
Get TPidl (relative to parent)
bool GetAttribute(const TAttribute at, const bool validateCachedInfo) const
GetAttribute is a protected function used by all the attribute functions except IsDesktop.
bool IsADropTarget(const bool validateCachedInfo=false) const
Return true if the TShellItem represents an item is a drop target.
TSpecialFolderKind
Used by TShellItem::TShellItem(const TSpecialFolderKind kind, HWND windowOwner = 0) See MS doc for SH...
bool CanBeDeleted(const bool validateCachedInfo=false) const
Return true if the TShellItem represents an item that can be deleted.
bool IsShared(const bool validateCachedInfo=false) const
Return true if the TShellItem represents an item that is shared.
bool IsReadOnly(const bool validateCachedInfo=false) const
Return true if the TShellItem represents an item that is read only.
bool operator>(const TShellItem &rhs) const
Compare sort order of this TShellItem is greater than another TShellItem.
bool IsPartOfFileSystem(const bool validateCachedInfo=false) const
Return true if the TShellItem represents an item that is part of the file system.
bool IsFolder(const bool validateCachedInfo=false) const
Return true if the TShellItem represents an item that is a folder.
bool operator<=(const TShellItem &rhs) const
Compare sort order of this TShellItem <= another TShellItem.
TAttribute
Used by TShellItem::GetAttributes See MS doc for IShellFolder::GetAttributesOf for more information,...
@ atCanBeRenamed
The shell item can be renamed.
@ atIsFolder
The shell item is a folder.
@ atIsShortcut
The shell item is a shortcut.
@ atIsShared
The shell item is shared.
@ atDisplayGhosted
The shell item should be displayed using a ghosted icon.
@ atContainsSubFolder
The shell item has subfolders.
@ atIsReadOnly
The shell item is readonly.
@ atCanCreateShortcut
Shortcuts can be created for the shell item.
@ atCanBeDeleted
The shell item can be deleted.
@ atHasAPropertySheet
The shell item has a property sheet.
@ atIsPartOfFileSystem
The shell item is part of the file system.
@ atContainsFileSystemFolder
The shell item contains one or more system folders.
@ atCanBeRemoved
The shell item is on removable media.
@ atCanBeCopied
The shell item can be copied.
@ atIsADropTarget
The shell item is a drop target.
@ atCanBeMoved
The shell item can be moved.
bool Valid() const
Determine if TShellItem reprsents a valid item.
TFileOpFlags
Used by TShellItem::Rename,Copy,Move,Delete See MS doc for SHFILEOPSTRUCT for more information,...
bool CanBeMoved(const bool validateCachedInfo=false) const
Return true if the TShellItem represents an item that can be moved.
bool operator>=(const TShellItem &rhs) const
Compare sort order of this TShellItem >= another TShellItem.
short CompareIDs(const TShellItem &rhs) const
CompareIDs is a protected function that compares a TShellItem's pidl with another TShellItem's pidl.
TShellItemIterator is an interator for walking through the contents of a folder.
TIncludeKind
Used by TShellItemIterator::TShellItemIterator(const TShellItem& folder, HWND windowOwner = 0,...
bool Valid() const
True if iterator is still valid.
Wraps the shell's IMalloc interface.
TShellMalloc()
Default constructor for TShellMalloc.
TShellMalloc & operator=(const TComRef< IMalloc > &source)
TShellMalloc assignment operator (from TComRef<IMalloc>)
Reference to reference counted string object TUString Lightweight reference object consisting of a po...
TXOwl is root class of the ObjectWindows exception hierarchy.
Base Shell exception class. Handles all TShellItem and related class exceptions.
static void Check(HRESULT hr, uint resId=IDS_SHELLFAILURE, HANDLE handle=0)
Checks an HResult and throws a TXShell if not SUCCEEDED(hr).
int operator!=(const TBitSet< T > &bs1, const TBitSet< T > &bs2)
int operator==(const TBitSet< T > &bs1, const TBitSet< T > &bs2)
Object Windows Library (OWLNext Core)
auto operator>=(const TCodePages::TCodePage &lhs, const TCodePages::TCodePage &rhs) -> bool
auto operator>(const TCodePages::TCodePage &lhs, const TCodePages::TCodePage &rhs) -> bool
General definitions used by all ObjectWindows programs.
ObjectWindows exception class & function definitions.
#define CONST_CAST(targetType, object)
#define STATIC_CAST(targetType, object)
Various types of smart pointer templatized classes.
Definition of class TString, a flexible universal string envelope class.
TCreateStruct contains information to construct a TShellItem Typically a TCreateStruct is returned (f...
TCreateStruct()
TShellItem::TCreateStruct default constructor.
TComRef< IShellFolder > ParentFolder