hello griffon

This commit is contained in:
Zlatin Balevsky
2019-05-29 16:58:39 +01:00
parent 69e474c0d1
commit 790253c868
19 changed files with 156 additions and 0 deletions

5
gradle.properties Normal file
View File

@@ -0,0 +1,5 @@
group = com.muwire
version = 0.0.1
groovyVersion = 2.4.15
slf4jVersion = 1.7.25
spockVersion = 1.1-groovy-2.4

View File

@@ -0,0 +1,31 @@
import griffon.util.AbstractMapResourceBundle;
import javax.annotation.Nonnull;
import java.util.Map;
import static griffon.util.CollectionUtils.map;
import static java.util.Collections.singletonList;
public class Config extends AbstractMapResourceBundle {
@Override
protected void initialize(@Nonnull Map<String, Object> entries) {
map(entries)
.e("application", map()
.e("title", "MuWire")
.e("startupGroups", singletonList("container"))
.e("autoShutdown", true)
)
.e("mvcGroups", map()
.e("container", map()
.e("model", "com.muwire.gui.EventListModel")
.e("view", "com.muwire.gui.EventListView")
.e("controller", "com.muwire.gui.EventListController")
)
.e("editor", map()
.e("model", "com.muwire.gui.EventListModel")
.e("view", "com.muwire.gui.EventListView")
.e("controller", "com.muwire.gui.EventListController")
)
);
}
}

View File

@@ -0,0 +1,18 @@
package com.muwire.gui
import griffon.core.artifact.GriffonController
import griffon.core.controller.ControllerAction
import griffon.inject.MVCMember
import griffon.metadata.ArtifactProviderFor
import javax.annotation.Nonnull
@ArtifactProviderFor(GriffonController)
class EventListController {
@MVCMember @Nonnull
EventListModel model
@ControllerAction
void click() {
model.clickCount++
}
}

View File

View File

@@ -0,0 +1,10 @@
package com.muwire.gui
import griffon.core.artifact.GriffonModel
import griffon.transform.Observable
import griffon.metadata.ArtifactProviderFor
@ArtifactProviderFor(GriffonModel)
class EventListModel {
@Observable int clickCount = 0
}

View File

@@ -0,0 +1,5 @@
application.name=${application_name}
application.version=${application_version}
build.date=${build_date}
build.time=${build_time}
build.revision=${build_revision}

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -0,0 +1,31 @@
package com.muwire.gui
import griffon.core.artifact.GriffonView
import griffon.inject.MVCMember
import griffon.metadata.ArtifactProviderFor
import javax.swing.SwingConstants
import javax.annotation.Nonnull
@ArtifactProviderFor(GriffonView)
class EventListView {
@MVCMember @Nonnull
FactoryBuilderSupport builder
@MVCMember @Nonnull
EventListModel model
void initUI() {
builder.with {
application(size: [320, 160], id: 'event-list',
title: application.configuration['application.title'],
iconImage: imageIcon('/griffon-icon-48x48.png').image,
iconImages: [imageIcon('/griffon-icon-48x48.png').image,
imageIcon('/griffon-icon-32x32.png').image,
imageIcon('/griffon-icon-16x16.png').image]) {
gridLayout(rows: 2, cols: 1)
label(id: 'clickLabel', text: bind { model.clickCount },
horizontalAlignment: SwingConstants.CENTER)
button(id: 'clickButton', clickAction)
}
}
}
}

View File

@@ -0,0 +1,25 @@
package com.muwire.gui
import griffon.core.test.GriffonFestRule
import org.fest.swing.fixture.FrameFixture
import org.junit.Rule
import org.junit.Test
import static org.junit.Assert.fail
class EventListIntegrationTest {
static {
System.setProperty('griffon.swing.edt.violations.check', 'true')
System.setProperty('griffon.swing.edt.hang.monitor', 'true')
}
@Rule
public final GriffonFestRule fest = new GriffonFestRule()
private FrameFixture window
@Test
void smokeTest() {
fail('Not implemented yet!')
}
}

View File

@@ -0,0 +1,10 @@
package com.muwire.gui
import griffon.swing.SwingGriffonApplication
class Launcher {
public static void main(String[] args) {
SwingGriffonApplication.main(args)
}
}

View File

@@ -0,0 +1,21 @@
package com.muwire.gui
import griffon.core.test.GriffonUnitRule
import griffon.core.test.TestFor
import org.junit.Rule
import org.junit.Test
import static org.junit.Assert.fail
@TestFor(EventListController)
class EventListControllerTest {
private EventListController controller
@Rule
public final GriffonUnitRule griffon = new GriffonUnitRule()
@Test
void smokeTest() {
fail('Not yet implemented!')
}
}