#include <QString>
#include <QMap>
#include <QPixmap>
+#include <QColor>
/**
* \class HYDROGUI_DataObject
class HYDROGUI_DataObject : public LightApp_DataObject
{
public:
+ //! Column id
+ enum {
+ RefObjectId = RefEntryId + 1, //!< Ref.Object column
+ BathymetryId //!< Bathymetry column
+ };
+
/**
* Constructor.
* \param theParent parent data object
*/
virtual QFont font( const int = SUIT_DataObject::NameId ) const;
+ /**
+ * Returns the object color.
+ */
+ virtual QColor color( const ColorRole, const int = NameId ) const;
+
+ /**
+ * Returns the object icon.
+ */
+ virtual QPixmap icon( const int = NameId ) const;
+
/**
* Returns the model data object.
*/
*/
static QString dataObjectEntry( const Handle(HYDROData_Entity)& theObject,
const bool theWithPrefix = true );
+ /**
+ * Sets the validity flag: if object is valid or not.
+ * \param theIsValid is true for valid objects, false for invalid
+ */
+ void setIsValid( const bool theIsValid );
+
+ /**
+ * Returns the validity flag: is object valid or not
+ * \returns false if object is not valid
+ */
+ bool isValid() const;
protected:
Handle(HYDROData_Entity) myData; ///< object from data model
QString myParentEntry;
+ bool myIsValid; ///< indicates if the object is valid
+ QPixmap myIcon;
};
/**
*/
virtual QString name() const;
+ /**
+ * Returns the object icon.
+ */
+ virtual QPixmap icon( const int = NameId ) const;
+
private:
QString myName; ///< name in the OB
QString myParentEntry;
+ QPixmap myIcon;
+};
+
+/**
+ * \brief Module data object, used for dropping items in the object browser.
+ *
+ * It inherits NamedObject with only difference - it accepts dropping.
+ */
+class HYDROGUI_DropTargetObject : public HYDROGUI_NamedObject
+{
+public:
+ /**
+ * Constructor.
+ * \param theParent parent data object
+ * \param theName displayed name
+ */
+ HYDROGUI_DropTargetObject( SUIT_DataObject* theParent,
+ const QString& theName,
+ const QString& theParentEntry );
+
+ bool isDropAccepted() const { return true; }
};
#endif