hello griffon
5
gradle.properties
Normal 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
|
31
gui/griffon-app/conf/Config.groovy
Normal 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")
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
@@ -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++
|
||||
}
|
||||
}
|
0
gui/griffon-app/i18n/messages.properties
Normal file
10
gui/griffon-app/models/com/muwire/gui/EventListModel.groovy
Normal 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
|
||||
}
|
5
gui/griffon-app/resources/application.properties
Normal 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}
|
BIN
gui/griffon-app/resources/griffon-icon-128x128.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
gui/griffon-app/resources/griffon-icon-16x16.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
gui/griffon-app/resources/griffon-icon-24x24.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
gui/griffon-app/resources/griffon-icon-256x256.png
Normal file
After Width: | Height: | Size: 31 KiB |
BIN
gui/griffon-app/resources/griffon-icon-32x32.png
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
gui/griffon-app/resources/griffon-icon-48x48.png
Normal file
After Width: | Height: | Size: 5.1 KiB |
BIN
gui/griffon-app/resources/griffon-icon-64x64.png
Normal file
After Width: | Height: | Size: 5.8 KiB |
BIN
gui/griffon-app/resources/griffon.png
Normal file
After Width: | Height: | Size: 15 KiB |
0
gui/griffon-app/resources/resources.properties
Normal file
31
gui/griffon-app/views/com/muwire/gui/EventListView.groovy
Normal 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)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -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!')
|
||||
}
|
||||
}
|
10
gui/src/main/groovy/com/muwire/gui/Launcher.groovy
Normal file
@@ -0,0 +1,10 @@
|
||||
package com.muwire.gui
|
||||
|
||||
import griffon.swing.SwingGriffonApplication
|
||||
|
||||
class Launcher {
|
||||
|
||||
public static void main(String[] args) {
|
||||
SwingGriffonApplication.main(args)
|
||||
}
|
||||
}
|
@@ -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!')
|
||||
}
|
||||
}
|