InfoTable = function (parent) { this.table = $('
| ').html (name).appendTo (tableRow); $(' | ').html (value).appendTo (tableRow); }; InfoTable.prototype.AddColorRow = function (name, color) { var tableRow = $(' |
| ').html (name).appendTo (tableRow); var valueColumn = document.createElement ('td'); var valueColumn = $(' | ').appendTo (tableRow);
var colorDiv = $(' ').addClass ('colorbutton').appendTo (valueColumn);
colorDiv.attr ('title', '(' + color[0] + ', ' + color[1] + ', ' + color[2] + ')');
var hexColor = JSM.RGBComponentsToHexColor (color[0] * 255.0, color[1] * 255.0, color[2] * 255.0);
var colorString = hexColor.toString (16);
while (colorString.length < 6) {
colorString = '0' + colorString;
}
colorDiv.css ('background', '#' + colorString);
};
ImporterMenu = function (parent)
{
this.parent = parent;
this.parent.empty ();
};
ImporterMenu.prototype.AddGroup = function (name, parameters)
{
return this.AddSubItem (this.parent, name, parameters);
};
ImporterMenu.prototype.AddSubItem = function (parent, name, parameters)
{
function GetTruncatedName (name)
{
var maxLength = 20;
if (name.length > maxLength) {
return name.substr (0, maxLength) + '...';
}
return name;
}
var menuItem = $(' ').addClass ('menuitem').appendTo (parent);
var menuItemClickHandler = null;
var menuContent = null;
if (parameters !== undefined && parameters !== null) {
if (parameters.id !== undefined && parameters.id !== null) {
menuItem.attr ('id', parameters.id);
}
if (parameters.openCloseButton !== undefined && parameters.openCloseButton !== null) {
menuContent = $(' ').addClass ('menugroup').appendTo (parent);
var isOpen = parameters.openCloseButton.isOpen;
if (!isOpen) {
menuContent.hide ();
}
var openCloseImage = $(' ').addClass ('menuitem').html (GetTruncatedName (name)).attr ('title', name).appendTo (menuItem);
if (menuItemClickHandler != null) {
menuItemText.css ('cursor', 'pointer');
menuItemText.click (menuItemClickHandler);
}
return menuContent;
};
ImporterButtons = function (parent)
{
this.buttonsDiv = $(' ').addClass ('buttons').appendTo (parent);
};
ImporterButtons.prototype.AddLogo = function (title, onClick)
{
var logoDiv = $(' ').addClass ('logo').html (title).appendTo (this.buttonsDiv);
logoDiv.click (onClick);
};
ImporterButtons.prototype.AddButton = function (image, title, onClick)
{
var buttonImage = $(' ').addClass ('rightbuttons').appendTo (parent);
};
ExtensionButtons.prototype.GetButtonsDiv = function ()
{
return this.buttonsDiv;
};
ImporterProgressBar = function (parent)
{
this.parent = parent;
this.borderDiv = null;
this.contentDiv = null;
this.maxCount = null;
this.maxWidth = null;
};
ImporterProgressBar.prototype.Init = function (maxCount)
{
this.borderDiv = $(' ').addClass ('progressbarborder').appendTo (this.parent);
this.contentDiv = $(' ').addClass ('progressbarcontent').appendTo (this.borderDiv);
this.maxCount = maxCount;
this.maxWidth = this.borderDiv.width ();
this.Step (0);
};
ImporterProgressBar.prototype.Step = function (count)
{
var step = this.maxWidth / this.maxCount;
var width = count * step;
if (count == this.maxCount) {
width = this.maxWidth;
}
this.contentDiv.width (width);
};
|