Skip to content

Commit

Permalink
Replaced Point class with a custom Point2 class to make it work with …
Browse files Browse the repository at this point in the history
…non-webkit browsers
  • Loading branch information
coderespawn committed Aug 12, 2012
1 parent 95ce131 commit 20a6914
Show file tree
Hide file tree
Showing 15 changed files with 29 additions and 21 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
*.tar
*.zip
*.dart.js
*.dart.js.map

# Logs and databases #
######################
Expand Down
File renamed without changes.
File renamed without changes.
Empty file added README.md
Empty file.
2 changes: 1 addition & 1 deletion dock_spawn/containers/panel_dock_container.dart
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ class PanelContainer implements IDockContainer {
/**
* Undocks the panel and and converts it to a dialog box
*/
Dialog performUndockToDialog(MouseEvent e, Point dragOffset) {
Dialog performUndockToDialog(MouseEvent e, Point2 dragOffset) {
undockInitiator.enabled = false;
return dockManager.requestUndockToDialog(this, e, dragOffset);
}
Expand Down
8 changes: 4 additions & 4 deletions dock_spawn/decorators/draggable_container.dart
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ class DraggableContainer implements IDockContainer {
var mouseUpHandler;
var mouseMoveHandler;

Point dragOffset;
Point previousMousePosition;
Point2 dragOffset;
Point2 previousMousePosition;

DraggableContainer(this.dialog, this.delegate, this.topLevelElement, this.dragHandle) {
containerType = delegate.containerType;
Expand Down Expand Up @@ -83,7 +83,7 @@ class DraggableContainer implements IDockContainer {

void onMouseDown(MouseEvent event) {
_startDragging(event);
previousMousePosition = new Point(event.pageX, event.pageY);
previousMousePosition = new Point2(event.pageX, event.pageY);
window.on.mouseMove.add(mouseMoveHandler);
window.on.mouseUp.add(mouseUpHandler);
}
Expand All @@ -109,7 +109,7 @@ class DraggableContainer implements IDockContainer {
}

void onMouseMove(MouseEvent event) {
Point currentMousePosition = new Point(event.pageX, event.pageY);
Point2 currentMousePosition = new Point2(event.pageX, event.pageY);
int dx = (currentMousePosition.x - previousMousePosition.x).toInt();
int dy = (currentMousePosition.y - previousMousePosition.y).toInt();
_performDrag(dx, dy);
Expand Down
8 changes: 4 additions & 4 deletions dock_spawn/decorators/resizable_container.dart
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ class ResizableContainer implements IDockContainer {
Dialog dialog;
List<ResizeHandle> resizeHandles;

Point dragOffset;
Point previousMousePosition;
Point2 dragOffset;
Point2 previousMousePosition;

ResizableContainer(this.dialog, this.delegate, this.topLevelElement) {
containerType = delegate.containerType;
Expand Down Expand Up @@ -137,15 +137,15 @@ class ResizableContainer implements IDockContainer {
}

void onMouseMoved(ResizeHandle handle, MouseEvent e) {
Point currentMousePosition = new Point(e.pageX, e.pageY);
Point2 currentMousePosition = new Point2(e.pageX, e.pageY);
int dx = (currentMousePosition.x - previousMousePosition.x).toInt();
int dy = (currentMousePosition.y - previousMousePosition.y).toInt();
_performDrag(handle, dx, dy);
previousMousePosition = currentMousePosition;
}

void onMouseDown(ResizeHandle handle, MouseEvent event) {
previousMousePosition = new Point(event.pageX, event.pageY);
previousMousePosition = new Point2(event.pageX, event.pageY);
window.on.mouseMove.add(handle.mouseMoveHandler);
window.on.mouseUp.add(handle.mouseUpHandler);

Expand Down
2 changes: 1 addition & 1 deletion dock_spawn/dock/dock_manager.dart
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,7 @@ class DockManager implements DialogEventListener {
* Undocks a panel and converts it into a floating dialog window
* It is assumed that only leaf nodes (panels) can be undocked
*/
Dialog requestUndockToDialog(IDockContainer container, MouseEvent event, Point dragOffset) {
Dialog requestUndockToDialog(IDockContainer container, MouseEvent event, Point2 dragOffset) {
DockNode node = _findNodeFromContainer(container);
layoutEngine.undock(node);

Expand Down
1 change: 1 addition & 0 deletions dock_spawn/dock_spawn.dart
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,4 @@
#source('utils/image_repository.dart');
#source('utils/debug_utils.dart');
#source('utils/undock_initiator.dart');
#source('utils/math_utils.dart');
2 changes: 1 addition & 1 deletion dock_spawn/resources/css/dock-manager.css
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
}

.panel-content {
background-color: #FF8;
background-color: #FFF;
width: 100%;
}

Expand Down
4 changes: 2 additions & 2 deletions dock_spawn/splitter/splitter_panel.dart
Original file line number Diff line number Diff line change
Expand Up @@ -87,9 +87,9 @@ class SplitterPanel {
}

if (stackedVertical) {
child.containerElement.style.height = "${size}px";
child.resize(child.width, size.toInt());
} else {
child.containerElement.style.width = "${size}px";
child.resize(size.toInt(), child.height);
}
});
}
Expand Down
2 changes: 1 addition & 1 deletion dock_spawn/tab/tab_handle.dart
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ class TabHandle {
elementCloseButton = null;
}

Dialog _performUndock(MouseEvent e, Point dragOffset) {
Dialog _performUndock(MouseEvent e, Point2 dragOffset) {
if (parent.container.containerType == "panel") {
undockInitiator.enabled = false;
PanelContainer panel = parent.container;
Expand Down
4 changes: 2 additions & 2 deletions dock_spawn/utils/dock_utils.dart
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@ int getPixels(String pixels) {
}


Point getMousePosition(MouseEvent e, Element element) {
Point2 getMousePosition(MouseEvent e, Element element) {
int parentOffsetX = element.$dom_offsetLeft;
int parentOffsetY = element.$dom_offsetTop;
int parentWidth = element.$dom_clientWidth;
int parentHeight = element.$dom_clientHeight;
int x = e.x - parentOffsetX;
int y = e.y - parentOffsetY;
return new Point(x, y);
return new Point2(x, y);
}

void disableGlobalTextSelection() {
Expand Down
6 changes: 6 additions & 0 deletions dock_spawn/utils/math_utils.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@

class Point2 {
num x;
num y;
Point2(this.x, this.y);
}
10 changes: 5 additions & 5 deletions dock_spawn/utils/undock_initiator.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@

/** Listen for undock events */
typedef Dialog OnUndock(MouseEvent e, Point dragOffset);
typedef Dialog OnUndock(MouseEvent e, Point2 dragOffset);

/**
* Listens for events on the [element] and notifies the [listener]
Expand All @@ -12,7 +12,7 @@ class UndockInitiator {
Element element;
OnUndock listener;
num thresholdPixels;
Point dragStartPosition;
Point2 dragStartPosition;

var mouseDownHandler;
var mouseUpHandler;
Expand Down Expand Up @@ -45,15 +45,15 @@ class UndockInitiator {
if (enabled) {
window.on.mouseUp.add(mouseUpHandler);
window.on.mouseMove.add(mouseMoveHandler);
dragStartPosition = new Point(e.pageX, e.pageY);
dragStartPosition = new Point2(e.pageX, e.pageY);
}
}
void onMouseUp(MouseEvent e) {
window.on.mouseUp.remove(mouseUpHandler);
window.on.mouseMove.remove(mouseMoveHandler);
}
void onMouseMove(MouseEvent e) {
Point position = new Point(e.pageX, e.pageY);
Point2 position = new Point2(e.pageX, e.pageY);
num dx = position.x - dragStartPosition.x;
num dy = position.y - dragStartPosition.y;
num distance = Math.sqrt(dx * dx + dy * dy);
Expand All @@ -66,7 +66,7 @@ class UndockInitiator {
void _requestUndock(MouseEvent e) {
num dragOffsetX = dragStartPosition.x - element.$dom_offsetLeft;
num dragOffsetY = dragStartPosition.y - element.$dom_offsetTop;
Point dragOffset = new Point(dragOffsetX, dragOffsetY);
Point2 dragOffset = new Point2(dragOffsetX, dragOffsetY);
listener(e, dragOffset);
}
}

0 comments on commit 20a6914

Please sign in to comment.