Skip to content

Commit 057df60

Browse files
committed
Adapt to TabShell changes
1 parent eac188b commit 057df60

4 files changed

Lines changed: 53 additions & 11 deletions

File tree

java/ceffx-demo/src/main/java/com/techsenger/ceffx/demo/Demo.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import com.techsenger.ceffx.demo.menu.BookmarkMenuRegistrar;
2828
import com.techsenger.ceffx.demo.menu.FileMenuRegistrar;
2929
import com.techsenger.ceffx.demo.tab.BrowserTabFxView;
30+
import com.techsenger.ceffx.demo.tab.BrowserTabParams;
3031
import com.techsenger.ceffx.demo.tab.BrowserTabPort;
3132
import com.techsenger.ceffx.demo.tab.BrowserTabPresenter;
3233
import com.techsenger.ceffx.demo.tab.ChangeSource;
@@ -38,8 +39,10 @@
3839
import com.techsenger.tabshell.core.CloseCheckResult;
3940
import com.techsenger.tabshell.core.DefaultShellContext;
4041
import com.techsenger.tabshell.core.DefaultShellFxView;
42+
import com.techsenger.tabshell.core.DefaultShellParams;
4143
import com.techsenger.tabshell.core.DefaultShellPresenter;
4244
import com.techsenger.tabshell.core.ShellFxView;
45+
import com.techsenger.tabshell.core.area.AreaParams;
4346
import com.techsenger.tabshell.core.history.InMemoryHistoryManager;
4447
import com.techsenger.tabshell.core.registry.ControlRegistry;
4548
import com.techsenger.tabshell.core.settings.ShellSettings;
@@ -244,7 +247,8 @@ private void createShell(Stage stage) {
244247
this.shell = shellView;
245248
var settings = createShellSettings();
246249
var context = new DefaultShellContext(settings, new InMemoryHistoryManager(), getHostServices());
247-
var shellPresenter = new DefaultShellPresenter<>(shellView, context) {
250+
var shellParams = new DefaultShellParams(context);
251+
var shellPresenter = new DefaultShellPresenter<>(shellView, shellParams) {
248252
@Override
249253
public CloseCheckResult isReadyToClose() {
250254
if (workspace.getComposer().getTabs().isEmpty()) {
@@ -275,7 +279,7 @@ private void createWorkspace() {
275279
newTabButton.getStyleClass().addAll(Styles.FLAT, StyleClasses.ICON_BUTTON);
276280
newTabButton.setOnAction((e) -> onNewTab(null));
277281
stickyArea.getChildren().add(newTabButton);
278-
var workspacePresenter = new TabHostPresenter<>(workspaceView);
282+
var workspacePresenter = new TabHostPresenter<>(workspaceView, new AreaParams());
279283
workspacePresenter.initialize();
280284
shell.getComposer().addWorkspace(workspaceView);
281285
}
@@ -298,7 +302,8 @@ private void onNewTab(String url) {
298302
browserCount.incrementAndGet();
299303
Platform.runLater(() -> {
300304
var tabView = new BrowserTabFxView(shell, browser.getPane());
301-
var tabPresenter = new BrowserTabPresenter(tabView, shell.getPresenter().getContext(), browser);
305+
var tabParams = new BrowserTabParams(shell.getPresenter().getContext(), browser);
306+
var tabPresenter = new BrowserTabPresenter(tabView, tabParams);
302307
tabPresenter.initialize();
303308
browser.getProperties().put(TAB_COMPONENT, tabPresenter);
304309
workspace.getComposer().addTab(tabView);

java/ceffx-demo/src/main/java/com/techsenger/ceffx/demo/tab/BrowserTabFxView.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import com.techsenger.tabshell.core.tab.AbstractTabFxView;
1313
import com.techsenger.tabshell.devtools.DevToolsHostType;
1414
import com.techsenger.tabshell.devtools.DevToolsTabDockFxView;
15+
import com.techsenger.tabshell.devtools.DevToolsTabDockParams;
1516
import com.techsenger.tabshell.devtools.DevToolsTabDockPresenter;
1617
import com.techsenger.tabshell.material.style.StyleClasses;
1718
import com.techsenger.toolkit.fx.utils.NodeUtils;
@@ -56,7 +57,8 @@ protected void addHandlers() {
5657
getCloseButton().setOnAction(e -> view.getPresenter().closeDevTools());
5758
}
5859
};
59-
var presenter = new DevToolsTabDockPresenter<>(devTools, DevToolsHostType.OTHER, settings, historyManager);
60+
var params = new DevToolsTabDockParams(DevToolsHostType.OTHER, settings, historyManager);
61+
var presenter = new DevToolsTabDockPresenter<>(devTools, params);
6062
presenter.initialize();
6163
getModifiableChildren().add(devTools);
6264
var slplitPane = new SplitPane(content, devTools.getNode());
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
/*
2+
* Copyright 2026 Pavel Castornii.
3+
*
4+
* Licensed under the BSD 3-Clause License. See LICENSE file for details.
5+
*/
6+
7+
package com.techsenger.ceffx.demo.tab;
8+
9+
import com.techsenger.ceffx.core.browser.CefBrowserBase;
10+
import com.techsenger.tabshell.core.ShellContext;
11+
import com.techsenger.tabshell.core.tab.TabParams;
12+
13+
/**
14+
*
15+
* @author Pavel Castornii
16+
*/
17+
public class BrowserTabParams extends TabParams {
18+
19+
private final ShellContext context;
20+
21+
private final CefBrowserBase browser;
22+
23+
public BrowserTabParams(ShellContext context, CefBrowserBase browser) {
24+
this.context = context;
25+
this.browser = browser;
26+
}
27+
28+
public ShellContext getContext() {
29+
return context;
30+
}
31+
32+
public CefBrowserBase getBrowser() {
33+
return browser;
34+
}
35+
}

java/ceffx-demo/src/main/java/com/techsenger/ceffx/demo/tab/BrowserTabPresenter.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import com.techsenger.ceffx.core.CefApp;
1010
import com.techsenger.ceffx.core.browser.CefBrowserBase;
1111
import com.techsenger.ceffx.demo.DemoComponents;
12-
import com.techsenger.patternfx.mvp.Descriptor;
12+
import com.techsenger.patternfx.mvp.ComponentDescriptor;
1313
import com.techsenger.tabshell.core.CloseCheckResult;
1414
import com.techsenger.tabshell.core.ClosePreparationResult;
1515
import com.techsenger.tabshell.core.ShellContext;
@@ -95,10 +95,10 @@ private static String loadHtmlAsDataUrl(String fileName) throws IOException {
9595

9696
private volatile boolean darkTheme = true;
9797

98-
public BrowserTabPresenter(BrowserTabView view, ShellContext context, CefBrowserBase browser) {
99-
super(view);
100-
this.shellContext = context;
101-
this.browser = browser;
98+
public BrowserTabPresenter(BrowserTabView view, BrowserTabParams params) {
99+
super(view, params);
100+
this.shellContext = params.getContext();
101+
this.browser = params.getBrowser();
102102
}
103103

104104
@Override
@@ -184,8 +184,8 @@ public void onTakeFocusFromBrowser() {
184184
}
185185

186186
@Override
187-
protected Descriptor createDescriptor() {
188-
return new Descriptor(DemoComponents.BROWSER_TAB);
187+
protected ComponentDescriptor createDescriptor() {
188+
return new ComponentDescriptor(DemoComponents.BROWSER_TAB);
189189
}
190190

191191
protected void onAddressSubmitted() {

0 commit comments

Comments
 (0)