diff options
13 files changed, 487 insertions, 1088 deletions
diff --git a/plugins/org.eclipse.emf.cdo.ui/CDO UI.launch b/plugins/org.eclipse.emf.cdo.ui/CDO UI.launch index 130e1220da..316fcc6446 100644 --- a/plugins/org.eclipse.emf.cdo.ui/CDO UI.launch +++ b/plugins/org.eclipse.emf.cdo.ui/CDO UI.launch @@ -38,22 +38,22 @@ <mapEntry key="org.eclipse.ui/trace/contexts" value="false"/> <mapEntry key="org.eclipse.wst.common.environment/trace/error" value="true"/> <mapEntry key="org.eclipse.debug.ui/debug/viewers/updateSequence" value="false"/> -<mapEntry key="org.eclipse.wst.common.environment/trace/warning" value="true"/> <mapEntry key="org.eclipse.emf.validation/debug/exceptions/throwing" value="false"/> +<mapEntry key="org.eclipse.wst.common.environment/trace/warning" value="true"/> <mapEntry key="org.eclipse.osgi/trace/filename" value="runtime.traces"/> <mapEntry key="org.eclipse.wst.sse.ui/extendededitoractionbuilder" value="false"/> -<mapEntry key="org.eclipse.jdt.core/debug" value="true"/> -<mapEntry key="org.eclipse.wst.sse.ui/actioncontributor/debugstatusfields" value="true"/> <mapEntry key="org.eclipse.debug.ui/debug/contextlaunching" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/actioncontributor/debugstatusfields" value="true"/> +<mapEntry key="org.eclipse.jdt.core/debug" value="true"/> <mapEntry key="org.eclipse.osgi/eclipseadaptor/debug" value="false"/> <mapEntry key="org.eclipse.net4j.tcp/debug" value="true"/> <mapEntry key="org.eclipse.team.cvs.core/dirtycaching" value="false"/> <mapEntry key="org.eclipse.emf.cdo.server/debug.repository" value="true"/> <mapEntry key="org.eclipse.jdt.core/debug/javamodel" value="false"/> -<mapEntry key="org.eclipse.wst.sse.ui/contentOutline" value="false"/> <mapEntry key="org.eclipse.emf.ocl/debug/exceptions/throwing" value="false"/> -<mapEntry key="org.eclipse.wst.sse.ui/preferences-properties" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/contentOutline" value="false"/> <mapEntry key="org.eclipse.wtp.common/debug/logtrace" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/preferences-properties" value="false"/> <mapEntry key="org.eclipse.ui.intro/trace/printHTML" value="false"/> <mapEntry key="org.eclipse.emf.query.ocl/debug" value="true"/> <mapEntry key="org.eclipse.ltk.core.refactoring/perf/participants/createChanges" value="300"/> @@ -61,39 +61,39 @@ <mapEntry key="org.eclipse.net4j.util/debug.lifecycle.dump" value="true"/> <mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPerspectiveListener" value="false"/> <mapEntry key="org.eclipse.emf.cdo/debug.util" value="true"/> -<mapEntry key="org.eclipse.osgi/resolver/debug" value="false"/> <mapEntry key="org.eclipse.wst.sse.ui/propertySheet" value="false"/> +<mapEntry key="org.eclipse.osgi/resolver/debug" value="false"/> <mapEntry key="org.eclipse.team.core/refreshjob" value="false"/> -<mapEntry key="org.eclipse.ui/debug" value="false"/> <mapEntry key="org.eclipse.update.core/debug/installhandler" value="false"/> +<mapEntry key="org.eclipse.ui/debug" value="false"/> <mapEntry key="org.eclipse.wtp.common/debug/loglevel" value="WARNING"/> <mapEntry key="org.eclipse.help.ui/debug/infopop" value="false"/> <mapEntry key="org.eclipse.pde.core/classpath" value="false"/> <mapEntry key="org.eclipse.team.cvs.core/threading" value="false"/> <mapEntry key="org.eclipse.equinox.preferences/general" value="false"/> <mapEntry key="org.eclipse.net4j.jms.server/debug.store" value="true"/> -<mapEntry key="org.eclipse.ui/trace/handlers.performance" value="false"/> <mapEntry key="org.eclipse.wst.sse.core/format" value="false"/> +<mapEntry key="org.eclipse.ui/trace/handlers.performance" value="false"/> <mapEntry key="org.eclipse.ocl/debug/evaluation" value="false"/> <mapEntry key="org.eclipse.ui/trace/operations.verbose" value="false"/> <mapEntry key="org.eclipse.emf.validation/debug/constraints" value="false"/> <mapEntry key="org.eclipse.osgi/trace/activation" value="false"/> <mapEntry key="org.eclipse.ocl/debug/exceptions/catching" value="false"/> <mapEntry key="org.eclipse.debug.core/debug/commands" value="false"/> -<mapEntry key="org.eclipse.ui/perf/workbench.restore" value="30000"/> <mapEntry key="org.eclipse.team.core/threading" value="false"/> +<mapEntry key="org.eclipse.ui/perf/workbench.restore" value="30000"/> <mapEntry key="org.eclipse.wst.sse.core/structureddocument" value="false"/> <mapEntry key="org.eclipse.net4j.util/perf" value="false"/> <mapEntry key="org.eclipse.emf.transaction/debug/methods/exiting" value="false"/> <mapEntry key="org.eclipse.update.core/debug/parsing" value="false"/> -<mapEntry key="org.eclipse.emf.cdo.protocol/debug.protocol" value="true"/> <mapEntry key="org.eclipse.jdt.core/debug/postaction" value="false"/> +<mapEntry key="org.eclipse.emf.cdo.protocol/debug.protocol" value="true"/> <mapEntry key="org.eclipse.ocl/debug" value="true"/> <mapEntry key="org.eclipse.ui/trace/graphics" value="false"/> <mapEntry key="org.eclipse.osgi/defaultprofile/logsynchronously" value="false"/> <mapEntry key="org.eclipse.net4j.db/debug" value="true"/> -<mapEntry key="org.eclipse.emf.query/debug/exceptions/throwing" value="false"/> <mapEntry key="org.eclipse.wst.common.environment/trace/ws_dt_cmd_engine" value="true"/> +<mapEntry key="org.eclipse.emf.query/debug/exceptions/throwing" value="false"/> <mapEntry key="org.eclipse.osgi/monitor/activation" value="false"/> <mapEntry key="org.eclipse.net4j.jms/debug.protocol" value="true"/> <mapEntry key="org.eclipse.wst.sse.ui/gotoNextAnnotation" value="false"/> @@ -101,8 +101,8 @@ <mapEntry key="org.eclipse.debug.ui/debug" value="false"/> <mapEntry key="org.eclipse.jdt.core/debug/buffermanager" value="false"/> <mapEntry key="org.eclipse.help.base/debug/search" value="false"/> -<mapEntry key="org.eclipse.jface.text/debug/ContentAssistSubjectAdapters" value="false"/> <mapEntry key="org.eclipse.pde.build/debug" value="false"/> +<mapEntry key="org.eclipse.jface.text/debug/ContentAssistSubjectAdapters" value="false"/> <mapEntry key="org.eclipse.wst.common.environment/trace/ws_ant" value="true"/> <mapEntry key="org.eclipse.jdt.ui/perf/search/participants" value="300"/> <mapEntry key="org.eclipse.emf.validation/debug/parsers" value="false"/> @@ -111,13 +111,13 @@ <mapEntry key="org.eclipse.ui/perf/perspective.create" value="800"/> <mapEntry key="org.eclipse.update.core/debug/type" value="false"/> <mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/platformadmin" value="false"/> -<mapEntry key="org.eclipse.emf.workspace/debug/methods/exiting" value="false"/> -<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPropertyChangeListener" value="false"/> <mapEntry key="org.eclipse.osgi/resolver/generics" value="false"/> +<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPropertyChangeListener" value="false"/> +<mapEntry key="org.eclipse.emf.workspace/debug/methods/exiting" value="false"/> <mapEntry key="org.eclipse.wst.common.project.facet.core/actionSorting" value="false"/> <mapEntry key="org.eclipse.osgi/resolver/requires" value="false"/> -<mapEntry key="org.eclipse.emf.workspace/debug/exceptions/throwing" value="false"/> <mapEntry key="org.eclipse.core.resources/refresh" value="false"/> +<mapEntry key="org.eclipse.emf.workspace/debug/exceptions/throwing" value="false"/> <mapEntry key="org.eclipse.jdt.core/perf/containerinitializer" value="5000"/> <mapEntry key="org.eclipse.osgi/profile/benchmark" value="false"/> <mapEntry key="org.eclipse.help.webapp/debug" value="true"/> @@ -128,14 +128,14 @@ <mapEntry key="org.eclipse.ui/trace/handlers" value="false"/> <mapEntry key="org.eclipse.ui/trace/contexts.performance" value="false"/> <mapEntry key="org.eclipse.jem.util/debug/logtrace" value="false"/> -<mapEntry key="org.eclipse.team.cvs.core/metafiles" value="false"/> <mapEntry key="org.eclipse.jdt.core/perf/completion" value="300"/> +<mapEntry key="org.eclipse.team.cvs.core/metafiles" value="false"/> <mapEntry key="org.eclipse.osgi/profile/startup" value="false"/> <mapEntry key="org.eclipse.core.jobs/jobs" value="false"/> <mapEntry key="org.eclipse.wst.sse.ui/debug" value="true"/> -<mapEntry key="org.eclipse.core.resources/perf/save.participants" value="500"/> -<mapEntry key="org.eclipse.emf.query.ocl/debug/exceptions/throwing" value="false"/> <mapEntry key="org.eclipse.wst.common.environment/trace/info" value="true"/> +<mapEntry key="org.eclipse.emf.query.ocl/debug/exceptions/throwing" value="false"/> +<mapEntry key="org.eclipse.core.resources/perf/save.participants" value="500"/> <mapEntry key="org.eclipse.net4j/perf" value="false"/> <mapEntry key="org.eclipse.help.base/debug" value="true"/> <mapEntry key="org.eclipse.net4j/debug" value="true"/> @@ -153,11 +153,11 @@ <mapEntry key="org.eclipse.core.resources/contenttype/cache" value="false"/> <mapEntry key="org.eclipse.emf.cdo/debug.repository" value="true"/> <mapEntry key="org.eclipse.wst.sse.ui/extendedconfigurationbuilder" value="false"/> -<mapEntry key="org.eclipse.update.core/debug/configuration" value="false"/> <mapEntry key="org.eclipse.core.jobs/jobs/locks" value="false"/> +<mapEntry key="org.eclipse.update.core/debug/configuration" value="false"/> <mapEntry key="org.eclipse.wst.xml.core/debug/cmdocumentmanager" value="false"/> -<mapEntry key="org.eclipse.ui/trace/handlers.verbose.commandId" value=""/> <mapEntry key="org.eclipse.core.runtime/url/debug/connect" value="false"/> +<mapEntry key="org.eclipse.ui/trace/handlers.verbose.commandId" value=""/> <mapEntry key="org.eclipse.ui.ide/debug" value="false"/> <mapEntry key="org.eclipse.osgi/profile/debug" value="false"/> <mapEntry key="org.eclipse.pde.core/debug" value="true"/> @@ -166,17 +166,17 @@ <mapEntry key="org.eclipse.net4j.util/debug.registry" value="true"/> <mapEntry key="org.eclipse.jdt.ui/perf/explorer/createPartControl" value="1300"/> <mapEntry key="org.eclipse.jdt.core/debug/hierarchy" value="false"/> -<mapEntry key="org.eclipse.jdt.core/perf/variableinitializer" value="5000"/> -<mapEntry key="org.eclipse.emf.cdo/debug.object" value="false"/> <mapEntry key="org.eclipse.ui.ide/debug/internalerror/openDialog" value="false"/> +<mapEntry key="org.eclipse.emf.cdo/debug.object" value="false"/> +<mapEntry key="org.eclipse.jdt.core/perf/variableinitializer" value="5000"/> <mapEntry key="org.eclipse.emf.cdo.server/debug.revision" value="true"/> <mapEntry key="org.eclipse.core.resources/strings" value="false"/> <mapEntry key="org.eclipse.jdt.core/debug/sourcemapper" value="false"/> <mapEntry key="org.eclipse.core.resources/save/mastertable" value="false"/> <mapEntry key="org.eclipse.core.expressions/tracePropertyResolving" value="false"/> -<mapEntry key="org.eclipse.core.resources/preferences" value="false"/> -<mapEntry key="org.eclipse.jdt.core/debug/javadelta" value="false"/> <mapEntry key="org.eclipse.ui/perf/showHeapStatus" value="true"/> +<mapEntry key="org.eclipse.jdt.core/debug/javadelta" value="false"/> +<mapEntry key="org.eclipse.core.resources/preferences" value="false"/> <mapEntry key="org.eclipse.jdt.core/debug/selection" value="false"/> <mapEntry key="org.eclipse.emf.workspace/debug" value="true"/> <mapEntry key="org.eclipse.jdt.ui/perf/content_assist_sorters/extensions" value=""/> @@ -190,25 +190,25 @@ <mapEntry key="org.eclipse.emf.transaction/debug/transactions" value="false"/> <mapEntry key="org.eclipse.ocl/debug/parsing" value="false"/> <mapEntry key="org.eclipse.update.core/debug" value="true"/> -<mapEntry key="org.eclipse.osgi/debug/security" value="false"/> <mapEntry key="org.eclipse.wst.sse.core/tasks/preferences" value="false"/> -<mapEntry key="org.eclipse.core.resources/restore/metainfo" value="false"/> +<mapEntry key="org.eclipse.osgi/debug/security" value="false"/> <mapEntry key="org.eclipse.core.resources/build/needbuild" value="false"/> +<mapEntry key="org.eclipse.core.resources/restore/metainfo" value="false"/> <mapEntry key="org.eclipse.core.resources/perf/builders" value="10000"/> -<mapEntry key="org.eclipse.ui/perf/perspective.listeners" value="200"/> <mapEntry key="org.eclipse.net4j.jms.admin/debug.protocol" value="true"/> +<mapEntry key="org.eclipse.ui/perf/perspective.listeners" value="200"/> <mapEntry key="org.eclipse.ui/debug/showAllJobs" value="false"/> <mapEntry key="org.eclipse.core.resources/history" value="false"/> <mapEntry key="org.eclipse.wst.sse.ui/propertyChangeUpdateActionContributionItem" value="false"/> <mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPartListener" value="false"/> <mapEntry key="org.eclipse.jdt.core/debug/search" value="false"/> -<mapEntry key="org.eclipse.team.cvs.core/cvsprotocol" value="true"/> <mapEntry key="org.eclipse.pde.core/validation" value="false"/> +<mapEntry key="org.eclipse.team.cvs.core/cvsprotocol" value="true"/> <mapEntry key="org.eclipse.wst.sse.ui/extendededitoractionbuilder/readtime" value="false"/> <mapEntry key="org.eclipse.jface.text/debug/AnnotationPainter" value="false"/> <mapEntry key="org.eclipse.core.resources/restore/mastertable" value="false"/> -<mapEntry key="org.eclipse.wst.sse.core/tasks" value="false"/> <mapEntry key="org.eclipse.core.runtime/debug" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/tasks" value="false"/> <mapEntry key="org.eclipse.equinox.preferences/set" value="false"/> <mapEntry key="org.eclipse.core.resources/restore/snapshots" value="false"/> <mapEntry key="org.eclipse.ui/perf/perspective.switch" value="800"/> @@ -221,16 +221,16 @@ <mapEntry key="org.eclipse.core.runtime/url/debug/cachecopy" value="false"/> <mapEntry key="org.eclipse.core.runtime/perf/success" value="false"/> <mapEntry key="org.eclipse.net4j/debug.connector" value="true"/> -<mapEntry key="org.eclipse.wst.dtd.ui/projectionperf" value="false"/> <mapEntry key="org.eclipse.jdt.core/perf/selection" value="300"/> +<mapEntry key="org.eclipse.wst.dtd.ui/projectionperf" value="false"/> <mapEntry key="org.eclipse.osgi/debug/startlevel" value="false"/> <mapEntry key="org.eclipse.ocl/debug/methods/entering" value="false"/> <mapEntry key="org.eclipse.core.resources/restore" value="false"/> <mapEntry key="org.eclipse.osgi/resolver/wiring" value="false"/> <mapEntry key="org.eclipse.core.resources/perf/snapshot" value="1000"/> <mapEntry key="org.eclipse.ui.intro/trace/logPerformance" value="false"/> -<mapEntry key="org.eclipse.ui/trace/contexts.verbose" value="false"/> <mapEntry key="org.eclipse.osgi/debug/loader" value="false"/> +<mapEntry key="org.eclipse.ui/trace/contexts.verbose" value="false"/> <mapEntry key="org.eclipse.osgi/resolver/grouping" value="false"/> <mapEntry key="org.eclipse.wst.sse.ui/debug/reconcilerjob" value="false"/> <mapEntry key="org.eclipse.jdt.ui/perf/explorer/makeActions" value="1000"/> @@ -246,11 +246,11 @@ <mapEntry key="org.eclipse.emf.validation/debug/cache" value="false"/> <mapEntry key="org.eclipse.update.core/debug/install" value="false"/> <mapEntry key="org.eclipse.equinox.registry/debug/events" value="false"/> -<mapEntry key="org.eclipse.help/debug/protocols" value="false"/> <mapEntry key="org.eclipse.core.resources/save/metainfo" value="false"/> +<mapEntry key="org.eclipse.help/debug/protocols" value="false"/> <mapEntry key="org.eclipse.net4j.util/debug.lifecycle" value="true"/> -<mapEntry key="org.eclipse.emf.validation/debug/methods/entering" value="false"/> <mapEntry key="org.eclipse.ui/perf/contentTypes" value="200"/> +<mapEntry key="org.eclipse.emf.validation/debug/methods/entering" value="false"/> <mapEntry key="org.eclipse.help.ui/debug/embeddedBrowser/inprocess" value="false"/> <mapEntry key="org.eclipse.jdt.core/perf/javadeltalistener" value="500"/> <mapEntry key="org.eclipse.core.resources/perf/listeners" value="500"/> @@ -264,8 +264,8 @@ <mapEntry key="org.eclipse.wst.sse.ui/debug/reconcilerValidators" value="false"/> <mapEntry key="org.eclipse.emf.validation/debug/xml" value="false"/> <mapEntry key="org.eclipse.osgi/debug/manifest" value="false"/> -<mapEntry key="org.eclipse.ui/trace/multipageeditor" value="false"/> <mapEntry key="org.eclipse.emf.cdo/debug" value="true"/> +<mapEntry key="org.eclipse.ui/trace/multipageeditor" value="false"/> <mapEntry key="org.eclipse.emf.cdo.ui/debug" value="true"/> <mapEntry key="org.eclipse.emf.workspace/debug/exceptions/catching" value="false"/> <mapEntry key="org.eclipse.core.resources/build/needbuildstack" value="false"/> @@ -281,23 +281,23 @@ <mapEntry key="org.eclipse.osgi/trace/classLoading" value="false"/> <mapEntry key="org.eclipse.net4j.jms.server.jdbc/debug" value="true"/> <mapEntry key="org.eclipse.wst.xml.ui/projectionperf" value="false"/> -<mapEntry key="org.eclipse.core.jobs/jobs/errorondeadlock" value="false"/> <mapEntry key="org.eclipse.core.resources/save" value="false"/> +<mapEntry key="org.eclipse.core.jobs/jobs/errorondeadlock" value="false"/> <mapEntry key="org.eclipse.emf.transaction/debug/exceptions/throwing" value="false"/> <mapEntry key="org.eclipse.core.resources/contenttype" value="false"/> -<mapEntry key="org.eclipse.jem.util/debug/loglevel" value="WARNING"/> <mapEntry key="org.eclipse.jface.text/debug/FastPartitioner/PositionCache" value="false"/> +<mapEntry key="org.eclipse.jem.util/debug/loglevel" value="WARNING"/> <mapEntry key="org.eclipse.emf.validation/debug/exceptions/catching" value="false"/> -<mapEntry key="org.eclipse.jdt.core/debug/compiler" value="false"/> <mapEntry key="org.eclipse.emf.cdo.server/debug" value="true"/> +<mapEntry key="org.eclipse.jdt.core/debug/compiler" value="false"/> <mapEntry key="org.eclipse.osgi/debug/events" value="false"/> <mapEntry key="org.eclipse.ui/trace/commands" value="false"/> <mapEntry key="org.eclipse.equinox.preferences/get" value="false"/> <mapEntry key="org.eclipse.wst.sse.ui/filemodelprovider/operations" value="false"/> <mapEntry key="org.eclipse.jdt.ui/debug/ResultCollector" value="false"/> <mapEntry key="org.eclipse.debug.ui/debug/launchhistory" value="false"/> -<mapEntry key="org.eclipse.net4j.util/debug.om" value="true"/> <mapEntry key="org.eclipse.wst.sse.ui/extendededitoractionbuilder/contributetime" value="false"/> +<mapEntry key="org.eclipse.net4j.util/debug.om" value="true"/> <mapEntry key="org.eclipse.net4j.jms.server/debug" value="true"/> <mapEntry key="org.eclipse.emf.workspace/debug/methods/entering" value="false"/> <mapEntry key="org.eclipse.emf.query.ocl/debug/methods/entering" value="false"/> @@ -309,8 +309,8 @@ <mapEntry key="org.eclipse.ui.intro/debug" value="true"/> <mapEntry key="org.eclipse.emf.transaction/debug/locking" value="false"/> <mapEntry key="org.eclipse.jdt.core/debug/cpresolution/advanced" value="false"/> -<mapEntry key="org.eclipse.net4j.jms/debug" value="true"/> <mapEntry key="org.eclipse.emf.validation/debug/providers" value="false"/> +<mapEntry key="org.eclipse.net4j.jms/debug" value="true"/> <mapEntry key="org.eclipse.osgi/eclipseadaptor/converter/debug" value="false"/> <mapEntry key="org.eclipse.emf.cdo.server/debug.resource" value="true"/> <mapEntry key="org.eclipse.pde.core/cache" value="false"/> @@ -318,16 +318,16 @@ <mapEntry key="org.eclipse.wst.sse.ui/extendedconfigurationbuilder/time" value="false"/> <mapEntry key="org.eclipse.wst.sse.core/tasks/time" value="false"/> <mapEntry key="org.eclipse.emf.cdo/debug.transaction" value="true"/> -<mapEntry key="org.eclipse.wst.sse.ui/filemodelprovider/lifecyclelistener" value="false"/> <mapEntry key="org.eclipse.emf.query/debug/methods/exiting" value="false"/> -<mapEntry key="org.eclipse.debug.core/debug/events" value="false"/> +<mapEntry key="org.eclipse.wst.sse.ui/filemodelprovider/lifecyclelistener" value="false"/> <mapEntry key="org.eclipse.net4j/debug.selector" value="true"/> +<mapEntry key="org.eclipse.debug.core/debug/events" value="false"/> <mapEntry key="org.eclipse.jdt.ui/debug" value="true"/> -<mapEntry key="org.eclipse.net4j.db/debug.sql" value="true"/> -<mapEntry key="org.eclipse.wst.sse.core/filebuffers/modelmanagement" value="false"/> <mapEntry key="org.eclipse.osgi/monitor/classes" value="false"/> -<mapEntry key="org.eclipse.ui/perf/part.input" value="200"/> +<mapEntry key="org.eclipse.wst.sse.core/filebuffers/modelmanagement" value="false"/> +<mapEntry key="org.eclipse.net4j.db/debug.sql" value="true"/> <mapEntry key="org.eclipse.wst.sse.ui/debug/tracefilter" value=""/> +<mapEntry key="org.eclipse.ui/perf/part.input" value="200"/> <mapEntry key="org.eclipse.wtp.common/debug/logtracefile" value="false"/> <mapEntry key="org.eclipse.emf.query/debug" value="true"/> <mapEntry key="org.eclipse.ui.intro.universal/debug" value="true"/> @@ -343,11 +343,11 @@ <mapEntry key="org.eclipse.jdt.core.manipulation/debug" value="true"/> <mapEntry key="org.eclipse.net4j.jms.admin/debug" value="true"/> <mapEntry key="org.eclipse.jdt.core/debug/cpresolution" value="false"/> -<mapEntry key="org.eclipse.wst.common.project.facet.core/activation" value="false"/> <mapEntry key="org.eclipse.help.ui/debug/embeddedBrowser" value="false"/> +<mapEntry key="org.eclipse.wst.common.project.facet.core/activation" value="false"/> <mapEntry key="org.eclipse.team.cvs.ssh/ssh_protocol" value="false"/> -<mapEntry key="org.eclipse.core.resources/build/stacktrace" value="false"/> <mapEntry key="org.eclipse.ui/perf/part.create" value="800"/> +<mapEntry key="org.eclipse.core.resources/build/stacktrace" value="false"/> <mapEntry key="org.eclipse.ui.intro/trace/logInfo" value="true"/> <mapEntry key="org.eclipse.team.core/streams" value="false"/> <mapEntry key="org.eclipse.ui.ide/debug/undomonitor" value="false"/> @@ -355,11 +355,11 @@ <mapEntry key="org.eclipse.ui/experimental/menus" value="false"/> <mapEntry key="org.eclipse.core.jobs/jobs/shutdown" value="false"/> <mapEntry key="org.eclipse.osgi/debug/packageadmin" value="false"/> -<mapEntry key="org.eclipse.net4j.container.ui/debug" value="true"/> <mapEntry key="org.eclipse.emf.cdo/debug.session" value="true"/> +<mapEntry key="org.eclipse.net4j.container.ui/debug" value="true"/> <mapEntry key="org.eclipse.core.runtime/compatibility/debug" value="false"/> -<mapEntry key="org.eclipse.emf.cdo/debug.adapter" value="true"/> <mapEntry key="org.eclipse.wst.sse.ui/storagemodelprovider/operations" value="false"/> +<mapEntry key="org.eclipse.emf.cdo/debug.adapter" value="true"/> <mapEntry key="org.eclipse.ui/debug/declaredImages" value="false"/> <mapEntry key="org.eclipse.update.core/debug/reconciler" value="false"/> <mapEntry key="org.eclipse.ui.ide/debug/gc" value="false"/> @@ -369,36 +369,36 @@ <mapEntry key="org.eclipse.net4j.db.mysql/debug.sql" value="true"/> <mapEntry key="org.eclipse.ui.workbench/debug" value="false"/> <mapEntry key="org.eclipse.jdt.ui/perf/content_assist/extensions" value="1000"/> -<mapEntry key="org.eclipse.osgi/debug/filter" value="false"/> <mapEntry key="org.eclipse.emf.cdo.protocol/debug.model" value="true"/> +<mapEntry key="org.eclipse.osgi/debug/filter" value="false"/> <mapEntry key="org.eclipse.debug.core/debug" value="false"/> <mapEntry key="org.eclipse.core.resources/debug" value="false"/> <mapEntry key="org.eclipse.jdt.core/debug/zipaccess" value="false"/> <mapEntry key="org.eclipse.jem.util/debug/logtracefile" value="false"/> <mapEntry key="org.eclipse.ui.browser/debug" value="false"/> <mapEntry key="org.eclipse.osgi/profile/impl" value="org.eclipse.osgi.internal.profile.DefaultProfileLogger"/> -<mapEntry key="org.eclipse.net4j.jms.server/debug.protocol" value="true"/> <mapEntry key="org.eclipse.update.core/debug/web" value="false"/> +<mapEntry key="org.eclipse.net4j.jms.server/debug.protocol" value="true"/> <mapEntry key="org.eclipse.team.cvs.core/debug" value="false"/> <mapEntry key="org.eclipse.help/debug" value="true"/> <mapEntry key="org.eclipse.core.runtime/perf" value="false"/> <mapEntry key="org.eclipse.osgi/trace/filters" value="trace.properties"/> -<mapEntry key="org.eclipse.emf.ocl/debug/methods/entering" value="false"/> <mapEntry key="org.eclipse.wst.sse.core/dom/adapter/notification/time" value="false"/> +<mapEntry key="org.eclipse.emf.ocl/debug/methods/entering" value="false"/> <mapEntry key="org.eclipse.net4j/debug.channel" value="true"/> <mapEntry key="org.eclipse.emf.cdo/debug.revision" value="true"/> <mapEntry key="org.eclipse.emf.cdo/debug.view" value="true"/> <mapEntry key="org.eclipse.ui/perf/part.listeners" value="200"/> <mapEntry key="org.eclipse.debug.ui/debug/viewers/viewer" value="false"/> -<mapEntry key="org.eclipse.wst.sse.core/dom/adapter/notification/time/criteria" value="10"/> <mapEntry key="org.eclipse.ui/trace/keyBindings.verbose" value="false"/> +<mapEntry key="org.eclipse.wst.sse.core/dom/adapter/notification/time/criteria" value="10"/> <mapEntry key="org.eclipse.wst.common.environment/trace/data" value="true"/> -<mapEntry key="org.eclipse.osgi/defaultprofile/buffersize" value="256"/> <mapEntry key="org.eclipse.core.resources/restore/syncinfo" value="false"/> -<mapEntry key="org.eclipse.team.cvs.core/syncchangeevents" value="false"/> +<mapEntry key="org.eclipse.osgi/defaultprofile/buffersize" value="256"/> <mapEntry key="org.eclipse.ui/perf/page.listeners" value="200"/> -<mapEntry key="org.eclipse.ocl/debug/exceptions/throwing" value="false"/> +<mapEntry key="org.eclipse.team.cvs.core/syncchangeevents" value="false"/> <mapEntry key="org.eclipse.emf.cdo.protocol/debug" value="true"/> +<mapEntry key="org.eclipse.ocl/debug/exceptions/throwing" value="false"/> <mapEntry key="org.eclipse.emf.cdo/debug.resource" value="true"/> <mapEntry key="org.eclipse.wst.sse.core/debug" value="true"/> <mapEntry key="org.eclipse.ui/trace/handlers.verbose" value="false"/> @@ -418,16 +418,16 @@ <mapEntry key="org.eclipse.core.runtime/url/debug" value="false"/> <mapEntry key="org.eclipse.osgi/resolver/cycles" value="false"/> <mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPartListener" value="false"/> -<mapEntry key="org.eclipse.wst.sse.core/filebuffers/lifecycle" value="false"/> <mapEntry key="org.eclipse.wst.sse.core/structuredmodel/locks" value="true"/> +<mapEntry key="org.eclipse.wst.sse.core/filebuffers/lifecycle" value="false"/> <mapEntry key="org.eclipse.jdt.core/debug/resolution" value="false"/> <mapEntry key="org.eclipse.wst.common.environment/debug" value="true"/> <mapEntry key="org.eclipse.update.configurator/debug" value="false"/> -<mapEntry key="org.eclipse.help.ui/debug" value="true"/> <mapEntry key="org.eclipse.debug.ui/debug/viewers/deltas" value="false"/> +<mapEntry key="org.eclipse.help.ui/debug" value="true"/> <mapEntry key="org.eclipse.emf.query.ocl/debug/methods/exiting" value="false"/> -<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/location" value="false"/> <mapEntry key="org.eclipse.ocl/debug/methods/exiting" value="false"/> +<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/location" value="false"/> <mapEntry key="org.eclipse.wst.sse.ui/debug/reconcilerSpelling" value="false"/> <mapEntry key="org.eclipse.emf.transaction/debug/methods/entering" value="false"/> <mapEntry key="org.eclipse.ui.intro.universal/trace/logInfo" value="true"/> diff --git a/plugins/org.eclipse.net4j.ui/plugin.xml b/plugins/org.eclipse.net4j.ui/plugin.xml index 37029fd67f..355dbbf74c 100644 --- a/plugins/org.eclipse.net4j.ui/plugin.xml +++ b/plugins/org.eclipse.net4j.ui/plugin.xml @@ -11,16 +11,22 @@ </category> <view category="org.eclipse.net4j.ui" + class="org.eclipse.net4j.ui.widgets.HistoryView" + id="org.eclipse.net4j.ui.views.HistoryView" + name="History"> + </view> + <view + category="org.eclipse.net4j.ui" class="org.eclipse.net4j.internal.ui.views.AcceptorsView" icon="icons/full/view16/acceptors.gif" - id="org.eclipse.net4j.internal.ui.views.AcceptorsView" + id="org.eclipse.net4j.ui.AcceptorsView" name="Acceptors"> </view> <view category="org.eclipse.net4j.ui" class="org.eclipse.net4j.internal.ui.views.ConnectorsView" icon="icons/full/view16/connectors.gif" - id="org.eclipse.net4j.internal.ui.views.ConnectorsView" + id="org.eclipse.net4j.ui.ConnectorsView" name="Connectors"> </view> </extension> diff --git a/plugins/org.eclipse.net4j.ui/src/org/eclipse/net4j/internal/ui/bundle/OM.java b/plugins/org.eclipse.net4j.ui/src/org/eclipse/net4j/internal/ui/bundle/OM.java index 590c02f1ab..6e33616710 100644 --- a/plugins/org.eclipse.net4j.ui/src/org/eclipse/net4j/internal/ui/bundle/OM.java +++ b/plugins/org.eclipse.net4j.ui/src/org/eclipse/net4j/internal/ui/bundle/OM.java @@ -14,6 +14,8 @@ import org.eclipse.net4j.util.om.OMBundle; import org.eclipse.net4j.util.om.OMPlatform; import org.eclipse.net4j.util.om.OSGiActivator; import org.eclipse.net4j.util.om.log.OMLogger; +import org.eclipse.net4j.util.om.pref.OMPreference; +import org.eclipse.net4j.util.om.pref.OMPreferences; import org.eclipse.net4j.util.om.trace.OMTracer; /** @@ -29,6 +31,10 @@ public abstract class OM public static final OMLogger LOG = BUNDLE.logger(); + public static final OMPreferences PREFS = BUNDLE.preferences(); + + public static final OMPreference<String[]> PREF_HISTORY = PREFS.initArray("history"); + /** * @author Eike Stepper */ diff --git a/plugins/org.eclipse.net4j.ui/src/org/eclipse/net4j/ui/UIUtil.java b/plugins/org.eclipse.net4j.ui/src/org/eclipse/net4j/ui/UIUtil.java new file mode 100644 index 0000000000..8358290b33 --- /dev/null +++ b/plugins/org.eclipse.net4j.ui/src/org/eclipse/net4j/ui/UIUtil.java @@ -0,0 +1,44 @@ +/*************************************************************************** + * Copyright (c) 2004 - 2007 Eike Stepper, Germany. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + **************************************************************************/ +package org.eclipse.net4j.ui; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Composite; + +/** + * @author Eike Stepper + */ +public final class UIUtil +{ + private UIUtil() + { + } + + public static Composite createGridComposite(Composite parent, int columns) + { + Composite composite = new Composite(parent, SWT.NONE); + composite.setLayout(createGridLayout(columns)); + return composite; + } + + public static GridLayout createGridLayout(int columns) + { + GridLayout layout = new GridLayout(); + layout.numColumns = columns; + layout.marginHeight = 0; + layout.marginWidth = 0; + layout.verticalSpacing = 0; + layout.horizontalSpacing = 0; + return layout; + } +} diff --git a/plugins/org.eclipse.net4j.ui/src/org/eclipse/net4j/ui/widgets/HistoryCombo.java b/plugins/org.eclipse.net4j.ui/src/org/eclipse/net4j/ui/widgets/HistoryCombo.java deleted file mode 100644 index db74758dca..0000000000 --- a/plugins/org.eclipse.net4j.ui/src/org/eclipse/net4j/ui/widgets/HistoryCombo.java +++ /dev/null @@ -1,1001 +0,0 @@ -/*************************************************************************** - * Copyright (c) 2004 - 2007 Eike Stepper, Germany. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Eike Stepper - initial API and implementation - **************************************************************************/ -package org.eclipse.net4j.ui.widgets; - -import org.eclipse.swt.SWT; -import org.eclipse.swt.accessibility.Accessible; -import org.eclipse.swt.custom.CCombo; -import org.eclipse.swt.events.ControlListener; -import org.eclipse.swt.events.DisposeListener; -import org.eclipse.swt.events.DragDetectListener; -import org.eclipse.swt.events.FocusListener; -import org.eclipse.swt.events.HelpListener; -import org.eclipse.swt.events.KeyListener; -import org.eclipse.swt.events.MenuDetectListener; -import org.eclipse.swt.events.ModifyListener; -import org.eclipse.swt.events.MouseEvent; -import org.eclipse.swt.events.MouseListener; -import org.eclipse.swt.events.MouseMoveListener; -import org.eclipse.swt.events.MouseTrackListener; -import org.eclipse.swt.events.MouseWheelListener; -import org.eclipse.swt.events.PaintListener; -import org.eclipse.swt.events.SelectionListener; -import org.eclipse.swt.events.TraverseListener; -import org.eclipse.swt.events.VerifyListener; -import org.eclipse.swt.graphics.Color; -import org.eclipse.swt.graphics.Cursor; -import org.eclipse.swt.graphics.Font; -import org.eclipse.swt.graphics.GCData; -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.graphics.Point; -import org.eclipse.swt.graphics.Rectangle; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.Event; -import org.eclipse.swt.widgets.Layout; -import org.eclipse.swt.widgets.Listener; -import org.eclipse.swt.widgets.Menu; -import org.eclipse.swt.widgets.Monitor; -import org.eclipse.swt.widgets.ScrollBar; -import org.eclipse.swt.widgets.Shell; - -/** - * @author Eike Stepper - */ -public class HistoryCombo extends Composite -{ - private CCombo combo; - - public HistoryCombo(Composite parent, int comboStyle) - { - super(parent, SWT.NONE); - combo = new CCombo(this, comboStyle); - } - - public CCombo getCombo() - { - return combo; - } - - public void add(String string, int index) - { - combo.add(string, index); - } - - public void add(String string) - { - combo.add(string); - } - - @Override - public void addControlListener(ControlListener listener) - { - combo.addControlListener(listener); - } - - @Override - public void addDisposeListener(DisposeListener listener) - { - combo.addDisposeListener(listener); - } - - @Override - public void addDragDetectListener(DragDetectListener listener) - { - combo.addDragDetectListener(listener); - } - - @Override - public void addFocusListener(FocusListener listener) - { - combo.addFocusListener(listener); - } - - @Override - public void addHelpListener(HelpListener listener) - { - combo.addHelpListener(listener); - } - - @Override - public void addKeyListener(KeyListener listener) - { - combo.addKeyListener(listener); - } - - @Override - public void addListener(int eventType, Listener listener) - { - combo.addListener(eventType, listener); - } - - @Override - public void addMenuDetectListener(MenuDetectListener listener) - { - combo.addMenuDetectListener(listener); - } - - public void addModifyListener(ModifyListener listener) - { - combo.addModifyListener(listener); - } - - @Override - public void addMouseListener(MouseListener listener) - { - combo.addMouseListener(listener); - } - - @Override - public void addMouseMoveListener(MouseMoveListener listener) - { - combo.addMouseMoveListener(listener); - } - - @Override - public void addMouseTrackListener(MouseTrackListener listener) - { - combo.addMouseTrackListener(listener); - } - - @Override - public void addMouseWheelListener(MouseWheelListener listener) - { - combo.addMouseWheelListener(listener); - } - - @Override - public void addPaintListener(PaintListener listener) - { - combo.addPaintListener(listener); - } - - public void addSelectionListener(SelectionListener listener) - { - combo.addSelectionListener(listener); - } - - @Override - public void addTraverseListener(TraverseListener listener) - { - combo.addTraverseListener(listener); - } - - public void addVerifyListener(VerifyListener listener) - { - combo.addVerifyListener(listener); - } - - @Override - public void changed(Control[] changed) - { - combo.changed(changed); - } - - public void clearSelection() - { - combo.clearSelection(); - } - - @Override - public Point computeSize(int hint, int hint2, boolean changed) - { - return combo.computeSize(hint, hint2, changed); - } - - @Override - public Point computeSize(int hint, int hint2) - { - return combo.computeSize(hint, hint2); - } - - @Override - public Rectangle computeTrim(int x, int y, int width, int height) - { - return combo.computeTrim(x, y, width, height); - } - - public void copy() - { - combo.copy(); - } - - public void cut() - { - combo.cut(); - } - - public void deselect(int index) - { - combo.deselect(index); - } - - public void deselectAll() - { - combo.deselectAll(); - } - - @Override - public void dispose() - { - combo.dispose(); - } - - @Override - public boolean dragDetect(Event event) - { - return combo.dragDetect(event); - } - - @Override - public boolean dragDetect(MouseEvent event) - { - return combo.dragDetect(event); - } - - @Override - public boolean equals(Object obj) - { - return combo.equals(obj); - } - - @Override - public boolean forceFocus() - { - return combo.forceFocus(); - } - - @Override - public Accessible getAccessible() - { - return combo.getAccessible(); - } - - @Override - public Color getBackground() - { - return combo.getBackground(); - } - - @Override - public Image getBackgroundImage() - { - return combo.getBackgroundImage(); - } - - @Override - public int getBackgroundMode() - { - return combo.getBackgroundMode(); - } - - @Override - public int getBorderWidth() - { - return combo.getBorderWidth(); - } - - @Override - public Rectangle getBounds() - { - return combo.getBounds(); - } - - @Override - public Control[] getChildren() - { - return combo.getChildren(); - } - - @Override - public Rectangle getClientArea() - { - return combo.getClientArea(); - } - - @Override - public Cursor getCursor() - { - return combo.getCursor(); - } - - @Override - public Object getData() - { - return combo.getData(); - } - - @Override - public Object getData(String key) - { - return combo.getData(key); - } - - @Override - public Display getDisplay() - { - return combo.getDisplay(); - } - - @Override - public boolean getDragDetect() - { - return combo.getDragDetect(); - } - - public boolean getEditable() - { - return combo.getEditable(); - } - - @Override - public boolean getEnabled() - { - return combo.getEnabled(); - } - - @Override - public Font getFont() - { - return combo.getFont(); - } - - @Override - public Color getForeground() - { - return combo.getForeground(); - } - - @Override - public ScrollBar getHorizontalBar() - { - return combo.getHorizontalBar(); - } - - public String getItem(int index) - { - return combo.getItem(index); - } - - public int getItemCount() - { - return combo.getItemCount(); - } - - public int getItemHeight() - { - return combo.getItemHeight(); - } - - public String[] getItems() - { - return combo.getItems(); - } - - @Override - public Layout getLayout() - { - return combo.getLayout(); - } - - @Override - public Object getLayoutData() - { - return combo.getLayoutData(); - } - - @Override - public boolean getLayoutDeferred() - { - return combo.getLayoutDeferred(); - } - - @Override - public Point getLocation() - { - return combo.getLocation(); - } - - @Override - public Menu getMenu() - { - return combo.getMenu(); - } - - @Override - public Monitor getMonitor() - { - return combo.getMonitor(); - } - - @Override - public Composite getParent() - { - return combo.getParent(); - } - - public Point getSelection() - { - return combo.getSelection(); - } - - public int getSelectionIndex() - { - return combo.getSelectionIndex(); - } - - @Override - public Shell getShell() - { - return combo.getShell(); - } - - @Override - public Point getSize() - { - return combo.getSize(); - } - - @Override - public int getStyle() - { - return combo.getStyle(); - } - - @Override - public Control[] getTabList() - { - return combo.getTabList(); - } - - public String getText() - { - return combo.getText(); - } - - public int getTextHeight() - { - return combo.getTextHeight(); - } - - public int getTextLimit() - { - return combo.getTextLimit(); - } - - @Override - public String getToolTipText() - { - return combo.getToolTipText(); - } - - @Override - public ScrollBar getVerticalBar() - { - return combo.getVerticalBar(); - } - - @Override - public boolean getVisible() - { - return combo.getVisible(); - } - - public int getVisibleItemCount() - { - return combo.getVisibleItemCount(); - } - - @Override - public int hashCode() - { - return combo.hashCode(); - } - - public int indexOf(String string, int start) - { - return combo.indexOf(string, start); - } - - public int indexOf(String string) - { - return combo.indexOf(string); - } - - @Override - public void internal_dispose_GC(int hdc, GCData data) - { - combo.internal_dispose_GC(hdc, data); - } - - @Override - public int internal_new_GC(GCData data) - { - return combo.internal_new_GC(data); - } - - @Override - public boolean isDisposed() - { - return combo.isDisposed(); - } - - @Override - public boolean isEnabled() - { - return combo.isEnabled(); - } - - @Override - public boolean isFocusControl() - { - return combo.isFocusControl(); - } - - @Override - public boolean isLayoutDeferred() - { - return combo.isLayoutDeferred(); - } - - @Override - public boolean isListening(int eventType) - { - return combo.isListening(eventType); - } - - @Override - public boolean isReparentable() - { - return combo.isReparentable(); - } - - @Override - public boolean isVisible() - { - return combo.isVisible(); - } - - @Override - public void layout() - { - combo.layout(); - } - - @Override - public void layout(boolean changed, boolean all) - { - combo.layout(changed, all); - } - - @Override - public void layout(boolean changed) - { - combo.layout(changed); - } - - @Override - public void layout(Control[] changed) - { - combo.layout(changed); - } - - @Override - public void moveAbove(Control control) - { - combo.moveAbove(control); - } - - @Override - public void moveBelow(Control control) - { - combo.moveBelow(control); - } - - @Override - public void notifyListeners(int eventType, Event event) - { - combo.notifyListeners(eventType, event); - } - - @Override - public void pack() - { - combo.pack(); - } - - @Override - public void pack(boolean changed) - { - combo.pack(changed); - } - - public void paste() - { - combo.paste(); - } - - @Override - public void redraw() - { - combo.redraw(); - } - - @Override - public void redraw(int x, int y, int width, int height, boolean all) - { - combo.redraw(x, y, width, height, all); - } - - public void remove(int start, int end) - { - combo.remove(start, end); - } - - public void remove(int index) - { - combo.remove(index); - } - - public void remove(String string) - { - combo.remove(string); - } - - public void removeAll() - { - combo.removeAll(); - } - - @Override - public void removeControlListener(ControlListener listener) - { - combo.removeControlListener(listener); - } - - @Override - public void removeDisposeListener(DisposeListener listener) - { - combo.removeDisposeListener(listener); - } - - @Override - public void removeDragDetectListener(DragDetectListener listener) - { - combo.removeDragDetectListener(listener); - } - - @Override - public void removeFocusListener(FocusListener listener) - { - combo.removeFocusListener(listener); - } - - @Override - public void removeHelpListener(HelpListener listener) - { - combo.removeHelpListener(listener); - } - - @Override - public void removeKeyListener(KeyListener listener) - { - combo.removeKeyListener(listener); - } - - @Override - public void removeListener(int eventType, Listener listener) - { - combo.removeListener(eventType, listener); - } - - @Override - public void removeMenuDetectListener(MenuDetectListener listener) - { - combo.removeMenuDetectListener(listener); - } - - public void removeModifyListener(ModifyListener listener) - { - combo.removeModifyListener(listener); - } - - @Override - public void removeMouseListener(MouseListener listener) - { - combo.removeMouseListener(listener); - } - - @Override - public void removeMouseMoveListener(MouseMoveListener listener) - { - combo.removeMouseMoveListener(listener); - } - - @Override - public void removeMouseTrackListener(MouseTrackListener listener) - { - combo.removeMouseTrackListener(listener); - } - - @Override - public void removeMouseWheelListener(MouseWheelListener listener) - { - combo.removeMouseWheelListener(listener); - } - - @Override - public void removePaintListener(PaintListener listener) - { - combo.removePaintListener(listener); - } - - public void removeSelectionListener(SelectionListener listener) - { - combo.removeSelectionListener(listener); - } - - @Override - public void removeTraverseListener(TraverseListener listener) - { - combo.removeTraverseListener(listener); - } - - public void removeVerifyListener(VerifyListener listener) - { - combo.removeVerifyListener(listener); - } - - public void select(int index) - { - combo.select(index); - } - - @Override - public void setBackground(Color color) - { - combo.setBackground(color); - } - - @Override - public void setBackgroundImage(Image image) - { - combo.setBackgroundImage(image); - } - - @Override - public void setBackgroundMode(int mode) - { - combo.setBackgroundMode(mode); - } - - @Override - public void setBounds(int x, int y, int width, int height) - { - combo.setBounds(x, y, width, height); - } - - @Override - public void setBounds(Rectangle rect) - { - combo.setBounds(rect); - } - - @Override - public void setCapture(boolean capture) - { - combo.setCapture(capture); - } - - @Override - public void setCursor(Cursor cursor) - { - combo.setCursor(cursor); - } - - @Override - public void setData(Object data) - { - combo.setData(data); - } - - @Override - public void setData(String key, Object value) - { - combo.setData(key, value); - } - - @Override - public void setDragDetect(boolean dragDetect) - { - combo.setDragDetect(dragDetect); - } - - public void setEditable(boolean editable) - { - combo.setEditable(editable); - } - - @Override - public void setEnabled(boolean enabled) - { - combo.setEnabled(enabled); - } - - @Override - public boolean setFocus() - { - return combo.setFocus(); - } - - @Override - public void setFont(Font font) - { - combo.setFont(font); - } - - @Override - public void setForeground(Color color) - { - combo.setForeground(color); - } - - public void setItem(int index, String string) - { - combo.setItem(index, string); - } - - public void setItems(String[] items) - { - combo.setItems(items); - } - - @Override - public void setLayout(Layout layout) - { - combo.setLayout(layout); - } - - @Override - public void setLayoutData(Object layoutData) - { - combo.setLayoutData(layoutData); - } - - @Override - public void setLayoutDeferred(boolean defer) - { - combo.setLayoutDeferred(defer); - } - - @Override - public void setLocation(int x, int y) - { - combo.setLocation(x, y); - } - - @Override - public void setLocation(Point location) - { - combo.setLocation(location); - } - - @Override - public void setMenu(Menu menu) - { - combo.setMenu(menu); - } - - @Override - public boolean setParent(Composite parent) - { - return combo.setParent(parent); - } - - @Override - public void setRedraw(boolean redraw) - { - combo.setRedraw(redraw); - } - - public void setSelection(Point selection) - { - combo.setSelection(selection); - } - - @Override - public void setSize(int width, int height) - { - combo.setSize(width, height); - } - - @Override - public void setSize(Point size) - { - combo.setSize(size); - } - - @Override - public void setTabList(Control[] tabList) - { - combo.setTabList(tabList); - } - - public void setText(String string) - { - combo.setText(string); - } - - public void setTextLimit(int limit) - { - combo.setTextLimit(limit); - } - - @Override - public void setToolTipText(String string) - { - combo.setToolTipText(string); - } - - @Override - public void setVisible(boolean visible) - { - combo.setVisible(visible); - } - - public void setVisibleItemCount(int count) - { - combo.setVisibleItemCount(count); - } - - @Override - public Point toControl(int x, int y) - { - return combo.toControl(x, y); - } - - @Override - public Point toControl(Point point) - { - return combo.toControl(point); - } - - @Override - public Point toDisplay(int x, int y) - { - return combo.toDisplay(x, y); - } - - @Override - public Point toDisplay(Point point) - { - return combo.toDisplay(point); - } - - @Override - public String toString() - { - return combo.toString(); - } - - @Override - public boolean traverse(int traversal) - { - return combo.traverse(traversal); - } - - @Override - public void update() - { - combo.update(); - } -} diff --git a/plugins/org.eclipse.net4j.ui/src/org/eclipse/net4j/ui/widgets/HistoryText.java b/plugins/org.eclipse.net4j.ui/src/org/eclipse/net4j/ui/widgets/HistoryText.java new file mode 100644 index 0000000000..0cb2451b24 --- /dev/null +++ b/plugins/org.eclipse.net4j.ui/src/org/eclipse/net4j/ui/widgets/HistoryText.java @@ -0,0 +1,246 @@ +/*************************************************************************** + * Copyright (c) 2004 - 2007 Eike Stepper, Germany. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + **************************************************************************/ +package org.eclipse.net4j.ui.widgets; + +import org.eclipse.net4j.internal.ui.bundle.OM; +import org.eclipse.net4j.ui.UIUtil; +import org.eclipse.net4j.util.ReflectUtil; +import org.eclipse.net4j.util.StringUtil; +import org.eclipse.net4j.util.collection.IHistory; +import org.eclipse.net4j.util.collection.IHistoryChangeEvent; +import org.eclipse.net4j.util.collection.IHistoryElement; +import org.eclipse.net4j.util.event.IEvent; +import org.eclipse.net4j.util.event.IListener; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.custom.CCombo; +import org.eclipse.swt.events.KeyAdapter; +import org.eclipse.swt.events.KeyEvent; +import org.eclipse.swt.events.ModifyListener; +import org.eclipse.swt.events.SelectionListener; +import org.eclipse.swt.events.VerifyListener; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Text; + +import java.lang.reflect.Method; + +/** + * @author Eike Stepper + */ +public class HistoryText extends Composite +{ + private IHistory<String> history; + + private CCombo combo; + + private Method droppedMethod; + + private IListener historyListener = new IListener() + { + public void notifyEvent(IEvent event) + { + if (event instanceof IHistoryChangeEvent) + { + historyChanged(); + } + } + }; + + public HistoryText(Composite parent, int comboStyle, IHistory<String> history) + { + super(parent, SWT.NONE); + setLayout(UIUtil.createGridLayout(1)); + + combo = createCombo(comboStyle); + combo.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); + + try + { + droppedMethod = combo.getClass().getDeclaredMethod("isDropped", ReflectUtil.NO_PARAMETERS); + droppedMethod.setAccessible(true); + } + catch (Exception ex) + { + OM.LOG.error(ex); + } + + this.history = history; + historyChanged(); + history.addListener(historyListener); + } + + public IHistory<String> getHistory() + { + return history; + } + + public CCombo getCombo() + { + return combo; + } + + @Override + public void dispose() + { + history.removeListener(historyListener); + super.dispose(); + } + + public void addModifyListener(ModifyListener listener) + { + combo.addModifyListener(listener); + } + + public void addSelectionListener(SelectionListener listener) + { + combo.addSelectionListener(listener); + } + + public void addVerifyListener(VerifyListener listener) + { + combo.addVerifyListener(listener); + } + + public void append(String string) + { + combo.setText(combo.getText() + string); + } + + public void clearSelection() + { + combo.clearSelection(); + } + + public void copy() + { + combo.copy(); + } + + public void cut() + { + combo.cut(); + } + + public int getCharCount() + { + return combo.getText().length(); + } + + public int getLineCount() + { + return StringUtil.occurrences(combo.getText(), getLineDelimiter()) + 1; + } + + public String getLineDelimiter() + { + return Text.DELIMITER; + } + + public int getLineHeight() + { + return combo.getTextHeight(); + } + + public String getText() + { + return combo.getText(); + } + + public int getTextLimit() + { + return combo.getTextLimit(); + } + + public void paste() + { + combo.paste(); + } + + public void removeModifyListener(ModifyListener listener) + { + combo.removeModifyListener(listener); + } + + public void removeSelectionListener(SelectionListener listener) + { + combo.removeSelectionListener(listener); + } + + public void removeVerifyListener(VerifyListener listener) + { + combo.removeVerifyListener(listener); + } + + public void setText(String string) + { + combo.setText(string); + } + + public void setTextLimit(int limit) + { + combo.setTextLimit(limit); + } + + public boolean isDropped() + { + if (droppedMethod != null) + { + try + { + return (Boolean)droppedMethod.invoke(combo, ReflectUtil.NO_ARGUMENTS); + } + catch (Exception ex) + { + OM.LOG.error(ex); + } + } + + return false; + } + + protected void historyChanged() + { + combo.removeAll(); + for (IHistoryElement<String> element : history) + { + combo.add(element.getData()); + } + + String mostRecent = history.getMostRecent(); + if (mostRecent != null) + { + setText(mostRecent); + } + } + + protected CCombo createCombo(int style) + { + final CCombo combo = new CCombo(this, style); + combo.addKeyListener(new KeyAdapter() + { + @Override + public void keyPressed(KeyEvent event) + { + if (event.character == SWT.DEL && event.stateMask == 0 && isDropped()) + { + int index = combo.getSelectionIndex(); + if (index != -1) + { + history.remove(index); + } + } + } + }); + + return combo; + } +} diff --git a/plugins/org.eclipse.net4j.ui/src/org/eclipse/net4j/ui/widgets/HistoryView.java b/plugins/org.eclipse.net4j.ui/src/org/eclipse/net4j/ui/widgets/HistoryView.java new file mode 100644 index 0000000000..bd6d5160bf --- /dev/null +++ b/plugins/org.eclipse.net4j.ui/src/org/eclipse/net4j/ui/widgets/HistoryView.java @@ -0,0 +1,66 @@ +/*************************************************************************** + * Copyright (c) 2004 - 2007 Eike Stepper, Germany. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + **************************************************************************/ +package org.eclipse.net4j.ui.widgets; + +import org.eclipse.net4j.internal.ui.bundle.OM; +import org.eclipse.net4j.ui.UIUtil; +import org.eclipse.net4j.util.collection.HistoryUtil; +import org.eclipse.net4j.util.collection.IHistory; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.ui.part.ViewPart; + +/** + * @author Eike Stepper + */ +public class HistoryView extends ViewPart +{ + public static final IHistory<String> HISTORY = HistoryUtil.createPreferenceHistory(OM.PREF_HISTORY); + + private HistoryText control; + + public HistoryView() + { + } + + @Override + public void createPartControl(Composite parent) + { + Composite composite = UIUtil.createGridComposite(parent, 2); + control = new HistoryText(composite, SWT.NONE, HISTORY); + control.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, true)); + Button button = new Button(composite, SWT.PUSH); + button.setText("Use"); + button.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, true)); + button.addSelectionListener(new SelectionAdapter() + { + @Override + public void widgetSelected(SelectionEvent e) + { + HISTORY.add(control.getText()); + } + }); + } + + @Override + public void setFocus() + { + if (control != null) + { + control.setFocus(); + } + } +} diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/internal/util/collection/History.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/internal/util/collection/History.java index 50e08efc08..b2aa700ac7 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/internal/util/collection/History.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/internal/util/collection/History.java @@ -119,33 +119,47 @@ public class History<T> extends Notifier implements IHistory<T> return true; } - public IHistoryElement<T>[] toArray() + public T getMostRecent() { - lazyLoad(); - return elements.toArray(new IHistoryElement[elements.size()]); + if (isEmpty()) + { + return null; + } + + return elements.get(0).getData(); } - public T[] getData() + public <D> D[] getData(D[] a) { int size = elements.size(); - Object[] array = new Object[size]; + if (a.length < size) + { + a = (D[])java.lang.reflect.Array.newInstance(a.getClass().getComponentType(), size); + } + for (int i = 0; i < size; i++) { - array[i] = elements.get(i).getData(); + a[i] = (D)elements.get(i).getData(); + } + + if (a.length > size) + { + a[size] = null; } - return (T[])array; + return a; } - public Iterator<IHistoryElement<T>> iterator() + public IHistoryElement<T>[] toArray() { lazyLoad(); - return elements.iterator(); + return elements.toArray(new IHistoryElement[elements.size()]); } - public void dispose() + public Iterator<IHistoryElement<T>> iterator() { - elements.clear(); + lazyLoad(); + return elements.iterator(); } protected IHistoryElement<T> createElement(T data) diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/internal/util/collection/PreferenceHistory.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/internal/util/collection/PreferenceHistory.java index 770ec23b12..5e2c3d94c0 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/internal/util/collection/PreferenceHistory.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/internal/util/collection/PreferenceHistory.java @@ -32,7 +32,8 @@ public class PreferenceHistory extends History<String> @Override protected void load() { - for (String data : preference.getValue()) + String[] value = preference.getValue(); + for (String data : value) { internalAdd(data); } @@ -41,6 +42,7 @@ public class PreferenceHistory extends History<String> @Override protected void save() { - preference.setValue(getData()); + String[] array = getData(new String[size()]); + preference.setValue(array); } } diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/internal/util/om/pref/Preference.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/internal/util/om/pref/Preference.java index 411e66d1d6..2084386221 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/internal/util/om/pref/Preference.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/internal/util/om/pref/Preference.java @@ -100,7 +100,14 @@ public abstract class Preference<T> implements OMPreference<T> protected void init(String value) { - this.value = convert(value); + if (value == null) + { + this.value = defaultValue; + } + else + { + this.value = convert(value); + } } protected abstract T convert(String value); diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/internal/util/om/pref/Preferences.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/internal/util/om/pref/Preferences.java index 5cbf89d1bd..b54ed07b5a 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/internal/util/om/pref/Preferences.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/internal/util/om/pref/Preferences.java @@ -54,10 +54,11 @@ public class Preferences extends Notifier implements OMPreferences if (!loaded) { loaded = true; + final Properties properties = new Properties(); + File file = getFile(); if (file.exists()) { - final Properties properties = new Properties(); IOUtil.input(file, new IORunnable<FileInputStream>() { public void run(FileInputStream io) throws IOException @@ -65,16 +66,13 @@ public class Preferences extends Notifier implements OMPreferences properties.load(io); } }); + } - for (Preference preference : prefs.values()) - { - String name = preference.getName(); - String value = properties.getProperty(name); - if (value != null) - { - preference.init(value); - } - } + for (Preference preference : prefs.values()) + { + String name = preference.getName(); + String value = properties.getProperty(name); + preference.init(value); } } } diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/StringUtil.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/StringUtil.java index 917a820c41..4e5df285e9 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/StringUtil.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/StringUtil.java @@ -103,6 +103,17 @@ public final class StringUtil return count; } + public static int occurrences(String str, String c) + { + int count = 0; + for (int i = 0; (i = str.indexOf(c, i)) != -1; i += c.length()) + { + ++count; + } + + return count; + } + public static boolean isEmpty(String str) { return str == null || str.length() == 0; diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/collection/IHistory.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/collection/IHistory.java index 3e05d75097..f2ead8f167 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/collection/IHistory.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/collection/IHistory.java @@ -31,9 +31,9 @@ public interface IHistory<T> extends INotifier, Iterable<IHistoryElement<T>> public IHistoryElement<T> get(int index); - public IHistoryElement<T>[] toArray(); + public T getMostRecent(); - public T[] getData(); + public <D> D[] getData(D[] a); - public void dispose(); + public IHistoryElement<T>[] toArray(); } |