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.