Skip to content

Commit 57699ba

Browse files
committed
Correct composer methods
1 parent c3d47ac commit 57699ba

7 files changed

Lines changed: 40 additions & 36 deletions

File tree

README.md

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -591,7 +591,9 @@ public interface FooView extends ParentView {
591591

592592
interface Composer extends ParentView.Composer {
593593

594-
void addBar(ComponentConfig config);
594+
void showBar(ComponentConfig config);
595+
596+
void hideBar();
595597

596598
BarPort getBar();
597599
}
@@ -615,7 +617,7 @@ public class FooPresenter<V extends FooView> extends AbstractParentPresenter<V>
615617
public void onAction() {
616618
var params = new ComponentParams();
617619
...
618-
getView().getComposer().addBar(params);
620+
getView().getComposer().showBar(params);
619621
// use bar
620622
}
621623

@@ -630,8 +632,10 @@ public class FooFxView<P extends FooPresenter<?>> extends AbstractParentFxView<P
630632

631633
public class Composer extends AbstractParentFxView<P>.Composer implements FooView.Composer {
632634

635+
private BarFxView bar;
636+
633637
@Override
634-
public void addBar(ComponentParams params) {
638+
public void showBar(ComponentParams params) {
635639
bar = new BarFxView();
636640
var p = new BarPresenter(bar, params);
637641
p.initialize();
@@ -647,9 +651,15 @@ public class FooFxView<P extends FooPresenter<?>> extends AbstractParentFxView<P
647651
return null;
648652
}
649653
}
650-
}
651654

652-
private BarFxView bar;
655+
@Override
656+
public void hideBar() {
657+
getModifiableChildren().remove(bar);
658+
someNode.getChildren().remove(bar.getNode()); // removing bar view from foo view
659+
bar.getPresenter().deinitialize();
660+
bar = null;
661+
}
662+
}
653663

654664
public FooFxView() {
655665
...

patternfx-demo/src/main/java/com/techsenger/patternfx/demo/mvp/RegistryFxView.java

Lines changed: 13 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,10 @@ public class Composer extends AbstractParentFxView<P>.Composer implements Regist
4646

4747
private final RegistryFxView<P> view = RegistryFxView.this;
4848

49+
private @Nullable ReportFxView report;
50+
4951
@Override
50-
public DialogPort showDialog() {
52+
public DialogPort openDialog() {
5153
var v = new DialogFxView(view.getStage());
5254
var p = new DialogPresenter<>(v, new ComponentParams());
5355
p.initialize();
@@ -57,35 +59,33 @@ public DialogPort showDialog() {
5759

5860
@Override
5961
public @Nullable ReportPort getReport() {
60-
if (view.getReport() == null) {
62+
if (report == null) {
6163
return null;
6264
}
63-
return view.getReport().getPresenter();
65+
return report.getPresenter();
6466
}
6567

6668
@Override
67-
public void addReport() {
68-
if (view.getReport() != null) {
69+
public void showReport() {
70+
if (report != null) {
6971
throw new IllegalStateException("Report has been added");
7072
}
71-
var reportV = new ReportFxView();
72-
var reportP = new ReportPresenter(reportV, new ComponentParams());
73+
report = new ReportFxView();
74+
var reportP = new ReportPresenter(report, new ComponentParams());
7375
reportP.initialize();
74-
view.root.getChildren().add(reportV.getNode());
75-
view.getModifiableChildren().add(reportV);
76-
view.report = reportV;
76+
view.root.getChildren().add(report.getNode());
77+
view.getModifiableChildren().add(report);
7778
}
7879

7980
@Override
80-
public void removeReport() {
81-
var report = view.getReport();
81+
public void hideReport() {
8282
if (report == null) {
8383
throw new IllegalStateException("Report hasn't been added");
8484
}
8585
view.getModifiableChildren().remove(report);
8686
view.root.getChildren().remove(report.getNode());
87-
view.report = null;
8887
report.getPresenter().deinitialize();
88+
report = null;
8989
}
9090
}
9191

@@ -109,8 +109,6 @@ public void removeReport() {
109109

110110
private final Stage stage = new Stage();
111111

112-
private @Nullable ReportFxView report;
113-
114112
public RegistryFxView() {
115113
super();
116114
}
@@ -218,10 +216,6 @@ Stage getStage() {
218216
return stage;
219217
}
220218

221-
@Nullable ReportFxView getReport() {
222-
return report;
223-
}
224-
225219
private void setupColumn(TableColumn<?, ?> column) {
226220
column.setResizable(false);
227221
column.prefWidthProperty().bind(personTable.widthProperty().multiply(0.25).subtract(1));

patternfx-demo/src/main/java/com/techsenger/patternfx/demo/mvp/RegistryPresenter.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ protected void onSelectedChanged(int value) {
5252
}
5353

5454
protected void onAdd() {
55-
var dialog = getView().getComposer().showDialog();
55+
var dialog = getView().getComposer().openDialog();
5656
var newPerson = dialog.getResult();
5757
dialog.deinitialize();
5858
if (newPerson != null) {
@@ -86,11 +86,11 @@ protected void onRefresh() {
8686
protected void onReport() {
8787
var composer = getView().getComposer();
8888
if (composer.getReport() == null) {
89-
composer.addReport();
89+
composer.showReport();
9090
updateReport();
9191
getView().setReportShown(true);
9292
} else {
93-
composer.removeReport();
93+
composer.hideReport();
9494
getView().setReportShown(false);
9595
}
9696
}

patternfx-demo/src/main/java/com/techsenger/patternfx/demo/mvp/RegistryView.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,13 @@ public interface RegistryView extends ParentView {
2929

3030
interface Composer extends ParentView.Composer {
3131

32-
DialogPort showDialog();
32+
DialogPort openDialog();
3333

3434
@Nullable ReportPort getReport();
3535

36-
void addReport();
36+
void showReport();
3737

38-
void removeReport();
38+
void hideReport();
3939
}
4040

4141
@Override

patternfx-demo/src/main/java/com/techsenger/patternfx/demo/mvvm/RegistryComposer.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public interface RegistryComposer extends Composer {
2626

2727
void openDialog(DialogViewModel dialog);
2828

29-
void addReport(ReportViewModel report);
29+
void showReport(ReportViewModel report);
3030

31-
void removeReport();
31+
void hideReport();
3232
}

patternfx-demo/src/main/java/com/techsenger/patternfx/demo/mvvm/RegistryView.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public void openDialog(DialogViewModel vm) {
5454
}
5555

5656
@Override
57-
public void addReport(ReportViewModel vm) {
57+
public void showReport(ReportViewModel vm) {
5858
var v = new ReportView(vm);
5959
v.initialize();
6060
root.getChildren().add(v.getNode());
@@ -63,7 +63,7 @@ public void addReport(ReportViewModel vm) {
6363
}
6464

6565
@Override
66-
public void removeReport() {
66+
public void hideReport() {
6767
root.getChildren().remove(root.getChildren().size() - 1);
6868
getModifiableChildren().remove(report.get());
6969
report.get().deinitialize();

patternfx-demo/src/main/java/com/techsenger/patternfx/demo/mvvm/RegistryViewModel.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -149,13 +149,13 @@ void onRemove() {
149149
void onToggleReport() {
150150
Objects.requireNonNull(getComposer());
151151
if (getReport() == null) {
152-
getComposer().addReport(new ReportViewModel());
152+
getComposer().showReport(new ReportViewModel());
153153
var report = getReport();
154154
Objects.requireNonNull(report);
155155
report.refresh(persons);
156156
updateReportButtonText(true);
157157
} else {
158-
getComposer().removeReport();
158+
getComposer().hideReport();
159159
updateReportButtonText(false);
160160
}
161161
}

0 commit comments

Comments
 (0)