1

ImGui を使用して、ネストされたツリー ビュー UI コンポーネントを作成したいと考えています。結果は次のようになります。

ここに画像の説明を入力

Selectable()これは、次のような要素のネストを作成するために必要なコードです。

ここに画像の説明を入力

void imgui_nested_tree() {
    bool is_expanded = ImGui::TreeNodeExV( (void*)nullptr, ImGuiTreeNodeFlags_FramePadding, "", nullptr);
    ImGui::SameLine();
    ImGui::Selectable("outer selectable", false); 
    if (is_expanded) {
        bool is_expanded = ImGui::TreeNodeExV( (void*)nullptr, ImGuiTreeNodeFlags_FramePadding, "", nullptr);
        ImGui::SameLine();
        ImGui::Selectable("inner1 selectable", false);
        if (is_expanded) {
            // and so on...
        }
    }
}

このコードはまた、小さな矢印とSelectable独立してクリックできるようにします。これは素晴らしいことです。Selectableこれは、矢印の横をクリックするとイベントを発生できることを意味します。

ここに画像の説明を入力

このように手動でコーディングすると間違いを犯しやすいため、再帰を使用してこれらの入れ子要素を作成することにしました。これをどのように行いますか?

4

0 に答える 0