X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=plugins%2Fnet.mograsim.plugin.core%2Fsrc%2Fnet%2Fmograsim%2Fplugin%2Fnature%2FProjectContextEvent.java;fp=plugins%2Fnet.mograsim.plugin.core%2Fsrc%2Fnet%2Fmograsim%2Fplugin%2Fnature%2FProjectContextEvent.java;h=059b3eae1f60699df61ce1df878eef62bf490c3d;hb=15020b7263b6edd100d4b0a5de317e9eaff05c27;hp=0000000000000000000000000000000000000000;hpb=34c9da2d7580f2312da458db619dcf36e6325cef;p=Mograsim.git diff --git a/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/nature/ProjectContextEvent.java b/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/nature/ProjectContextEvent.java new file mode 100644 index 00000000..059b3eae --- /dev/null +++ b/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/nature/ProjectContextEvent.java @@ -0,0 +1,53 @@ +package net.mograsim.plugin.nature; + +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.IResourceChangeEvent; + +public class ProjectContextEvent +{ + private final MachineContext machineContext; + private final ProjectContextEventType eventType; + + public ProjectContextEvent(MachineContext machineContext, ProjectContextEventType eventType) + { + this.machineContext = machineContext; + this.eventType = eventType; + } + + public final MachineContext getMachineContext() + { + return machineContext; + } + + public final ProjectContextEventType getEventType() + { + return eventType; + } + + public final IProject getProject() + { + return machineContext.getProject(); + } + + public enum ProjectContextEventType + { + NEW, MACHINE_DEFINITION_CHANGE, OTHER_CHANGE, REFRESH, CLOSE, DELETE; + + static ProjectContextEventType ofResourceChangeEvent(int id) + { + switch (id) + { + case IResourceChangeEvent.POST_CHANGE: + return OTHER_CHANGE; + case IResourceChangeEvent.PRE_CLOSE: + return CLOSE; + case IResourceChangeEvent.PRE_DELETE: + return DELETE; + case IResourceChangeEvent.PRE_REFRESH: + return REFRESH; + default: + return null; + } + } + } +} \ No newline at end of file