#include "modelCDMIProjectTreeNode.h"
+/**
+ * Class representing a file node in the project hierarchy.
+ */
class modelCDMFile : public modelCDMIProjectTreeNode
{
public:
+ /**
+ * Default constructor
+ */
modelCDMFile();
- modelCDMFile(const std::string& path, const std::string& name, const int& level = 3);
+ /**
+ * Constructor of the File node class
+ * @param parent Parent node of the file node.
+ * @param path Full path to the file node
+ * @param name File name of the file node.
+ * @param level Hierarchy level of the file node. By default 3.
+ */
+ modelCDMFile(modelCDMIProjectTreeNode* parent, const std::string& path, const std::string& name, const int& level = 3);
+ /**
+ * Destructor
+ */
~modelCDMFile();
+ /**
+ * Opens the file node with the provided command.
+ * @param result Result message of the operation.
+ * @param command Command to open the file.
+ * @return True if the operation was successful.
+ */
bool OpenFile(std::string* & result, const std::string& command = "");
+ /**
+ * Refreshes the file properties and checks that the file exists.
+ * @param result Result message of the operation.
+ * @return True if the operation was successful.
+ */
virtual const bool Refresh(std::string*& result);
+ /**
+ * Opens the file node in the default file explorer.
+ * @param result Result message of the operation.
+ * @return True if the operation was successful.
+ */
const bool OpenInFileExplorer(std::string*& result) const;
};