From a4b0a4d4bb1cc6b1f0680a2f5a159c0e3e994cb6 Mon Sep 17 00:00:00 2001 From: "Jip J. Dekker" Date: Thu, 19 Nov 2015 22:56:45 +0100 Subject: [PATCH] Blank atom package --- language-mzn-view.coffee | 22 ++++++++++++++++++++++ language-mzn.coffee | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 language-mzn-view.coffee create mode 100644 language-mzn.coffee diff --git a/language-mzn-view.coffee b/language-mzn-view.coffee new file mode 100644 index 0000000..258163b --- /dev/null +++ b/language-mzn-view.coffee @@ -0,0 +1,22 @@ +module.exports = +class LanguageMznView + constructor: (serializedState) -> + # Create root element + @element = document.createElement('div') + @element.classList.add('language-mzn') + + # Create message element + message = document.createElement('div') + message.textContent = "The LanguageMzn package is Alive! It's ALIVE!" + message.classList.add('message') + @element.appendChild(message) + + # Returns an object that can be retrieved when package is activated + serialize: -> + + # Tear down any state and detach + destroy: -> + @element.remove() + + getElement: -> + @element diff --git a/language-mzn.coffee b/language-mzn.coffee new file mode 100644 index 0000000..30a280a --- /dev/null +++ b/language-mzn.coffee @@ -0,0 +1,33 @@ +LanguageMznView = require './language-mzn-view' +{CompositeDisposable} = require 'atom' + +module.exports = LanguageMzn = + languageMznView: null + modalPanel: null + subscriptions: null + + activate: (state) -> + @languageMznView = new LanguageMznView(state.languageMznViewState) + @modalPanel = atom.workspace.addModalPanel(item: @languageMznView.getElement(), visible: false) + + # Events subscribed to in atom's system can be easily cleaned up with a CompositeDisposable + @subscriptions = new CompositeDisposable + + # Register command that toggles this view + @subscriptions.add atom.commands.add 'atom-workspace', 'language-mzn:toggle': => @toggle() + + deactivate: -> + @modalPanel.destroy() + @subscriptions.dispose() + @languageMznView.destroy() + + serialize: -> + languageMznViewState: @languageMznView.serialize() + + toggle: -> + console.log 'LanguageMzn was toggled!' + + if @modalPanel.isVisible() + @modalPanel.hide() + else + @modalPanel.show()