/////////////////////////////////////////////////////////////////////////////// // Copyright (C) 2002-2025, Open Design Alliance (the "Alliance"). // All rights reserved. // // This software and its documentation and related materials are owned by // the Alliance. The software may only be incorporated into application // programs owned by members of the Alliance, subject to a signed // Membership Agreement and Supplemental Software License Agreement with the // Alliance. The structure and organization of this software are the valuable // trade secrets of the Alliance and its suppliers. The software is also // protected by copyright law and international treaty provisions. Application // programs incorporating this software must include the following statement // with their copyright notices: // // This application incorporates Open Design Alliance software pursuant to a license // agreement with Open Design Alliance. // Open Design Alliance Copyright (C) 2002-2025 by Open Design Alliance. // All rights reserved. // // By use of this software, its documentation or related materials, you // acknowledge and accept the above terms. /////////////////////////////////////////////////////////////////////////////// #ifndef __NWPROPERTYTREE_H__ #define __NWPROPERTYTREE_H__ #include "NwExport.h" #include "NwObject.h" class OdNwDatabase; class OdNwPropertyTree; class OdNwCategoryContext; /** \details This template class is a specialization of the OdSmartPtr class for OdNwPropertyTree object pointers. */ typedef OdSmartPtr OdNwPropertyTreePtr; /** \details This template class is a specialization of the OdSmartPtr class for OdNwCategoryContext object pointers. */ typedef OdSmartPtr OdNwCategoryContextPtr; /** \details This class represents a property tree for specified database. */ class NWDBEXPORT OdNwPropertyTree : public OdNwObject { //DOM-IGNORE-BEGIN ODRX_DECLARE_MEMBERS(OdNwPropertyTree); //DOM-IGNORE-END protected: /** \details Default constructor. Creates an object of the OdNwPropertyTree class. */ OdNwPropertyTree(); public: /** \details Destructor. Frees allocated resources. */ virtual ~OdNwPropertyTree(); public: /** \details Create property tree for corresponded database. \param pDb [in] raw pointer to specified database. \returns smart poinnter with OdNwPropertyTree object. \remarks Created property tree object will represent property tree for active database's sheet. To create a property tree for another sheet select database to another sheet state and create a property tree. */ static OdNwPropertyTreePtr createObject(const OdNwDatabase* pDb); public: /** \details Returns the all possible categories of the database. \param resCode [out] Receives eOk if the categories obtaining is successfully, or an appropriate error code otherwise. \returns String array with categores display names. \remarks Display name is a localized name. This method is not applicable for composite databases (NWF files). */ virtual OdArray getCategories(OdResult& resCode) = 0; }; #endif //__NWPROPERTYTREE_H__