package com.teotigraphix.caustic.model;
import java.util.ResourceBundle;
import com.google.inject.Inject;
import com.google.inject.Singleton;
import com.google.inject.name.Named;
import com.teotigraphix.caustk.core.CtkDebug;
@Singleton
public class ApplicationModel extends ModelBase implements IApplicationModel {
@Inject
@Named(value = "resources")
ResourceBundle resourceBundle;
@Override
public String getName() {
return resourceBundle.getString("APP_TITLE");
}
//----------------------------------
// dirty
//----------------------------------
private boolean dirty;
@Override
public final boolean isDirty() {
return dirty;
}
@Override
public final void setDirty() {
setDirty(true);
}
@Override
public final void setDirty(boolean value) {
if (value == dirty)
return;
CtkDebug.model("ApplicationModel dirty: " + value);
dirty = value;
getDispatcher().trigger(new OnApplicationModelDirtyChanged(dirty));
}
//--------------------------------------------------------------------------
// Constructor
//--------------------------------------------------------------------------
public ApplicationModel() {
super();
}
//--------------------------------------------------------------------------
// Public API
//--------------------------------------------------------------------------
@Override
public void start() {
CtkDebug.model("ApplicationModel.start() fires OnApplicationModelStart");
getController().getDispatcher().trigger(new OnApplicationModelStart());
}
//--------------------------------------------------------------------------
// Project :: Events
//--------------------------------------------------------------------------
@Override
public void run() {
CtkDebug.model(">>>>> ApplicationModel.run() fires OnApplicationModelRun");
getController().getDispatcher().trigger(new OnApplicationModelRun());
}
@Override
public void onShow() {
// TODO Auto-generated method stub
}
@Override
public void onRegister() {
// TODO Auto-generated method stub
}
}