/*
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
/**
* @fileOverview Defines the "virtual" dialog, dialog content and dialog button
* definition classes.
*/
/**
* This class is not really part of the API. It just illustrates the properties
* that developers can use to define and create dialogs.
* @name CKEDITOR.dialog.dialogDefinition
* @constructor
* @example
* // There is no constructor for this class, the user just has to define an
* // object with the appropriate properties.
*
* CKEDITOR.dialog.add( 'testOnly', function( editor )
* {
* return {
* title : 'Test Dialog',
* resizable : CKEDITOR.DIALOG_RESIZE_BOTH,
* minWidth : 500,
* minHeight : 400,
* contents : [
* {
* id : 'tab1',
* label : 'First Tab',
* title : 'First Tab Title',
* accessKey : 'Q',
* elements : [
* {
* type : 'text',
* label : 'Test Text 1',
* id : 'testText1',
* 'default' : 'hello world!'
* }
* ]
* }
* ]
* };
* });
*/
/**
* The dialog title, displayed in the dialog's header. Required.
* @name CKEDITOR.dialog.dialogDefinition.prototype.title
* @field
* @type String
* @example
*/
/**
* How the dialog can be resized, must be one of the four contents defined below.
*
* CKEDITOR.DIALOG_RESIZE_NONE
* CKEDITOR.DIALOG_RESIZE_WIDTH
* CKEDITOR.DIALOG_RESIZE_HEIGHT
* CKEDITOR.DIALOG_RESIZE_BOTH
* @name CKEDITOR.dialog.dialogDefinition.prototype.resizable
* @field
* @type Number
* @default CKEDITOR.DIALOG_RESIZE_NONE
* @example
*/
/**
* The minimum width of the dialog, in pixels.
* @name CKEDITOR.dialog.dialogDefinition.prototype.minWidth
* @field
* @type Number
* @default 600
* @example
*/
/**
* The minimum height of the dialog, in pixels.
* @name CKEDITOR.dialog.dialogDefinition.prototype.minHeight
* @field
* @type Number
* @default 400
* @example
*/
/**
* The buttons in the dialog, defined as an array of
* {@link CKEDITOR.dialog.buttonDefinition} objects.
* @name CKEDITOR.dialog.dialogDefinition.prototype.buttons
* @field
* @type Array
* @default [ CKEDITOR.dialog.okButton, CKEDITOR.dialog.cancelButton ]
* @example
*/
/**
* The contents in the dialog, defined as an array of
* {@link CKEDITOR.dialog.contentDefinition} objects. Required.
* @name CKEDITOR.dialog.dialogDefinition.prototype.contents
* @field
* @type Array
* @example
*/
/**
* The function to execute when OK is pressed.
* @name CKEDITOR.dialog.dialogDefinition.prototype.onOk
* @field
* @type Function
* @example
*/
/**
* The function to execute when Cancel is pressed.
* @name CKEDITOR.dialog.dialogDefinition.prototype.onCancel
* @field
* @type Function
* @example
*/
/**
* The function to execute when the dialog is displayed for the first time.
* @name CKEDITOR.dialog.dialogDefinition.prototype.onLoad
* @field
* @type Function
* @example
*/
/**
* This class is not really part of the API. It just illustrates the properties
* that developers can use to define and create dialog content pages.
* @name CKEDITOR.dialog.contentDefinition
* @constructor
* @example
* // There is no constructor for this class, the user just has to define an
* // object with the appropriate properties.
*/
/**
* The id of the content page.
* @name CKEDITOR.dialog.contentDefinition.prototype.id
* @field
* @type String
* @example
*/
/**
* The tab label of the content page.
* @name CKEDITOR.dialog.contentDefinition.prototype.label
* @field
* @type String
* @example
*/
/**
* The popup message of the tab label.
* @name CKEDITOR.dialog.contentDefinition.prototype.title
* @field
* @type String
* @example
*/
/**
* The CTRL hotkey for switching to the tab.
* @name CKEDITOR.dialog.contentDefinition.prototype.accessKey
* @field
* @type String
* @example
* contentDefinition.accessKey = 'Q'; // Switch to this page when CTRL-Q is pressed.
*/
/**
* The UI elements contained in this content page, defined as an array of
* {@link CKEDITOR.dialog.uiElementDefinition} objects.
* @name CKEDITOR.dialog.contentDefinition.prototype.elements
* @field
* @type Array
* @example
*/
/**
* This class is not really part of the API. It just illustrates the properties
* that developers can use to define and create dialog buttons.
* @name CKEDITOR.dialog.buttonDefinition
* @constructor
* @example
* // There is no constructor for this class, the user just has to define an
* // object with the appropriate properties.
*/
/**
* The id of the dialog button. Required.
* @name CKEDITOR.dialog.buttonDefinition.prototype.id
* @type String
* @field
* @example
*/
/**
* The label of the dialog button. Required.
* @name CKEDITOR.dialog.buttonDefinition.prototype.label
* @type String
* @field
* @example
*/
/**
* The popup message of the dialog button.
* @name CKEDITOR.dialog.buttonDefinition.prototype.title
* @type String
* @field
* @example
*/
/**
* The CTRL hotkey for the button.
* @name CKEDITOR.dialog.buttonDefinition.prototype.accessKey
* @type String
* @field
* @example
* exitButton.accessKey = 'X'; // Button will be pressed when user presses CTRL-X
*/
/**
* Whether the button is disabled.
* @name CKEDITOR.dialog.buttonDefinition.prototype.disabled
* @type Boolean
* @field
* @default false
* @example
*/
/**
* The function to execute when the button is clicked.
* @name CKEDITOR.dialog.buttonDefinition.prototype.onClick
* @type Function
* @field
* @example
*/
/**
* This class is not really part of the API. It just illustrates the properties
* that developers can use to define and create dialog UI elements.
* @name CKEDITOR.dialog.uiElementDefinition
* @constructor
* @see CKEDITOR.ui.dialog.uiElement
* @example
* // There is no constructor for this class, the user just has to define an
* // object with the appropriate properties.
*/
/**
* The id of the UI element.
* @name CKEDITOR.dialog.uiElementDefinition.prototype.id
* @field
* @type String
* @example
*/
/**
* The type of the UI element. Required.
* @name CKEDITOR.dialog.uiElementDefinition.prototype.type
* @field
* @type String
* @example
*/
/**
* The popup label of the UI element.
* @name CKEDITOR.dialog.uiElementDefinition.prototype.title
* @field
* @type String
* @example
*/
/**
* CSS class names to append to the UI element.
* @name CKEDITOR.dialog.uiElementDefinition.prototype.className
* @field
* @type String
* @example
*/
/**
* Inline CSS classes to append to the UI element.
* @name CKEDITOR.dialog.uiElementDefinition.prototype.style
* @field
* @type String
* @example
*/
/**
* Function to execute the first time the UI element is displayed.
* @name CKEDITOR.dialog.uiElementDefinition.prototype.onLoad
* @field
* @type Function
* @example
*/
/**
* Function to execute whenever the UI element's parent dialog is displayed.
* @name CKEDITOR.dialog.uiElementDefinition.prototype.onShow
* @field
* @type Function
* @example
*/
/**
* Function to execute whenever the UI element's parent dialog is closed.
* @name CKEDITOR.dialog.uiElementDefinition.prototype.onHide
* @field
* @type Function
* @example
*/