How to create submenus (or multiple command UIs)
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 30/100
Rechercherichtung
Beginne mit dem Command-UI-Callback und der im Issue gezeigten Verwendung von ImGui::InputInt und ImGui::Button. Ermittle, wie ein dauerhaft sichtbares Radius-Eingabefeld oder ein separates Untermenü über mehrere Callback-Aufrufe hinweg sichtbar bleiben könnte, und lege fest, welche Interaktion als abgeschlossen gelten soll; im Issue werden keine Dateien oder Tests genannt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
I have some UI
Everything into the Command UI is a Imgui::Button inside the callback
ImGui::InputInt("Radius", &radius);
ImGui::SameLine();
//
// Button
if (ImGui::Button("Max Curvature"))
{
// get mesh
polyscope::registerSurfaceMesh("mesh", V, F);
// Compute curvature directions via quadric fitting
MatrixXd PD1, PD2;
VectorXd PV1, PV2;
std::vector<Index> bv = {};
igl::principal_curvature(V, F, PD1, PD2, PV1, PV2, bv, radius);
polyscope::getSurfaceMesh("mesh")
->addVertexScalarQuantity("Max Curvature", PV1,
polyscope::DataType::SYMMETRIC);
}
pretty standard. Now I'd like to add the "radius" input inside the button scope, so that when I press the button all the relevant data is presented to the user.
Of course, if I simply put the input widget code inside the button one the input widget is just show for an instant then deleted, as the callback runs over and over.
The best option would be to create a separate sub-UI, possibly opening down below the command UI itself. Or to create multiple command UIs.
Is there a way?
Thank you
- Vorherrschende Sprache
- C++
- Sterne
- 2.2k
- Forks
- 242
- Ø Merge
- 11 Min.
- Gemergte PRs (30 T.)
- 1
Entwicklungsumgebung
Die Einrichtungsdateien dieses Projekts haben wir noch nicht geprüft. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus nmwsharp/polyscope
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 48/100
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 30/100
-
Rust VersionOffen
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 15/100
-
enhancement
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 20/100
Alle Issues in nmwsharp/polyscope
Ähnliche Issues
-
Broken links in the docsOffen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 85/100
microsoft/onnxruntime#33018 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
customer-reported needs-triage question
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
Azure/azure-sdk-for-cpp#7435 ·
Maintainer antworten meist innerhalb von 1 Tag
-
ChromieCraft Generic Confirmed World Event
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
azerothcore/azerothcore-wotlk#27882 ·
Maintainer antworten meist innerhalb von 1 Tag
-
MacOS build failureOffenbug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
aristocratos/btop#1874 ·
Maintainer antworten meist innerhalb von 1 Tag