Skip to content

Commit fdf1046

Browse files
authored
Merge pull request #96 from protegeproject/104-if-a-class-has-only-one-direct-parent-then-show-the-existing-parent-in-gray-in-the-lin-parent-column
fixed who-icatx/icatx-project#104
2 parents 86a96b5 + 83db8b4 commit fdf1046

File tree

3 files changed

+46
-16
lines changed

3 files changed

+46
-16
lines changed

webprotege-gwt-ui-client/src/main/java/edu/stanford/bmir/protege/web/client/linearization/LinearizationTable.css

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
.linearizationTable {
66
border-radius: 5px;
77
overflow: hidden;
8-
-webkit-box-shadow: 0 0 40px 0 rgba(0,0,0,.15);
9-
box-shadow: 0 0 40px 0 rgba(0,0,0,.15);
8+
-webkit-box-shadow: 0 0 40px 0 rgba(0, 0, 0, .15);
9+
box-shadow: 0 0 40px 0 rgba(0, 0, 0, .15);
1010
margin: 15px;
1111
border-collapse: collapse;
1212
padding: 3px;
@@ -47,7 +47,7 @@
4747
}
4848

4949
.tableCheckboxHeader > div {
50-
justify-content: center!important;
50+
justify-content: center !important;
5151
}
5252

5353
.tableText [enabled="true"]:hover {
@@ -71,7 +71,7 @@
7171
}
7272

7373
.tableCheckBox {
74-
justify-self: center!important;
74+
justify-self: center !important;
7575
}
7676

7777
.tableCheckboxHeader {
@@ -88,7 +88,16 @@
8888
}
8989

9090
.secondaryParent {
91-
color : #A8A8A8;
91+
color: #A8A8A8;
92+
}
93+
94+
.italic {
95+
font-style: italic;
96+
}
97+
98+
.center {
99+
display: flex;
100+
justify-content: center;
92101
}
93102

94103
.linearizationDefinition {

webprotege-gwt-ui-client/src/main/java/edu/stanford/bmir/protege/web/client/linearization/LinearizationTableResourceBundle.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,12 @@ interface LinearizationCss extends CssResource {
5151

5252
@ClassName("linearizationParentCell")
5353
String getLinearizationParentCell();
54+
55+
@ClassName("italic")
56+
String italic();
57+
58+
@ClassName("center")
59+
String center();
5460
}
5561

5662
}

webprotege-gwt-ui-client/src/main/java/edu/stanford/bmir/protege/web/client/linearization/LinearizationTableRow.java

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ public class LinearizationTableRow {
4242

4343
HorizontalPanel parentSelectionPanel;
4444

45+
LinearizationTableResourceBundle.LinearizationCss linearizationCss = LinearizationTableResourceBundle.INSTANCE.style();
46+
4547
private LinearizationTableRow() {
4648

4749
}
@@ -110,8 +112,7 @@ private void populateEditableLinearizationParent() {
110112
}
111113
}
112114

113-
String selectedItemText = linearizationParentSelector.getSelectedValue().equals("") ? "Select a parent" : linearizationParentSelector.getSelectedItemText();
114-
this.linearizationParentLabel.setText(selectedItemText);
115+
setLinearizationParentLabel();
115116

116117
this.linearizationParentSelector.addChangeHandler((event) -> this.handleParentSelected());
117118
this.linearizationParentSelector.setVisible(false);
@@ -121,6 +122,19 @@ private void populateEditableLinearizationParent() {
121122
}
122123
}
123124

125+
private void setLinearizationParentLabel() {
126+
String selectedItemText = "Select a parent";
127+
if (linearizationParentSelector.getSelectedValue().equals("") && baseEntityParentsMap.size() == 1) {
128+
Optional<String> keysOptional = baseEntityParentsMap.keySet().stream().findFirst();
129+
selectedItemText = "[" + baseEntityParentsMap.get(keysOptional.get()) + "]";
130+
this.linearizationParentLabel.addStyleName(linearizationCss.italic());
131+
} else if (!linearizationParentSelector.getSelectedValue().equals("")) {
132+
selectedItemText = linearizationParentSelector.getSelectedItemText();
133+
this.linearizationParentLabel.removeStyleName(linearizationCss.italic());
134+
}
135+
this.linearizationParentLabel.setText(selectedItemText);
136+
}
137+
124138
public void populateDerivedLinearizationParents(List<LinearizationTableRow> rows) {
125139
if (isDerived()) {
126140
LinearizationTableRow mainRow = rows.stream()
@@ -134,7 +148,8 @@ public void populateDerivedLinearizationParents(List<LinearizationTableRow> rows
134148
this.linearizationParentSelector.setEnabled(false);
135149
this.linearizationParentSelector.setVisible(false);
136150
this.linearizationParentLabel.setText(mainRow.linearizationParentLabel.getText());
137-
this.linearizationParentLabel.addStyleName(LinearizationTableResourceBundle.INSTANCE.style().getSecondaryParent());
151+
this.linearizationParentLabel.addStyleName(mainRow.linearizationParentLabel.getStyleName());
152+
this.linearizationParentLabel.addStyleName(linearizationCss.getSecondaryParent());
138153
this.linearizationParentLabel.setVisible(true);
139154
}
140155
}
@@ -191,25 +206,25 @@ public LinearizationSpecification asLinearizationSpecification() {
191206

192207

193208
public void populateFlexTable(int index, FlexTable flexTable) {
194-
LinearizationTableResourceBundle.LinearizationCss style = LinearizationTableResourceBundle.INSTANCE.style();
195209
flexTable.setWidget(index, 0, linearizationDefinitionWidget);
196-
flexTable.getCellFormatter().addStyleName(index, 0, style.getTableText());
197-
flexTable.getCellFormatter().addStyleName(index, 0, style.getLinearizationDefinition());
210+
flexTable.getCellFormatter().addStyleName(index, 0, linearizationCss.getTableText());
211+
flexTable.getCellFormatter().addStyleName(index, 0, linearizationCss.getLinearizationDefinition());
198212

199213
flexTable.setWidget(index, 1, isPartOfCheckbox);
200-
flexTable.getCellFormatter().addStyleName(index, 1, style.getTableCheckBox());
214+
flexTable.getCellFormatter().addStyleName(index, 1, linearizationCss.getTableCheckBox());
201215

202216
flexTable.setWidget(index, 2, isGroupingCheckbox);
203-
flexTable.getCellFormatter().addStyleName(index, 2, style.getTableCheckBox());
217+
flexTable.getCellFormatter().addStyleName(index, 2, linearizationCss.getTableCheckBox());
204218

205219
flexTable.setWidget(index, 3, isAuxAxChildCheckbox);
206-
flexTable.getCellFormatter().addStyleName(index, 3, style.getTableCheckBox());
220+
flexTable.getCellFormatter().addStyleName(index, 3, linearizationCss.getTableCheckBox());
207221

208222
flexTable.setWidget(index, 4, parentSelectionPanel);
209-
flexTable.getCellFormatter().addStyleName(index, 4, style.getTableText());
223+
flexTable.getCellFormatter().addStyleName(index, 4, linearizationCss.getTableText());
224+
flexTable.getCellFormatter().addStyleName(index, 4, linearizationCss.getLinearizationDefinition());
210225

211226
flexTable.setWidget(index, 5, codingNotes);
212-
flexTable.getCellFormatter().addStyleName(index, 5, style.getTableText());
227+
flexTable.getCellFormatter().addStyleName(index, 5, linearizationCss.getTableText());
213228

214229
}
215230

0 commit comments

Comments
 (0)