@ProjectHierarchy.h 1.1 KB

12345678910111213141516171819202122232425262728
  1. /******************************************************************************/
  2. class ProjectHierarchy : Project
  3. {
  4. ElmNode root;
  5. Memc<ElmNode> hierarchy;
  6. virtual ProjectHierarchy& del()override;
  7. void floodRemoved(Memc<UID> &removed, ElmNode &node, bool parent_removed=false);
  8. void floodHierarchy(ElmNode &node);
  9. void addHierarchy(ElmNode &node, int node_i, ElmNode &target, int target_i);
  10. void setHierarchy();
  11. bool contains(C Elm &a, C Elm *b)C; // if 'a' contains 'b'
  12. int depth(C Elm *elm)C;
  13. Elm* firstParent(Elm *elm, ELM_TYPE type);
  14. Elm* firstVisibleParent(Elm *elm);
  15. Str elmSrcFileFirst(C Elm *elm)C;
  16. virtual Elm* findElmByPath(C Str &path)override;
  17. Str elmFullName(C UID &elm_id, int max_elms=-1)C;
  18. virtual Str elmFullName(C Elm *elm , int max_elms=-1)C override;
  19. virtual void eraseRemoved();
  20. };
  21. /******************************************************************************/
  22. /******************************************************************************/
  23. /******************************************************************************/