<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<!--
 #=============================================================================#
 # Copyright (c) 2011, 2021 Stephan Wahlbrink and others.
 # 
 # This program and the accompanying materials are made available under the
 # terms of the Eclipse Public License 2.0 which is available at
 # https://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0
 # which is available at https://www.apache.org/licenses/LICENSE-2.0.
 # 
 # SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
 # 
 # Contributors:
 #     Stephan Wahlbrink <sw@wahlbrink.eu> - initial API and implementation
 #=============================================================================#
-->

<plugin>
   <extension
         point="org.eclipse.ui.commandImages">
      <image
            commandId="org.eclipse.debug.ui.commands.Terminate"
            icon="platform:/plugin/org.eclipse.debug.ui/icons/full/elcl16/terminate_co.png"
            disabledIcon="platform:/plugin/org.eclipse.debug.ui/icons/full/dlcl16/terminate_co.png"/>
      <image
            commandId="org.eclipse.debug.ui.commands.TerminateAndRelaunch"
            icon="icons/tool_16/term_restart.png"
            disabledIcon="icons/tool_16_d/term_restart.png"/>
      
      <image
            commandId="org.eclipse.debug.ui.commands.ToggleBreakpoint"
            icon="icons/tool_16/breakpoint.png"/>
      
      <image
            commandId="org.eclipse.jdt.debug.ui.commands.Watch"
            icon="platform:/plugin/org.eclipse.debug.ui/icons/full/etool16/watch_exp.png"
            disabledIcon="platform:/plugin/org.eclipse.debug.ui/icons/full/dtool16/watch_exp.png"/>
      <image
            commandId="org.eclipse.jdt.debug.ui.commands.Inspect"
            icon="platform:/plugin/org.eclipse.jdt.debug.ui/icons/full/etool16/insp_sbook.png"
            disabledIcon="platform:/plugin/org.eclipse.jdt.debug.ui/icons/full/dtool16/insp_sbook.png"/>
   </extension>
   
</plugin>
