#include <vector>
#include <map>
+/**
+ * Project Tree Control. Shows a project's content in a hierarchy tree control.
+ */
class wxCDMProjectsTreeCtrl: public wxTreeCtrl
{
public:
+ /**
+ * Project Tree Control Constructor.
+ * @param parent Parent window reference.
+ * @param id Control ID, by default wxID_ANY.
+ * @param pos Control position. By default wxDefaultPosition.
+ * @param size Control size. By default wxDefaultSize.
+ * @param style Control style. By default wxTR_DEFAULT_STYLE.
+ * @param validator Validator. By default wxDefaultValidator.
+ * @param name Control Name. By default "Projects tree".
+ */
wxCDMProjectsTreeCtrl(
wxWindow *parent,
wxWindowID id=wxID_ANY,
const wxValidator &validator=wxDefaultValidator,
const wxString &name=_("Projects tree")
);
+ /**
+ * Destructor.
+ */
~wxCDMProjectsTreeCtrl();
+ /**
+ * Project Tree Control Creator.
+ * @param parent Parent window reference.
+ * @param id Control ID, by default wxID_ANY.
+ * @param pos Control position. By default wxDefaultPosition.
+ * @param size Control size. By default wxDefaultSize.
+ * @param style Control style. By default wxTR_DEFAULT_STYLE.
+ * @param validator Validator. By default wxDefaultValidator.
+ * @param name Control Name. By default "Projects tree".
+ * @return True if the creation was successful.
+ */
bool Create(
wxWindow *parent,
wxWindowID id=wxID_ANY,
const wxString &name=_("Projects tree")
);
- void BuildTree(std::map< wxTreeItemId, modelCDMIProjectTreeNode* >& modelElements, modelCDMProject* tree = NULL);
+ /**
+ * Builds the tree hierarchy with the given model elements.
+ */
+ void BuildTree(std::map< wxCDMTreeItemId, modelCDMIProjectTreeNode* >& modelElements, modelCDMProject* tree = NULL);
private:
+ /**
+ * A Icon ID.
+ */
int ID_AIcon;
+ /**
+ * Ap Icon ID.
+ */
int ID_ApIcon;
+ /**
+ * BB Icon ID.
+ */
int ID_BBIcon;
+ /**
+ * C Icon ID.
+ */
int ID_Cicon;
+ /**
+ * CM Icon ID.
+ */
int ID_CMIcon;
+ /**
+ * Fd Icon ID.
+ */
int ID_FdIcon;
+ /**
+ * Fl Icon ID.
+ */
int ID_FlIcon;
+ /**
+ * Lb Icon ID.
+ */
int ID_LbIcon;
+ /**
+ * L Icon ID.
+ */
int ID_LIcon;
+ /**
+ * Pr Icon ID.
+ */
int ID_PrIcon;
+ /**
+ * Pk Icon ID.
+ */
int ID_PkIcon;
- void BuildTree(const std::vector<modelCDMIProjectTreeNode*>& tree, std::map< wxTreeItemId, modelCDMIProjectTreeNode* >& modelElements, wxTreeItemId parent);
+ /**
+ * Builds the tree with the hierarchy given and fills the modelElements map.
+ * @param tree Root node of the tree.
+ * @param modelElements Id->node map.
+ * @param parent ID of the root node ID.
+ */
+ void BuildTree(const std::vector<modelCDMIProjectTreeNode*>& tree, std::map< wxCDMTreeItemId, modelCDMIProjectTreeNode* >& modelElements, const wxCDMTreeItemId& parent);
+ /**
+ * Retrieves the icon ID of the given node by its type.
+ * @param node Node to search its icon.
+ * @return Icon ID
+ */
int GetIconId(modelCDMIProjectTreeNode* node);
};