namespace CDMUtilities
{
- //path slash
- #ifdef _WIN32
- // ------ Windows
- static std::string SLASH = "\\";
- #elif __APPLE__
- // ------ Apple
- static std::string SLASH = "/";
- #else
- static std::string SLASH = "/";
- #endif
+ /**
+ * Path slash
+ */
+#ifdef _WIN32
+ // ------ Windows
+ static std::string SLASH = "\\";
+#elif __APPLE__
+ // ------ Apple
+ static std::string SLASH = "/";
+#else
+ static std::string SLASH = "/";
+#endif
- //text editor program
+ /**
+ * Text editor program
+ */
#ifdef _WIN32
// ------ Windows
- //TODO: implementation for windows
+ static std::string TEXT_EDITOR = "notepad";
#elif __APPLE__
// ------ Apple
//TODO: implementation for apple
static std::string TEXT_EDITOR = "gedit";
#endif
- //file explorer program
+ /**
+ * File explorer program
+ */
#ifdef _WIN32
// ------ Windows
- //TODO: implementation for windows
+ static std::string FILE_EXPLORER = "explorer";
#elif __APPLE__
// ------ Apple
//TODO: implementation for apple
static std::string FILE_EXPLORER = "nautilus";
#endif
- //terminal program
- #ifdef _WIN32
- // ------ Windows
- //TODO: implementation for windows
- #elif __APPLE__
- // ------ Apple
- //TODO: implementation for apple
- #else
- static std::string TERMINAL = "gnome-terminal";
- #endif
-
+ /**
+ * Terminal program
+ */
+#ifdef _WIN32
+ // ------ Windows
+ static std::string TERMINAL = "start cmd.exe";
+#elif __APPLE__
+ // ------ Apple
+ //TODO: implementation for apple
+#else
+ static std::string TERMINAL = "gnome-terminal";
+#endif
+ /**
+ * Structure that handles the split method for c++
+ * It calls the split method to split a string given certain delimiters.
+ */
struct splitter
{
+ /**
+ * Enum to allow or not empty resulting strings after performing splits.
+ */
enum empties_t { empties_ok, no_empties };
+ /**
+ * Method to split a string given a set of delimiter characters.
+ * @param result Resulting container.
+ * @param s String to be splitted.
+ * @param delimiters Delimiter characters to split the string.
+ * @param empties Either allow or not empty resulting strings after performing split.
+ * @return Resulting container.
+ */
template <typename Container>
static Container& split
(
);
};
+ /**
+ * Fixes a given path to avoid double slash directories
+ * @param path Unfixed path.
+ * @return Fixed path.
+ */
const std::string fixPath(const std::string& path);
+ /**
+ * Opens the default text editor. If a file is given, then it tries to open the given file.
+ * @param file Full path to the file.
+ * @return True if there was an error on the execution of the operation.
+ */
int openTextEditor(const std::string& file = "");
+ /**
+ * Opens the system file explorer on the given file path
+ * @param file Path of the desired folder to open.
+ * @return True if there was an error on the execution of the operation.
+ */
int openFileExplorer(const std::string& file = "");
+ /**
+ * Opens a file with a given command.
+ * @param file Full path of the file to open.
+ * @param command Command to execute the file with.
+ * @return True if there was an error on the execution of the operation.
+ */
int openFileWithCommand(const std::string& file, const std::string& command);
+ /**
+ * Opens the BBTK Graphical Editor
+ * @return True if there was an error on the execution of the operation.
+ */
int openBBEditor();
+ /**
+ * Opens the minitools or the creaTools
+ * @return True if there was an error on the execution of the operation.
+ */
int openCreaToolsTools();
+ /**
+ * Open a command line interpreter and executes the given command if any.
+ * @param command Command to execute.
+ * @return True if there was an error on the execution of the operation.
+ */
int openTerminal(const std::string& command = "");
+ /**
+ * Creates a blank class(.h and .cpp files).
+ * @param name Name of the new class.
+ * @param path Path where the class is to be created.
+ * @return True if the class was successfully created.
+ */
+ bool createEmptyClass(const std::string& name, const std::string& path);
+ /**
+ * Creates a string replacing each \ by double \ .
+ * @param line String to stringify.
+ * @return line stringified.
+ */
+ std::string stringify(const std::string& line);
};
#endif /* CDMUTILITIES_H_ */