# Debugging options for org.eclipse.jpt.jpa.ui plug-in

# Turn on debugging for the org.eclipse.jpt.jpa.ui plugin.
org.eclipse.jpt.jpa.ui/debug=false

# Turn on debugging for unit-tests
org.eclipse.jpt.jpa.ui/debug/unit-tests=false

# Turn on debugging for events occurring in the UI panes
org.eclipse.jpt.jpa.ui/debug/ui/layout=false
org.eclipse.jpt.jpa.ui/debug/ui/detailsView=false

# Turn on debugging for events coming from ConnectionProfile
org.eclipse.jpt.jpa.ui/debug/ui/db=false
