Skip to content

Commit 72de00d

Browse files
committed
Refactored the directory layout of the project as per the pub guidelines. Removed core_utils dependency to make it standalone
1 parent 31e28dc commit 72de00d

27 files changed

+184
-48
lines changed

lib/dock/dock_layout_engine.dart

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,8 @@ class DockLayoutEngine {
4747
// If the child count falls below the minimum threshold, destroy the parent and merge
4848
// the children with their grandparents
4949
DockNode grandParent = parentNode.parent;
50-
parentNode.children.forEach((otherChild) {
50+
// parentNode.children.forEach((otherChild) {
51+
for (var otherChild in parentNode.children) {
5152
if (grandParent != null) {
5253
// parent node is not a root node
5354
grandParent.addChildAfter(parentNode, otherChild);
@@ -62,7 +63,7 @@ class DockLayoutEngine {
6263
parentNode.container.destroy();
6364
dockManager.setRootNode(otherChild);
6465
}
65-
});
66+
}
6667
}
6768
else {
6869
// the node to be removed has 2 or more other siblings. So it is safe to continue

lib/dock_spawn.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import 'dart:html';
44
import 'dart:async';
55
import 'dart:math';
66
import 'dart:json' as json;
7-
import '../../core_utils/lib/core_utils.dart'; // TODO: Place in pub
87

98
part 'dialog/dialog.dart';
109
part 'decorators/draggable_container.dart';
@@ -39,3 +38,5 @@ part 'utils/dock_utils.dart';
3938
part 'utils/image_repository.dart';
4039
part 'utils/debug_utils.dart';
4140
part 'utils/undock_initiator.dart';
41+
part 'utils/geometric_primitives.dart';
42+
part 'utils/bounding_box.dart';

lib/utils/bounding_box.dart

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
part of dock_spawn;
2+
3+
class BoundingBox {
4+
Size size;
5+
Point2 location;
6+
7+
BoundingBox() {
8+
size = new Size(0, 0);
9+
location = new Point2(0, 0);
10+
}
11+
12+
13+
BoundingBox.copy(BoundingBox other) {
14+
size = new Size.copy(other.size);
15+
location = new Point2.copy(other.location);
16+
}
17+
18+
19+
num get x => location.x;
20+
set x(num value) => location.x = value;
21+
22+
num get y => location.y;
23+
set y(num value) => location.y = value;
24+
25+
num get width => size.width;
26+
set width(num value) => size.width = value;
27+
28+
num get height => size.height;
29+
set height(num value) => size.height = value;
30+
31+
num get left => location.x;
32+
set left(num value) => location.x = value;
33+
34+
num get top => location.y;
35+
set top(num value) => location.y = value;
36+
37+
num get right => location.x + size.width;
38+
set right(num value) => size.width = value - left;
39+
40+
num get bottom => location.y + size.height;
41+
set bottom(num value) => size.height = value - top;
42+
43+
}
Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
part of dock_spawn;
2+
3+
class Color {
4+
num r = 0;
5+
num g = 0;
6+
num b = 0;
7+
num a = 1;
8+
9+
int get r255 => (r * 255).toInt();
10+
int get g255 => (g * 255).toInt();
11+
int get b255 => (b * 255).toInt();
12+
13+
Color();
14+
Color.fromRGBA(this.r, this.g, this.b, this.a);
15+
16+
String toString() => "$r, $g, $b";
17+
String toString255() => "$r255, $g255, $b255";
18+
void parse(String data) {
19+
var tokens = data.split(",");
20+
if (tokens.length >= 3) {
21+
r = double.parse(tokens[0]);
22+
g = double.parse(tokens[1]);
23+
b = double.parse(tokens[2]);
24+
}
25+
}
26+
void parse255(String data) {
27+
var tokens = data.split(",");
28+
if (tokens.length < 3) {
29+
throw new Exception("Invalid color input format $data");
30+
}
31+
r = double.parse(tokens[0]) / 255;
32+
g = double.parse(tokens[1]) / 255;
33+
b = double.parse(tokens[2]) / 255;
34+
}
35+
36+
String toRgba() => "rgba($r255, $g255, $b255, $a)";
37+
}
38+
39+
class Point2 {
40+
num x;
41+
num y;
42+
43+
Point2(this.x, this.y);
44+
Point2.copy(Point2 other) : x = other.x, y = other.y;
45+
Point2.empty() : x = 0, y = 0;
46+
47+
Point2 operator-(Point2 other) {
48+
return new Point2(x - other.x, y - other.y);
49+
}
50+
51+
Point2 operator+(Point2 other) {
52+
return new Point2(x + other.x, y + other.y);
53+
}
54+
55+
Point2 operator*(num value) {
56+
return new Point2(x * value, y * value);
57+
}
58+
59+
bool operator==(Point2 other) {
60+
return x == other.x && y == other.y;
61+
}
62+
63+
bool inside(Point2 startLocation, Size size) {
64+
final sx = startLocation.x;
65+
final sy = startLocation.y;
66+
final width = size.width;
67+
final height = size.height;
68+
return x >= sx && y >= sy &&
69+
x <= sx + width && y <= sy + height;
70+
}
71+
72+
String toString() => "[$x, $y]";
73+
}
74+
75+
class Size {
76+
num width = 0;
77+
num height = 0;
78+
Size.empty();
79+
Size.copy(Size other) {
80+
this.width = other.width;
81+
this.height = other.height;
82+
}
83+
Size(this.width, this.height);
84+
85+
Size operator-(Size other) {
86+
return new Size(width - other.width, height - other.height);
87+
}
88+
89+
Size operator+(Size other) {
90+
return new Size(width + other.width, height + other.height);
91+
}
92+
93+
Size operator*(num value) {
94+
return new Size(width * value, height * value);
95+
}
96+
}

web/demos/dock_spawn_demo_ide/dock_spawn_demo_ide.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
library dock_spawn_demo_ide;
22

33
import 'dart:html';
4-
import '../dock_spawn/dock_spawn.dart';
4+
import 'package:dock_spawn/dock_spawn.dart';
55

66
part 'ide/spawn_ide.dart';
77
part 'ide/panels/editor_panel.dart';

web/demos/dock_spawn_demo_ide/dock_spawn_demo_ide.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
<meta charset="utf-8">
66
<title>DockManager</title>
77
<!-- Dock Spawn -->
8-
<link rel="stylesheet" href="../dock_spawn/resources/css/font-awesome.css">
9-
<link rel="stylesheet" href="../dock_spawn/resources/css/dock-manager.css">
8+
<link rel="stylesheet" href="../../resources/css/font-awesome.css">
9+
<link rel="stylesheet" href="../../resources/css/dock-manager.css">
1010
<link rel="stylesheet" href="resources/ide/css/dock_spawn_demo_ide.css">
1111

1212
<!-- Code Mirror Source Code Editor -->
@@ -67,7 +67,7 @@
6767
<script src="resources/ide/js/demo-ide.js"></script>
6868

6969
<script type="application/dart" src="dock_spawn_demo_ide.dart"></script>
70-
<script src="http://dart.googlecode.com/svn/branches/bleeding_edge/dart/client/dart.js"></script>
70+
<script src="packages/browser/dart.js"></script>
7171

7272
<!--
7373
-->

web/demos/dock_spawn_demo_simple/dock_spawn_demo_simple.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import 'dart:html';
2-
import '../dock_spawn/dock_spawn.dart';
2+
import 'package:dock_spawn/dock_spawn.dart';
33

44
void main() {
55
new DockManagerDemo();

web/demos/dock_spawn_demo_simple/dock_spawn_demo_simple.dart.js.deps

Lines changed: 32 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -85,40 +85,35 @@ 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_simple/dock_spawn_demo_simple.dart
88+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_simple/dock_spawn_demo_simple.dart
89+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_simple/packages/dock_spawn/containers/dock_container.dart
90+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_simple/packages/dock_spawn/containers/document_dock_container.dart
91+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_simple/packages/dock_spawn/containers/fill_dock_container.dart
92+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_simple/packages/dock_spawn/containers/horizontal_dock_container.dart
93+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_simple/packages/dock_spawn/containers/panel_dock_container.dart
94+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_simple/packages/dock_spawn/containers/splitter_dock_container.dart
95+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_simple/packages/dock_spawn/containers/vertical_dock_container.dart
96+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_simple/packages/dock_spawn/decorators/draggable_container.dart
97+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_simple/packages/dock_spawn/decorators/resizable_container.dart
98+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_simple/packages/dock_spawn/dialog/dialog.dart
99+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_simple/packages/dock_spawn/dock/dock_exception.dart
100+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_simple/packages/dock_spawn/dock/dock_layout_engine.dart
101+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_simple/packages/dock_spawn/dock/dock_manager.dart
102+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_simple/packages/dock_spawn/dock/dock_manager_context.dart
103+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_simple/packages/dock_spawn/dock/dock_model.dart
104+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_simple/packages/dock_spawn/dock/dock_wheel.dart
105+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_simple/packages/dock_spawn/dock_spawn.dart
106+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_simple/packages/dock_spawn/serialization/dock_graph_deserializer.dart
107+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_simple/packages/dock_spawn/serialization/dock_graph_serializer.dart
108+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_simple/packages/dock_spawn/splitter/splitter_bar.dart
109+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_simple/packages/dock_spawn/splitter/splitter_exception.dart
110+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_simple/packages/dock_spawn/splitter/splitter_panel.dart
111+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_simple/packages/dock_spawn/tab/tab_handle.dart
112+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_simple/packages/dock_spawn/tab/tab_host.dart
113+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_simple/packages/dock_spawn/tab/tab_page.dart
114+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_simple/packages/dock_spawn/utils/bounding_box.dart
115+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_simple/packages/dock_spawn/utils/debug_utils.dart
116+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_simple/packages/dock_spawn/utils/dock_utils.dart
117+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_simple/packages/dock_spawn/utils/geometric_primitives.dart
118+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_simple/packages/dock_spawn/utils/image_repository.dart
119+
file:///D:/dev/DartApps/dock_spawn/web/demos/dock_spawn_demo_simple/packages/dock_spawn/utils/undock_initiator.dart

web/demos/dock_spawn_demo_simple/dock_spawn_demo_simple.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
<head>
55
<meta charset="utf-8">
66
<title>DockManager</title>
7-
<link rel="stylesheet" href="../dock_spawn/resources/css/font-awesome.css">
8-
<link rel="stylesheet" href="../dock_spawn/resources/css/dock-manager.css">
7+
<link rel="stylesheet" href="../../resources/css/font-awesome.css">
8+
<link rel="stylesheet" href="../../resources/css/dock-manager.css">
99
<link rel="stylesheet" href="resources/css/dock_spawn_demo_simple.css">
1010
</head>
1111
<body>
@@ -22,6 +22,6 @@
2222
<div id="editor2_window" caption="Renderer.cpp" class="editor2-window"></div>
2323

2424
<script type="application/dart" src="dock_spawn_demo_simple.dart"></script>
25-
<script src="dart.js"></script>
25+
<script src="packages/browser/dart.js"></script>
2626
</body>
2727
</html>
File renamed without changes.

0 commit comments

Comments
 (0)