2012-09-11  Jeff Johnston  <jjohnstn@redhat.com>

	* src/org/eclipse/linuxtools/internal/valgrind/launch/ValgrindOptionsTab.java (setDefaults): When noToolCombo
	is set, the ATTR_TOOL attribute should be set to the tool variable and not the default memcheck tool.

2012-09-05  Jeff Johnston  <jjohnstn@redhat.com>

	* .settings/.api_filters: New file.
	* .settings/org.eclipse.pde.core.prefs: New file.
	* src/org/eclipse/linuxtools/internal/valgrind/launch/ValgrindSingleToolOptionsTab.java: New file.
	* META-INF/MANIFEST.MF: Bump up version to 1.2.
	* src/org/eclipse/linuxtools/internal/valgrind/launch/ValgrindLaunchConfigurationDelegate.java: Extend
	ProfileLaunchConfigurationDelegate instead of AbstractCLaunchDelegate to work with new
	Profiling providers system. 
	(generateCommand): Add override statement.
	(createNewProcess): Ditto. 
	* src/org/eclipse/linuxtools/internal/valgrind/launch/ValgrindOptionsTab.java (noToolCombo): New boolean to indicate
	that the tool combo should not be created.
	(createControl): Add call to update the tab.
	(initializeFrom): Don't look at selection when there is no tool combo.
	
2011-12-17 Otavio Pontes <obusatto@br.ibm.com>

	Related to bug #353056
	* src/org/eclipse/linuxtools/internal/valgrind/launch/ValgrindLaunchPlugin.java:
	Changing the visibility of getValgrindCommand back to protected
	
2011-10-05 Otavio Pontes <obusatto@br.ibm.com>

	Related to bug #353056
	* src/org/eclipse/linuxtools/internal/valgrind/launch/ValgrindLaunchPlugin.java:
	Changing the visibility of getValgrindCommand from protected to public
	
2011-09-29 Otavio Pontes <obusatto@br.ibm.com>

	Related to bug #353056
	* src/org/eclipse/linuxtools/internal/valgrind/launch/ValgrindLaunchConfigurationDelegate.java:
	Using factories from org.eclipse.linuxtools.tools.launch.core to run
	valgrind commands.

2011-09-28 Otavio Pontes <obusatto@br.ibm.com>

	Related to bug #353056
	* src/org/eclipse/linuxtools/internal/valgrind/launch/ValgrindLaunchPlugin.java:
	Removing dependency for ValgrindPreferencePage

2011-10-12  Jeff Johnston  <jjohnstn@redhat.com>

	Bug #360085 - apply Martin Oberhuber's patch and add remove marker capability.
	
	* plugin.xml: Add clear markers command button in Valgrind view.
	* plugin.properties: New messages for clear markers command.
	* src/org/eclipse/linuxtools/internal/valgrind/launch/ClearMarkersHandler.java: New file.
	* src/org/eclipse/linuxtools/internal/valgrind/launch/ValgrindLaunchConfigurationDelegate.java (finalLaunchCheck): Clear
	markers on new launch.

2011-09-08  Jeff Johnston  <jjohnstn@redhat.com>

	Bug #354342
	
	2011-09-08  Martin Oberhuber  <martin.oberhuber@windriver.com>
	* src/org/eclipse/linuxtools/internal/valgrind/launch/ValgrindOptionsTab.java (setValgrindVersion): New method.
	(getValgrindVersion): Ditto.

2011-08-15  Jeff Johnston  <jjohnstn@redhat.com>

	* src/org/eclipse/linuxtools/internal/valgrind/launch/ValgrindLaunchConfigurationDelegate.java: 
	(getValgrindArgumentsArray): Add check when dealing with versioned options to omit them if they
	are the default.

2011-05-20  Jeff Johnston  <jjohnstn@redhat.com>

	* src/org/eclipse/linuxtools/internal/valgrind/launch/ValgrindExportWizardPage.java (isValid): Add
	check for there being an array of launch files that is 0 in length.

2011-01-06  Elliott Baron  <ebaron@fedoraproject.org>

	Bug #333640
	* src/org/eclipse/linuxtools/internal/valgrind/launch/ValgrindLaunchPlugin.java: Added 3.5, 3.6 version strings.
	* src/org/eclipse/linuxtools/internal/valgrind/launch/ValgrindLaunchConfigurationDelegate.java
	(getValgrindArgumentsArray): Added dsymutil option. 
	* src/org/eclipse/linuxtools/internal/valgrind/launch/messages.properties: Likewise. 
	* src/org/eclipse/linuxtools/internal/valgrind/launch/ValgrindOptionsTab.java (createErrorOptions): Likewise.
	(initializeFrom): Likewise.
	(performApply): Likewise.
	(setDefaults): Likewise.

2010-08-03  Elliott Baron  <ebaron@fedoraproject.org>

	* src/org/eclipse/linuxtools/internal/valgrind/launch/ValgrindLaunchConfigurationDelegate.java (launch): API changes. 
	(getValgrindArgumentsArray): Likewise.
	* src/org/eclipse/linuxtools/internal/valgrind/launch/ValgrindOptionsTab.java: Version is now passed to tab.
	* src/org/eclipse/linuxtools/valgrind/launch/IValgrindLaunchDelegate.java (initializeView): New method.
	(getCommandArray): Pass version.
	* src/org/eclipse/linuxtools/valgrind/launch/IValgrindToolPage.java (setValgrindVersion): Likewise. 

2010-07-26  Elliott Baron  <ebaron@fedoraproject.org>

	* META-INF/MANIFEST.MF: Bump version to 0.7.0.
	* src/org/eclipse/linuxtools/internal/valgrind/launch/ValgrindLaunchConfigurationDelegate.java (launch): 
	(setOutputPath): Take path argument.
	(getValgrindArgumentsArray): Handle change to dynamic delegate API.
	* src/org/eclipse/linuxtools/valgrind/launch/IValgrindLaunchDelegate.java (handleLaunch): Pass output path. 
	(getCommandArray): Likewise.

2010-06-06  Elliott Baron  <ebaron@fedoraproject.org>
	
	Bug #315890
	* src/org/eclipse/linuxtools/internal/valgrind/launch/messages.properties: Mention preference page.
	* src/org/eclipse/linuxtools/internal/valgrind/launch/ValgrindLaunchPlugin.java (start): Register as listener
		for Valgrind preference page changes. 
	(getValgrindLocation): Handle preference page in ValgrindCommand.
	(propertyChange): Reset location and version, so the low-level methods will be called again.

2010-05-28  Elliott Baron  <ebaron@fedoraproject.org>

	Bug #314680
	* META-INF/MANIFEST.MF: Added new dependency.
	* src/org/eclipse/linuxtools/internal/valgrind/launch/ValgrindLaunchConfigurationDelegate.java (createMarkers): Account
		for source lookup returning LocalFileStorage. 

2009-08-11  Elliott Baron  <ebaron@redhat.com>

	* META-INF/MANIFEST.MF: Bump version to 0.3.0.

2009-08-10  Elliott Baron  <ebaron@redhat.com>

	* src/org/eclipse/linuxtools/internal/valgrind/launch/messages.properties: Added keys.
	* src/org/eclipse/linuxtools/internal/valgrind/launch/ValgrindLaunchConfigurationDelegate.java: Suppression file
	attribute now contains a list.
	* src/org/eclipse/linuxtools/internal/valgrind/launch/ValgrindOptionsTab.java: Changed suppression
	file control to a List and corresponding attributes.

2009-08-07  Andrew Overholt  <overholt@redhat.com>

	Bug #285861

	* plugin.properties: Change Provider to Eclipse.

2009-07-30  Elliott Baron  <ebaron@redhat.com>

	* src/org/eclipse/linuxtools/valgrind/launch: Moved all but IValgrindLaunchDelegate,
	IValgrindOutputDirectoryProvider, IValgrindToolPage.
	* src/org/eclipse/linuxtools/internal/valgrind/launch: New package.
	* .project: Added API analysis.
	* META-INF/MANIFEST.MF: Export internal package.
	* plugin.xml: Update class references.

2009-07-09  Elliott Baron  <ebaron@redhat.com>

	* ValgrindLaunchPlugin.java (parseWSPath): Don't report undef variables as errors.
	* ValgrindOptionsTab.java: Display version exceptions only in tab's errorMessage.

2009-06-25  Elliott Baron  <ebaron@redhat.com>

	* ValgrindLaunchConfigurationDelegate.java: Removed unused code.

2009-06-23  Elliott Baron  <ebaron@redhat.com>

	* ValgrindExportWizardPage.java (getSelectAllButton): Created getter.
	(getViewer): Likewise.
	(getDeselectAllButton): Likewise. 
	(getDestText): Likewise.
	* src/org/eclipse/linuxtools/valgrind/launch/ValgrindLaunchPlugin.java (getValgrindCommand): 
	(setValgrindCommand): 
	* src/org/eclipse/linuxtools/valgrind/launch/ValgrindOptionsTab.java (getMainStackSizeButton): Created getter.
	(getMaxStackFrameSpinner): Likewise.
	(getNumCallersSpinner): Likewise.
	(loadDynamicTab): Renamed from getDynamicTab.
	(getShowBelowMainButton): Created getter.
	(loadDynamicArea): Call loadDynamicTab.
	(getTraceChildrenButton): Created getter.
	(getRunFreeresButton): Likewise.
	(getErrorLimitButton): Likewise.
	(getTools): Likewise.
	(getToolsCombo): Likewise.
	(getMainStackSizeSpinner): Likewise.
	(getDemangleButton): Likewise.
	(getChildSilentButton): Likewise.
	(getSuppFileText): Likewise.
	(getDynamicTab): Likewise.

2009-06-22  Elliott Baron  <ebaron@redhat.com>

	* messages.properties: New key.
	* ValgrindLaunchConfigurationDelegate.java (launch): Perform version check.
	* ValgrindLaunchPlugin.java (getValgrindVersion): Compare installed Valgrind
	version to minimum supported version.

2009-05-28  Elliott Baron  <ebaron@redhat.com>

	* ValgrindLaunchPlugin.java (findValgrindVersion): Call findValgrindLocation first if necessary.

2009-05-27  Elliott Baron  <ebaron@redhat.com>

	* ValgrindLaunchPlugin.java (setValgrindLocation): Setter for use by test suite.
	(setValgrindVersion): Likewise.
	(findValgrindLocation): Made into private helper.
	(findValgrindVersion): Likewise.
	(getValgrindLocation): Use instead of find*.
	(getValgrindVersion): Likewise.
	* ValgrindLaunchConfigurationDelegate.java: Changed for above.
	* ValgrindOptionsTab.java: Likewise. 

2009-05-26  Elliott Baron  <ebaron@redhat.com>

	* messages.properties: New key.
	* ValgrindLaunchConfigurationDelegate.java (getValgrindArgumentsArray): Support for --main-stacksize.
	* ValgrindLaunchPlugin.java (findValgrindVersion): Remove path arg, call findValgrindLocation
	if necessary.
	* ValgrindOptionsTab.java: Support for --main-stacksize.

2009-05-22  Elliott Baron  <ebaron@redhat.com>

	#275685
	* ValgrindLaunchPlugin.java (findValgrindVersion): Version parsing fixed on Debian distros.

2009-04-30  Elliott Baron  <ebaron@redhat.com>

	* META-INF/MANIFEST.MF: New deps.
	* plugin.properties: Marker moved from Memcheck plugin.
	* plugin.xml: Likewise.
	* ValgrindLaunchConfigurationDelegate.java: Parsing Valgrind logs and creating markers
	now done here.

2009-04-23  Elliott Baron  <ebaron@redhat.com>

	* plugin.xml: Removed unused extension.
	* ExportWizardConstants.java: Window title added.
	* messages.properties: New key, capitalized options in tab.
	* ValgrindExportWizard.java (init): Set window title. 
	* ValgrindOptionsTab.java: Moved suppressions to a new tab.

2009-04-03  Elliott Baron  <ebaron@redhat.com>

	* src/org/eclipse/linuxtools/valgrind/launch/ExportHandler.java: New file.
	* META-INF/MANIFEST.MF: 0.2.0 version.
	* plugin.xml: New extensions.
	* ValgrindExportWizardPage.java (createControl): Renaming.
	* ValgrindLaunchConfigurationDelegate.java (launch): Clear previous saved
	launch config/launch at beginning of method.
	(createNewProcess): Wrapper for creating a new IProcess.
	* ValgrindLaunchPlugin.java (setCurrentLaunchConfiguration): Renamed.
	(getCurrentLaunchConfiguration): Likewise.
	(getCurrentLaunch): Likewise.
	(setCurrentLaunch): Likewise.

2009-03-25  Elliott Baron  <ebaron@redhat.com>

	* icons/export_wiz.gif: New file.
	* ExportWizardConstants.java: New file.
	* ValgrindExportWizard.java: New file.
	* ValgrindExportWizardPage.java: New file.
	* META-INF/MANIFEST.MF: New deps.
	* plugin.properties: New strings.
	* plugin.xml: Added exportWizards extension and commands extension
	* messages.properties: New strings.
	* ValgrindLaunchConfigurationDelegate.java: Added handler for export command.
	* ValgrindLaunchPlugin.java: Store most recent launch config and launch.

2009-03-12  Elliott Baron  <ebaron@redhat.com>

	* messages.properties: Remove colons from checkboxes.
	* ValgrindOptionsTab.java: Use two columns, equal width.

2009-03-11  Elliott Baron  <ebaron@redhat.com>

	* ValgrindLaunchConfigurationDelegate.java:
	(launch): Use new findValgrindLocation method.
	(getPlugin): New method for subclassing.
	* ValgrindLaunchPlugin.java (findValgrindVersion): New method.
	(getValgrindCommand): New method for subclassing.
	(findValgrindLocation): New method.
	* ValgrindOptionsTab.java (handleToolChanged): Call recomputeSize.
	(createBasicOptions): New UI.
	(recomputeSize): New method.
	(createErrorOptions): New UI.
	(createControl): Find Valgrind version upon creation; use ScrolledComposite; redesigned UI.
	(isValid): Check version obtained correctly.
	(getDynamicTab): Call getPlugin() for subclassing.
	(createSuppressionsOption): New UI.

2009-02-27  Elliott Baron  <ebaron@redhat.com>

	* IValgrindOutputDirectoryProvider.java: Clarified comment.
	* ValgrindLaunchConfigurationDelegate.java: Ensure files to delete when cleaning
	output directory are not directories themselves.

2009-02-25  Elliott Baron  <ebaron@redhat.com>

	* IValgrindLaunchDelegate.java: Renamed launch to handleLaunch.
	* ValgrindLaunchConfigurationDelegate.java (handleValgrindError): Extracted.
	(getDynamicDelegate): Extracted.
	(launch): Various changes to facilitate subclassing.
	(getValgrindCommand): Extracted.

2009-02-20  Elliott Baron  <ebaron@redhat.com>

	* IValgrindOutputDirectoryProvider.java (getOutputPath): No longer responsible for
	creating/emptying directory. Simply return path.
	* ValgrindLaunchConfigurationDelegate.java (createDirectory): Receive role of above. 
	(setOutputPath): Stores output directory in LaunchConfiguration.
	(launch): Changes from above.
	* ValgrindOptionsTab.java: No longer sets output directory. Moved to delegate for
	compatibility with old Launch Configurations.
	* ValgrindOutputDirectoryProvider.java (getOutputPath): Changes from interface. 

2009-02-12  Elliott Baron  <ebaron@redhat.com>

	* schema/org.eclipse.linuxtools.valgrind.launch.valgrindTools.exsd: Renamed.
	* schema/outputDirectoryProviders.exsd: New file.
	* schema/valgrindTools.exsd: New file.
	* IValgrindOutputDirectoryProvider.java: New file.
	* ValgrindOutputDirectoryProvider.java: New file.
	* META-INF/MANIFEST.MF: Removed core.util import.
	* plugin.properties: New key for new extension point.
	* plugin.xml: New extension point for output directory handling.
	* IValgrindLaunchDelegate.java: Passing ValgrindCommand removed.
	* messages.properties: New keys.
	* ValgrindLaunchConfigurationDelegate.java
	(verifyOutputPath): Retrieve path for output directory, optionally from extension point.
	(launch): New output directory handling, store command line in IProcess, removed passing
	of ValgrindCommand to tool extension.
	* ValgrindLaunchPlugin.java (getOutputDirectoryProvider): Retrieve path for output directory,
	optionally from extension point.
	* ValgrindLaunchShortcut.java: Update with refactored constants.
	* ValgrindOptionsTab.java
	(setDefaults): Refactoring.
	(performApply): Likewise.
	(initializeFrom): Likewise.
	(createToolCombo): Switch toolsCombo from SelectionListener to ModifyListener. 
	(setOutputDirectory): Store output directory in launch config.

2009-02-02  Elliott Baron  <ebaron@redhat.com>

	* ValgrindLaunchConfigurationDelegate: Use DebugUITools to retrieve IProcess'
	console. 

2009-01-05  Elliott Baron  <ebaron@redhat.com>

	* ValgrindLaunchConfigurationDelegate: Graceful handling for absence of
	Valgrind. Also Valgrind view will display the absolute path of valgrind
	that was launched.
	* messages.properties: New key.

2009-01-05  Elliott Baron  <ebaron@redhat.com>

	* META-INF/MANIFEST.MF: Changed version to 0.1.0.
	* build.properties: Include about.html and icons.
