<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin id="org.rubypeople.rdt.debug.ui" name="%Plugin.name" version="0.8.0.604272100PRD"
	provider-name="RubyPeople, Inc."
	class="org.rubypeople.rdt.internal.debug.ui.RdtDebugUiPlugin">
	
	<runtime>
		<library name="rdtdebugui.jar">
			<export name="*"/>
		</library>
	</runtime>
	
	<requires>
		<import plugin="org.eclipse.core.resources"/>
		<import plugin="org.eclipse.ui"/>
		<import plugin="org.eclipse.debug.core"/>
		<import plugin="org.eclipse.debug.ui"/>
		<import plugin="org.rubypeople.rdt.launching"/>
		<import plugin="org.rubypeople.rdt.ui"/>
		<import plugin="org.rubypeople.rdt.core"/>
		<import plugin="org.rubypeople.rdt.debug.core"/>
		<import plugin="org.eclipse.ui.workbench"/>
		<import plugin="org.eclipse.ui.workbench.texteditor"/>
		<import plugin="org.eclipse.jface.text"/>
		<import plugin="org.eclipse.ui.editors"/>
		<import plugin="org.eclipse.ui.ide"/>
		<import plugin="org.eclipse.ui.cheatsheets"/>
		<import plugin="org.eclipse.core.runtime"/>
		<import plugin="org.eclipse.ui.console"/>
	</requires>
	
	<extension point="org.eclipse.ui.preferencePages">
		<page name="%PreferencePage.RubyInterpreter.name"
			category="org.rubypeople.rdt.ui.preferences.PreferencePageRubyBase"
			class="org.rubypeople.rdt.internal.debug.ui.preferences.RubyInterpreterPreferencePage"
			id="org.rubypeople.rdt.debug.ui.preferences.PreferencePageRubyInterpreter">
		</page>
	</extension>
	<extension point="org.eclipse.ui.preferencePages">
		<page name="%PreferencePage.EvaluationExpressions.name"
			category="org.rubypeople.rdt.ui.preferences.PreferencePageRubyBase"
			class="org.rubypeople.rdt.internal.debug.ui.preferences.EvaluationExpressionsPreferencePage"
			id="org.rubypeople.rdt.debug.ui.preferences.PreferencePageEvaluationExpressions">
		</page>
	</extension>
	<extension point="org.eclipse.debug.ui.launchConfigurationTypeImages">
		<launchConfigurationTypeImage icon="icons/full/ctool16/run_ruby.gif"
			configTypeID="org.rubypeople.rdt.launching.LaunchConfigurationTypeRubyApplication"
			id="org.rubypeople.rdt.debug.ui.LaunchConfigurationTypeImageRubyApplication">
		</launchConfigurationTypeImage>
	</extension>
	<extension point="org.eclipse.debug.ui.launchConfigurationTabGroups">
		<launchConfigurationTabGroup
			type="org.rubypeople.rdt.launching.LaunchConfigurationTypeRubyApplication"
			class="org.rubypeople.rdt.internal.debug.ui.launcher.RubyApplicationTabGroup"
			id="org.rubypeople.rdt.debug.ui.LaunchConfigurationTabGroupRubyApplication">
		</launchConfigurationTabGroup>
	</extension>
	<extension point="org.eclipse.ui.editorActions">
		<editorContribution targetID="org.rubypeople.rdt.ui.EditorRubyFile"
			id="org.rubypeople.rdt.debug.ui.EditorRubyFile.BreakpointRulerActions">
			<action label="%Dummy.label"
				class="org.rubypeople.rdt.internal.debug.ui.actions.ManageBreakpointRulerActionDelegate"
				actionID="RulerDoubleClick"
				id="org.rubypeople.rdt.debug.ui.EditorRubyFile.ManageBreakpointRulerAction">
			</action>
		</editorContribution>
	</extension>
	<extension point="org.eclipse.debug.ui.debugModelPresentations">
		<debugModelPresentation
			class="org.rubypeople.rdt.internal.debug.ui.DebugModelPresentation"
			id="org.rubypeople.rdt.debug">
		</debugModelPresentation>
	</extension>
	<extension point="org.eclipse.ui.popupMenus">
		<viewerContribution
			targetID="org.rubypeople.rdt.ui.rubyeditor.rulerContextMenu"
			id="org.rubypeople.rdt.debug.ui.RubyRulerPopupActions">
			<action label="Add Breakpoint"
				class="org.rubypeople.rdt.internal.debug.ui.actions.ManageBreakpointRulerActionDelegate"
				menubarPath="debug" id="ManageBreakpointRulerActionDelegate">
			</action>
		</viewerContribution>
	</extension>
	<extension point="org.eclipse.debug.core.sourceLocators">
		<sourceLocator name="RubySourceLocator"
			class="org.rubypeople.rdt.internal.debug.ui.RubySourceLocator"
			id="org.rubypeople.rdt.debug.ui.rubySourceLocator">
		</sourceLocator>
	</extension>
	<extension point="org.eclipse.ui.viewActions">
		<viewContribution targetID="org.eclipse.debug.ui.VariableView"
			id="org.eclipse.jdt.ui.debug.VariableViewActions">
			<action label="%showStaticVariables" style="toggle"
				class="org.rubypeople.rdt.internal.debug.ui.actions.ShowStaticVariablesAction"
				state="false" tooltip="showStaticAction.tooltip"
				menubarPath="rubyActions"
				id="org.rubypeople.rdt.ui.variableViewActions.ShowStatic">
			</action>
			<action label="%showConstants" style="toggle"
				class="org.rubypeople.rdt.internal.debug.ui.actions.ShowConstantsAction"
				state="false" tooltip="showConstantAction.tooltip"
				menubarPath="rubyActions"
				id="org.rubypeople.rdt.ui.variableViewActions.ShowConstants">
			</action>
		</viewContribution>
  <viewContribution
        id="org.eclipse.jdt.debug.ui.BreakpointViewActions"
        targetID="org.eclipse.debug.ui.BreakpointView">
     <action
           class="org.rubypeople.rdt.internal.debug.ui.actions.ModifyCatchpointAction"
           disabledIcon="icons/full/elcl16/exc_catch.gif"
           hoverIcon="icons/full/elcl16/exc_catch.gif"
           icon="icons/full/elcl16/exc_catch.gif"
           id="org.rubypeople.rdt.debug.ui.actions.ModifyCatchpoint"
           label="%modifyCatchpoint.label"
           style="push"
           toolbarPath="rdtExceptions"
           tooltip="%modifyCatchpoint.tooltip"/>
  </viewContribution>
	</extension>
	<extension point="org.eclipse.ui.contexts">
		<context name="Debugging Ruby" description="Debugging Ruby programs"
			id="org.rubypeople.rdt.debug.ui.debugging"
			parentId="org.eclipse.debug.ui.debugging">
		</context>
	</extension>
	<extension point="org.eclipse.debug.ui.debugModelContextBindings">
		<modelContextBinding debugModelId="org.rubypeople.rdt.debug"
			contextId="org.rubypeople.rdt.debug.ui.debugging">
		</modelContextBinding>
	</extension>
	<extension point="org.eclipse.ui.popupMenus">
		<viewerContribution
			targetID="org.rubypeople.rdt.ui.rubyeditor.contextMenu"
			id="org.rubypeople.rdt.debug.ui.RubyEditorPopupActions">
			<action label="%Inspect.label"
				class="org.rubypeople.rdt.internal.debug.ui.actions.InspectAction"
				menubarPath="additions" enablesFor="+"
				id="org.rubypeople.rdt.debug.ui.cuPopup.Inspect">
				<enablement>
					<systemProperty
						name="org.rubypeople.rdt.debug.ui.debuggerActive"
						value="true">
					</systemProperty>
				</enablement>
			</action>
		</viewerContribution>
		<viewerContribution targetID="org.eclipse.jdt.debug.ui.DisplayView"
			id="org.rubypeople.rdt.debug.DisplayEvaluationActions">
			<visibility>
				<systemProperty name="org.rubypeople.rdt.debug.ui.debuggerActive"
					value="true">
				</systemProperty>
			</visibility>
			<action label="%RubyInspect.label"
				helpContextId="inspect_action_context"
				class="org.rubypeople.rdt.internal.debug.ui.actions.InspectAction"
				menubarPath="evaluationGroup" enablesFor="+"
				id="org.rubypeople.rdt.debug.ui.displayView.Inspect">
				<enablement>
					<and>
						<or>
							<systemProperty
								name="org.rubypeople.rdt.debug.ui.debuggerActive"
								value="true">
							</systemProperty>
						</or>
						<objectClass
							name="org.eclipse.jface.text.ITextSelection">
						</objectClass>
					</and>
				</enablement>
			</action>
		</viewerContribution>
		<viewerContribution targetID="org.eclipse.debug.ui.VariableView"
			id="org.rubypeople.rdt.ui.debug.VariableViewActions">
			<action label="%InspectHashKey.label"
				helpContextId="inspect_action_context"
				class="org.rubypeople.rdt.internal.debug.ui.actions.InspectHashKeyAction"
				menubarPath="rdtActions" enablesFor="+"
				id="org.rubypeople.rdt.ui.variableViewActions.InspectAction">
				<enablement>
					<and>
						<objectClass
							name="org.rubypeople.rdt.internal.debug.core.model.RubyVariable">
						</objectClass>
						<objectState name="isHashValue" value="true">
						</objectState>
					</and>
				</enablement>
			</action>
		</viewerContribution>
	</extension>
	<extension point="org.eclipse.debug.ui.consoleLineTrackers">
		<consoleLineTracker
			class="org.rubypeople.rdt.internal.debug.ui.console.RubyConsoleTracker"
			processType="ruby"
			id="org.rubypeople.rdt.debug.ui.RubyConsoleTracker">
		</consoleLineTracker>
	</extension>
	<extension point="org.eclipse.debug.ui.launchShortcuts">
		<shortcut label="%RubyApplicationShortcut.label"
			icon="icons/full/ctool16/run_ruby.gif"
			class="org.rubypeople.rdt.internal.debug.ui.launcher.RubyApplicationShortcut"
			modes="run, debug" id="org.rubypeople.rdt.debug.ui.RubyShortcut">
			<contextualLaunch>
				<enablement>
					<with variable="selection">
						<count value="1">
						</count>
						<iterate>
							<or>
								<test value="*.rb"
									property="org.eclipse.debug.ui.matchesPattern">
								</test>
								<test value="*.rbx"
									property="org.eclipse.debug.ui.matchesPattern">
								</test>
								<test
									property="org.eclipse.debug.ui.matchesContentType"
									value="org.eclipse.ant.core.antBuildFile"/>
							</or>
						</iterate>
					</with>
				</enablement>
				<contextLabel label="%LaunchShortcut.Ruby.label" mode="run">
				</contextLabel>
				<contextLabel label="%LaunchShortcut.Ruby.label" mode="debug">
				</contextLabel>
			</contextualLaunch>
			<perspective id="org.rubypeople.rdt.ui.PerspectiveRuby">
			</perspective>
		</shortcut>
		<shortcut label="%LaunchShortcut.Ruby.label"
			icon="icons/full/ctool16/run_ruby.gif"
			class="org.rubypeople.rdt.internal.debug.ui.launcher.RubyApplicationShortcut"
			modes="run, debug"
			id="org.rubypeople.rdt.debug.ui.applicationshortcut.ruby">
			<perspective id="org.eclipse.debug.ui.DebugPerspective">
			</perspective>
		</shortcut>
	</extension>
	<extension point="org.eclipse.ui.commands">
		<command name="%ContextualRunRubyApplication.label"
			description="%ContextualRunRubyApplication.label"
			categoryId="org.eclipse.debug.ui.category.run"
			id="org.rubypeople.rdt.debug.ui.RubyShortcut.run">
		</command>
		<command name="%ContextualDebugRubyApplication.label"
			description="%ContextualDebugRubyApplication.label"
			categoryId="org.eclipse.debug.ui.category.run"
			id="org.rubypeople.rdt.debug.ui.RubyShortcut.debug">
		</command>
  <command
        categoryId="org.eclipse.debug.ui.category.run"
        id="org.rubypeople.rdt.debug.ui.commands.ModifyCatchpoint"
        name="org.rubypeople.rdt.debug.ui.ModifyCatchpoint"/>
	</extension>
	<extension point="org.eclipse.ui.bindings">
		<key sequence="M3+M2+D R"
			commandId="org.rubypeople.rdt.debug.ui.RubyShortcut.debug"
			schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
		<key sequence="M3+M2+X R"
			commandId="org.rubypeople.rdt.debug.ui.RubyShortcut.run"
			schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
	</extension>
	
	<extension point="org.eclipse.ui.cheatsheets.cheatSheetContent">
		<category name="Ruby" id="org.rubypeople.rdt.cheatsheet.category">
		</category>
		<cheatsheet name="%cheatsheet.webservices.name"
			category="org.rubypeople.rdt.cheatsheet.category"
			contentFile="$nl$/cheatsheets/WebServices.xml"
			id="org.rubypeople.rdt.cheatsheets.webservices">
			<description>%cheatsheet.webservices.desc</description>
		</cheatsheet>
	</extension>
	
	<extension point="org.rubypeople.rdt.ui.editorPopupExtender">
		<rubyEditorPopupMenuExtension
			class="org.rubypeople.rdt.internal.debug.ui.RubyEditorPopupMenuExtension">
			<enablement>
				<systemProperty name="org.rubypeople.rdt.debug.ui.debuggerActive"
					value="true"/>
			</enablement>
		</rubyEditorPopupMenuExtension>
	</extension>
	<extension point="org.eclipse.ui.commands">
		<command name="Inspect Template"
			id="org.rubypeople.rdt.debug.ui.TemplateInspectCommand"/>
	</extension>
	
	<extension point="org.eclipse.core.runtime.preferences">
		<initializer
			class="org.rubypeople.rdt.internal.debug.ui.DebugUiPreferenceInitializer"/>
	</extension>
	<extension point="org.eclipse.ui.actionSets">
		<actionSet
        description="Extends the breakpoint view"
        id="org.rubypeople.rdt.debug.ui.RDTDebugActionSet"
        label="Ruby Debug"
        visible="true">
			<action
				definitionId="org.rubypeople.rdt.debug.ui.commands.ModifyCatchpoint"
				label="%modifyCatchpoint.label"
				icon="icons/full/elcl16/exc_catch.gif"
				helpContextId="add_exception_action_context"
				class="org.rubypeople.rdt.internal.debug.ui.actions.ModifyCatchpointAction"
				menubarPath="org.eclipse.ui.run/breakpointGroup"
				id="org.rubypeople.rdt.debug.ui.actions.ModifyCatchpoint">
			</action>
		</actionSet>
	</extension>
</plugin>