Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Stardust/Enhancing and Embedding Stardust/Browser Modeler/Javascript Extension Points"
(New page: Exetnsion Points and Extensions - analogous to the concepts in Eclipse - allow you to plug-in JavaScript logic and HTML UI into various parts of the Browser Modeler. = Properties Page Exte...) |
|||
Line 1: | Line 1: | ||
− | + | Extension Points and Extensions - analogous to the concepts in Eclipse - allow you to plug-in JavaScript logic and HTML UI into various parts of the Browser Modeler (Lightdust). | |
+ | |||
+ | E.g. by defining | ||
+ | |||
+ | <source> | ||
+ | propertiesPage : [{ | ||
+ | panelId: "activityPropertiesPanel", | ||
+ | pageId: "controllingPropertiesPage", | ||
+ | pageHtmlUrl: "activityControllingPropertiesPage.html", | ||
+ | provider: m_activityControllingPropertiesPage, | ||
+ | visibility: "always" | ||
+ | }] | ||
+ | </source> | ||
+ | |||
+ | you add an additional Properties Page to the Properties Pages for Activities whose code is tobe found in the file '''activityControllingPropertiesPage.html''' and whose JavaScript Controller is created by invoking '''m_activityControllingPropertiesPage.create()''', whereby '''m_activityControllingPropertiesPage''' is a JavaScript modulein the file ''''''m_activityControllingPropertiesPage.js'''. | ||
+ | |||
+ | = Prerequisites = | ||
+ | |||
+ | In Order to understand the concepts in this document you need to familiarize yourself with | ||
+ | |||
+ | * JavaScript programming in general | ||
+ | * jQuery | ||
+ | * jQuery UI | ||
+ | * require for JavaScript | ||
+ | * the JavaScript Metamodel for Lightdust | ||
+ | |||
= Properties Page Extension Point = | = Properties Page Extension Point = | ||
= Toolbar Extension Points = | = Toolbar Extension Points = |
Revision as of 07:47, 17 November 2012
Extension Points and Extensions - analogous to the concepts in Eclipse - allow you to plug-in JavaScript logic and HTML UI into various parts of the Browser Modeler (Lightdust).
E.g. by defining
Invalid language.
You need to specify a language like this: <source lang="html4strict">...</source>
Supported languages for syntax highlighting:
4cs, 6502acme, 6502kickass, 6502tasm, 68000devpac, abap, actionscript, actionscript3, ada, algol68, apache, applescript, apt_sources, arm, asm, asp, asymptote, autoconf, autohotkey, autoit, avisynth, awk, bascomavr, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_loadrunner, c_mac, caddcl, cadlisp, cfdg, cfm, chaiscript, cil, clojure, cmake, cobol, coffeescript, cpp, cpp-qt, csharp, css, cuesheet, d, dcl, dcpu16, dcs, delphi, diff, div, dos, dot, e, ecmascript, eiffel, email, epc, erlang, euphoria, f1, falcon, fo, fortran, freebasic, freeswitch, fsharp, gambas, gdb, genero, genie, gettext, glsl, gml, gnuplot, go, groovy, gwbasic, haskell, haxe, hicest, hq9plus, html4strict, html5, icon, idl, ini, inno, intercal, io, j, java, java5, javascript, jquery, kixtart, klonec, klonecpp, latex, lb, ldif, lisp, llvm, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, mmix, modula2, modula3, mpasm, mxml, mysql, nagios, netrexx, newlisp, nsis, oberon2, objc, objeck, ocaml, ocaml-brief, octave, oobas, oorexx, oracle11, oracle8, otj, oxygene, oz, parasail, parigp, pascal, pcre, per, perl, perl6, pf, php, php-brief, pic16, pike, pixelbender, pli, plsql, postgresql, povray, powerbuilder, powershell, proftpd, progress, prolog, properties, providex, purebasic, pycon, pys60, python, q, qbasic, rails, rebol, reg, rexx, robots, rpmspec, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, spark, sparql, sql, stonescript, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, upc, urbi, uscript, vala, vb, vbnet, vedit, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, whois, winbatch, xbasic, xml, xorg_conf, xpp, yaml, z80, zxbasic
propertiesPage : [{ panelId: "activityPropertiesPanel", pageId: "controllingPropertiesPage", pageHtmlUrl: "activityControllingPropertiesPage.html", provider: m_activityControllingPropertiesPage, visibility: "always" }]
you add an additional Properties Page to the Properties Pages for Activities whose code is tobe found in the file activityControllingPropertiesPage.html and whose JavaScript Controller is created by invoking m_activityControllingPropertiesPage.create(), whereby m_activityControllingPropertiesPage is a JavaScript modulein the file 'm_activityControllingPropertiesPage.js.
Contents
Prerequisites
In Order to understand the concepts in this document you need to familiarize yourself with
- JavaScript programming in general
- jQuery
- jQuery UI
- require for JavaScript
- the JavaScript Metamodel for Lightdust
Properties Page Extension Point
Toolbar Extension Points
Application Type Extension Point
Data Type Extension Point
Define a New Extension Point
You may define your own extension points and evaluate those in the JavaScript code.
Extension Point Registration
Extension Registration
Extensions need to be registered in JavaScript files underneath the /modelerExtensions/<Extension Point Id> folder.