1720fc869a
WIP #229 Added line number offset support to viz's WIP #229 Store line offset when generating the op main file WIP #229 Added 'lineOffset' to 'Operation' WIP #229. Fixing code climate issues
100 linhas
3.2 KiB
JavaScript
100 linhas
3.2 KiB
JavaScript
/*globals define, _, WebGMEGlobal*/
|
|
/*jshint browser: true*/
|
|
|
|
define([
|
|
'js/PanelBase/PanelBaseWithHeader',
|
|
'js/PanelManager/IActivePanel',
|
|
'widgets/OperationCodeEditor/OperationCodeEditorWidget',
|
|
'./OperationCodeEditorControl'
|
|
], function (PanelBaseWithHeader,
|
|
IActivePanel,
|
|
OperationCodeEditorWidget,
|
|
OperationCodeEditorControl) {
|
|
'use strict';
|
|
|
|
var OperationCodeEditorPanel;
|
|
|
|
OperationCodeEditorPanel = function (layoutManager, params) {
|
|
var options = {};
|
|
//set properties from options
|
|
options[PanelBaseWithHeader.OPTIONS.LOGGER_INSTANCE_NAME] = 'OperationCodeEditorPanel';
|
|
options[PanelBaseWithHeader.OPTIONS.FLOATING_TITLE] = true;
|
|
|
|
//call parent's constructor
|
|
PanelBaseWithHeader.apply(this, [options, layoutManager]);
|
|
|
|
this._client = params.client;
|
|
this._embedded = params.embedded;
|
|
|
|
//initialize UI
|
|
this._initialize();
|
|
|
|
this.logger.debug('ctor finished');
|
|
};
|
|
|
|
//inherit from PanelBaseWithHeader
|
|
_.extend(OperationCodeEditorPanel.prototype, PanelBaseWithHeader.prototype);
|
|
_.extend(OperationCodeEditorPanel.prototype, IActivePanel.prototype);
|
|
|
|
OperationCodeEditorPanel.prototype._initialize = function () {
|
|
var self = this;
|
|
|
|
//set Widget title
|
|
this.setTitle('');
|
|
|
|
this.widget = new OperationCodeEditorWidget(this.logger, this.$el);
|
|
|
|
this.widget.setTitle = function (title) {
|
|
self.setTitle(title);
|
|
};
|
|
|
|
this.control = new OperationCodeEditorControl({
|
|
logger: this.logger,
|
|
client: this._client,
|
|
embedded: this._embedded,
|
|
widget: this.widget
|
|
});
|
|
|
|
this.onActivate();
|
|
};
|
|
|
|
/* OVERRIDE FROM WIDGET-WITH-HEADER */
|
|
/* METHOD CALLED WHEN THE WIDGET'S READ-ONLY PROPERTY CHANGES */
|
|
OperationCodeEditorPanel.prototype.onReadOnlyChanged = function (isReadOnly) {
|
|
//apply parent's onReadOnlyChanged
|
|
PanelBaseWithHeader.prototype.onReadOnlyChanged.call(this, isReadOnly);
|
|
|
|
};
|
|
|
|
OperationCodeEditorPanel.prototype.onResize = function (width, height) {
|
|
this.logger.debug('onResize --> width: ' + width + ', height: ' + height);
|
|
this.widget.onWidgetContainerResize(width, height);
|
|
};
|
|
|
|
/* * * * * * * * Visualizer life cycle callbacks * * * * * * * */
|
|
OperationCodeEditorPanel.prototype.destroy = function () {
|
|
this.control.destroy();
|
|
this.widget.destroy();
|
|
|
|
PanelBaseWithHeader.prototype.destroy.call(this);
|
|
WebGMEGlobal.KeyboardManager.setListener(undefined);
|
|
WebGMEGlobal.Toolbar.refresh();
|
|
};
|
|
|
|
OperationCodeEditorPanel.prototype.onActivate = function () {
|
|
this.widget.onActivate();
|
|
this.control.onActivate();
|
|
WebGMEGlobal.KeyboardManager.setListener(this.widget);
|
|
WebGMEGlobal.Toolbar.refresh();
|
|
};
|
|
|
|
OperationCodeEditorPanel.prototype.onDeactivate = function () {
|
|
this.widget.onDeactivate();
|
|
this.control.onDeactivate();
|
|
WebGMEGlobal.KeyboardManager.setListener(undefined);
|
|
WebGMEGlobal.Toolbar.refresh();
|
|
};
|
|
|
|
return OperationCodeEditorPanel;
|
|
});
|