Hi,
nachdem ich meine Config nun mit fast allen Standard Widgets ausgereizt habe, möchte ich die restlichen Wünsche mit einen Plugin schließen
Ich habe dies vor 6 JAhren schon mal gemacht, nur hat sich der Unterbau der CV mittlerweile so weit verändert, dass ich mich nur schwer zurechtfinde.
Ich habe folgendes Setup gewählt.
- altes Wiregate zum Testen
- von git den Develop strang gezogen und mit
die source gebaut
Ich habe gesehen das ich damit ein Verzeichnis "source" schaffe, welches die eigentliche CV enthält. (Was genau in diesem ganzen Build abgeht verstehe ich überhaupt nicht).
Soweit lief die CV und ich habe sie unter wiregatexxx/visu/source aufgerufen.
Nun habe ich eine kleine Config gebastelt:
Dazu passend aus der Doku die structure_custom.js:
Leider funktioniert dies nicht :
plugin_v1.png
An der Stelle versuche ich mit Chromium gerade durch debuging schlauer zu werden.
1.Frage:
Ich konnte die switch.js im Debuger finden, habe einen Breakpoint gesetzt und beim Reload wurde dort auch gehalten. Passt
plugin_v2.png
Dann habe ich nach meiner "structure_custom.js" gesucht.
plugin_v3.png
Irgendwie wurde die Datei bearbeitet und komplett auskommentiert, wodurch auch keine Breakpoint etc funktionieren....
Kann mir jemand diesen Mechanismus erklären?
2.Frage
Was ist sinnvoller zum Start. Das Plugin oder kann ich auch einfach eine Datei switch_new.js unter source/class/cv/ui/structure/pure erstellen und dann das switch_new Widget benutzen? Muss ich jedes mal "./generate.py source" aufrufen?
Irgendwie hänge ich da fest, danke für etwas Starthilfe!
Gruß
Matthias
nachdem ich meine Config nun mit fast allen Standard Widgets ausgereizt habe, möchte ich die restlichen Wünsche mit einen Plugin schließen

Ich habe dies vor 6 JAhren schon mal gemacht, nur hat sich der Unterbau der CV mittlerweile so weit verändert, dass ich mich nur schwer zurechtfinde.
Ich habe folgendes Setup gewählt.
- altes Wiregate zum Testen
- von git den Develop strang gezogen und mit
Code:
./generate.py source
Ich habe gesehen das ich damit ein Verzeichnis "source" schaffe, welches die eigentliche CV enthält. (Was genau in diesem ganzen Build abgeht verstehe ich überhaupt nicht).
Soweit lief die CV und ich habe sie unter wiregatexxx/visu/source aufgerufen.
Nun habe ich eine kleine Config gebastelt:
Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <pages xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" lib_version="8" design="pure" xsi:noNamespaceSchemaLocation="../visu_config.xsd" max_mobile_screen_width="480"> <meta> <files> <file type="js" content="plugin">resource/config/structure_custom.js</file> ... </files> <mappings> <mapping name="Close_Open"> <entry value="0">zu</entry> <entry value="1">offen</entry> </mapping> </mappings> <statusbar> <status type="html"><![CDATA[ <img src="resource/icon/comet_64_ff8000.png" alt="CometVisu" /> by <a href="https://www.cometvisu.org/">CometVisu.org</a> - <a href="manager.php">Config-Manager</a> - <a href=".?config=demo&forceReload=true">Reload</a> - <a href=".">Default Config</a> ]]></status> <status type="html" condition="!edit" hrefextend="config"><![CDATA[ - <a href="editor/">Edit</a> ]]></status> <status type="html" hrefextend="config"><![CDATA[ - <a href="check_config.php">Check Config</a> <div style="float:right;padding-right:0.5em">Version: 0.11.0-dev</div> ]]></status> </statusbar> </meta> <page name="CometVisu Widget Demo"> <custom> <headline>Mein neues Widget!</headline> </custom> <switch mapping="Close_Open" styling="GreyGrey" align="center"> <layout colspan="4"/> <label>Testswitch</label> <address transform="DPT:1.001" mode="readwrite">2/2/3</address> </switch> </page> </pages>
Code:
/* qx.Class.define('cv.ui.structure.pure.Headline', { extend: cv.ui.structure.AbstractWidget, statics: { // parse element from visu_config*.xml parse: function (xml, path, flavour, pageType) { var data = cv.parser.WidgetParser.parseElement(this, xml, path, flavour, pageType); data.content = xml.textContent; return data; } }, properties: { content: { check: 'String', init: '' } }, members: { // generate the DOM string to be added to the GUI getDomString: function () { return '<h1 ' + (this.getClasses() ? 'class="'+this.getClasses()+'"' : '') + '>' + this.getContent() + '</h1>'; } }, // this function is executed when this file is loaded defer: function(statics) { // register the parser cv.parser.WidgetParser.addHandler("headline", cv.ui.structure.pure.Headline); // register the widget cv.ui.structure.WidgetFactory.registerClass("headline", statics); } });
plugin_v1.png
An der Stelle versuche ich mit Chromium gerade durch debuging schlauer zu werden.
1.Frage:
Ich konnte die switch.js im Debuger finden, habe einen Breakpoint gesetzt und beim Reload wurde dort auch gehalten. Passt
plugin_v2.png
Dann habe ich nach meiner "structure_custom.js" gesucht.
plugin_v3.png
Irgendwie wurde die Datei bearbeitet und komplett auskommentiert, wodurch auch keine Breakpoint etc funktionieren....
Kann mir jemand diesen Mechanismus erklären?
2.Frage
Was ist sinnvoller zum Start. Das Plugin oder kann ich auch einfach eine Datei switch_new.js unter source/class/cv/ui/structure/pure erstellen und dann das switch_new Widget benutzen? Muss ich jedes mal "./generate.py source" aufrufen?
Irgendwie hänge ich da fest, danke für etwas Starthilfe!
Gruß
Matthias
Kommentar