kopia lustrzana https://github.com/c9/core
File templates format is now similar to snippets and templates are now menu items
rodzic
43904afe30
commit
a6fa441e64
|
@ -49,7 +49,7 @@
|
|||
},
|
||||
"licenses": [],
|
||||
"c9plugins": {
|
||||
"c9.ide.language": "#30f99228d7",
|
||||
"c9.ide.language": "#d6f468f4e0",
|
||||
"c9.ide.language.css": "#ef8a28943e",
|
||||
"c9.ide.language.generic": "#8a3be4533a",
|
||||
"c9.ide.language.html": "#bbe81afed1",
|
||||
|
@ -86,7 +86,7 @@
|
|||
"c9.ide.installer": "#38f5840924",
|
||||
"c9.ide.mount": "#cb45b621f1",
|
||||
"c9.ide.navigate": "#64156c7f4a",
|
||||
"c9.ide.newresource": "#97e345d3b3",
|
||||
"c9.ide.newresource": "#39c7b1aa23",
|
||||
"c9.ide.openfiles": "#28a4f5af16",
|
||||
"c9.ide.preview": "#dba2f4214d",
|
||||
"c9.ide.preview.browser": "#ac18aaf31d",
|
||||
|
|
|
@ -0,0 +1,98 @@
|
|||
# Cloud9 Plugin
|
||||
filename plugin.js
|
||||
caption Cloud9 Plugin
|
||||
section General
|
||||
define(function(require, exports, module) {
|
||||
main.consumes = [
|
||||
"Plugin", "ui", "layout", "commands"
|
||||
];
|
||||
main.provides = ["myplugin"];
|
||||
return main;
|
||||
|
||||
function main(options, imports, register) {
|
||||
var Plugin = imports.Plugin;
|
||||
var ui = imports.ui;
|
||||
var commands = imports.commands;
|
||||
var layout = imports.layout;
|
||||
|
||||
/***** Initialization *****/
|
||||
|
||||
var plugin = new Plugin("Ajax.org", main.consumes);
|
||||
var emit = plugin.getEmitter();
|
||||
|
||||
function load() {
|
||||
commands.addCommand({
|
||||
name: "mycommand",
|
||||
bindKey: { mac: "Command-I", win: "Ctrl-I" },
|
||||
exec: function() {
|
||||
show();
|
||||
}
|
||||
}, plugin);
|
||||
}
|
||||
|
||||
var drawn = false;
|
||||
function draw() {
|
||||
if (drawn) return;
|
||||
drawn = true;
|
||||
|
||||
// Import Skin
|
||||
ui.insertSkin({
|
||||
name: "c9statusbar",
|
||||
data: require("text!./skin.xml"),
|
||||
"media-path" : options.staticPrefix + "/images/",
|
||||
"icon-path" : options.staticPrefix + "/icons/"
|
||||
}, plugin);
|
||||
|
||||
// Create UI elements
|
||||
var markup = require("text!./markup.xml");
|
||||
ui.insertMarkup(layout.findParent(plugin), markup, plugin);
|
||||
|
||||
// Insert CSS
|
||||
ui.insertCss(require("text!./style.css"), plugin);
|
||||
|
||||
emit("draw");
|
||||
}
|
||||
|
||||
/***** Methods *****/
|
||||
|
||||
function show() {
|
||||
draw();
|
||||
}
|
||||
|
||||
/***** Lifecycle *****/
|
||||
|
||||
plugin.on("load", function() {
|
||||
load();
|
||||
});
|
||||
plugin.on("unload", function() {
|
||||
drawn = false;
|
||||
});
|
||||
|
||||
/***** Register and define API *****/
|
||||
|
||||
/**
|
||||
* This is an example of an implementation of a plugin.
|
||||
*
|
||||
* @class Template
|
||||
* @extends Plugin
|
||||
* @singleton
|
||||
*/
|
||||
plugin.freezePublicAPI({
|
||||
/**
|
||||
*
|
||||
*/
|
||||
show: show,
|
||||
|
||||
_events: [
|
||||
/**
|
||||
* @event draw
|
||||
*/
|
||||
"draw"
|
||||
]
|
||||
});
|
||||
|
||||
register(null, {
|
||||
myplugin: plugin
|
||||
});
|
||||
}
|
||||
});
|
|
@ -1,95 +0,0 @@
|
|||
/* caption: Cloud9 Plugin, section: General */
|
||||
define(function(require, exports, module) {
|
||||
main.consumes = [
|
||||
"Plugin", "ui", "layout", "commands"
|
||||
];
|
||||
main.provides = ["myplugin"];
|
||||
return main;
|
||||
|
||||
function main(options, imports, register) {
|
||||
var Plugin = imports.Plugin;
|
||||
var ui = imports.ui;
|
||||
var commands = imports.commands;
|
||||
var layout = imports.layout;
|
||||
|
||||
/***** Initialization *****/
|
||||
|
||||
var plugin = new Plugin("Ajax.org", main.consumes);
|
||||
var emit = plugin.getEmitter();
|
||||
|
||||
function load() {
|
||||
commands.addCommand({
|
||||
name: "mycommand",
|
||||
bindKey: { mac: "Command-I", win: "Ctrl-I" },
|
||||
exec: function() {
|
||||
show();
|
||||
}
|
||||
}, plugin);
|
||||
}
|
||||
|
||||
var drawn = false;
|
||||
function draw() {
|
||||
if (drawn) return;
|
||||
drawn = true;
|
||||
|
||||
// Import Skin
|
||||
ui.insertSkin({
|
||||
name: "c9statusbar",
|
||||
data: require("text!./skin.xml"),
|
||||
"media-path" : options.staticPrefix + "/images/",
|
||||
"icon-path" : options.staticPrefix + "/icons/"
|
||||
}, plugin);
|
||||
|
||||
// Create UI elements
|
||||
var markup = require("text!./markup.xml");
|
||||
ui.insertMarkup(layout.findParent(plugin), markup, plugin);
|
||||
|
||||
// Insert CSS
|
||||
ui.insertCss(require("text!./style.css"), plugin);
|
||||
|
||||
emit("draw");
|
||||
}
|
||||
|
||||
/***** Methods *****/
|
||||
|
||||
function show() {
|
||||
draw();
|
||||
}
|
||||
|
||||
/***** Lifecycle *****/
|
||||
|
||||
plugin.on("load", function() {
|
||||
load();
|
||||
});
|
||||
plugin.on("unload", function() {
|
||||
drawn = false;
|
||||
});
|
||||
|
||||
/***** Register and define API *****/
|
||||
|
||||
/**
|
||||
* This is an example of an implementation of a plugin.
|
||||
*
|
||||
* @class Template
|
||||
* @extends Plugin
|
||||
* @singleton
|
||||
*/
|
||||
plugin.freezePublicAPI({
|
||||
/**
|
||||
*
|
||||
*/
|
||||
show: show,
|
||||
|
||||
_events: [
|
||||
/**
|
||||
* @event draw
|
||||
*/
|
||||
"draw"
|
||||
]
|
||||
});
|
||||
|
||||
register(null, {
|
||||
myplugin: plugin
|
||||
});
|
||||
}
|
||||
});
|
Ładowanie…
Reference in New Issue