Update docs, set defaults, and implement resizing

develop
Sven Slootweg 11 years ago
parent 6b2f696448
commit b1191f6f5d

File diff suppressed because one or more lines are too long

@ -43,6 +43,55 @@
Holds a reference to the DOM element containing the window contents. Holds a reference to the DOM element containing the window contents.
### Constructor
^ new JsdeWindow(options)
Creates a new window.
options::
A plain object that contains the options for this window. Options can be any of
the following.
title::
The title of the new window. You can use HTML here.
contents::
The contents of the new window. You can use HTML here.
visible::
A boolean indicating whether the window should be visible. Defaults to `true`.
x::
An integer specifying the X coordinate that the window should be spawned at.
y::
An integer specifying the Y coordinate that the window should be spawned at.
width::
An integer specifying the initial width of the window in pixels.
height::
An integer specifying the initial height of the window in pixels.
resizable::
A boolean indicating whether the user is allowed to resize the window.
Defaults to `true`.
min_width::
The minimum width of the window in pixels (used to restrict resizing). Defaults to `120`.
min_height::
The minimum height of the window in pixels (used to restrict resizing). Defaults to `120`.
max_width::
The maximum width of the window in pixels (used to restrict resizing). Defaults to unlimited.
max_height::
The maximum height of the window in pixels (used to restrict resizing). Defaults to unlimited.
### Member functions ### Member functions
^ JsdeWindow.SetPosition(**x**, **y**) ^ JsdeWindow.SetPosition(**x**, **y**)

@ -58,6 +58,9 @@ function JsdeWindow(options)
if(typeof options.y === "undefined") { this.y = 0; } if(typeof options.y === "undefined") { this.y = 0; }
if(typeof options.width === "undefined") { this.width = 250; } if(typeof options.width === "undefined") { this.width = 250; }
if(typeof options.height === "undefined") { this.height = 200; } if(typeof options.height === "undefined") { this.height = 200; }
if(typeof options.min_width === "undefined") { this.min_width = 120; }
if(typeof options.min_height === "undefined") { this.min_height = 120; }
if(typeof options.resizable === "undefined") { this.resizable = true; }
this.SetPosition(this.x, this.y); this.SetPosition(this.x, this.y);
this.SetSize(this.width, this.height); this.SetSize(this.width, this.height);
@ -209,8 +212,29 @@ function _HandleMouseMove(event)
} }
else if(currently_resizing === true) else if(currently_resizing === true)
{ {
var new_x = event.pageX - (resize_start.x + currently_resized_window.x); var new_w = event.pageX - (resize_start.x + currently_resized_window.x);
var new_y = event.pageY - (resize_start.y + currently_resized_window.y); var new_h = event.pageY - (resize_start.y + currently_resized_window.y);
currently_resized_window.SetSize(new_x, new_y);
if(typeof currently_resized_window.min_width !== "undefined" && new_w < currently_resized_window.min_width)
{
new_w = currently_resized_window.min_width;
}
if(typeof currently_resized_window.min_height !== "undefined" && new_h < currently_resized_window.min_height)
{
new_h = currently_resized_window.min_height;
}
if(typeof currently_resized_window.max_width !== "undefined" && new_w > currently_resized_window.max_width)
{
new_w = currently_resized_window.max_width;
}
if(typeof currently_resized_window.max_height !== "undefined" && new_h > currently_resized_window.max_height)
{
new_h = currently_resized_window.max_height;
}
currently_resized_window.SetSize(new_w, new_h);
} }
} }

Loading…
Cancel
Save