3ds Max C++ API Reference
URLTab Class Reference

#include <idraganddrop.h>

+ Inheritance diagram for URLTab:

Public Member Functions

 URLTab ()
 
 ~URLTab ()
 
CoreExport URLTaboperator= (const Tab< const MCHAR * > &tb)
 
CoreExport URLTaboperator= (const URLTab &tb)
 
CoreExport void Add (const MCHAR *url)
 
CoreExport void Change (int i, const MCHAR *url)
 
CoreExport void Clear ()
 
- Public Member Functions inherited from Tab< const MCHAR * >
 Tab ()
 Default constructor. More...
 
 Tab (const Tab &tb)
 Copy constructor. More...
 
virtual ~Tab ()
 Destructor. More...
 
void Init ()
 Initializes a Tab instance. More...
 
int Count () const
 Retrieves the number of items in the Tab. More...
 
constexpr size_t size () const noexcept
 Retrieves the number of items in the Tab. Standard compliant. More...
 
void ZeroCount ()
 Resets the number of used items to zero. More...
 
void SetCount (int n, BOOL resize=TRUE)
 Sets the number of used items. More...
 
const MCHAR * * Addr (const INT_PTR i) const
 Returns the address of the i-th item. More...
 
constexpr const MCHAR * * data () noexcept
 Returns a pointer to the data buffer of tab. Standard compliant. More...
 
constexpr const const MCHAR * * data () const noexcept
 Returns a const pointer to the data buffer of tab. Standard compliant. More...
 
int Insert (int at, int num, const MCHAR * *el)
 Inserts items in the Tab at a specified position. More...
 
int Append (int num, const MCHAR * *el, int allocExtra=0)
 Appends items at the end of the Tab. More...
 
int Delete (int start, int num)
 Deletes items from the Tab. More...
 
int Resize (int num)
 Changes the number of items allocated in memory. More...
 
void Shrink ()
 Frees unused Tab items to reduce memory footprint. More...
 
void Sort (CompareFnc cmp)
 Sorts the array using the compare function. More...
 
Taboperator= (const Tab &tb)
 Assignment operator. More...
 
const MCHAR * & operator[] (const INT_PTR i) const
 Accesses the i-th Tab item. More...
 
const const MCHAR * * begin () const
 Accesses the begin iterator, which is a plain pointer in this case. More...
 
const MCHAR * * begin ()
 
const const MCHAR * * end () const
 Accesses the end iterator (one past last valid element). Do not dereference. More...
 
const MCHAR * * end ()
 

Public Attributes

BOOL downloaded
 

Additional Inherited Members

- Static Public Member Functions inherited from MaxHeapOperators
static UtilExport voidoperator new (size_t size)
 Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e)
 Standard new operator used to allocate objects if there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new (size_t size, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate objects that takes the type of memory, filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new (size_t size, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate arrays of objects. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport void operator delete (void *ptr)
 Standard delete operator used to deallocate an object If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an object If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an object that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete (void *ptr, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, void *placement_ptr)
 Placement new operator. More...
 
static UtilExport void operator delete (void *ptr, void *placement_ptr)
 Placement delete operator. More...
 
static UtilExport voidaligned_malloc (size_t size, size_t alignment)
 Allocates memory on a specified alignment boundary. More...
 
static UtilExport voidaligned_realloc (void *ptr, size_t size, size_t alignment)
 Reallocates memory on a specified alignment boundary. More...
 
static UtilExport void aligned_free (void *ptr)
 Frees a block of memory that was allocated with aligned_malloc/aligned_realloc. More...
 

Detailed Description

See also
Class DragAndDropHandler

Description:
The URLTab class is a Tab<MCHAR*> utility class that is used by certain components in the Drag and Drop manager to hold and pass around packages of file URLs. The class manages its own local copies of URL strings. This class represents the additional API support by URLTab, over-and-above that provided by any Tab<> template instantiation.
Data Members:
protected:

BOOL downloaded;

This flag is set to indicate the URL package has been downloaded and names will reflect local copies.

Constructor & Destructor Documentation

◆ URLTab()

URLTab ( )
inline
Remarks
Constructor.
Default Implementation:
{ downloaded = FALSE; }
43 { downloaded = FALSE; }
BOOL downloaded
Definition: idraganddrop.h:38

◆ ~URLTab()

~URLTab ( )
inline
Remarks
Destructor.

URLTabs manage their own local string element copies, the destructor frees all these strings.
Default Implementation:
{ Clear(); }
49 { Clear(); }
CoreExport void Clear()

Member Function Documentation

◆ operator=() [1/2]

CoreExport URLTab& operator= ( const Tab< const MCHAR * > &  tb)
Remarks
Assignment operator.

◆ operator=() [2/2]

CoreExport URLTab& operator= ( const URLTab tb)
Remarks
Assignment operator.

◆ Add()

CoreExport void Add ( const MCHAR url)
Remarks
This method adds a URL string to the package. A local copy of the string will be made.
Parameters:
MCHAR* url

The URL string to add.

◆ Change()

CoreExport void Change ( int  i,
const MCHAR url 
)
Remarks
This method replaces the i'th element by deletes the old string, taking a local copy of the new one. This is used by the various loaders to replace a URL with its local copy path name upon download.
Parameters:
int i

The index of the URL to replace.

MCHAR* url

The new URL string.

◆ Clear()

CoreExport void Clear ( )
Remarks
This method clears the package (deletes all the strings), zeros the Tab<> and resets 'downloaded' to FALSE.

Member Data Documentation

◆ downloaded

BOOL downloaded