{"id":22737947,"url":"https://github.com/simonscholz/eclipse4simon","last_synced_at":"2025-03-30T03:22:16.609Z","repository":{"id":80922316,"uuid":"160355702","full_name":"SimonScholz/eclipse4simon","owner":"SimonScholz","description":"Useful additions or enhancements for Eclipse 4","archived":false,"fork":false,"pushed_at":"2019-03-05T18:37:01.000Z","size":224,"stargazers_count":1,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-05T05:41:32.918Z","etag":null,"topics":["eclipse","eclipse-plugin","eclipse-rcp","eclipse4"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"epl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SimonScholz.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-12-04T12:42:25.000Z","updated_at":"2019-03-05T18:37:03.000Z","dependencies_parsed_at":"2023-02-28T22:16:01.354Z","dependency_job_id":null,"html_url":"https://github.com/SimonScholz/eclipse4simon","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimonScholz%2Feclipse4simon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimonScholz%2Feclipse4simon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimonScholz%2Feclipse4simon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimonScholz%2Feclipse4simon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SimonScholz","download_url":"https://codeload.github.com/SimonScholz/eclipse4simon/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246270971,"owners_count":20750498,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["eclipse","eclipse-plugin","eclipse-rcp","eclipse4"],"created_at":"2024-12-10T22:18:44.477Z","updated_at":"2025-03-30T03:22:16.598Z","avatar_url":"https://github.com/SimonScholz.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"= Eclipse 4 additions and enhancements image:https://travis-ci.org/SimonScholz/eclipse4simon.svg?branch=master[\"Build Status\", link=\"https://travis-ci.org/SimonScholz/eclipse4simon\"]\n\nThe purpose of this repository is to provide additions and enhancements for Eclipse 4, especially for features, which were available in Eclipse 3 and not in Eclipse 4.\n\n== Obtain the libraries\n\nA p2 update site can be found here: https://dl.bintray.com/simon-scholz/eclipse-apps/eclipse4simon/\n\n== Using the services\n\nThe interfaces for the services are defined in the _com.simonscholz.e4.services_ bundle,\nso in case you want to use a certain service the _com.simonscholz.e4.services_ bundle has to be added as dependency.\n\n== UI Freeze Monitoring\n\nTo make use of the freeze monitoring the _com.simonscholz.e4.services_ and _com.simonscholz.e4.monitoring_ has to be added to the runtime.\n\nCAUTION: The `FreezeMonitorService` has 3 methods, but only one should be invoked depending on your needs.\n\n=== Using default Freeze Monitoring\n\nEclipse 4 applications can obtain an instance of a `FreezeMonitorService` by simply injecting it into the lifecycle class or an addon.\n\n[source,java]\n----\n@PostContextCreate\nvoid postContextCreate(Display display, FreezeMonitorService freezeMonitorService) {\n\tfreezeMonitorService.createAndStartMonitorThread(display); \u003c1\u003e\n}\n----\n\u003c1\u003e This will simply start the Freeze Monitoring with default values\n\nAlternatively the `FreezeMonitorService` can also be obtained by using a `BundleContext`, e.g., in a bundle activator.\n\nWARNING: Bundle activators can cause performance issues therefore it is better to use other approaches.\n\n=== Using IEclipsePreferences for Freeze Monitoring\n\n[source, java]\n----\n@PostContextCreate\nvoid postContextCreate(IEclipseContext workbenchContext, Display display, FreezeMonitorService freezeMonitorService, @Preference IEclipsePreferences prefs) {\n\tfreezeMonitorService.setPreferencesAndStartIfNecessary(prefs, display); \u003c1\u003e\n}\n----\n\nThis registers a listener, which will start the freeze monitoring once the `com.simonscholz.services.monitoring.PreferenceConstants.MONITORING_ENABLED` value is set to `true`.\n\nTIP: See other values in `com.simonscholz.services.monitoring.PreferenceConstants`.\n\n=== Using IPreferenceStore for Freeze Monitoring\n\nIn case you're still using the `IPreferenceStore`  the `FreezeMonitorService` also provides a `setPreferencesAndStartIfNecessary`,\nwhich accepts an `IPreferenceStore`.\n\nEverything else is similar to the approach with the `IEclipsePreferences`.\n\n=== UI for setting the preferences\n\nYou can have your custom `org.eclipse.jface.preference.PreferenceDialog` in an Eclipse application and use an `IPreferenceStore` as described earlier.\n\nOr you can for instance use the `PreferenceWindow` from Nebula.\n\n== Working with this code\n\nThese chapters are for developers, who are willing work with the code in this repository.\n\n=== Building the projects\n\nThe projects can be build by using the maven wrapper.\n\n[source, console]\n----\n./mvnw clean verify\n----\n\n=== Uploading the update site to Bintray\n\n[source, curl]\n----\ncurl -T ./releng/update-site/target/updatesite.zip -u\u003cuser-id\u003e:\u003capi-token\u003e -H \"X-Bintray-Explode: 1\" -H \"X-Bintray-Package:eclipse4simon\" -H \"X-Bintray-Version:0.1.0\" https://api.bintray.com/content/simon-scholz/eclipse-apps/eclipse4simon/0.1.0/\n----\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonscholz%2Feclipse4simon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimonscholz%2Feclipse4simon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonscholz%2Feclipse4simon/lists"}