Add profiling with Remotery
This commit is contained in:
parent
c37be6798f
commit
6331a2bf79
50 changed files with 16864 additions and 11 deletions
105
vis/Code/TitleWindow.js
Normal file
105
vis/Code/TitleWindow.js
Normal file
|
|
@ -0,0 +1,105 @@
|
|||
|
||||
TitleWindow = (function()
|
||||
{
|
||||
function TitleWindow(wm, settings, server, connection_address)
|
||||
{
|
||||
this.Settings = settings;
|
||||
|
||||
this.Window = wm.AddWindow(" Remotery", 10, 10, 100, 100);
|
||||
this.Window.ShowNoAnim();
|
||||
|
||||
this.PingContainer = this.Window.AddControlNew(new WM.Container(4, -13, 10, 10));
|
||||
DOM.Node.AddClass(this.PingContainer.Node, "PingContainer");
|
||||
|
||||
this.EditBox = this.Window.AddControlNew(new WM.EditBox(10, 5, 300, 18, "Connection Address", connection_address));
|
||||
|
||||
// Setup pause button
|
||||
this.PauseButton = this.Window.AddControlNew(new WM.Button("Pause", 5, 5, { toggle: true }));
|
||||
this.PauseButton.SetOnClick(Bind(OnPausePressed, this));
|
||||
|
||||
this.SyncButton = this.Window.AddControlNew(new WM.Button("Sync Timelines", 5, 5, { toggle: true}));
|
||||
this.SyncButton.SetOnClick(Bind(OnSyncPressed, this));
|
||||
this.SyncButton.SetState(this.Settings.SyncTimelines);
|
||||
|
||||
server.AddMessageHandler("PING", Bind(OnPing, this));
|
||||
|
||||
this.Window.SetOnResize(Bind(OnUserResize, this));
|
||||
}
|
||||
|
||||
|
||||
TitleWindow.prototype.SetConnectionAddressChanged = function(handler)
|
||||
{
|
||||
this.EditBox.SetChangeHandler(handler);
|
||||
}
|
||||
|
||||
|
||||
TitleWindow.prototype.WindowResized = function(width, height)
|
||||
{
|
||||
this.Window.SetSize(width - 2 * 10, 50);
|
||||
ResizeInternals(this);
|
||||
}
|
||||
|
||||
TitleWindow.prototype.Pause = function()
|
||||
{
|
||||
if (!this.Settings.IsPaused)
|
||||
{
|
||||
this.PauseButton.SetText("Paused");
|
||||
this.PauseButton.SetState(true);
|
||||
this.Settings.IsPaused = true;
|
||||
}
|
||||
}
|
||||
|
||||
TitleWindow.prototype.Unpause = function()
|
||||
{
|
||||
if (this.Settings.IsPaused)
|
||||
{
|
||||
this.PauseButton.SetText("Pause");
|
||||
this.PauseButton.SetState(false);
|
||||
this.Settings.IsPaused = false;
|
||||
}
|
||||
}
|
||||
|
||||
function OnUserResize(self, evt)
|
||||
{
|
||||
ResizeInternals(self);
|
||||
}
|
||||
|
||||
function ResizeInternals(self)
|
||||
{
|
||||
self.PauseButton.SetPosition(self.Window.Size[0] - 60, 5);
|
||||
self.SyncButton.SetPosition(self.Window.Size[0] - 155, 5);
|
||||
}
|
||||
|
||||
|
||||
function OnPausePressed(self)
|
||||
{
|
||||
if (self.PauseButton.IsPressed())
|
||||
{
|
||||
self.Pause();
|
||||
}
|
||||
else
|
||||
{
|
||||
self.Unpause();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function OnSyncPressed(self)
|
||||
{
|
||||
self.Settings.SyncTimelines = self.SyncButton.IsPressed();
|
||||
}
|
||||
|
||||
|
||||
function OnPing(self, server)
|
||||
{
|
||||
// Set the ping container as active and take it off half a second later
|
||||
DOM.Node.AddClass(self.PingContainer.Node, "PingContainerActive");
|
||||
window.setTimeout(Bind(function(self)
|
||||
{
|
||||
DOM.Node.RemoveClass(self.PingContainer.Node, "PingContainerActive");
|
||||
}, self), 500);
|
||||
}
|
||||
|
||||
|
||||
return TitleWindow;
|
||||
})();
|
||||
Loading…
Add table
Add a link
Reference in a new issue