package com.opendoorlogistics.studio.appframe;
import javax.swing.Action;
import javax.swing.KeyStroke;
import com.opendoorlogistics.studio.LoadedState.HasLoadedDatastore;
import com.opendoorlogistics.utils.ui.SimpleAction;
abstract class AppFrameAction extends SimpleAction {
protected final HasLoadedDatastore hasLoadedDatastore;
private final boolean needsOpenFile;
//final KeyStroke accelerator;
public AppFrameAction(String name, String tooltip, String smallIconPng, String largeIconPng, boolean needsOpenFile, KeyStroke accelerator, HasLoadedDatastore hasLoadedDatastore) {
super(name, tooltip, smallIconPng, largeIconPng);
this.needsOpenFile = needsOpenFile;
// this.accelerator = accelerator;
this.hasLoadedDatastore = hasLoadedDatastore;
if(accelerator!=null){
putValue(Action.ACCELERATOR_KEY, accelerator);
}
}
@Override
public void updateEnabledState() {
setEnabled(needsOpenFile ? hasLoadedDatastore.getLoadedDatastore() != null : true);
}
}