|
Replies:
9
-
Pages:
1
-
Last Post:
10 Sep 20, 15:55
Last Post By: RobM
|
|
|
Posts:
1,289
Registered:
14-Dec-2007
|
|
|
Minimal skin with Groovy GUI
Posted:
8 Sep 20, 08:22
|
|
|
Please generate the Minimal skin with a Groovy GUI.
Edited by: RobM on 08-Sep-2020 11:10
Split from jAlbum 21.1 beta to new thread and moved to skin development
|
|
|
Posts:
3,815
Registered:
4-Aug-2006
|
|
|
Re: Minimal skin with Groovy GUI
Posted:
8 Sep 20, 12:30
in response to: AndreWolff
|
|
|
Please generate the Minimal skin with a Groovy GUI.
Edited by: RobM on 08-Sep-2020 11:10
Split to new thread and moved to skin development
I might, if I am not busy with other projects. However, I only understand a fraction of what I’m doing, the code works but I need to understand more - such as gridbag layout
My interest was in the new work api and using groovy for external tools, not to make a skin with groovy. A Java compiled skin is better.
You could try using the gui code above, saved as onload.groovy, just remove the two lines processAlbum(skipUnrated, skipExcluded, excludeRating)
dispose()
Things I need to understand are positioning of the gui window, and a whole lot more to make a skin’s gui.
When David says we know as much about Groovy’s swingBuilder as he does, then you know we are more or less on our own, at least for now.
|
|
|
Posts:
3,442
Registered:
18-Oct-2002
|
|
|
Re: Minimal skin with Groovy GUI
Posted:
8 Sep 20, 15:37
in response to: RobM
|
|
|
|
Here's Minimal with a Groovy UI. (Not using SwingBuilder though). Note that I haven't "Groovyfied" it much (used shorter syntax), this as plain Java is interpreted faster and it was faster to convert from BeanShell. The most notable change is perhaps this use of Groovy-style lambda expressions for actionlisteners: b = new JButton("Snygg")
add(b);
b.addActionListener { b.text="Button works" };
(Note how sloppy you can be with the use of ; )
|
|
|
Posts:
3,815
Registered:
4-Aug-2006
|
|
|
Re: Minimal skin with Groovy GUI
Posted:
9 Sep 20, 21:19
in response to: davidekholm
|
|
|
Just for completeness, no matter what variation of code below, I always get an error saying 'Skin not registered with repository'. Possibly I have missed something obvious, but I can only get a Groovy GUI to work as an external tool.
import se.datadosen.jalbum.JAlbumContext;
import se.datadosen.component.*;
import net.jalbum.component.*;
import se.datadosen.jalbum.*;
import se.datadosen.util.Item;
import groovy.swing.SwingBuilder
import javax.swing.*
import java.awt.Color
//Test GUI
panel(name:"ui") {
label("jAlbum skin UI")
}
// Set the UI
window.setSkinUI(ui);
Results in
java.io.IOException: Skin not registered with repository
se.datadosen.util.ScriptException: groovy.lang.MissingMethodException: No signature of method: net.jalbum.script.GroovierScriptEngine.panel() is applicable for argument types: (LinkedHashMap, Script1$_run_closure1) values: [[name:ui], Script1$_run_closure1@f3ea85e]
Possible solutions: any(), wait(), println(), grep(), find(), any(groovy.lang.Closure) in onload.groovy
at se.datadosen.util.ScriptException.of(ScriptException.java:59)
at se.datadosen.jalbum.AlbumBean.processScript(AlbumBean.java:2570)
at se.datadosen.jalbum.JAlbumFrame.executeScript(JAlbumFrame.java:1282)
at se.datadosen.jalbum.JMainSettingsPanel$5$1.run(JMainSettingsPanel.java:313)
|
|
|
Posts:
3,442
Registered:
18-Oct-2002
|
|
|
Re: Minimal skin with Groovy GUI
Posted:
9 Sep 20, 22:24
in response to: RobM
|
|
|
I think it's the missing "groovy-swing-3.0.5.jar" that causes problems interpreting the "panel" statement
|
|
|
Posts:
3,815
Registered:
4-Aug-2006
|
|
|
Re: Minimal skin with Groovy GUI
Posted:
9 Sep 20, 23:42
in response to: davidekholm
|
|
|
I think it's the missing "groovy-swing-3.0.5.jar" that causes problems interpreting the "panel" statement
Not really worth pursuing, due to the load-times, but for info. having installed the groovy-swing-3.0.5.jar I now get Caused by: groovy.lang.GroovyRuntimeException: Conflicting module versions. Module [groovy-swing is loaded in version 3.0.5 and you are trying to load version 3.0.0-alpha-3
Edited by: RobM on 09-Sep-2020 22:43
|
|
|
Posts:
3,442
Registered:
18-Oct-2002
|
|
|
Re: Minimal skin with Groovy GUI
Posted:
10 Sep 20, 10:40
in response to: RobM
|
|
|
I think it's the missing "groovy-swing-3.0.5.jar" that causes problems interpreting the "panel" statement
Not really worth pursuing, due to the load-times, but for info. having installed the groovy-swing-3.0.5.jar I now get Caused by: groovy.lang.GroovyRuntimeException: Conflicting module versions. Module [groovy-swing is loaded in version 3.0.5 and you are trying to load version 3.0.0-alpha-3
Edited by: RobM on 09-Sep-2020 22:43
Did you try that on v22? It should be shipped with v3.0.5 of Groovy?
|
|
|
Posts:
3,815
Registered:
4-Aug-2006
|
|
|
Re: Minimal skin with Groovy GUI
Posted:
10 Sep 20, 11:32
in response to: davidekholm
|
|
|
I think it's the missing "groovy-swing-3.0.5.jar" that causes problems interpreting the "panel" statement
Not really worth pursuing, due to the load-times, but for info. having installed the groovy-swing-3.0.5.jar I now get Caused by: groovy.lang.GroovyRuntimeException: Conflicting module versions. Module [groovy-swing is loaded in version 3.0.5 and you are trying to load version 3.0.0-alpha-3
Edited by: RobM on 09-Sep-2020 22:43
Did you try that on v22? It should be shipped with v3.0.5 of Groovy?
Yes, and I downloaded the complete Groovy 3.0.5 and copied the swing jar to jAlbum. But as we both agree that a Groovy scripted gui would be too slow to load, I don’t see it as a problem. I just wanted to document that, as it stands, you can’t use it as such. I’ll either delete the groovy wiki page contents, or spell out that it can’t be used to script an onload.groovy gui.
A Groovy GUI could be made using Eclipse, but they only support version 3.0 as a direct plugin.
|
|
|
Posts:
474
Registered:
27-Sep-2003
|
|
|
Re: Minimal skin with Groovy GUI
Posted:
10 Sep 20, 15:49
in response to: RobM
|
|
|
A Groovy GUI could be made using Eclipse, but they only support version 3.0 as a direct plugin.
Eclipse supports Groovy 3.0.4 https://github.com/groovy/groovy-eclipse/wiki/3.8.0-Release-Notes. I don't know whether or not this helps (I am not really following this thread).
|
|
|
Posts:
3,815
Registered:
4-Aug-2006
|
|
|
Re: Minimal skin with Groovy GUI
Posted:
10 Sep 20, 15:55
in response to: ctwist
|
|
|
Unfortunately, I find the Eclipse interface baffling, but I doubt I would want to build a full skin interface with Groovy. Maybe Andre would like to try?
|
|
|
|
Legend
|
|
Forum admins
|
|
Helpful Answer
|
|
Correct Answer
|
|