
registerType('appdoo', (function () { function BasicEditableObject() {} var __super = setSupertypeFromDomain(BasicEditableObject, 'BasicObject', 'Core');

	Object.defineProperty(BasicEditableObject.prototype, "readableType", {
		get: function () { return this.constructor.name; }});
	

	Object.defineProperty(BasicEditableObject.prototype, "readableDescription", {
		value: ''});
	

BasicEditableObject.prototype.createForContext = function BasicEditableObject_createForContext(context) {

		return createComponentFromDomain(
			this.constructor.name,
			this.__domain,
			context,
			{

			}
		);
		};
	

	Object.defineProperty(BasicEditableObject.prototype, "name", {
	outlet: true, 
	enumerable: true, get:function () { return this._name; }, set:function (v) {if (!Object.hasOwnProperty(this, "_name")) Object.defineProperty(this, "_name", { writable: true, configurable: true }); this._name = v; }});
	

	Object.defineProperty(BasicEditableObject.prototype, "e_name", {
		set: function (v) {
			this.name = v;
			this.readableValueDidChange(v);
		}, 
		get: function ( ) { return this.name; }});
	

	Object.defineProperty(BasicEditableObject.prototype, "nameIsEditable", {
		value: true});
	

	Object.defineProperty(BasicEditableObject.prototype, "positionIsEditable", {
	configurable: true, 
		value: false});
	

	Object.defineProperty(BasicEditableObject.prototype, "sizeIsEditable", {
	configurable: true, 
		value: false});
	

	Object.defineProperty(BasicEditableObject.prototype, "xIsEditable", {
		get: function () { return this.positionIsEditable; }});
	

	Object.defineProperty(BasicEditableObject.prototype, "yIsEditable", {
		get: function () { return this.positionIsEditable; }});
	

	Object.defineProperty(BasicEditableObject.prototype, "widthIsEditable", {
		get: function () { return this.sizeIsEditable; }});
	

	Object.defineProperty(BasicEditableObject.prototype, "heightIsEditable", {
		get: function () { return this.sizeIsEditable; }});
	

BasicEditableObject.prototype.readableNameForProperty = function BasicEditableObject_readableNameForProperty(name) {
		if (name === 'name') return LocalizedString('Name');
		return __super.prototype.readableNameForProperty.call(this, name);};
	
	
	Object.defineProperty(BasicEditableObject.prototype, "bindableProperties", {
		get: function () { return []; }});
	

	Object.defineProperty(BasicEditableObject.prototype, "actionType", {
	outlet: true, 
	enumerable: true, get:function () { return this._actionType; }, set:function (v) {if (!Object.hasOwnProperty(this, "_actionType")) Object.defineProperty(this, "_actionType", { writable: true, configurable: true }); this._actionType = v; }});
	
	
	Object.defineProperty(BasicEditableObject.prototype, "actionInfo", {
	outlet: true, 
	enumerable: true, 
		get: function () { return EditableObjectGetActionInfoProperty.call(this); }, 
		set: function (v) {if (!Object.hasOwnProperty(this, "_actionInfo")) Object.defineProperty(this, "_actionInfo", { writable: true, configurable: true }); EditableObjectSetActionInfoProperty.call(this, v); }});
	

	Object.defineProperty(BasicEditableObject.prototype, "e_actionObjectID", {
		get: function ( ) { return this.actionInfo.objectID; }, 
		set: function (v) { this.actionInfo.objectID = v; _context.editor.refreshInspector(); }});
	

BasicEditableObject.prototype.outlineIconURLDidChange = function BasicEditableObject__outlineIconURLDidChange() {
		this.context.broadcastValueChangeForKeyPathInObject('outlineIconURL', this, this);};
	

BasicEditableObject.prototype.transformData = function BasicEditableObject_transformData(data, transformer) {
		var result = transformer.createObject(data);
		return result;};
	

BasicEditableObject.prototype.initPropertiesFromData = function BasicEditableObject_initPropertiesFromData(data) {
try { __super.prototype.initPropertiesFromData.call(this, data); } catch (err) {}
if (data.hasOwnProperty("name")) this.name = data.name;
if (data.hasOwnProperty("actionType")) this.actionType = data.actionType;
if (data.hasOwnProperty("actionInfo")) this.actionInfo = data.actionInfo;
};

BasicEditableObject.prototype.decodeData = function BasicEditableObject_decodeData(data) { var decoded;
try { decoded = __super.prototype.decodeData.call(this, data); } catch (err) { console.warn(err); decoded = clone(data); }
if (data.hasOwnProperty("actionInfo")) decoded.actionInfo = this.context.decodeObjectTree(data.actionInfo);
return decoded; };

BasicEditableObject.prototype.encode = function BasicEditableObject_encode() { var encoded;
try { encoded = __super.prototype.encode.call(this); } catch (err) { console.warn(err); encoded = this.context.encodeObject(this); }
if (this._actionInfo && this._actionInfo.encode) {encoded.actionInfo = this.actionInfo.encode();
}return encoded; };

BasicEditableObject.prototype.encodeCloned = function BasicEditableObject_encodeCloned() { var encoded;
try { encoded = __super.prototype.encodeCloned.call(this); } catch (err) { console.warn(err); encoded = {}; }
if (this._actionInfo && this._actionInfo.encode) {encoded.actionInfo = this.actionInfo.encodeCloned();
}return encoded; };

BasicEditableObject.prototype.expectedTypeForProperty = function BasicEditableObject_expectedTypeForProperty(key) {
	if (key === "readableType") return "";
	if (key === "readableDescription") return "";
	if (key === "name") return "";
	if (key === "e_name") return "String";
	if (key === "nameIsEditable") return "";
	if (key === "positionIsEditable") return "";
	if (key === "sizeIsEditable") return "";
	if (key === "xIsEditable") return "";
	if (key === "yIsEditable") return "";
	if (key === "widthIsEditable") return "";
	if (key === "heightIsEditable") return "";
	if (key === "bindableProperties") return "";
	if (key === "actionType") return "String";
	if (key === "actionInfo") return "ActionInfo";
	if (key === "e_actionObjectID") return "";
	if (__super) return __super.prototype.expectedTypeForProperty(key);
};

return BasicEditableObject; }()));