当前位置: 首页>>代码示例>>C++>>正文


C++ ParamList::getNumParams方法代码示例

本文整理汇总了C++中ParamList::getNumParams方法的典型用法代码示例。如果您正苦于以下问题:C++ ParamList::getNumParams方法的具体用法?C++ ParamList::getNumParams怎么用?C++ ParamList::getNumParams使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ParamList的用法示例。


在下文中一共展示了ParamList::getNumParams方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: imgui

void imgui( ParamList& plist, float cursorPos  )
{
    static bool opendemo=true;
        
    std::string id = plist.getPath() + "_ID";
    ImGui::PushID(id.c_str());
    //ImGui::BeginChild(id.c_str()); //"content");

    float cposyPrev = ImGui::GetCursorPosY();
    
    bool vis;
    if (plist.hasOption("hidden"))
        vis = ImGui::CollapsingHeader(plist.getName().c_str(), ImGuiTreeNodeFlags_AllowItemOverlap); //, NULL, true, true);
    else
        vis = ImGui::CollapsingHeader(plist.getName().c_str(), ImGuiTreeNodeFlags_AllowItemOverlap | ImGuiTreeNodeFlags_DefaultOpen); //, NULL, true, true);
    
    float cposyNext = ImGui::GetCursorPosY();
    //ImGUi::SetCursorPosY(cposyPrev);
    //SameLine();
    
    //ImGui::PushItemWidth(-10);
    // in cm_imgui_app
    if (!plist.hasOption("child"))
    {
        extern ImFont * iconFont;
        ImGui::PushFont(iconFont);
        ImGui::PushID("btns");
        ImGui::SameLine(ImGui::GetWindowWidth()-100);

        if(ImGui::ButtonEx("l", ImVec2(0,0), ImGuiButtonFlags_PressedOnClick)) // Hack default onRelease with Button does not seem to work
        {
            std::string path;
            if(openFileDialog(path,"xml"))
                plist.loadXml(path.c_str());
        }
        //ImGui::NextColumn();
        ImGui::SameLine();
        if(ImGui::ButtonEx("s",ImVec2(0,0), ImGuiButtonFlags_PressedOnClick))//, ImVec2(100,20)))
        {
            std::string path;
            if(saveFileDialog(path,"xml"))
                plist.saveXml(path.c_str());
        }
        ImGui::PopID();
        ImGui::PopFont();
    }
    //ImGui::PopItemWidth();
    
    if(!vis)
    {
        //ImGui::EndChild();
        ImGui::PopID();
        return;
    }
    
    
    //if(!)
    //ImGui::OpenNextNode(true);
    //if(!ImGui::TreeNode(plist.getName().c_str()))
    
    for( int i = 0; i < plist.getNumParams(); i++ )
    {
        Param * p = plist.getParam(i);
        if(p->hasOption("h"))
            continue;
        if(p->hasOption("sameline"))
            ImGui::SameLine();
        
        imgui(p);
    }
    
    for( int i = 0; i < plist.getNumChildren(); i++ )
    {
        ImGui::Indent();
        imgui(*plist.getChild(i), cursorPos+10.0 );
        ImGui::Unindent();
    }
    
    //ImGui::TreePop();
    ImGui::PopID();
    //ImGui::EndChild();
}
开发者ID:colormotor,项目名称:colormotor,代码行数:82,代码来源:cm_imgui.cpp


注:本文中的ParamList::getNumParams方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。