Skip to content

[Request] Organize treeview elements into categories (like in the navigation panel on the right) #11678

@parmi93

Description

@parmi93

I really like how the navigation panel on the right has organized the items into categories, I think the same thing should be done in the treeview on the left too.

/**
 * @file temp.h
 */

 /** @brief my enum */
typedef enum
{
    A, ///< A
    B  ///< B
} my_enum_t;

 /** @brief my struct */
typedef struct
{
    int a; ///< a
    int b; ///< b
} my_struct_t;

/** @brief Normal macro */
#define NORMAL_MACRO printf("Hello world!")

/** @brief Function like macro */
#define FUNCTION_LIKE_MACRO(x) printf(x)

/**
 * @brief Function
 *
 * @param[in] flags Flags
 */
void fun1(uint16_t flags);

/**
 * @brief Function
 *
 * @param[in] flags Flags
 */
void fun2(uint16_t flags);

/**
 * @brief Function
 *
 * @param[in] flags Flags
 */
void fun3(uint16_t flags);

/**
 * @brief Function
 *
 * @param[in] flags Flags
 */
void fun4(uint16_t flags);

Expected result when folded:
Image

Expected result when unfolded:
Image

I managed to get this result by manually editing the temp_8h.js file like this:

var temp_8h =
[
  ["Data Structures", "temp_8h.html#header-inline_5Fclasses",
    [
      [ "my_struct_t", "temp_8h.html#structmy__struct__t", 
        [
          [ "a", "temp_8h.html#aa4c2a5552e9bc49b1816ff532f558c74", null ],
          [ "b", "temp_8h.html#a148e3876077787926724625411d6e7a9", null ]
        ]
      ]
    ] 
  ],
  ["Macros", "temp_8h.html#header-doc-define-members",
    [
      [ "FUNCTION_LIKE_MACRO", "temp_8h.html#a0da5fd8602e88c1501f0595b00a47728", null ],
      [ "NORMAL_MACRO", "temp_8h.html#a1d4f3577be3b301fdd252738972b4d5d", null ],
    ]
  ],
  ["Enumerations", "temp_8h.html#header-doc-enum-members",
    [
      [ "my_enum_t", "temp_8h.html#abf13918d7284a1bed5d7a3b739f4f7da", 
        [
          [ "A", "temp_8h.html#abf13918d7284a1bed5d7a3b739f4f7daa42a4ade1acd55a49164099104990e09f", null ],
          [ "B", "temp_8h.html#abf13918d7284a1bed5d7a3b739f4f7daa3f2a77ecd272aa6d6b5902faa5e5fc68", null ]
        ]
      ]
    ]
  ],
  ["Functions", "temp_8h.html#doc-func-members",
    [
      [ "fun1", "temp_8h.html#ac014f242122fd4de9a0a982012c31503", null ],
      [ "fun2", "temp_8h.html#abac96925e64fbae6fd962b211d106352", null ],
      [ "fun3", "temp_8h.html#a56f58cf1330f1264f5ff3e8fdf7b9a7d", null ],
      [ "fun4", "temp_8h.html#a023f0708aaa696c6f372fc6818bea032", null ]
    ]
  ]
];

Example with temp_8h.js file changed:
doxygen_example.zip

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementa request to enhance doxygen, not a bug

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions