File templates format is now similar to snippets and templates are now menu items

pull/85/head
Ruben Daniels 2015-04-14 18:59:33 +00:00 zatwierdzone przez Ruben Daniels
rodzic 43904afe30
commit a6fa441e64
3 zmienionych plików z 100 dodań i 97 usunięć

Wyświetl plik

@ -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",

Wyświetl plik

@ -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
});
}
});

Wyświetl plik

@ -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
});
}
});