This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.

For information on migrating to InterSystems IRIS, see Why Migrate to InterSystems IRIS?

%ZEN.StudioDocument.AbstractEditor

abstract class %ZEN.StudioDocument.AbstractEditor extends %ZEN.Component.page

Base class for Studio Document editors that use the XEDIT window within Studio.
An XEDIT document is a window within Studio with 2 panes: the upper pane contains HTML content, served by a subclass of this class; the lower pane displays an editable XML representation of the data displayed in the upper pane. This XML representation is provided by this class as well.
Subclasses of this are used to provide Studio content editors for Abstract documents served by a corresponding subclass of the %ZEN.StudioDocument.AbstractDocument class.

Property Inventory

Method Inventory

Parameters

parameter RESOURCE = %Development:USE;
Require %Development:USE for access to subclasses of this page.

Properties

property DocumentID as %ZEN.Datatype.string (ZENURL = "ID");
ID of current document. This is provided, as a URL parameter, by the Studio.
Property methods: DocumentIDDisplayToLogical(), DocumentIDGet(), DocumentIDIsValid(), DocumentIDLogicalToDisplay(), DocumentIDLogicalToOdbc(), DocumentIDNormalize(), DocumentIDSet()
property documentName as %ZEN.Datatype.string (ZENURL = "DOC");
Name of document being edited. This is provided, as a URL parameter, by the Studio.
Property methods: documentNameDisplayToLogical(), documentNameGet(), documentNameIsValid(), documentNameLogicalToDisplay(), documentNameLogicalToOdbc(), documentNameNormalize(), documentNameSet()
property modified as %ZEN.Datatype.boolean [ InitialExpression = 0 ];
Indicates that this document is modified. Use the isModified(),setModified(), and clearModified() methods to observe and change this.
Property methods: modifiedDisplayToLogical(), modifiedGet(), modifiedIsValid(), modifiedLogicalToDisplay(), modifiedLogicalToOdbc(), modifiedLogicalToXSD(), modifiedNormalize(), modifiedSet(), modifiedXSDToLogical()
property readOnly as %ZEN.Datatype.boolean [ InitialExpression = 0 ];
Indicates that this document is in read only mode. Editors should not set this property; it is set by the Studio. Use the isReadOnly() method to observe this.
Property methods: readOnlyDisplayToLogical(), readOnlyGet(), readOnlyIsValid(), readOnlyLogicalToDisplay(), readOnlyLogicalToOdbc(), readOnlyLogicalToXSD(), readOnlyNormalize(), readOnlySet(), readOnlyXSDToLogical()
property zoom as %ZEN.Datatype.float [ InitialExpression = 100 ];
Current zoom level (as a percentage) of this editor (if applicable). Use the getZoom() and setZoom() methods to modify and observe this.
Property methods: zoomDisplayToLogical(), zoomGet(), zoomIsValid(), zoomLogicalToDisplay(), zoomLogicalToOdbc(), zoomNormalize(), zoomSet()

Methods

method %OnDrawHTMLHead() as %Status
This callback is called at the start of the HTML HEAD section of the page.
This writes out the JavaScript methods expected by the Studio API.
classmethod GetClassName(pName As %String) as %String
Given a document name, strip off the extension and return the class name.
clientmethod clearModified() [ Language = javascript ]
Clear the modified flag for this editor.
clientmethod getZoom() [ Language = javascript ]
Return the zoom level of the editor.
clientmethod isModified() [ Language = javascript ]
Test if the document is modified.
clientmethod isReadOnly() [ Language = javascript ]
Return the ReadOnly state of the editor.
abstract clientmethod onCanUndo() [ Language = javascript ]
Test if undo is possible.
abstract clientmethod onCmdCopy() [ Language = javascript ]
Notification that user has invoked the copy command.
abstract clientmethod onCmdCut() [ Language = javascript ]
Notification that user has invoked the cut command.
abstract clientmethod onCmdDelete() [ Language = javascript ]
Notification that user has invoked the delete command.
abstract clientmethod onCmdPaste() [ Language = javascript ]
Notification that user has invoked the paste command.
abstract clientmethod onCmdRedo() [ Language = javascript ]
Notification that user has invoked the redo command.
abstract clientmethod onCmdUndo() [ Language = javascript ]
Notification that user has invoked the undo command.
abstract clientmethod onGetDocument() [ Language = javascript ]
Get document with current state of editor (raise event with current document in it)
abstract clientmethod onGetProperty(prop) [ Language = javascript ]
Return the value of a specific property value from the editor.
clientmethod onSetDocument(state) [ Language = javascript ]
Notification that the user has changed the XML version of this document.
state is the contents of the XML editor pane.
abstract clientmethod onSetProperty(prop, value) [ Language = javascript ]
Notification that the user has changed a property using the Inspector.
prop is the property name, value is the new value.
abstract clientmethod onSetReadOnly() [ Language = javascript ]
Notification that Studio has modified the ReadOnly state of the editor.
abstract clientmethod onSetZoom() [ Language = javascript ]
Notification that the zoom level of the editor has changed.
clientmethod onStartEditor() [ Language = javascript ]
This client event, if present, is fired when editor is loaded.
clientmethod onloadHandler() [ Language = javascript ]
This client event, if present, is fired when the page is loaded.
clientmethod raiseDocument(state) [ Language = javascript ]
Raise a 'document' event to Studio.
This will set the contents of the XML pane within the Studio edit window, if applicable. state is the text that will be placed within the edit window.
clientmethod raiseEvent(type) [ Language = javascript ]
Raise a named event for Studio to catch.
clientmethod raiseOpenDocument(doc) [ Language = javascript ]
Raise an OPENDOC event to Studio.
doc is the full name (with extension) of the document for Studio to open.
clientmethod raiseSelect(proplist) [ Language = javascript ]
Raise a SELECT event to Studio.
This will update the Studio Inspector.
proplist is a list of property values for inspector to show. The first property in the list is the Name of selected item. proplist is an array of objects of the form:
proplist[n] = obj;
obj.name = 'name of property'
obj.type = 'type' (STRING,INTEGER, etc.)
obj.value = value
clientmethod setModified() [ Language = javascript ]
Set the modified flag for this editor.
clientmethod setResultsDiv(data) [ Language = javascript ]
Set contents of results div used to pass data to Studio.
clientmethod setZoom(zoom) [ Language = javascript ]
Set the zoom level of the editor.

Inherited Members

Inherited Properties

Inherited Methods

Subclasses

Feedback