Skip to content

Commit b2120d6

Browse files
committed
Put extra icons to the right side. Fix expand collapse UI.
1 parent efd0514 commit b2120d6

15 files changed

+113
-133
lines changed

ihmc-high-level-behaviors/src/libgdx/java/us/ihmc/rdx/ui/behavior/actions/RDXCheckPointNode.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,13 @@ public RDXCheckPointNode(long id, CRDTInfo crdtInfo, WorkspaceResourceDirectory
1818
}
1919

2020
@Override
21-
public void renderTreeViewIconArea()
21+
public void renderTreeViewRow()
2222
{
23-
super.renderTreeViewIconArea();
23+
super.renderRowBeginning();
24+
super.renderEditableName();
2425

25-
checkpointNodeWidget.render();
2626
ImGui.sameLine();
27+
checkpointNodeWidget.render();
2728
}
2829

2930
@Override

ihmc-high-level-behaviors/src/libgdx/java/us/ihmc/rdx/ui/behavior/actions/RDXFootstepPlanAction.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -278,12 +278,13 @@ public void update()
278278
}
279279

280280
@Override
281-
public void renderTreeViewIconArea()
281+
public void renderTreeViewRow()
282282
{
283-
super.renderTreeViewIconArea();
283+
super.renderRowBeginning();
284+
super.renderEditableName();
284285

285-
footstepsWidget.render(ImGui.getFrameHeight());
286286
ImGui.sameLine();
287+
footstepsWidget.render(ImGui.getFrameHeight());
287288
}
288289

289290
@Override

ihmc-high-level-behaviors/src/libgdx/java/us/ihmc/rdx/ui/behavior/actions/RDXHandPoseAction.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -319,17 +319,18 @@ private void visualizeIK()
319319
}
320320

321321
@Override
322-
public void renderTreeViewIconArea()
322+
public void renderTreeViewRow()
323323
{
324-
super.renderTreeViewIconArea();
324+
super.renderRowBeginning();
325+
super.renderEditableName();
325326

327+
ImGui.sameLine();
326328
boolean gizmoWasSelected = poseGizmo.getSelected().get();
327329
if (armIconWidget.render(definition.getSide(), gizmoWasSelected))
328330
{
329331
poseGizmo.setSelected(!gizmoWasSelected);
330332
}
331333

332-
ImGui.sameLine();
333334
}
334335

335336
@Override

ihmc-high-level-behaviors/src/libgdx/java/us/ihmc/rdx/ui/behavior/actions/RDXSakeHandCommandAction.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,12 +83,13 @@ protected void renderImGuiWidgetsInternal()
8383
}
8484

8585
@Override
86-
public void renderTreeViewIconArea()
86+
public void renderTreeViewRow()
8787
{
88-
super.renderTreeViewIconArea();
88+
super.renderRowBeginning();
89+
super.renderEditableName();
8990

90-
gripperWidget.render(definition.getSide(), ImGui.getFrameHeight());
9191
ImGui.sameLine();
92+
gripperWidget.render(definition.getSide(), ImGui.getFrameHeight());
9293
}
9394

9495
@Override

ihmc-high-level-behaviors/src/libgdx/java/us/ihmc/rdx/ui/behavior/logic/RDXConditionNode.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,13 @@ public RDXConditionNode(long id, CRDTInfo crdtInfo, WorkspaceResourceDirectory s
3333
}
3434

3535
@Override
36-
public void renderTreeViewIconArea()
36+
public void renderTreeViewRow()
3737
{
38-
super.renderTreeViewIconArea();
38+
super.renderRowBeginning();
39+
super.renderEditableName();
3940

40-
conditionIconWidget.render();
4141
ImGui.sameLine();
42+
conditionIconWidget.render();
4243
}
4344

4445
@Override

ihmc-high-level-behaviors/src/libgdx/java/us/ihmc/rdx/ui/behavior/logic/RDXGotoNode.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,13 @@ public void renderContextMenuItems()
3535
}
3636

3737
@Override
38-
public void renderTreeViewIconArea()
38+
public void renderTreeViewRow()
3939
{
40-
super.renderTreeViewIconArea();
40+
super.renderRowBeginning();
41+
super.renderEditableName();
4142

42-
gotoNodeWidget.render();
4343
ImGui.sameLine();
44+
gotoNodeWidget.render();
4445
}
4546

4647
@Override

ihmc-high-level-behaviors/src/libgdx/java/us/ihmc/rdx/ui/behavior/sequence/RDXActionSequence.java

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,12 @@
44
import us.ihmc.behaviors.sequence.ActionSequenceDefinition;
55
import us.ihmc.behaviors.sequence.ActionSequenceState;
66
import us.ihmc.communication.crdt.CRDTInfo;
7-
import us.ihmc.rdx.imgui.ImGuiUniqueLabelMap;
87
import us.ihmc.rdx.ui.behavior.tree.RDXBehaviorTreeNode;
98
import us.ihmc.rdx.ui.widgets.ImGuiSequenceIconWidget;
109
import us.ihmc.tools.io.WorkspaceResourceDirectory;
1110

1211
public class RDXActionSequence extends RDXBehaviorTreeNode<ActionSequenceState, ActionSequenceDefinition>
1312
{
14-
private final ImGuiUniqueLabelMap labels = new ImGuiUniqueLabelMap(getClass());
1513
private final ImGuiSequenceIconWidget sequenceIconWidget = new ImGuiSequenceIconWidget();
1614

1715
public RDXActionSequence(long id, CRDTInfo crdtInfo, WorkspaceResourceDirectory saveFileDirectory)
@@ -26,16 +24,14 @@ public void update()
2624
}
2725

2826
@Override
29-
public void renderTreeViewIconArea()
27+
public void renderTreeViewRow()
3028
{
31-
super.renderTreeViewIconArea();
29+
super.renderRowBeginning();
30+
31+
sequenceIconWidget.render();
3232

33-
if (sequenceIconWidget.render(!getChildren().isEmpty() && !getTreeWidgetExpanded()))
34-
{
35-
setSpecificWidgetOnRowClicked();
36-
setTreeWidgetExpanded(!getTreeWidgetExpanded());
37-
}
3833
ImGui.sameLine();
34+
super.renderEditableName();
3935
}
4036

4137
@Override

ihmc-high-level-behaviors/src/libgdx/java/us/ihmc/rdx/ui/behavior/sequence/RDXFallbackNode.java

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,12 @@
44
import us.ihmc.behaviors.sequence.FallbackNodeDefinition;
55
import us.ihmc.behaviors.sequence.FallbackNodeState;
66
import us.ihmc.communication.crdt.CRDTInfo;
7-
import us.ihmc.rdx.imgui.ImGuiUniqueLabelMap;
87
import us.ihmc.rdx.ui.behavior.tree.RDXBehaviorTreeNode;
98
import us.ihmc.rdx.ui.widgets.ImGuiFallbackWidget;
109
import us.ihmc.tools.io.WorkspaceResourceDirectory;
1110

1211
public class RDXFallbackNode extends RDXBehaviorTreeNode<FallbackNodeState, FallbackNodeDefinition>
1312
{
14-
private final ImGuiUniqueLabelMap labels = new ImGuiUniqueLabelMap(getClass());
1513
private final ImGuiFallbackWidget fallbackWidget = new ImGuiFallbackWidget();
1614

1715
public RDXFallbackNode(long id, CRDTInfo crdtInfo, WorkspaceResourceDirectory saveFileDirectory)
@@ -26,16 +24,14 @@ public void update()
2624
}
2725

2826
@Override
29-
public void renderTreeViewIconArea()
27+
public void renderTreeViewRow()
3028
{
31-
super.renderTreeViewIconArea();
29+
super.renderRowBeginning();
30+
31+
fallbackWidget.render();
3232

33-
if (fallbackWidget.render(!getChildren().isEmpty() && !getTreeWidgetExpanded()))
34-
{
35-
setSpecificWidgetOnRowClicked();
36-
setTreeWidgetExpanded(!getTreeWidgetExpanded());
37-
}
3833
ImGui.sameLine();
34+
super.renderEditableName();
3935
}
4036

4137
@Override

ihmc-high-level-behaviors/src/libgdx/java/us/ihmc/rdx/ui/behavior/sequence/RDXLeafNode.java

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import us.ihmc.behaviors.behaviorTree.BehaviorTreeTools;
77
import us.ihmc.behaviors.sequence.LeafNodeDefinition;
88
import us.ihmc.behaviors.sequence.LeafNodeState;
9-
import us.ihmc.rdx.imgui.ImGuiExpandCollapseRenderer;
109
import us.ihmc.rdx.imgui.ImGuiFlashingColors;
1110
import us.ihmc.rdx.imgui.ImGuiFlashingText;
1211
import us.ihmc.rdx.imgui.ImGuiTools;
@@ -49,36 +48,41 @@ public void update()
4948
}
5049

5150
@Override
52-
public void renderTreeViewIconArea()
51+
public void renderRowBeginning()
5352
{
53+
super.renderRowBeginning();
54+
5455
RDXBehaviorTreeRootNode actionSequence = RDXBehaviorTreeTools.findRootNode(this);
5556
if (actionSequence != null)
5657
{
5758
// Give the arrow a little space to the left, like the other icons
5859
ImGui.setCursorPosX(ImGui.getCursorPosX() + ImGui.getStyle().getItemSpacingX());
5960

60-
// Not displaying this now until we calculate it correctly. @dcalvert
61-
if (state.getConcurrencyRank() != 1)
62-
{
63-
ImGui.pushStyleColor(ImGuiCol.Text, ImGui.getColorU32(ImGuiCol.TextDisabled));
64-
String text = state.getConcurrencyRank() == 1 ? " " : String.valueOf(state.getConcurrencyRank());
65-
ImGui.setCursorPosX(ImGui.getCursorPosX() - ImGuiTools.calcTextSizeX(text) - ImGui.getStyle().getItemSpacingX());
66-
ImGui.text(text);
67-
ImGui.popStyleColor();
68-
ImGui.sameLine();
69-
}
70-
7161
boolean colorArrow = state.getIsNextForExecution() || state.getIsExecuting();
7262
int arrowColor = state.getIsNextForExecution() ? ImGuiTools.GREEN : isExecutingFlashingColor.getColor(state.getIsExecuting());
7363
if (hollowArrowRenderer.render(colorArrow, arrowColor, ImGui.getFrameHeight()))
7464
{
75-
setSpecificWidgetOnRowClicked();
65+
anySpecificWidgetOnLineClicked = true;
7666
actionSequence.getState().setExecutionNextIndex(state.getLeafIndex());
7767
}
7868
ImGui.sameLine();
7969
}
8070
}
8171

72+
public void renderConcurrencyRank()
73+
{
74+
// Probably better to display some parallel bars like a Git log view maybe. @dcalvert
75+
if (state.getConcurrencyRank() != 1)
76+
{
77+
ImGui.pushStyleColor(ImGuiCol.Text, ImGui.getColorU32(ImGuiCol.TextDisabled));
78+
String text = state.getConcurrencyRank() == 1 ? " " : String.valueOf(state.getConcurrencyRank());
79+
ImGui.setCursorPosX(ImGui.getCursorPosX() - ImGuiTools.calcTextSizeX(text) - ImGui.getStyle().getItemSpacingX());
80+
ImGui.text(text);
81+
ImGui.popStyleColor();
82+
ImGui.sameLine();
83+
}
84+
}
85+
8286
@Override
8387
public void renderNodeSettingsWidgets()
8488
{

0 commit comments

Comments
 (0)