Skip to content

Commit 903bb1c

Browse files
committed
Fixed an issue where the tab caption was not being updated when the panel text was programatically changed. Added browser dependency in pubspec
1 parent de3f940 commit 903bb1c

File tree

5 files changed

+69
-40
lines changed

5 files changed

+69
-40
lines changed

lib/containers/panel_dock_container.dart

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
part of dock_spawn;
22

3+
34
/**
45
* This dock container wraps the specified element on a panel frame with a title bar and close button
56
*/
@@ -21,6 +22,8 @@ class PanelContainer implements IDockContainer {
2122

2223
StreamSubscription<MouseEvent> closeButtonClickedHandler;
2324

25+
TitleChangedEvent onTitleChanged;
26+
2427
// When the panel switches to floating mode, it is wrapped around a dialog and a reference is set
2528
Dialog _floatingDialog = null;
2629
Dialog get floatingDialog {
@@ -187,6 +190,9 @@ class PanelContainer implements IDockContainer {
187190
void setTitle(String _title) {
188191
title = _title;
189192
_updateTitle();
193+
if (onTitleChanged != null) {
194+
onTitleChanged(this, _title);
195+
}
190196
}
191197

192198
void setTitleIcon(String _iconName) {
@@ -215,3 +221,5 @@ class PanelContainer implements IDockContainer {
215221
}
216222
}
217223
}
224+
225+
typedef void TitleChangedEvent(IDockContainer sender, String title);

lib/tab/tab_handle.dart

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,14 @@ class TabHandle {
4848
closeButtonHandler = elementCloseButton.onMouseDown.listen(onCloseButtonClicked);
4949
}
5050

51+
void updateTitle() {
52+
if (parent.container is PanelContainer) {
53+
PanelContainer panel = parent.container;
54+
String title = panel.getRawTitle();
55+
elementText.innerHtml = title;
56+
}
57+
}
58+
5159
void destroy() {
5260
mouseClickHandler.cancel();
5361
closeButtonHandler.cancel();

lib/tab/tab_page.dart

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,24 @@ class TabPage {
1111
TabPage(this.host, this.container) {
1212
handle = new TabHandle(this);
1313
containerElement = container.containerElement;
14+
15+
if (container is PanelContainer) {
16+
PanelContainer panel = container;
17+
panel.onTitleChanged = onTitleChanged;
18+
}
19+
}
20+
21+
void onTitleChanged(IDockContainer sender, String title) {
22+
handle.updateTitle();
1423
}
1524

1625
void destroy() {
1726
handle.destroy();
27+
28+
if (container is PanelContainer) {
29+
PanelContainer panel = container;
30+
panel.onTitleChanged = null;
31+
}
1832
}
1933

2034
void onSelected() {

pubspec.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
11
name: dock_spawn
2+
version: 1.0.1
3+
author: Ali Akbar Vathi <[email protected]>
4+
description: Dock Spawn is a powerful web based dock layout engine. Create dockable panel windows similar to Visual Studio IDE
5+
homepage: http://www.dockspawn.com/
26
dependencies:
3-
browser: any
7+
browser: '>=0.3.5+1 <0.3.6'

web/demos/dock_spawn_demo_ide/dock_spawn_demo_ide.dart.js.deps

Lines changed: 34 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -85,42 +85,37 @@ file:///D:/dart/dart_16761/dart/dart-sdk/lib/math/math.dart
8585
file:///D:/dart/dart_16761/dart/dart-sdk/lib/math/random.dart
8686
file:///D:/dart/dart_16761/dart/dart-sdk/lib/svg/dart2js/svg_dart2js.dart
8787
file:///D:/dart/dart_16761/dart/dart-sdk/lib/web_audio/dart2js/web_audio_dart2js.dart
88-
file:///D:/dev/DartApps/core_utils/lib/core_utils.dart
89-
file:///D:/dev/DartApps/core_utils/lib/src/bounding_box.dart
90-
file:///D:/dev/DartApps/core_utils/lib/src/downloader.dart
91-
file:///D:/dev/DartApps/core_utils/lib/src/enums.dart
92-
file:///D:/dev/DartApps/core_utils/lib/src/geometric_primitives.dart
93-
file:///D:/dev/DartApps/core_utils/lib/src/id_provider.dart
94-
file:///D:/dev/DartApps/core_utils/lib/src/stack.dart
95-
file:///D:/dev/DartApps/dock_spawn/dock_spawn/containers/dock_container.dart
96-
file:///D:/dev/DartApps/dock_spawn/dock_spawn/containers/document_dock_container.dart
97-
file:///D:/dev/DartApps/dock_spawn/dock_spawn/containers/fill_dock_container.dart
98-
file:///D:/dev/DartApps/dock_spawn/dock_spawn/containers/horizontal_dock_container.dart
99-
file:///D:/dev/DartApps/dock_spawn/dock_spawn/containers/panel_dock_container.dart
100-
file:///D:/dev/DartApps/dock_spawn/dock_spawn/containers/splitter_dock_container.dart
101-
file:///D:/dev/DartApps/dock_spawn/dock_spawn/containers/vertical_dock_container.dart
102-
file:///D:/dev/DartApps/dock_spawn/dock_spawn/decorators/draggable_container.dart
103-
file:///D:/dev/DartApps/dock_spawn/dock_spawn/decorators/resizable_container.dart
104-
file:///D:/dev/DartApps/dock_spawn/dock_spawn/dialog/dialog.dart
105-
file:///D:/dev/DartApps/dock_spawn/dock_spawn/dock/dock_exception.dart
106-
file:///D:/dev/DartApps/dock_spawn/dock_spawn/dock/dock_layout_engine.dart
107-
file:///D:/dev/DartApps/dock_spawn/dock_spawn/dock/dock_manager.dart
108-
file:///D:/dev/DartApps/dock_spawn/dock_spawn/dock/dock_manager_context.dart
109-
file:///D:/dev/DartApps/dock_spawn/dock_spawn/dock/dock_model.dart
110-
file:///D:/dev/DartApps/dock_spawn/dock_spawn/dock/dock_wheel.dart
111-
file:///D:/dev/DartApps/dock_spawn/dock_spawn/dock_spawn.dart
112-
file:///D:/dev/DartApps/dock_spawn/dock_spawn/serialization/dock_graph_deserializer.dart
113-
file:///D:/dev/DartApps/dock_spawn/dock_spawn/serialization/dock_graph_serializer.dart
114-
file:///D:/dev/DartApps/dock_spawn/dock_spawn/splitter/splitter_bar.dart
115-
file:///D:/dev/DartApps/dock_spawn/dock_spawn/splitter/splitter_exception.dart
116-
file:///D:/dev/DartApps/dock_spawn/dock_spawn/splitter/splitter_panel.dart
117-
file:///D:/dev/DartApps/dock_spawn/dock_spawn/tab/tab_handle.dart
118-
file:///D:/dev/DartApps/dock_spawn/dock_spawn/tab/tab_host.dart
119-
file:///D:/dev/DartApps/dock_spawn/dock_spawn/tab/tab_page.dart
120-
file:///D:/dev/DartApps/dock_spawn/dock_spawn/utils/debug_utils.dart
121-
file:///D:/dev/DartApps/dock_spawn/dock_spawn/utils/dock_utils.dart
122-
file:///D:/dev/DartApps/dock_spawn/dock_spawn/utils/image_repository.dart
123-
file:///D:/dev/DartApps/dock_spawn/dock_spawn/utils/undock_initiator.dart
124-
file:///D:/dev/DartApps/dock_spawn/dock_spawn_demo_ide/dock_spawn_demo_ide.dart
125-
file:///D:/dev/DartApps/dock_spawn/dock_spawn_demo_ide/ide/panels/editor_panel.dart
126-
file:///D:/dev/DartApps/dock_spawn/dock_spawn_demo_ide/ide/spawn_ide.dart
88+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_ide/dock_spawn_demo_ide.dart
89+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_ide/ide/panels/editor_panel.dart
90+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_ide/ide/spawn_ide.dart
91+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_ide/packages/dock_spawn/containers/dock_container.dart
92+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_ide/packages/dock_spawn/containers/document_dock_container.dart
93+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_ide/packages/dock_spawn/containers/fill_dock_container.dart
94+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_ide/packages/dock_spawn/containers/horizontal_dock_container.dart
95+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_ide/packages/dock_spawn/containers/panel_dock_container.dart
96+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_ide/packages/dock_spawn/containers/splitter_dock_container.dart
97+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_ide/packages/dock_spawn/containers/vertical_dock_container.dart
98+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_ide/packages/dock_spawn/decorators/draggable_container.dart
99+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_ide/packages/dock_spawn/decorators/resizable_container.dart
100+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_ide/packages/dock_spawn/dialog/dialog.dart
101+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_ide/packages/dock_spawn/dock/dock_exception.dart
102+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_ide/packages/dock_spawn/dock/dock_layout_engine.dart
103+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_ide/packages/dock_spawn/dock/dock_manager.dart
104+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_ide/packages/dock_spawn/dock/dock_manager_context.dart
105+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_ide/packages/dock_spawn/dock/dock_model.dart
106+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_ide/packages/dock_spawn/dock/dock_wheel.dart
107+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_ide/packages/dock_spawn/dock_spawn.dart
108+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_ide/packages/dock_spawn/serialization/dock_graph_deserializer.dart
109+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_ide/packages/dock_spawn/serialization/dock_graph_serializer.dart
110+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_ide/packages/dock_spawn/splitter/splitter_bar.dart
111+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_ide/packages/dock_spawn/splitter/splitter_exception.dart
112+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_ide/packages/dock_spawn/splitter/splitter_panel.dart
113+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_ide/packages/dock_spawn/tab/tab_handle.dart
114+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_ide/packages/dock_spawn/tab/tab_host.dart
115+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_ide/packages/dock_spawn/tab/tab_page.dart
116+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_ide/packages/dock_spawn/utils/bounding_box.dart
117+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_ide/packages/dock_spawn/utils/debug_utils.dart
118+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_ide/packages/dock_spawn/utils/dock_utils.dart
119+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_ide/packages/dock_spawn/utils/geometric_primitives.dart
120+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_ide/packages/dock_spawn/utils/image_repository.dart
121+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_ide/packages/dock_spawn/utils/undock_initiator.dart

0 commit comments

Comments
 (0)