1 /* This file is purely for documentation purposes, in order to
  2    get documentation in jsdoc form.  Therefore it's a function
  3    that itself does nothing. */
  4 
  5 
  6 /**
  7  * This class is typically only instantiated by Content Studio.
  8  * @class
  9  * Identifies an editor.  Instances of this class are passed as
 10  * arguments to the <code>editor-active</code> and related events.
 11  * Its sole function is to identify the editor and to provide a
 12  * human readable name of editors.
 13  */
 14 
 15 function EditorControl() {
 16   /**
 17    * The (full) URI of the editor in question.
 18    * @type  String
 19    */
 20   this.uri = "";
 21 
 22   /**
 23    * The display name of the editor in question
 24    * @type  String
 25    */
 26   this.displayName = "";
 27 }
 28 
 29 
 30 /**
 31  * This class is typically only instantiated by Content Studio.
 32  * @class
 33  * Identifies a panel, and provides a UI construction facility.
 34  *  Instances of this class are passed as arguments to the
 35  * <code>panel-*</code> events from <code>content-studio</code>.
 36  * It allows extensions to identify panel events, and to
 37  * initialize a UI inside a particular panel.
 38  */
 39 function PanelControl() {
 40   /**
 41    * The (full) URI of the panel in question.  Used to distinguish
 42    * panel events from one another, and for cooperating extensions
 43    * that wish to share panels.
 44    * @type String
 45    */
 46   this.uri = "";
 47 
 48 
 49    /**
 50     * Initialize the panel with the given type of UI  with options provided
 51     * in <code>options</code>.  Currently, only simple list UIs are
 52     * supported.  The object returned from the method represents the UI
 53     * created, allowing further interaction with the UI.
 54     *
 55     * @param {String} ui The type of user interface to be shown. Currently, only
 56     * <code>"list"</code> is supported.
 57     * @param {Object} options an object with configuration options for the UI.
 58     * @return An object representing the UI.
 59     * @todo: must have more documentation!!! 
 60     */
 61    this.show = function(ui, options) {
 62    }
 63 
 64 }
 65 
 66 /**
 67  * This class is typically only instantiated by Content Studio.
 68  * @class
 69  * Identifies a drop, and provides control for current drop object.
 70  * Instances of this class are passed as arguments to the
 71  * <code>drop</code> events from <code>content-studio</code>.
 72  * It allows extensions to identify the current drop, and get the
 73  * drop as <code>String<code> data type.
 74  */
 75 function DropControl() {
 76   /**
 77    * Checks whether current drop supports the given <code>mimeType</code>
 78    * 
 79    * @param {string} mimeType the mime-type to be checked for the dropped content
 80    * @return <code>true</code> if the <code>mimeType</code> is supported,
 81    *  <code>false</code> otherwise
 82    */
 83   this.supports = function(mimeType) {
 84   }
 85 
 86   /**
 87    * Returns the dorpped content for the given <code>mimeType</code>. The
 88    * data is returned as a <code>string</code>.
 89    *
 90    * @param {string} mimeType the <code>mimeType</code> of the dropped content
 91    * @return the dropped content as <code>string<code>
 92    * @throws ScriptException
 93    *           if the <code>mimeType</code> is not supported or there is error
 94    *           reading the dropped content.
 95    */
 96   this.getData = function(final String mimeType) {
 97   }
 98 
 99 }
100 
101 
102   /**
103    * Instantiates a new XMLHttpRequest instance.
104    * @constructor
105    * @class A standard implementation of the XMLHttpRequest
106    * interface as defined by w3c.
107    * This class does not strive to be binary compatible with
108    * any specific browser implementation, so using a wrapper
109    * library might not work well.
110    * <p>
111    * Notable things about the XHR implementation inside
112    * Content Studio include:
113    * <ul>
114    * <li>The requests will use the same HTTP proxy as Content Studio
115    * itself.
116    * <li>Any requests to the web service using the same base URI,
117    * host name and port are pre-authenticated as the user logged in
118    * to Content Studio.  No need to provide credentials in order to
119    * perform operations on behalf of the user
120    * <li>The base URI for relative URIs is the root of the web
121    * service itself, i.e. <code>/webservice/</code>.  This means that
122    * well known starting points in the web service can be accessed
123    * using relative URIs, if needed.
124    * <li>XML responses are decoded and made availabe as E4X elements
125    * <li>JSON responses are decoded and made available as JavaScript objects.
126    * </ul>
127    */
128   function XMLHttpRequest() {
129 
130     /**
131      * Sets a request header.
132      */
133     this.setRequestHeader = function( name, value ) {
134     }
135 
136 
137     /**
138      * Prepares the XHR to connect to a specific server.
139      */
140     this.open = function( Method, URL, Asynchronous, UserName, Password ) {
141     }
142 
143     /**
144      * An event listener which is invoked every time the readyState changes.
145      */
146     this.onreadystatechange = function() {}
147 
148   } 
149 
150 
151 
152