+ /// return the wxSplitter of one level
+ wxSplitterWindow* GetSplitter(int l) { return mLevelList[l].wxSplitter; }
+ //Returns the maximum number of levels
+ int GetNumberOfLevels(){ return mLevelList.size(); }
+ /// Gets the user selected data from the level passed as a parameter
+ /// Updates the vector if necessary
+ const std::vector<tree::Node*>& GetSelected(int level);
+ /// Set the bool SelectedUpToDate for level l
+ void SetSelectedUpToDate(int l, bool v) { mLevelList[l].SelectedUpToDate = v; }
+ /// Get the bool SelectedUpToDate for level l
+ bool GetSelectedUpToDate(int l) { return mLevelList[l].SelectedUpToDate; }
+ ///Validates the selected images
+ void ValidateSelectedImages(bool isSelection);
+ ///Gets selected filenames
+ void GetSelectedAsString(std::vector<std::string>&s);
+ ///Gets the filenames of the given nodes and returns them on the given vector. Is recursive.
+ void GetFilenamesAsString(const std::vector<tree::Node*>& nodes, std::vector<std::string>&s);
+ /// Gets the next nodes on the list, be it up(true) or down(false).
+ void GetNodes(std::vector<tree::Node*>& nodes, bool direction);
+ /// Updates the view of a level given the selected items of upper level
+ /// Recursive method
+ virtual void RecursiveUpdateLevel( int );
+ ///Selects all the elements of a level
+ void SelectAll(int level);
+ ///UnSelects all the elements of a level
+ void UnSelectAll(int level);