disable button until core initialized
This commit is contained in:
@@ -12,6 +12,8 @@ import javax.inject.Inject
|
||||
import static griffon.util.GriffonApplicationUtils.isMacOSX
|
||||
import static groovy.swing.SwingBuilder.lookAndFeel
|
||||
|
||||
import java.beans.PropertyChangeEvent
|
||||
|
||||
@Log
|
||||
class Ready extends AbstractLifecycleHandler {
|
||||
@Inject
|
||||
@@ -48,6 +50,9 @@ class Ready extends AbstractLifecycleHandler {
|
||||
Core core = new Core(props, home)
|
||||
core.startServices()
|
||||
application.context.put("core",core)
|
||||
application.getPropertyChangeListeners("core").each {
|
||||
it.propertyChange(new PropertyChangeEvent(this, "core", null, core))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -1,10 +1,27 @@
|
||||
package com.muwire.gui
|
||||
|
||||
import javax.annotation.Nonnull
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Named
|
||||
|
||||
import com.muwire.core.Core
|
||||
|
||||
import griffon.core.artifact.GriffonModel
|
||||
import griffon.core.GriffonApplication
|
||||
import griffon.inject.Contextual
|
||||
import griffon.inject.MVCMember
|
||||
import griffon.transform.Observable
|
||||
import griffon.metadata.ArtifactProviderFor
|
||||
|
||||
@ArtifactProviderFor(GriffonModel)
|
||||
class EventListModel {
|
||||
@Inject @Nonnull GriffonApplication application
|
||||
@Observable int clickCount = 0
|
||||
@Observable boolean coreInitialized = false
|
||||
|
||||
void mvcGroupInit(Map<String, Object> args) {
|
||||
application.addPropertyChangeListener("core", {e ->
|
||||
coreInitialized = (e.getNewValue() != null)
|
||||
})
|
||||
}
|
||||
}
|
@@ -24,7 +24,7 @@ class EventListView {
|
||||
gridLayout(rows: 2, cols: 1)
|
||||
label(id: 'clickLabel', text: bind { model.clickCount },
|
||||
horizontalAlignment: SwingConstants.CENTER)
|
||||
button(id: 'clickButton', clickAction)
|
||||
button(id: 'clickButton', clickAction, enabled: bind {model.coreInitialized})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user