diff --git a/.gitignore b/.gitignore index ce254b76353f94069f5ba8135754f818f3bdf290..57032a5758944f98e3e08ddaacb41e0fd209828d 100644 --- a/.gitignore +++ b/.gitignore @@ -9,4 +9,5 @@ pom.xml updatesite/ **/lib/dependencies/ de.prob.core/prob/ -build/ \ No newline at end of file +build/ +.tycho-consumer-pom.xml \ No newline at end of file diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 577d5a4adbca85ba2f7163dac758aa95ac86f145..da9f39b1af64ebc6037875eb6f8e1564a2cf93c3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,6 +1,6 @@ build: stage: build - image: maven:3-eclipse-temurin-11 + image: maven:3-eclipse-temurin-17 variables: GRADLE_USER_HOME: "$CI_PROJECT_DIR/.gradle" before_script: diff --git a/build.gradle b/build.gradle index c0d0efe936d23800ff5c7b86c7e76190885c5f2a..f0dcc50d2773d7e38a5e789e275d6bdbc340ca68 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ import java.util.concurrent.TimeUnit project.ext { targetRepositories = [ - "https://download.eclipse.org/releases/2022-03/", + "https://download.eclipse.org/releases/2023-12/", "https://rodin-b-sharp.sourceforge.net/core-updates/", "https://rodin-b-sharp.sourceforge.net/updates", ] @@ -33,7 +33,7 @@ project(':de.prob.core') { } } - def parser_version = "2.13.0" + def parser_version = "2.13.3" dependencies { // Note: After changing/updating dependencies or their versions here, @@ -87,7 +87,7 @@ task downloadCli { def targetdir = dir + it.getValue() def targetzip = dir + "probcli_${n}.zip" - def url = "https://stups.hhu-hosting.de/downloads/prob/cli/releases/1.13.0/probcli_${n}.zip" + def url = "https://stups.hhu-hosting.de/downloads/prob/cli/releases/1.13.1-beta2/probcli_${n}.zip" download(url, targetzip) FileTree zip = zipTree(targetzip) copy { diff --git a/de.bmotionstudio.feature/.project b/de.bmotionstudio.feature/.project new file mode 100644 index 0000000000000000000000000000000000000000..f1731f09b5d8a9af22ff73d376154a8b35ccef72 --- /dev/null +++ b/de.bmotionstudio.feature/.project @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>de.bmotionstudio.feature</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.pde.FeatureBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.pde.FeatureNature</nature> + </natures> +</projectDescription> diff --git a/de.bmotionstudio.rodin/.settings/org.eclipse.core.resources.prefs b/de.bmotionstudio.feature/.settings/org.eclipse.core.resources.prefs similarity index 64% rename from de.bmotionstudio.rodin/.settings/org.eclipse.core.resources.prefs rename to de.bmotionstudio.feature/.settings/org.eclipse.core.resources.prefs index 156f29381b0c8806bc165f075872846ca9ab5580..99f26c0203a7844de00dbfc56e6a35d8ed3c022c 100644 --- a/de.bmotionstudio.rodin/.settings/org.eclipse.core.resources.prefs +++ b/de.bmotionstudio.feature/.settings/org.eclipse.core.resources.prefs @@ -1,3 +1,2 @@ -#Tue Nov 29 16:16:00 CET 2011 eclipse.preferences.version=1 encoding/<project>=UTF-8 diff --git a/de.bmotionstudio.rodin/.settings/org.eclipse.core.runtime.prefs b/de.bmotionstudio.feature/.settings/org.eclipse.core.runtime.prefs similarity index 61% rename from de.bmotionstudio.rodin/.settings/org.eclipse.core.runtime.prefs rename to de.bmotionstudio.feature/.settings/org.eclipse.core.runtime.prefs index b9abd08f2a694492220a0dd285128368c2de7eac..5a0ad22d2a76684139fad95f6b8d209c7cd0d078 100644 --- a/de.bmotionstudio.rodin/.settings/org.eclipse.core.runtime.prefs +++ b/de.bmotionstudio.feature/.settings/org.eclipse.core.runtime.prefs @@ -1,3 +1,2 @@ -#Tue Nov 29 16:16:00 CET 2011 eclipse.preferences.version=1 line.separator=\n diff --git a/de.bmotionstudio.feature/build.properties b/de.bmotionstudio.feature/build.properties new file mode 100644 index 0000000000000000000000000000000000000000..64f93a9f0b7328eb563aa5ad6cec7f828020e124 --- /dev/null +++ b/de.bmotionstudio.feature/build.properties @@ -0,0 +1 @@ +bin.includes = feature.xml diff --git a/de.bmotionstudio.feature/feature.xml b/de.bmotionstudio.feature/feature.xml new file mode 100644 index 0000000000000000000000000000000000000000..ba945c89c2addd4003540a5411580703420f9226 --- /dev/null +++ b/de.bmotionstudio.feature/feature.xml @@ -0,0 +1,261 @@ +<?xml version="1.0" encoding="UTF-8"?> +<feature + id="de.bmotionstudio.feature" + label="ProB for Rodin - BMotion Studio" + version="3.2.0.qualifier" + provider-name="HHU Düsseldorf STUPS Group" + plugin="de.bmotionstudio.gef.editor"> + + <description url="https://prob.hhu.de/w/"> +The BMotion Studio interactive visualization tool based on the ProB animator. +Warning: Development of BMotion Studio has ended in 2013. +This plug-in is maintained on a best-effort basis and not actively tested. + +ProB is an animator and model checker for the B-Method. It allows +fully automatic animation of many B specifications, and can be +used to systematically check a specification for errors. +Part of the research and development was conducted within the +EPSRC funded projects ABCD and iMoc, and within the EU funded +projects Rodin and Deploy and the DFG projects Gepavas and Gepavas II. +ProB has been successfully used on various industrial specifications +and is now being used within Siemens, Alstom, Thales. + </description> + + <copyright> + (C) 2000-2020 Michael Leuschel (and many others) All rights reserved. + </copyright> + + <license url="http://www.eclipse.org/org/documents/epl-v10.html"> + ProB can be used freely for commercial, non-commercial and academic +use under the Eclipse Public Licence v. 1.0. (below) +For availability of commercial support, please contact the author +(http://www.stups.uni-duesseldorf.de/~leuschel). +Use of ProB's nauty library for symmetry reduction implies further +restrictions (no applications with nontrivial military significance, +see http://cs.anu.edu.au/~bdm/nauty/). +--- +Eclipse Public License - v. 1.0 +THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS +ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR +DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE +OF THIS AGREEMENT. +1. DEFINITIONS +"Contribution" means: +a) in the case of the initial Contributor, the initial code and +documentation distributed under this Agreement, and +b) in the case of each subsequent Contributor: +i) changes to the Program, and +ii) additions to the Program; +where such changes and/or additions to the Program originate +from and are distributed by that particular Contributor. A Contribution +'originates' from a Contributor if it was added to the Program +by such Contributor itself or anyone acting on such Contributor's +behalf. Contributions do not include additions to the Program +which: (i) are separate modules of software distributed in conjunction +with the Program under their own license agreement, and (ii) +are not derivative works of the Program. +"Contributor" means any person or entity that distributes the +Program. +"Licensed Patents" mean patent claims licensable by a Contributor +which are necessarily infringed by the use or sale of its Contribution +alone or when combined with the Program. +"Program" means the Contributions distributed in accordance with +this Agreement. +"Recipient" means anyone who receives the Program under this +Agreement, including all Contributors. +2. GRANT OF RIGHTS +a) Subject to the terms of this Agreement, each Contributor hereby +grants Recipient a non-exclusive, worldwide, royalty-free copyright +license to reproduce, prepare derivative works of, publicly display, +publicly perform, distribute and sublicense the Contribution +of such Contributor, if any, and such derivative works, in source +code and object code form. +b) Subject to the terms of this Agreement, each Contributor hereby +grants Recipient a non-exclusive, worldwide, royalty-free patent +license under Licensed Patents to make, use, sell, offer to sell, +import and otherwise transfer the Contribution of such Contributor, +if any, in source code and object code form. This patent license +shall apply to the combination of the Contribution and the Program +if, at the time the Contribution is added by the Contributor, +such addition of the Contribution causes such combination to +be covered by the Licensed Patents. The patent license shall +not apply to any other combinations which include the Contribution. +No hardware per se is licensed hereunder. +c) Recipient understands that although each Contributor grants +the licenses to its Contributions set forth herein, no assurances +are provided by any Contributor that the Program does not infringe +the patent or other intellectual property rights of any other +entity. Each Contributor disclaims any liability to Recipient +for claims brought by any other entity based on infringement +of intellectual property rights or otherwise. As a condition +to exercising the rights and licenses granted hereunder, each +Recipient hereby assumes sole responsibility to secure any other +intellectual property rights needed, if any. For example, if +a third party patent license is required to allow Recipient to +distribute the Program, it is Recipient's responsibility to acquire +that license before distributing the Program. +d) Each Contributor represents that to its knowledge it has sufficient +copyright rights in its Contribution, if any, to grant the copyright +license set forth in this Agreement. +3. REQUIREMENTS +A Contributor may choose to distribute the Program in object +code form under its own license agreement, provided that: +a) it complies with the terms and conditions of this Agreement; +and +b) its license agreement: +i) effectively disclaims on behalf of all Contributors all warranties +and conditions, express and implied, including warranties or +conditions of title and non-infringement, and implied warranties +or conditions of merchantability and fitness for a particular +purpose; +ii) effectively excludes on behalf of all Contributors all liability +for damages, including direct, indirect, special, incidental +and consequential damages, such as lost profits; +iii) states that any provisions which differ from this Agreement +are offered by that Contributor alone and not by any other party; +and +iv) states that source code for the Program is available from +such Contributor, and informs licensees how to obtain it in a +reasonable manner on or through a medium customarily used for +software exchange. +When the Program is made available in source code form: +a) it must be made available under this Agreement; and +b) a copy of this Agreement must be included with each copy of +the Program. +Contributors may not remove or alter any copyright notices contained +within the Program. +Each Contributor must identify itself as the originator of its +Contribution, if any, in a manner that reasonably allows subsequent +Recipients to identify the originator of the Contribution. +4. COMMERCIAL DISTRIBUTION +Commercial distributors of software may accept certain responsibilities +with respect to end users, business partners and the like. While +this license is intended to facilitate the commercial use of +the Program, the Contributor who includes the Program in a commercial +product offering should do so in a manner which does not create +potential liability for other Contributors. Therefore, if a Contributor +includes the Program in a commercial product offering, such Contributor +("Commercial Contributor") hereby agrees to defend and indemnify +every other Contributor ("Indemnified Contributor") against any +losses, damages and costs (collectively "Losses") arising from +claims, lawsuits and other legal actions brought by a third party +against the Indemnified Contributor to the extent caused by the +acts or omissions of such Commercial Contributor in connection +with its distribution of the Program in a commercial product +offering. The obligations in this section do not apply to any +claims or Losses relating to any actual or alleged intellectual +property infringement. In order to qualify, an Indemnified Contributor +must: a) promptly notify the Commercial Contributor in writing +of such claim, and b) allow the Commercial Contributor to control, +and cooperate with the Commercial Contributor in, the defense +and any related settlement negotiations. The Indemnified Contributor +may participate in any such claim at its own expense. +For example, a Contributor might include the Program in a commercial +product offering, Product X. That Contributor is then a Commercial +Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance +claims and warranties are such Commercial Contributor's responsibility +alone. Under this section, the Commercial Contributor would have +to defend claims against the other Contributors related to those +performance claims and warranties, and if a court requires any +other Contributor to pay any damages as a result, the Commercial +Contributor must pay those damages. +5. NO WARRANTY +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM +IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS +OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, +ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY +OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely +responsible for determining the appropriateness of using and +distributing the Program and assumes all risks associated with +its exercise of rights under this Agreement , including but not +limited to the risks and costs of program errors, compliance +with applicable laws, damage to or loss of data, programs or +equipment, and unavailability or interruption of operations. +6. DISCLAIMER OF LIABILITY +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT +NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE +OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY +OF SUCH DAMAGES. +7. GENERAL +If any provision of this Agreement is invalid or unenforceable +under applicable law, it shall not affect the validity or enforceability +of the remainder of the terms of this Agreement, and without +further action by the parties hereto, such provision shall be +reformed to the minimum extent necessary to make such provision +valid and enforceable. +If Recipient institutes patent litigation against any entity +(including a cross-claim or counterclaim in a lawsuit) alleging +that the Program itself (excluding combinations of the Program +with other software or hardware) infringes such Recipient's patent(s), +then such Recipient's rights granted under Section 2(b) shall +terminate as of the date such litigation is filed. +All Recipient's rights under this Agreement shall terminate if +it fails to comply with any of the material terms or conditions +of this Agreement and does not cure such failure in a reasonable +period of time after becoming aware of such noncompliance. If +all Recipient's rights under this Agreement terminate, Recipient +agrees to cease use and distribution of the Program as soon as +reasonably practicable. However, Recipient's obligations under +this Agreement and any licenses granted by Recipient relating +to the Program shall continue and survive. +Everyone is permitted to copy and distribute copies of this Agreement, +but in order to avoid inconsistency the Agreement is copyrighted +and may only be modified in the following manner. The Agreement +Steward reserves the right to publish new versions (including +revisions) of this Agreement from time to time. No one other +than the Agreement Steward has the right to modify this Agreement. +The Eclipse Foundation is the initial Agreement Steward. The +Eclipse Foundation may assign the responsibility to serve as +the Agreement Steward to a suitable separate entity. Each new +version of the Agreement will be given a distinguishing version +number. The Program (including Contributions) may always be distributed +subject to the version of the Agreement under which it was received. +In addition, after a new version of the Agreement is published, +Contributor may elect to distribute the Program (including its +Contributions) under the new version. Except as expressly stated +in Sections 2(a) and 2(b) above, Recipient receives no rights +or licenses to the intellectual property of any Contributor under +this Agreement, whether expressly, by implication, estoppel or +otherwise. All rights in the Program not expressly granted under +this Agreement are reserved. +This Agreement is governed by the laws of the State of New York +and the intellectual property laws of the United States of America. +No party to this Agreement will bring a legal action under this +Agreement more than one year after the cause of action arose. +Each party waives its rights to a jury trial in any resulting +litigation. + </license> + + <requires> + <import plugin="de.prob.core" version="9.6.0" match="equivalent"/> + <import plugin="de.prob.ui" version="7.6.0" match="equivalent"/> + <import plugin="org.eclipse.core.databinding" version="1.10.0" match="compatible"/> + <import plugin="org.eclipse.core.databinding.beans" version="1.7.0" match="compatible"/> + <import plugin="org.eclipse.core.databinding.property" version="1.7.0" match="compatible"/> + <import plugin="org.eclipse.core.resources" version="3.13.0" match="compatible"/> + <import plugin="org.eclipse.core.runtime" version="3.20.0" match="compatible"/> + <import plugin="org.eclipse.gef" version="3.11.0" match="compatible"/> + <import plugin="org.eclipse.jface.databinding" version="1.12.0" match="compatible"/> + <import plugin="org.eclipse.ui" version="3.118.0" match="compatible"/> + <import plugin="org.eclipse.ui.ide" version="3.18.0" match="compatible"/> + <import plugin="org.eclipse.ui.navigator" version="3.9.0" match="compatible"/> + <import plugin="org.eclipse.ui.views" version="3.10.0" match="compatible"/> + <import plugin="org.eventb.core" version="3.5.0" match="compatible"/> + <import plugin="org.eventb.core.ast" version="3.5.0" match="compatible"/> + <import plugin="org.rodinp.core" version="1.9.0" match="compatible"/> + </requires> + + <plugin + id="de.bmotionstudio.gef.editor" + download-size="0" + install-size="0" + version="0.0.0" + unpack="false"/> + +</feature> diff --git a/de.bmotionstudio.gef.editor/.settings/org.eclipse.core.resources.prefs b/de.bmotionstudio.gef.editor/.settings/org.eclipse.core.resources.prefs index 35c1f5a73d13cf6b4f0a370335f908432f2fe713..99f26c0203a7844de00dbfc56e6a35d8ed3c022c 100644 --- a/de.bmotionstudio.gef.editor/.settings/org.eclipse.core.resources.prefs +++ b/de.bmotionstudio.gef.editor/.settings/org.eclipse.core.resources.prefs @@ -1,3 +1,2 @@ -#Tue Nov 29 16:16:11 CET 2011 -eclipse.preferences.version=1 -encoding/<project>=UTF-8 +eclipse.preferences.version=1 +encoding/<project>=UTF-8 diff --git a/de.bmotionstudio.gef.editor/.settings/org.eclipse.core.runtime.prefs b/de.bmotionstudio.gef.editor/.settings/org.eclipse.core.runtime.prefs index 11c1f686b491df30d3f56ce88d8512986f4f43b2..5a0ad22d2a76684139fad95f6b8d209c7cd0d078 100644 --- a/de.bmotionstudio.gef.editor/.settings/org.eclipse.core.runtime.prefs +++ b/de.bmotionstudio.gef.editor/.settings/org.eclipse.core.runtime.prefs @@ -1,3 +1,2 @@ -#Tue Nov 29 16:16:11 CET 2011 -eclipse.preferences.version=1 -line.separator=\n +eclipse.preferences.version=1 +line.separator=\n diff --git a/de.bmotionstudio.gef.editor/META-INF/MANIFEST.MF b/de.bmotionstudio.gef.editor/META-INF/MANIFEST.MF index e88976ea17cc3dddd55d72edba609dc8b417a758..bfea7eaa01ec3c3f1c7830d7487fd1a853b0c8e3 100644 --- a/de.bmotionstudio.gef.editor/META-INF/MANIFEST.MF +++ b/de.bmotionstudio.gef.editor/META-INF/MANIFEST.MF @@ -1,18 +1,21 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 -Bundle-Name: BMotion Studio Editor Plug-in +Bundle-Name: BMotion Studio for Rodin Bundle-SymbolicName: de.bmotionstudio.gef.editor;singleton:=true -Bundle-Version: 5.6.1.qualifier +Bundle-Version: 5.7.0.qualifier Bundle-Activator: de.bmotionstudio.gef.editor.BMotionEditorPlugin -Require-Bundle: de.prob.core;bundle-version="[9.5.1,9.6.0)";visibility:=reexport, +Require-Bundle: de.prob.core;bundle-version="[9.6.0,9.7.0)";visibility:=reexport, + de.prob.ui;bundle-version="[7.6.0,7.7.0)", org.eclipse.core.databinding;bundle-version="[1.10.0,2.0.0)", org.eclipse.core.databinding.beans;bundle-version="[1.7.0,2.0.0)", + org.eclipse.core.databinding.property;bundle-version="[1.7.0,2.0.0)", org.eclipse.core.resources;bundle-version="[3.13.0,4.0.0)", org.eclipse.core.runtime;bundle-version="[3.20.0,4.0.0)", org.eclipse.gef;bundle-version="[3.11.0,4.0.0)";visibility:=reexport, org.eclipse.jface.databinding;bundle-version="[1.12.0,2.0.0)", org.eclipse.ui;bundle-version="[3.118.0,4.0.0)", org.eclipse.ui.ide;bundle-version="[3.18.0,4.0.0)", + org.eclipse.ui.navigator;bundle-version="[3.9.0,4.0.0)", org.eclipse.ui.views;bundle-version="[3.10.0,4.0.0)";visibility:=reexport, org.eventb.core;bundle-version="[3.5.0,4.0.0)", org.eventb.core.ast;bundle-version="[3.5.0,4.0.0)", diff --git a/de.bmotionstudio.gef.editor/about.ini b/de.bmotionstudio.gef.editor/about.ini new file mode 100644 index 0000000000000000000000000000000000000000..13393b98f1164ea914e2c46e7677d15d61356c91 --- /dev/null +++ b/de.bmotionstudio.gef.editor/about.ini @@ -0,0 +1,2 @@ +aboutText=BMotion Studio (c) 2005-2024 https://prob.hhu.de/w/ +featureImage=icons/logo_bmotion_32.png diff --git a/de.bmotionstudio.gef.editor/build.properties b/de.bmotionstudio.gef.editor/build.properties index bb491748de41c8dd30488c2b1d35dcbe5e0c7654..3e895de4d7b464c86549140e27ec0999f8372a67 100644 --- a/de.bmotionstudio.gef.editor/build.properties +++ b/de.bmotionstudio.gef.editor/build.properties @@ -1,6 +1,7 @@ source.. = src/ output.. = bin/ -bin.includes = plugin.xml,\ +bin.includes = about.ini,\ + plugin.xml,\ META-INF/,\ .,\ icons/,\ diff --git a/de.bmotionstudio.gef.editor/icons/eclipse16/linkto_help.gif b/de.bmotionstudio.gef.editor/icons/eclipse16/linkto_help.gif deleted file mode 100644 index 86550fe9f4505c88287a70add9bb89bd24d0e8b2..0000000000000000000000000000000000000000 Binary files a/de.bmotionstudio.gef.editor/icons/eclipse16/linkto_help.gif and /dev/null differ diff --git a/de.bmotionstudio.gef.editor/icons/icon_ascript.png b/de.bmotionstudio.gef.editor/icons/icon_ascript.png deleted file mode 100644 index 4cd71dba209ec693a58b14e7351873b374080988..0000000000000000000000000000000000000000 Binary files a/de.bmotionstudio.gef.editor/icons/icon_ascript.png and /dev/null differ diff --git a/de.bmotionstudio.gef.editor/icons/icon_composite.gif b/de.bmotionstudio.gef.editor/icons/icon_composite.gif deleted file mode 100644 index 3e53cbdc5fc65bfd4f7178bf328195067ae8b7f1..0000000000000000000000000000000000000000 Binary files a/de.bmotionstudio.gef.editor/icons/icon_composite.gif and /dev/null differ diff --git a/de.bmotionstudio.gef.editor/icons/icon_down.gif b/de.bmotionstudio.gef.editor/icons/icon_down.gif deleted file mode 100644 index c595aae874c758052a5960501a8ce3fe6f3cb71b..0000000000000000000000000000000000000000 Binary files a/de.bmotionstudio.gef.editor/icons/icon_down.gif and /dev/null differ diff --git a/de.bmotionstudio.gef.editor/icons/icon_edit.gif b/de.bmotionstudio.gef.editor/icons/icon_edit.gif deleted file mode 100644 index 30dfbf3a509ccfe533222d8fd98c48deec2694eb..0000000000000000000000000000000000000000 Binary files a/de.bmotionstudio.gef.editor/icons/icon_edit.gif and /dev/null differ diff --git a/de.bmotionstudio.gef.editor/icons/icon_error.png b/de.bmotionstudio.gef.editor/icons/icon_error.png deleted file mode 100644 index b1b788b24ce94febf1b0857cd54274bf75fdeb70..0000000000000000000000000000000000000000 Binary files a/de.bmotionstudio.gef.editor/icons/icon_error.png and /dev/null differ diff --git a/de.bmotionstudio.gef.editor/icons/icon_image.gif b/de.bmotionstudio.gef.editor/icons/icon_image.gif deleted file mode 100644 index dc62a3fdb2317025335a438971282867c1149435..0000000000000000000000000000000000000000 Binary files a/de.bmotionstudio.gef.editor/icons/icon_image.gif and /dev/null differ diff --git a/de.bmotionstudio.gef.editor/icons/icon_label.gif b/de.bmotionstudio.gef.editor/icons/icon_label.gif deleted file mode 100644 index cf00ad26ffb8b308cd51369b5544187ba14c8002..0000000000000000000000000000000000000000 Binary files a/de.bmotionstudio.gef.editor/icons/icon_label.gif and /dev/null differ diff --git a/de.bmotionstudio.gef.editor/icons/icon_list.gif b/de.bmotionstudio.gef.editor/icons/icon_list.gif deleted file mode 100644 index bf1274e2bac99a3bed268e6d003319320dbbe756..0000000000000000000000000000000000000000 Binary files a/de.bmotionstudio.gef.editor/icons/icon_list.gif and /dev/null differ diff --git a/de.bmotionstudio.gef.editor/icons/icon_motion.gif b/de.bmotionstudio.gef.editor/icons/icon_motion.gif deleted file mode 100644 index 173d240af99eff66594bbefb1d12d16da8d8b548..0000000000000000000000000000000000000000 Binary files a/de.bmotionstudio.gef.editor/icons/icon_motion.gif and /dev/null differ diff --git a/de.bmotionstudio.gef.editor/icons/icon_motion_wiz.gif b/de.bmotionstudio.gef.editor/icons/icon_motion_wiz.gif deleted file mode 100644 index 1e9bf55a7b95055a4cc8bc7646266c58fb28e45f..0000000000000000000000000000000000000000 Binary files a/de.bmotionstudio.gef.editor/icons/icon_motion_wiz.gif and /dev/null differ diff --git a/de.bmotionstudio.gef.editor/icons/icon_screenshot.gif b/de.bmotionstudio.gef.editor/icons/icon_screenshot.gif deleted file mode 100644 index 176830af2dc8be87218c4dd944ba7dc6ffb79756..0000000000000000000000000000000000000000 Binary files a/de.bmotionstudio.gef.editor/icons/icon_screenshot.gif and /dev/null differ diff --git a/de.bmotionstudio.gef.editor/icons/icon_table.gif b/de.bmotionstudio.gef.editor/icons/icon_table.gif deleted file mode 100644 index d11c996e570dfe06518631ba3f0f1893a21f88d1..0000000000000000000000000000000000000000 Binary files a/de.bmotionstudio.gef.editor/icons/icon_table.gif and /dev/null differ diff --git a/de.bmotionstudio.gef.editor/icons/icon_up.gif b/de.bmotionstudio.gef.editor/icons/icon_up.gif deleted file mode 100644 index 23363997b4716905dd7765b2e33e36dd9b4c4e82..0000000000000000000000000000000000000000 Binary files a/de.bmotionstudio.gef.editor/icons/icon_up.gif and /dev/null differ diff --git a/de.bmotionstudio.gef.editor/icons/logo_b.gif b/de.bmotionstudio.gef.editor/icons/logo_b.gif deleted file mode 100644 index 8edac4c3f2cb3d5099e20f72122f635dfb926412..0000000000000000000000000000000000000000 Binary files a/de.bmotionstudio.gef.editor/icons/logo_b.gif and /dev/null differ diff --git a/de.bmotionstudio.gef.editor/icons/logo_bmotion_32.png b/de.bmotionstudio.gef.editor/icons/logo_bmotion_32.png new file mode 100644 index 0000000000000000000000000000000000000000..af4219bf12f7c997ee7917336a3c95a4f77b5275 Binary files /dev/null and b/de.bmotionstudio.gef.editor/icons/logo_bmotion_32.png differ diff --git a/de.bmotionstudio.gef.editor/plugin.xml b/de.bmotionstudio.gef.editor/plugin.xml index 2f254fad8295f60c884b3955105845870987acf1..1b0173811f8dd4b63dd1bcd00bf5fba26ac8b17a 100644 --- a/de.bmotionstudio.gef.editor/plugin.xml +++ b/de.bmotionstudio.gef.editor/plugin.xml @@ -10,6 +10,21 @@ <extension-point id="de.bmotionstudio.gef.editor.observer" name="BMotion Studio Observer" schema="schema/de.bmotionstudio.gef.editor.observer.exsd"/> <extension-point id="de.bmotionstudio.gef.editor.paletteEntry" name="Add a custom Palette Entry" schema="schema/de.bmotionstudio.gef.editor.paletteEntry.exsd"/> <extension-point id="de.bmotionstudio.gef.editor.includeObserver" name="Include Observer Extension Point" schema="schema/de.bmotionstudio.gef.editor.includeObserver.exsd"/> + <extension + point="org.eclipse.ui.perspectives"> + <perspective + class="de.bmotionstudio.gef.editor.internal.PerspectiveEditFactory" + icon="icons/logo_bmotion.png" + id="de.bmotionstudio.perspective.edit" + name="BMS Edit"> + </perspective> + <perspective + class="de.bmotionstudio.gef.editor.internal.PerspectiveRunFactory" + icon="icons/icon_run.png" + id="de.bmotionstudio.perspective.run" + name="BMS Run"> + </perspective> + </extension> <extension point="org.eclipse.ui.editors"> <editor @@ -56,35 +71,22 @@ <extension point="org.eclipse.ui.menus"> <menuContribution - locationURI="menu:org.eclipse.ui.main.menu"> - <menu - id="de.bmotionstudio.gef.editor.menu" - label="BMotion Studio"> - <command - commandId="de.bmotionstudio.gef.editor.command.openBMotionStudioWebsite" - label="Open website" - style="push"> - </command> - <separator - name="group.filter" - visible="true"> - </separator> - <command - commandId="de.bmotionstudio.command.startVisualizationFromEditor" - icon="icons/icon_run.png" - label="Start Visualization" - style="push"> - <visibleWhen - checkEnabled="true"> - <with - variable="activeEditorId"> - <equals - value="de.bmotionstudio.gef.editor.BMotionStudioEditor"> - </equals> - </with> - </visibleWhen> - </command> - </menu> + locationURI="menu:org.eclipse.ui.run"> + <command + commandId="de.bmotionstudio.command.startVisualizationFromEditor" + icon="icons/icon_run.png" + label="Start Visualization" + style="push"> + <visibleWhen + checkEnabled="true"> + <with + variable="activeEditorId"> + <equals + value="de.bmotionstudio.gef.editor.BMotionStudioEditor"> + </equals> + </with> + </visibleWhen> + </command> </menuContribution> <menuContribution locationURI="toolbar:org.eclipse.ui.main.toolbar"> @@ -107,14 +109,29 @@ </command> </toolbar> </menuContribution> + <menuContribution + locationURI="popup:fr.systerel.explorer.navigator.view"> + <command + commandId="de.bmotionstudio.rodin.command.startVisualization" + icon="icons/icon_run.png" + label="Start Visualization" + style="push"> + <visibleWhen> + <with + variable="selection"> + <iterate + operator="or"> + <instanceof + value="de.bmotionstudio.gef.editor.internal.BMotionStudioRodinFile"> + </instanceof> + </iterate> + </with> + </visibleWhen> + </command> + </menuContribution> </extension> <extension point="org.eclipse.ui.commands"> - <command - defaultHandler="de.bmotionstudio.gef.editor.handler.OpenWebsiteHandler" - id="de.bmotionstudio.gef.editor.command.openBMotionStudioWebsite" - name="Open website"> - </command> <command id="de.bmotionstudio.command.startVisualizationFromEditor" name="Start Visualization from Editor"> @@ -124,6 +141,11 @@ id="de.bmotionstudio.command.startVisualizationFromFile" name="Start Visualization from File"> </command> + <command + defaultHandler="de.bmotionstudio.gef.editor.handler.StartEventBVisualizationHandler" + id="de.bmotionstudio.rodin.command.startVisualization" + name="Start Visualization"> + </command> </extension> <extension point="org.eclipse.ui.handlers"> @@ -140,6 +162,61 @@ </enabledWhen> </handler> </extension> + <extension + point="org.eclipse.ui.navigator.navigatorContent"> + <navigatorContent + contentProvider="de.bmotionstudio.gef.editor.internal.BMotionStudioContentProvider" + id="de.bmotionstudio.ui.navigatorContent" + labelProvider="de.bmotionstudio.gef.editor.internal.BMotionLabelProvider" + name="BMotion Studio Navigator Content" + priority="normal"> + <triggerPoints> + <instanceof + value="org.eclipse.core.resources.IProject"> + </instanceof> + </triggerPoints> + <possibleChildren> + <instanceof + value="de.bmotionstudio.gef.editor.internal.BMotionStudioRodinFile"> + </instanceof> + </possibleChildren> + <actionProvider + class="de.bmotionstudio.gef.editor.action.BMotionStudioActionProvider" + id="de.bmotionstudio.ui.navigatorAction" + priority="normal"> + <enablement> + <instanceof value="de.bmotionstudio.gef.editor.internal.BMotionStudioRodinFile"> + </instanceof> + </enablement> + </actionProvider> + </navigatorContent> + </extension> + <extension + point="org.eclipse.ui.navigator.viewer"> + <viewerContentBinding + viewerId="fr.systerel.explorer.navigator.view"> + <includes> + <contentExtension + pattern="de.bmotionstudio.ui.navigatorContent"> + </contentExtension> + </includes> + </viewerContentBinding> + <viewerActionBinding + viewerId="fr.systerel.explorer.navigator.view"> + <includes> + <actionExtension + pattern="de.bmotionstudio.ui.navigatorAction"> + </actionExtension> + </includes> + </viewerActionBinding> + </extension> + <extension + point="org.rodinp.core.fileAssociations"> + <fileAssociation + content-type-id="de.bmotionstudio.gef.editor.BMotionStudioFile" + root-element-type="de.bmotionstudio.gef.editor.BMotionStudioFile"> + </fileAssociation> + </extension> <extension point="de.prob.core.animation"> <listener diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/BMotionStudioContributor.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/BMotionStudioContributor.java index 1a43742694434462a941adf1bfa043f62cd8e57a..5f8d9725a4bb24cda49e060f8486d49a66424097 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/BMotionStudioContributor.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/BMotionStudioContributor.java @@ -75,23 +75,19 @@ public class BMotionStudioContributor extends ActionBarContributor { super.contributeToMenu(menuManager); - IContributionItem bMenu = menuManager - .find("de.bmotionstudio.gef.editor.menu"); - if (bMenu != null) { - - IMenuManager bmotionMenu = (IMenuManager) bMenu; - MenuManager viewMenu = new MenuManager("Editor"); + IContributionItem editMenuContribution = menuManager.find("edit"); + if (editMenuContribution != null) { + IMenuManager editMenu = (IMenuManager)editMenuContribution; + MenuManager viewMenu = new MenuManager("BMotion Studio", "de.bmotionstudio.gef.editor.menu"); viewMenu.add(getAction(GEFActionConstants.ZOOM_IN)); viewMenu.add(getAction(GEFActionConstants.ZOOM_OUT)); viewMenu.add(new Separator()); viewMenu.add(getAction(GEFActionConstants.TOGGLE_RULER_VISIBILITY)); viewMenu.add(getAction(GEFActionConstants.TOGGLE_GRID_VISIBILITY)); viewMenu.add(getAction(GEFActionConstants.TOGGLE_SNAP_TO_GEOMETRY)); - bmotionMenu - .insertAfter( - "de.bmotionstudio.gef.editor.command.openBMotionStudioWebsite", - viewMenu); + editMenu.insertAfter("additions", new Separator("de.bmotionstudio.gef.editor.group")); + editMenu.insertAfter("de.bmotionstudio.gef.editor.group", viewMenu); } } diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/BMotionStudioImage.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/BMotionStudioImage.java index b3eaa999e181a45a3691bf94e1324dbf3d46834f..a0a918e8104d87048b68c611faacc3e53670a946 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/BMotionStudioImage.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/BMotionStudioImage.java @@ -22,13 +22,9 @@ public class BMotionStudioImage { private static ImageRegistry imageReg = new ImageRegistry(); private static boolean isInit = false; - public static final String IMG_LOGO_B = "logo_b"; public static final String IMG_LOGO_BMOTION = "logo_bmotion"; public static final String IMG_LOGO_BMOTION64 = "logo_bmotion64"; - public static final String IMG_ICON_MOTION = "icon_motion"; - public static final String IMG_ICON_MOTION_WIZ = "icon_motion_wiz"; - public static ImageDescriptor getImageDescriptor(final String path) { return getImageDescriptor(BMotionEditorPlugin.PLUGIN_ID, path); } @@ -62,12 +58,8 @@ public class BMotionStudioImage { } private static void initializeImageRegistry() { - - registerImage(IMG_LOGO_B, "icons/logo_b.gif"); registerImage(IMG_LOGO_BMOTION, "icons/logo_bmotion.png"); registerImage(IMG_LOGO_BMOTION64, "icons/logo_bmotion_64.png"); - registerImage(IMG_ICON_MOTION, "icons/icon_motion.gif"); - registerImage(IMG_ICON_MOTION_WIZ, "icons/icon_motion_wiz.gif"); registerBControlImages(); diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/EditorImageRegistry.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/EditorImageRegistry.java index 967cf40bb7e56f43ce4db5b772e70b87c8c9d355..dd179eeded5d580c02492d53675828b10b884958 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/EditorImageRegistry.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/EditorImageRegistry.java @@ -12,15 +12,11 @@ public class EditorImageRegistry implements IBMotionStudioImageRegistry { public static final String IMG_ICON_CHOP = "icon_chop"; public static final String IMG_ICON_DELETE = "icon_delete"; public static final String IMG_ICON_DELETE21 = "icon_delete21"; - public static final String IMG_ICON_EDIT = "icon_edit"; public static final String IMG_ICON_CHECKED = "icon_checked"; public static final String IMG_ICON_UNCHECKED = "icon_unchecked"; public static final String IMG_ICON_OBSERVER = "icon_observer"; public static final String IMG_ICON_LOADING = "icon_loading"; public static final String IMG_ICON_LIBRARY = "icon_library"; - public static final String IMG_ICON_ASCRIPT = "icon_ascript"; - public static final String IMG_ICON_UP = "icon_up"; - public static final String IMG_ICON_DOWN = "icon_down"; public static final String IMG_ICON_CONNECTION16 = "icon_connection16"; public static final String IMG_ICON_CONNECTION24 = "icon_connection24"; public static final String IMG_ICON_NEW_WIZ = "icon_new_wiz"; @@ -48,18 +44,10 @@ public class EditorImageRegistry implements IBMotionStudioImageRegistry { BMotionEditorPlugin.PLUGIN_ID, "icons/icon_checked.gif"); BMotionStudioImage.registerImage(IMG_ICON_UNCHECKED, BMotionEditorPlugin.PLUGIN_ID, "icons/icon_unchecked.gif"); - BMotionStudioImage.registerImage(IMG_ICON_EDIT, - BMotionEditorPlugin.PLUGIN_ID, "icons/icon_edit.gif"); BMotionStudioImage.registerImage(IMG_ICON_LOADING, BMotionEditorPlugin.PLUGIN_ID, "icons/icon_loading.gif"); BMotionStudioImage.registerImage(IMG_ICON_LIBRARY, BMotionEditorPlugin.PLUGIN_ID, "icons/icon_library.gif"); - BMotionStudioImage.registerImage(IMG_ICON_ASCRIPT, - BMotionEditorPlugin.PLUGIN_ID, "icons/icon_ascript.png"); - BMotionStudioImage.registerImage(IMG_ICON_UP, - BMotionEditorPlugin.PLUGIN_ID, "icons/icon_up.gif"); - BMotionStudioImage.registerImage(IMG_ICON_DOWN, - BMotionEditorPlugin.PLUGIN_ID, "icons/icon_down.gif"); BMotionStudioImage.registerImage(IMG_ICON_CONNECTION16, BMotionEditorPlugin.PLUGIN_ID, "icons/icon_connection16.gif"); BMotionStudioImage.registerImage(IMG_ICON_CONNECTION24, diff --git a/de.bmotionstudio.rodin/src/de/bmotionstudio/rodin/ActionCollection.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/action/ActionCollection.java similarity index 97% rename from de.bmotionstudio.rodin/src/de/bmotionstudio/rodin/ActionCollection.java rename to de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/action/ActionCollection.java index b70999a3c7f292bd21ac025b275a98ff4c8a7678..6b5be76d9d94005aba4f53736770c1e4373c57ad 100644 --- a/de.bmotionstudio.rodin/src/de/bmotionstudio/rodin/ActionCollection.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/action/ActionCollection.java @@ -4,7 +4,7 @@ * This software is licenced under EPL 1.0 (http://www.eclipse.org/org/documents/epl-v10.html) * */ -package de.bmotionstudio.rodin; +package de.bmotionstudio.gef.editor.action; import java.util.ArrayList; import java.util.Collection; @@ -30,6 +30,7 @@ import org.eclipse.ui.navigator.ICommonActionExtensionSite; import org.eclipse.ui.part.FileEditorInput; import de.bmotionstudio.gef.editor.BMotionEditorPlugin; +import de.bmotionstudio.gef.editor.internal.BMotionStudioRodinFile; public class ActionCollection { diff --git a/de.bmotionstudio.rodin/src/de/bmotionstudio/rodin/BMotionStudioActionProvider.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/action/BMotionStudioActionProvider.java similarity index 95% rename from de.bmotionstudio.rodin/src/de/bmotionstudio/rodin/BMotionStudioActionProvider.java rename to de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/action/BMotionStudioActionProvider.java index e6b1ca715fd09baa7f3fc3c6332cd0dbaf47411c..6d2f467a8ddeff516de67f20fe07f2a940383403 100644 --- a/de.bmotionstudio.rodin/src/de/bmotionstudio/rodin/BMotionStudioActionProvider.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/action/BMotionStudioActionProvider.java @@ -4,7 +4,7 @@ * This software is licenced under EPL 1.0 (http://www.eclipse.org/org/documents/epl-v10.html) * */ -package de.bmotionstudio.rodin; +package de.bmotionstudio.gef.editor.action; import org.eclipse.jface.action.GroupMarker; import org.eclipse.jface.action.IMenuManager; @@ -20,6 +20,7 @@ import org.eclipse.ui.navigator.ICommonActionExtensionSite; import org.eclipse.ui.navigator.ICommonMenuConstants; import de.bmotionstudio.gef.editor.BMotionEditorPlugin; +import de.bmotionstudio.gef.editor.internal.BMotionStudioRodinFile; public class BMotionStudioActionProvider extends CommonActionProvider { diff --git a/de.bmotionstudio.rodin/src/de/bmotionstudio/rodin/YesToAllMessageDialog.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/action/YesToAllMessageDialog.java similarity index 96% rename from de.bmotionstudio.rodin/src/de/bmotionstudio/rodin/YesToAllMessageDialog.java rename to de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/action/YesToAllMessageDialog.java index ed59926eed3da61f0afaa3d2fcec23d93557e0ca..643ab8b99aacd9adf9e45a21465cfa453642c79c 100644 --- a/de.bmotionstudio.rodin/src/de/bmotionstudio/rodin/YesToAllMessageDialog.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/action/YesToAllMessageDialog.java @@ -4,7 +4,7 @@ * This software is licenced under EPL 1.0 (http://www.eclipse.org/org/documents/epl-v10.html) * */ -package de.bmotionstudio.rodin; +package de.bmotionstudio.gef.editor.action; import org.eclipse.jface.dialogs.IDialogConstants; import org.eclipse.jface.dialogs.MessageDialog; diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/edit/IntEditingSupport.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/edit/IntEditingSupport.java index 26a29edce7e266323476ee97fd7d482c7a9906b0..ba70873ad51e4d6a363e8e76e92797aadf0c199f 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/edit/IntEditingSupport.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/edit/IntEditingSupport.java @@ -7,9 +7,9 @@ package de.bmotionstudio.gef.editor.edit; import org.eclipse.core.databinding.DataBindingContext; -import org.eclipse.core.databinding.beans.BeansObservables; +import org.eclipse.core.databinding.beans.typed.BeanProperties; import org.eclipse.core.databinding.observable.value.IObservableValue; -import org.eclipse.jface.databinding.swt.SWTObservables; +import org.eclipse.jface.databinding.swt.typed.WidgetProperties; import org.eclipse.jface.databinding.viewers.ObservableValueEditingSupport; import org.eclipse.jface.viewers.CellEditor; import org.eclipse.jface.viewers.TableViewer; @@ -47,13 +47,13 @@ public class IntEditingSupport extends ObservableValueEditingSupport { @Override protected IObservableValue doCreateCellEditorObservable( CellEditor cellEditor) { - return SWTObservables.observeText(cellEditor.getControl(), SWT.Modify); + return WidgetProperties.text(SWT.Modify).observe(cellEditor.getControl()); } @Override protected IObservableValue doCreateElementObservable(Object element, ViewerCell cell) { - return BeansObservables.observeValue(element, atr); + return BeanProperties.value(atr).observe(element); } @Override diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/edit/PredicateEditingSupport.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/edit/PredicateEditingSupport.java index 3ad7a19c1f4759664cc307585af02d3c5c3197cd..08dff2daef17353d76ac48e2ae6df5b61611e171 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/edit/PredicateEditingSupport.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/edit/PredicateEditingSupport.java @@ -6,9 +6,9 @@ package de.bmotionstudio.gef.editor.edit; import org.eclipse.core.databinding.DataBindingContext; -import org.eclipse.core.databinding.beans.BeansObservables; +import org.eclipse.core.databinding.beans.typed.BeanProperties; import org.eclipse.core.databinding.observable.value.IObservableValue; -import org.eclipse.jface.databinding.swt.SWTObservables; +import org.eclipse.jface.databinding.swt.typed.WidgetProperties; import org.eclipse.jface.databinding.viewers.ObservableValueEditingSupport; import org.eclipse.jface.viewers.CellEditor; import org.eclipse.jface.viewers.TableViewer; @@ -41,13 +41,13 @@ public class PredicateEditingSupport extends ObservableValueEditingSupport { @Override protected IObservableValue doCreateCellEditorObservable( CellEditor cellEditor) { - return SWTObservables.observeText(cellEditor.getControl(), SWT.Modify); + return WidgetProperties.text(SWT.Modify).observe(cellEditor.getControl()); } @Override protected IObservableValue doCreateElementObservable(Object element, ViewerCell cell) { - return BeansObservables.observeValue(element, property); + return BeanProperties.value(property).observe(element); } @Override diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/edit/TextEditingSupport.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/edit/TextEditingSupport.java index 4181dbeb93d946b93e481a5b2efe58c6416aa356..4dc64fe1168cc508b95825a273eb238bf1de7f39 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/edit/TextEditingSupport.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/edit/TextEditingSupport.java @@ -7,9 +7,9 @@ package de.bmotionstudio.gef.editor.edit; import org.eclipse.core.databinding.DataBindingContext; -import org.eclipse.core.databinding.beans.BeansObservables; +import org.eclipse.core.databinding.beans.typed.BeanProperties; import org.eclipse.core.databinding.observable.value.IObservableValue; -import org.eclipse.jface.databinding.swt.SWTObservables; +import org.eclipse.jface.databinding.swt.typed.WidgetProperties; import org.eclipse.jface.databinding.viewers.ObservableValueEditingSupport; import org.eclipse.jface.viewers.CellEditor; import org.eclipse.jface.viewers.ColumnViewer; @@ -34,13 +34,13 @@ public class TextEditingSupport extends ObservableValueEditingSupport { @Override protected IObservableValue doCreateCellEditorObservable( CellEditor cellEditor) { - return SWTObservables.observeText(cellEditor.getControl(), SWT.Modify); + return WidgetProperties.text(SWT.Modify).observe(cellEditor.getControl()); } @Override protected IObservableValue doCreateElementObservable(Object element, ViewerCell cell) { - return BeansObservables.observeValue(element, property); + return BeanProperties.value(property).observe(element); } @Override diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/edit/TypeEditingSupport.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/edit/TypeEditingSupport.java index 8c009c4ba7fa50fe44db9d3d47366f3e770bea16..4316d51091c7a549827de9e371ec8eb2143710a2 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/edit/TypeEditingSupport.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/edit/TypeEditingSupport.java @@ -7,9 +7,9 @@ package de.bmotionstudio.gef.editor.edit; import org.eclipse.core.databinding.DataBindingContext; -import org.eclipse.core.databinding.beans.BeansObservables; +import org.eclipse.core.databinding.beans.typed.BeanProperties; import org.eclipse.core.databinding.observable.value.IObservableValue; -import org.eclipse.jface.databinding.swt.SWTObservables; +import org.eclipse.jface.databinding.swt.typed.WidgetProperties; import org.eclipse.jface.databinding.viewers.ObservableValueEditingSupport; import org.eclipse.jface.viewers.CellEditor; import org.eclipse.jface.viewers.ColumnViewer; @@ -33,13 +33,13 @@ public class TypeEditingSupport extends ObservableValueEditingSupport { @Override protected IObservableValue doCreateCellEditorObservable( CellEditor cellEditor) { - return SWTObservables.observeSelection(cellEditor.getControl()); + return WidgetProperties.widgetSelection().observe(cellEditor.getControl()); } @Override protected IObservableValue doCreateElementObservable(Object element, ViewerCell cell) { - return BeansObservables.observeValue(element, propertyName); + return BeanProperties.value(propertyName).observe(element); } @Override diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/handler/OpenWebsiteHandler.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/handler/OpenWebsiteHandler.java deleted file mode 100644 index 5a956e4483e387bb3cac5ba2cc6a3c379a50e6b0..0000000000000000000000000000000000000000 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/handler/OpenWebsiteHandler.java +++ /dev/null @@ -1,39 +0,0 @@ -/** - * (c) 2009 Lehrstuhl fuer Softwaretechnik und Programmiersprachen, - * Heinrich Heine Universitaet Duesseldorf - * This software is licenced under EPL 1.0 (http://www.eclipse.org/org/documents/epl-v10.html) - * */ - -package de.bmotionstudio.gef.editor.handler; - -import java.net.MalformedURLException; -import java.net.URL; - -import org.eclipse.core.commands.AbstractHandler; -import org.eclipse.core.commands.ExecutionEvent; -import org.eclipse.core.commands.ExecutionException; -import org.eclipse.ui.PartInitException; -import org.eclipse.ui.PlatformUI; - -import de.prob.logging.Logger; - -public class OpenWebsiteHandler extends AbstractHandler { - - private static final String URL = "https://prob.hhu.de/w/index.php/BMotion_Studio"; - - public Object execute(ExecutionEvent event) throws ExecutionException { - try { - PlatformUI.getWorkbench().getBrowserSupport().getExternalBrowser() - .openURL(new URL(URL)); - } catch (PartInitException e) { - final String message = "Part init exception occurred\n" - + e.getLocalizedMessage(); - Logger.notifyUser(message, e); - } catch (MalformedURLException e) { - final String message = "This really should never happen unless the http protocol changes"; - Logger.notifyUser(message, e); - } - return null; - } - -} diff --git a/de.bmotionstudio.rodin/src/de/bmotionstudio/rodin/StartEventBVisualizationHandler.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/handler/StartEventBVisualizationHandler.java similarity index 91% rename from de.bmotionstudio.rodin/src/de/bmotionstudio/rodin/StartEventBVisualizationHandler.java rename to de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/handler/StartEventBVisualizationHandler.java index 73fdccadfa2dac75a95554de9becd38b45f02744..3f78d94425c5b4b4991243adbcf228ad3c34c230 100644 --- a/de.bmotionstudio.rodin/src/de/bmotionstudio/rodin/StartEventBVisualizationHandler.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/handler/StartEventBVisualizationHandler.java @@ -4,7 +4,7 @@ * This software is licenced under EPL 1.0 (http://www.eclipse.org/org/documents/epl-v10.html) * */ -package de.bmotionstudio.rodin; +package de.bmotionstudio.gef.editor.handler; import org.eclipse.core.commands.IHandler; import org.eclipse.core.resources.IFile; @@ -15,7 +15,7 @@ import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.Path; import org.eclipse.jface.viewers.IStructuredSelection; -import de.bmotionstudio.gef.editor.handler.StartVisualizationFileHandler; +import de.bmotionstudio.gef.editor.internal.BMotionStudioRodinFile; /** * @author Lukas Ladenberger diff --git a/de.bmotionstudio.rodin/src/de/bmotionstudio/rodin/BMotionLabelProvider.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/internal/BMotionLabelProvider.java similarity index 96% rename from de.bmotionstudio.rodin/src/de/bmotionstudio/rodin/BMotionLabelProvider.java rename to de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/internal/BMotionLabelProvider.java index 06ae49b37bd6eaff0b4d36a737d3a0fc671be1e1..925bdc09b3ec6f8b265a66abe096f3981af6f701 100644 --- a/de.bmotionstudio.rodin/src/de/bmotionstudio/rodin/BMotionLabelProvider.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/internal/BMotionLabelProvider.java @@ -4,7 +4,7 @@ * This software is licenced under EPL 1.0 (http://www.eclipse.org/org/documents/epl-v10.html) * */ -package de.bmotionstudio.rodin; +package de.bmotionstudio.gef.editor.internal; import org.eclipse.jface.viewers.ILabelProvider; import org.eclipse.jface.viewers.ILabelProviderListener; diff --git a/de.bmotionstudio.rodin/src/de/bmotionstudio/rodin/BMotionStudioContentProvider.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/internal/BMotionStudioContentProvider.java similarity index 97% rename from de.bmotionstudio.rodin/src/de/bmotionstudio/rodin/BMotionStudioContentProvider.java rename to de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/internal/BMotionStudioContentProvider.java index ed93b697f873ae0669827c3e7029206951467e5a..ce9ebd9591167d32f0cf8de73584f1ec6c8f7bc1 100644 --- a/de.bmotionstudio.rodin/src/de/bmotionstudio/rodin/BMotionStudioContentProvider.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/internal/BMotionStudioContentProvider.java @@ -4,7 +4,7 @@ * This software is licenced under EPL 1.0 (http://www.eclipse.org/org/documents/epl-v10.html) * */ -package de.bmotionstudio.rodin; +package de.bmotionstudio.gef.editor.internal; import java.util.ArrayList; import java.util.List; diff --git a/de.bmotionstudio.rodin/src/de/bmotionstudio/rodin/BMotionStudioRodinFile.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/internal/BMotionStudioRodinFile.java similarity index 92% rename from de.bmotionstudio.rodin/src/de/bmotionstudio/rodin/BMotionStudioRodinFile.java rename to de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/internal/BMotionStudioRodinFile.java index 6286b03e5ce1410a60546697cca103f803318e17..77ff770e0c956a263fafe98d2e8dc2a07f988d08 100644 --- a/de.bmotionstudio.rodin/src/de/bmotionstudio/rodin/BMotionStudioRodinFile.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/internal/BMotionStudioRodinFile.java @@ -4,7 +4,7 @@ * This software is licenced under EPL 1.0 (http://www.eclipse.org/org/documents/epl-v10.html) * */ -package de.bmotionstudio.rodin; +package de.bmotionstudio.gef.editor.internal; import org.eclipse.core.resources.IResource; diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/internal/NewBMotionProjectAction.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/internal/NewBMotionProjectAction.java deleted file mode 100644 index 8144c6734f46d6372a9d5bbd4903a65706899450..0000000000000000000000000000000000000000 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/internal/NewBMotionProjectAction.java +++ /dev/null @@ -1,78 +0,0 @@ -/** - * (c) 2009 Lehrstuhl fuer Softwaretechnik und Programmiersprachen, - * Heinrich Heine Universitaet Duesseldorf - * This software is licenced under EPL 1.0 (http://www.eclipse.org/org/documents/epl-v10.html) - * */ - -package de.bmotionstudio.gef.editor.internal; - -import org.eclipse.jface.action.IAction; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.wizard.WizardDialog; -import org.eclipse.ui.IActionDelegate; -import org.eclipse.ui.IObjectActionDelegate; -import org.eclipse.ui.IWorkbenchPart; -import org.rodinp.core.IRodinProject; - -import de.bmotionstudio.gef.editor.BMotionEditorPlugin; - -@Deprecated -public class NewBMotionProjectAction implements IObjectActionDelegate { - - // private IWorkbenchPart targetPart; - private IStructuredSelection currentSelection; - private IRodinProject rodinProject; - - public NewBMotionProjectAction() { - super(); - } - - /** - * @see IObjectActionDelegate#setActivePart(IAction, IWorkbenchPart) - */ - public void setActivePart(final IAction action, - final IWorkbenchPart targetPart) { - // this.targetPart = targetPart; - } - - /** - * @see IActionDelegate#run(IAction) - */ - public void run(IAction action) { - - if (rodinProject == null) { - return; - } - - NewBMotionProjectWizard wizard = new NewBMotionProjectWizard(); - wizard.init(BMotionEditorPlugin.getDefault().getWorkbench(), - currentSelection); - WizardDialog dialog = new WizardDialog(BMotionEditorPlugin - .getActiveEditor().getSite().getShell(), wizard); - dialog.create(); - dialog.open(); - - } - - /** - * @see IActionDelegate#selectionChanged(IAction, ISelection) - */ - public void selectionChanged(IAction action, ISelection selection) { - - if (selection instanceof IStructuredSelection) { - IStructuredSelection ssel = (IStructuredSelection) selection; - currentSelection = ssel; - if (ssel.size() == 1) { - Object firstElement = ssel.getFirstElement(); - if (firstElement instanceof IRodinProject) { - rodinProject = (IRodinProject) firstElement; - return; - } - } - } - rodinProject = null; - - } - -} diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/library/LibraryPage.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/library/LibraryPage.java index 5582fbbf7af11dcdb1884e62d081ac311f40cf29..7d3752e77101f20ec187a4b987fbda75293b4881 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/library/LibraryPage.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/library/LibraryPage.java @@ -251,18 +251,6 @@ public class LibraryPage extends Page { img)); } } - - // TODO: Reimplement me!!! - // Visualization vis = this.editor.getVisualization(); - // if (vis != null) { - // for (MachineContentObject obj : vis.getVariableList() - // .getCollection()) { - // tmpList.add(new LibraryVariableObject(obj.getLabel(), - // "variable", BMotionStudioImage - // .getImage(BMotionStudioImage.IMG_LOGO_B))); - // } - // } - } return tmpList; diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/observer/wizard/WizardColumnObserver.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/observer/wizard/WizardColumnObserver.java index 7929eef17522ee3452788fdb37f0b95de3b7c0a9..9312d519e623825f4b5e58683735a3902123084f 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/observer/wizard/WizardColumnObserver.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/observer/wizard/WizardColumnObserver.java @@ -7,8 +7,8 @@ package de.bmotionstudio.gef.editor.observer.wizard; import org.eclipse.core.databinding.DataBindingContext; -import org.eclipse.core.databinding.beans.BeansObservables; -import org.eclipse.jface.databinding.swt.SWTObservables; +import org.eclipse.core.databinding.beans.typed.BeanProperties; +import org.eclipse.jface.databinding.swt.typed.WidgetProperties; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.wizard.WizardPage; import org.eclipse.swt.SWT; @@ -75,14 +75,15 @@ public class WizardColumnObserver extends ObserverWizard { private void initBindings(DataBindingContext dbc) { - dbc.bindValue(SWTObservables.observeText(txtPredicate, SWT.Modify), - BeansObservables.observeValue( - (ColumnObserver) getObserver(), "predicate")); + dbc.bindValue( + WidgetProperties.text(SWT.Modify).observe(txtPredicate), + BeanProperties.value(ColumnObserver.class, "predicate") + .observe((ColumnObserver) getObserver())); dbc.bindValue( - SWTObservables.observeText(txtExpression, SWT.Modify), - BeansObservables.observeValue( - (ColumnObserver) getObserver(), "expression")); + WidgetProperties.text(SWT.Modify).observe(txtExpression), + BeanProperties.value(ColumnObserver.class, "expression") + .observe((ColumnObserver) getObserver())); } diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/observer/wizard/WizardObserverCSwitchCoordinates.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/observer/wizard/WizardObserverCSwitchCoordinates.java index 9f89e701174dfe9f0cf329e55eb75f1376d99b00..0dc136aec801ec93ff30a0071703f58d4e0a9552 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/observer/wizard/WizardObserverCSwitchCoordinates.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/observer/wizard/WizardObserverCSwitchCoordinates.java @@ -7,7 +7,7 @@ package de.bmotionstudio.gef.editor.observer.wizard; import org.eclipse.core.databinding.DataBindingContext; -import org.eclipse.core.databinding.beans.BeansObservables; +import org.eclipse.core.databinding.beans.typed.BeanProperties; import org.eclipse.core.databinding.observable.list.WritableList; import org.eclipse.core.databinding.observable.map.IObservableMap; import org.eclipse.jface.databinding.viewers.ObservableListContentProvider; @@ -41,6 +41,7 @@ import de.bmotionstudio.gef.editor.edit.PredicateEditingSupport; import de.bmotionstudio.gef.editor.edit.TextEditingSupport; import de.bmotionstudio.gef.editor.model.BControl; import de.bmotionstudio.gef.editor.observer.Observer; +import de.bmotionstudio.gef.editor.observer.ObserverEvalObject; import de.bmotionstudio.gef.editor.observer.ObserverWizard; import de.bmotionstudio.gef.editor.observer.SwitchChildCoordinates; import de.bmotionstudio.gef.editor.observer.ToggleObjectCoordinates; @@ -168,12 +169,13 @@ public class WizardObserverCSwitchCoordinates extends ObserverWizard { ObservableListContentProvider contentProvider = new ObservableListContentProvider(); tableViewer.setContentProvider(contentProvider); - tableViewer - .setLabelProvider(new ObserverLabelProvider( - BeansObservables.observeMaps( - contentProvider.getKnownElements(), - new String[] { "eval", "bcontrol", "x", - "y", "animate" }))); + tableViewer.setLabelProvider(new ObserverLabelProvider(new IObservableMap[] { + BeanProperties.value(ObserverEvalObject.class, "eval").observeDetail(contentProvider.getKnownElements()), + BeanProperties.value(ToggleObjectCoordinates.class, "bcontrol").observeDetail(contentProvider.getKnownElements()), + BeanProperties.value(ToggleObjectCoordinates.class, "x").observeDetail(contentProvider.getKnownElements()), + BeanProperties.value(ToggleObjectCoordinates.class, "y").observeDetail(contentProvider.getKnownElements()), + // BeanProperties.value(ToggleObjectCoordinates.class, "animate").observeDetail(contentProvider.getKnownElements()), + })); final WritableList input = new WritableList( ((SwitchChildCoordinates) getObserver()).getToggleObjects(), diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/observer/wizard/WizardObserverListenOperationByPredicate.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/observer/wizard/WizardObserverListenOperationByPredicate.java index 6959c465082601da08adc322645988b04c9e6135..8595875b93209acd693827b1e748a01b0b16e9ba 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/observer/wizard/WizardObserverListenOperationByPredicate.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/observer/wizard/WizardObserverListenOperationByPredicate.java @@ -10,7 +10,7 @@ import java.util.ArrayList; import java.util.List; import org.eclipse.core.databinding.DataBindingContext; -import org.eclipse.core.databinding.beans.BeansObservables; +import org.eclipse.core.databinding.beans.typed.BeanProperties; import org.eclipse.core.databinding.observable.list.ComputedList; import org.eclipse.core.databinding.observable.list.WritableList; import org.eclipse.core.databinding.observable.map.IObservableMap; @@ -55,6 +55,7 @@ import de.bmotionstudio.gef.editor.edit.PredicateEditingSupport; import de.bmotionstudio.gef.editor.model.BControl; import de.bmotionstudio.gef.editor.observer.ListenOperationByPredicate; import de.bmotionstudio.gef.editor.observer.Observer; +import de.bmotionstudio.gef.editor.observer.ObserverEvalObject; import de.bmotionstudio.gef.editor.observer.ObserverWizard; import de.bmotionstudio.gef.editor.property.CheckboxCellEditorHelper; import de.bmotionstudio.gef.editor.scheduler.PredicateOperation; @@ -169,11 +170,13 @@ public class WizardObserverListenOperationByPredicate extends ObserverWizard { ObservableListContentProvider contentProvider = new ObservableListContentProvider(); tableViewer.setContentProvider(contentProvider); - tableViewer.setLabelProvider(new ObserverLabelProvider( - BeansObservables.observeMaps( - contentProvider.getKnownElements(), new String[] { - "operationName", "predicate", "attribute", - "value", "isExpressionMode" }))); + tableViewer.setLabelProvider(new ObserverLabelProvider(new IObservableMap[] { + BeanProperties.value(PredicateOperation.class, "operationName").observeDetail(contentProvider.getKnownElements()), + BeanProperties.value(PredicateOperation.class, "predicate").observeDetail(contentProvider.getKnownElements()), + BeanProperties.value(ObserverEvalObject.class, "attribute").observeDetail(contentProvider.getKnownElements()), + BeanProperties.value(ObserverEvalObject.class, "value").observeDetail(contentProvider.getKnownElements()), + BeanProperties.value(ObserverEvalObject.class, "isExpressionMode").observeDetail(contentProvider.getKnownElements()), + })); final WritableList input = new WritableList( ((ListenOperationByPredicate) getObserver()).getList(), PredicateOperation.class); diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/observer/wizard/WizardObserverSetAttribute.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/observer/wizard/WizardObserverSetAttribute.java index 40b7c19c652e48178b5ba59f50468c3967d285f3..6801af40b2e8b24598739e19014f08022364c4dd 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/observer/wizard/WizardObserverSetAttribute.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/observer/wizard/WizardObserverSetAttribute.java @@ -9,7 +9,7 @@ import java.util.ArrayList; import java.util.List; import org.eclipse.core.databinding.DataBindingContext; -import org.eclipse.core.databinding.beans.BeansObservables; +import org.eclipse.core.databinding.beans.typed.BeanProperties; import org.eclipse.core.databinding.observable.list.ComputedList; import org.eclipse.core.databinding.observable.list.WritableList; import org.eclipse.core.databinding.observable.map.IObservableMap; @@ -54,6 +54,7 @@ import de.bmotionstudio.gef.editor.edit.IsExpressionModeEditingSupport; import de.bmotionstudio.gef.editor.edit.PredicateEditingSupport; import de.bmotionstudio.gef.editor.model.BControl; import de.bmotionstudio.gef.editor.observer.Observer; +import de.bmotionstudio.gef.editor.observer.ObserverEvalObject; import de.bmotionstudio.gef.editor.observer.ObserverWizard; import de.bmotionstudio.gef.editor.observer.SetAttribute; import de.bmotionstudio.gef.editor.observer.SetAttributeObject; @@ -161,11 +162,12 @@ public class WizardObserverSetAttribute extends ObserverWizard { ObservableListContentProvider contentProvider = new ObservableListContentProvider(); tableViewer.setContentProvider(contentProvider); - tableViewer.setLabelProvider(new ObserverLabelProvider( - BeansObservables.observeMaps( - contentProvider.getKnownElements(), new String[] { - "eval", "attribute", "value", - "isExpressionMode" }))); + tableViewer.setLabelProvider(new ObserverLabelProvider(new IObservableMap[] { + BeanProperties.value(ObserverEvalObject.class, "eval").observeDetail(contentProvider.getKnownElements()), + BeanProperties.value(ObserverEvalObject.class, "attribute").observeDetail(contentProvider.getKnownElements()), + BeanProperties.value(ObserverEvalObject.class, "value").observeDetail(contentProvider.getKnownElements()), + BeanProperties.value(ObserverEvalObject.class, "isExpressionMode").observeDetail(contentProvider.getKnownElements()), + })); input = new WritableList( ((SetAttribute) getObserver()).getSetAttributeObjects(), SetAttributeObject.class); diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/observer/wizard/WizardObserverSimpleValueDisplay.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/observer/wizard/WizardObserverSimpleValueDisplay.java index 6a4ee8d984f6008fc41dbd7381abba7e57d24e02..e708b45bd8b70ad74394d97437ef3a3eefdb031e 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/observer/wizard/WizardObserverSimpleValueDisplay.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/observer/wizard/WizardObserverSimpleValueDisplay.java @@ -7,8 +7,8 @@ package de.bmotionstudio.gef.editor.observer.wizard; import org.eclipse.core.databinding.DataBindingContext; -import org.eclipse.core.databinding.beans.BeansObservables; -import org.eclipse.jface.databinding.swt.SWTObservables; +import org.eclipse.core.databinding.beans.typed.BeanProperties; +import org.eclipse.jface.databinding.swt.typed.WidgetProperties; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.Font; @@ -93,18 +93,17 @@ public class WizardObserverSimpleValueDisplay extends ObserverWizard { private void initBindings(DataBindingContext dbc) { - dbc.bindValue(SWTObservables.observeText(txtPredicate, SWT.Modify), - BeansObservables.observeValue( - (SimpleValueDisplay) getObserver(), "predicate")); + dbc.bindValue(WidgetProperties.text(SWT.Modify).observe(txtPredicate), + BeanProperties.value(SimpleValueDisplay.class, "predicate") + .observe((SimpleValueDisplay) getObserver())); - dbc.bindValue( - SWTObservables.observeText(txtExpression, SWT.Modify), - BeansObservables.observeValue( - (SimpleValueDisplay) getObserver(), "eval")); + dbc.bindValue(WidgetProperties.text(SWT.Modify).observe(txtExpression), + BeanProperties.value(SimpleValueDisplay.class, "eval") + .observe((SimpleValueDisplay) getObserver())); - dbc.bindValue(SWTObservables.observeText(txtReplacementString, - SWT.Modify), BeansObservables.observeValue( - (SimpleValueDisplay) getObserver(), "replacementString")); + dbc.bindValue(WidgetProperties.text(SWT.Modify).observe(txtReplacementString), + BeanProperties.value(SimpleValueDisplay.class, "replacementString") + .observe((SimpleValueDisplay) getObserver())); } diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/observer/wizard/WizardObserverSwitchCoordinates.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/observer/wizard/WizardObserverSwitchCoordinates.java index 0b4bb1df49b9a6681dd1652c26cc7683163aaaae..334516db3ba777018d2ed6567f59d781879ba99f 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/observer/wizard/WizardObserverSwitchCoordinates.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/observer/wizard/WizardObserverSwitchCoordinates.java @@ -7,7 +7,7 @@ package de.bmotionstudio.gef.editor.observer.wizard; import org.eclipse.core.databinding.DataBindingContext; -import org.eclipse.core.databinding.beans.BeansObservables; +import org.eclipse.core.databinding.beans.typed.BeanProperties; import org.eclipse.core.databinding.observable.list.WritableList; import org.eclipse.core.databinding.observable.map.IObservableMap; import org.eclipse.jface.databinding.viewers.ObservableListContentProvider; @@ -42,6 +42,7 @@ import de.bmotionstudio.gef.editor.edit.PredicateEditingSupport; import de.bmotionstudio.gef.editor.edit.TextEditingSupport; import de.bmotionstudio.gef.editor.model.BControl; import de.bmotionstudio.gef.editor.observer.Observer; +import de.bmotionstudio.gef.editor.observer.ObserverEvalObject; import de.bmotionstudio.gef.editor.observer.ObserverWizard; import de.bmotionstudio.gef.editor.observer.SwitchCoordinates; import de.bmotionstudio.gef.editor.observer.ToggleObjectCoordinates; @@ -154,10 +155,11 @@ public class WizardObserverSwitchCoordinates extends ObserverWizard { ObservableListContentProvider contentProvider = new ObservableListContentProvider(); tableViewer.setContentProvider(contentProvider); - tableViewer.setLabelProvider(new ObserverLabelProvider( - BeansObservables.observeMaps( - contentProvider.getKnownElements(), new String[] { - "eval", "x", "y" }))); + tableViewer.setLabelProvider(new ObserverLabelProvider(new IObservableMap[] { + BeanProperties.value(ObserverEvalObject.class, "eval").observeDetail(contentProvider.getKnownElements()), + BeanProperties.value(ToggleObjectCoordinates.class, "x").observeDetail(contentProvider.getKnownElements()), + BeanProperties.value(ToggleObjectCoordinates.class, "y").observeDetail(contentProvider.getKnownElements()), + })); final WritableList input = new WritableList( ((SwitchCoordinates) getObserver()).getToggleObjects(), diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/observer/wizard/WizardObserverSwitchImage.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/observer/wizard/WizardObserverSwitchImage.java index c95305337e7995c2ec2570e8077ad7bfe4c14f9e..4f3f429e415a381b16c6b0dbf29a9daf0639eabf 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/observer/wizard/WizardObserverSwitchImage.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/observer/wizard/WizardObserverSwitchImage.java @@ -7,7 +7,7 @@ package de.bmotionstudio.gef.editor.observer.wizard; import org.eclipse.core.databinding.DataBindingContext; -import org.eclipse.core.databinding.beans.BeansObservables; +import org.eclipse.core.databinding.beans.typed.BeanProperties; import org.eclipse.core.databinding.observable.list.WritableList; import org.eclipse.core.databinding.observable.map.IObservableMap; import org.eclipse.jface.databinding.viewers.ObservableListContentProvider; @@ -44,6 +44,7 @@ import de.bmotionstudio.gef.editor.edit.IsExpressionModeEditingSupport; import de.bmotionstudio.gef.editor.edit.PredicateEditingSupport; import de.bmotionstudio.gef.editor.model.BControl; import de.bmotionstudio.gef.editor.observer.Observer; +import de.bmotionstudio.gef.editor.observer.ObserverEvalObject; import de.bmotionstudio.gef.editor.observer.ObserverWizard; import de.bmotionstudio.gef.editor.observer.SwitchImage; import de.bmotionstudio.gef.editor.observer.ToggleObjectImage; @@ -144,10 +145,11 @@ public class WizardObserverSwitchImage extends ObserverWizard { ObservableListContentProvider contentProvider = new ObservableListContentProvider(); tableViewer.setContentProvider(contentProvider); - tableViewer.setLabelProvider(new ObserverLabelProvider( - BeansObservables.observeMaps( - contentProvider.getKnownElements(), new String[] { - "eval", "image", "isExpressionMode" }))); + tableViewer.setLabelProvider(new ObserverLabelProvider(new IObservableMap[] { + BeanProperties.value(ObserverEvalObject.class, "eval").observeDetail(contentProvider.getKnownElements()), + BeanProperties.value(ToggleObjectImage.class, "image").observeDetail(contentProvider.getKnownElements()), + BeanProperties.value(ObserverEvalObject.class, "isExpressionMode").observeDetail(contentProvider.getKnownElements()), + })); final WritableList input = new WritableList( ((SwitchImage) getObserver()).getToggleObjects(), ToggleObjectImage.class); diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/observer/wizard/WizardTableObserver.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/observer/wizard/WizardTableObserver.java index 3eeeef60f09a8440f58a1cba156eab6e71feb5e7..74f3765ba0b4979bf534ca7b29b6b308421d8ec3 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/observer/wizard/WizardTableObserver.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/observer/wizard/WizardTableObserver.java @@ -9,8 +9,8 @@ package de.bmotionstudio.gef.editor.observer.wizard; import java.util.ArrayList; import org.eclipse.core.databinding.DataBindingContext; -import org.eclipse.core.databinding.beans.BeansObservables; -import org.eclipse.jface.databinding.swt.SWTObservables; +import org.eclipse.core.databinding.beans.typed.BeanProperties; +import org.eclipse.jface.databinding.swt.typed.WidgetProperties; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.wizard.WizardPage; import org.eclipse.swt.SWT; @@ -152,22 +152,21 @@ public class WizardTableObserver extends ObserverWizard { private void initBindings(DataBindingContext dbc) { - dbc.bindValue(SWTObservables.observeText(txtPredicate, SWT.Modify), - BeansObservables.observeValue( - (TableObserver) getObserver(), "predicate")); + dbc.bindValue(WidgetProperties.text(SWT.Modify).observe(txtPredicate), + BeanProperties.value(TableObserver.class, "predicate") + .observe((TableObserver) getObserver())); - dbc.bindValue( - SWTObservables.observeText(txtExpression, SWT.Modify), - BeansObservables.observeValue( - (TableObserver) getObserver(), "expression")); + dbc.bindValue(WidgetProperties.text(SWT.Modify).observe(txtExpression), + BeanProperties.value(TableObserver.class, "expression") + .observe((TableObserver) getObserver())); - dbc.bindValue(SWTObservables.observeSelection(cbOverrideCells), - BeansObservables.observeValue( - (TableObserver) getObserver(), "overrideCells")); + dbc.bindValue(WidgetProperties.widgetSelection().observe(cbOverrideCells), + BeanProperties.value(TableObserver.class, "overrideCells") + .observe((TableObserver) getObserver())); - dbc.bindValue(SWTObservables.observeSelection(cbKeepHeader), - BeansObservables.observeValue( - (TableObserver) getObserver(), "keepHeader")); + dbc.bindValue(WidgetProperties.widgetSelection().observe(cbKeepHeader), + BeanProperties.value(TableObserver.class, "keepHeader") + .observe((TableObserver) getObserver())); } diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/scheduler/wizard/SchedulerObjectDialog.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/scheduler/wizard/SchedulerObjectDialog.java index 48f20af70143bf1d6a0eb62ab5609cd1d512930a..ea4fb929f4e608329029da4ce54e3b0d93b43f55 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/scheduler/wizard/SchedulerObjectDialog.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/scheduler/wizard/SchedulerObjectDialog.java @@ -7,8 +7,9 @@ package de.bmotionstudio.gef.editor.scheduler.wizard; import org.eclipse.core.databinding.DataBindingContext; -import org.eclipse.core.databinding.beans.BeansObservables; +import org.eclipse.core.databinding.beans.typed.BeanProperties; import org.eclipse.core.databinding.observable.list.WritableList; +import org.eclipse.core.databinding.observable.map.IObservableMap; import org.eclipse.jface.databinding.viewers.ObservableListContentProvider; import org.eclipse.jface.databinding.viewers.ObservableMapLabelProvider; import org.eclipse.jface.dialogs.Dialog; @@ -100,10 +101,11 @@ public class SchedulerObjectDialog extends Dialog { ObservableListContentProvider contentProvider = new ObservableListContentProvider(); tableViewer.setContentProvider(contentProvider); - tableViewer.setLabelProvider(new ObservableMapLabelProvider( - BeansObservables.observeMaps( - contentProvider.getKnownElements(), new String[] { - "command", "parameter", "maxrandom" })) { + tableViewer.setLabelProvider(new ObservableMapLabelProvider(new IObservableMap[] { + BeanProperties.value(AnimationScriptStep.class, "command").observeDetail(contentProvider.getKnownElements()), + BeanProperties.value(AnimationScriptStep.class, "parameter").observeDetail(contentProvider.getKnownElements()), + BeanProperties.value(AnimationScriptStep.class, "maxrandom").observeDetail(contentProvider.getKnownElements()), + }) { @Override public Image getColumnImage(final Object element, diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/scheduler/wizard/WizardExecuteOperationByPredicate.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/scheduler/wizard/WizardExecuteOperationByPredicate.java index 8ee01a562c751054d1d0f1ac8bb470ee8d65d22b..2cc81c497dafe9c62763b779f911372fe427626d 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/scheduler/wizard/WizardExecuteOperationByPredicate.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/scheduler/wizard/WizardExecuteOperationByPredicate.java @@ -7,17 +7,17 @@ package de.bmotionstudio.gef.editor.scheduler.wizard; import org.eclipse.core.databinding.DataBindingContext; -import org.eclipse.core.databinding.beans.BeansObservables; +import org.eclipse.core.databinding.beans.typed.BeanProperties; import org.eclipse.core.databinding.observable.list.WritableList; import org.eclipse.core.databinding.observable.map.IObservableMap; import org.eclipse.core.databinding.observable.value.IObservableValue; import org.eclipse.core.databinding.observable.value.IValueChangeListener; import org.eclipse.core.databinding.observable.value.ValueChangeEvent; import org.eclipse.draw2d.ColorConstants; -import org.eclipse.jface.databinding.swt.SWTObservables; +import org.eclipse.jface.databinding.swt.typed.WidgetProperties; import org.eclipse.jface.databinding.viewers.ObservableListContentProvider; import org.eclipse.jface.databinding.viewers.ObservableMapLabelProvider; -import org.eclipse.jface.databinding.viewers.ViewersObservables; +import org.eclipse.jface.databinding.viewers.typed.ViewerProperties; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.resource.JFaceResources; import org.eclipse.jface.viewers.ComboViewer; @@ -46,6 +46,7 @@ import de.bmotionstudio.gef.editor.eventb.MachineContentObject; import de.bmotionstudio.gef.editor.eventb.MachineOperation; import de.bmotionstudio.gef.editor.model.BControl; import de.bmotionstudio.gef.editor.scheduler.ExecuteOperationByPredicate; +import de.bmotionstudio.gef.editor.scheduler.PredicateOperation; import de.bmotionstudio.gef.editor.scheduler.SchedulerEvent; import de.bmotionstudio.gef.editor.scheduler.SchedulerWizard; @@ -173,9 +174,9 @@ public class WizardExecuteOperationByPredicate extends SchedulerWizard { ObservableListContentProvider cbOpContentProvider = new ObservableListContentProvider(); cbOperation.setContentProvider(cbOpContentProvider); - IObservableMap[] attributeMaps = BeansObservables.observeMaps( - cbOpContentProvider.getKnownElements(), - MachineContentObject.class, new String[] { "label" }); + IObservableMap[] attributeMaps = { + BeanProperties.value(MachineContentObject.class, "label").observeDetail(cbOpContentProvider.getKnownElements()), + }; cbOperation.setLabelProvider(new ObservableMapLabelProvider( attributeMaps)); cbOperation.setInput(new WritableList(EventBHelper @@ -185,19 +186,16 @@ public class WizardExecuteOperationByPredicate extends SchedulerWizard { new Font(Display.getDefault(), new FontData("Arial", 10, SWT.NONE))); - final IObservableValue observeSelection = ViewersObservables - .observeSingleSelection(cbOperation); + IObservableValue observeSelection = ViewerProperties.singleSelection().observe(cbOperation); - dbc.bindValue(SWTObservables.observeSelection(cbOperation - .getCombo()), BeansObservables.observeValue( - ((ExecuteOperationByPredicate) getScheduler()) - .getPredicateOperation(), "operationName"), null, - null); + dbc.bindValue(WidgetProperties.widgetSelection().observe(cbOperation.getCombo()), + BeanProperties.value(PredicateOperation.class, "operationName") + .observe(((ExecuteOperationByPredicate) getScheduler()).getPredicateOperation()), + null, null); - dbc.bindValue(SWTObservables.observeText(txtPredicate, SWT.Modify), - BeansObservables.observeValue( - ((ExecuteOperationByPredicate) getScheduler()) - .getPredicateOperation(), "predicate")); + dbc.bindValue(WidgetProperties.text(SWT.Modify).observe(txtPredicate), + BeanProperties.value(PredicateOperation.class, "predicate") + .observe(((ExecuteOperationByPredicate) getScheduler()).getPredicateOperation())); observeSelection.addValueChangeListener(new IValueChangeListener() { public void handleValueChange(ValueChangeEvent event) { @@ -206,15 +204,13 @@ public class WizardExecuteOperationByPredicate extends SchedulerWizard { } }); - dbc.bindValue(SWTObservables.observeSelection(checkboxRandomMode), - BeansObservables.observeValue( - ((ExecuteOperationByPredicate) getScheduler()) - .getPredicateOperation(), "random")); + dbc.bindValue(WidgetProperties.widgetSelection().observe(checkboxRandomMode), + BeanProperties.value(PredicateOperation.class, "random") + .observe(((ExecuteOperationByPredicate) getScheduler()).getPredicateOperation())); - dbc.bindValue(SWTObservables.observeText(txtMaxRandomOperations, - SWT.Modify), BeansObservables.observeValue( - ((ExecuteOperationByPredicate) getScheduler()) - .getPredicateOperation(), "maxrandom")); + dbc.bindValue(WidgetProperties.text(SWT.Modify).observe(txtMaxRandomOperations), + BeanProperties.value(PredicateOperation.class, "maxrandom") + .observe(((ExecuteOperationByPredicate) getScheduler()).getPredicateOperation())); } diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/scheduler/wizard/WizardExecuteOperationByPredicateMulti.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/scheduler/wizard/WizardExecuteOperationByPredicateMulti.java index 332fd422f251b074f97c431f8209443298c6f96f..5afd578451d761bf371cd2cf8da73e51f3db321d 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/scheduler/wizard/WizardExecuteOperationByPredicateMulti.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/scheduler/wizard/WizardExecuteOperationByPredicateMulti.java @@ -6,8 +6,9 @@ package de.bmotionstudio.gef.editor.scheduler.wizard; import org.eclipse.core.databinding.DataBindingContext; -import org.eclipse.core.databinding.beans.BeansObservables; +import org.eclipse.core.databinding.beans.typed.BeanProperties; import org.eclipse.core.databinding.observable.list.WritableList; +import org.eclipse.core.databinding.observable.map.IObservableMap; import org.eclipse.jface.databinding.viewers.ObservableListContentProvider; import org.eclipse.jface.databinding.viewers.ObservableMapLabelProvider; import org.eclipse.jface.dialogs.MessageDialog; @@ -98,11 +99,12 @@ public class WizardExecuteOperationByPredicateMulti extends SchedulerWizard { ObservableListContentProvider contentProvider = new ObservableListContentProvider(); tableViewer.setContentProvider(contentProvider); - tableViewer.setLabelProvider(new ObservableMapLabelProvider( - BeansObservables.observeMaps( - contentProvider.getKnownElements(), new String[] { - "executePredicate", "operationName", - "predicate", "maxrandom" }))); + tableViewer.setLabelProvider(new ObservableMapLabelProvider(new IObservableMap[] { + BeanProperties.value(PredicateOperation.class, "executePredicate").observeDetail(contentProvider.getKnownElements()), + BeanProperties.value(PredicateOperation.class, "operationName").observeDetail(contentProvider.getKnownElements()), + BeanProperties.value(PredicateOperation.class, "predicate").observeDetail(contentProvider.getKnownElements()), + BeanProperties.value(PredicateOperation.class, "maxrandom").observeDetail(contentProvider.getKnownElements()), + })); final WritableList input = new WritableList( ((ExecuteOperationByPredicateMulti) getScheduler()) .getOperationList(), diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/scheduler/wizard/WizardExecuteScheduler.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/scheduler/wizard/WizardExecuteScheduler.java index 538631f480461367b36e103e653bffc70fa469e3..c0de0d6baab3c7cd6fd452d7ea1844b57b3b7367 100644 --- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/scheduler/wizard/WizardExecuteScheduler.java +++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/scheduler/wizard/WizardExecuteScheduler.java @@ -7,8 +7,9 @@ package de.bmotionstudio.gef.editor.scheduler.wizard; import org.eclipse.core.databinding.DataBindingContext; -import org.eclipse.core.databinding.beans.BeansObservables; +import org.eclipse.core.databinding.beans.typed.BeanProperties; import org.eclipse.core.databinding.observable.list.WritableList; +import org.eclipse.core.databinding.observable.map.IObservableMap; import org.eclipse.jface.databinding.viewers.ObservableListContentProvider; import org.eclipse.jface.databinding.viewers.ObservableMapLabelProvider; import org.eclipse.jface.dialogs.Dialog; @@ -40,6 +41,7 @@ import de.bmotionstudio.gef.editor.edit.PredicateEditingSupport; import de.bmotionstudio.gef.editor.model.BControl; import de.bmotionstudio.gef.editor.scheduler.AnimationScriptObject; import de.bmotionstudio.gef.editor.scheduler.ExecuteAnimationScript; +import de.bmotionstudio.gef.editor.scheduler.PredicateOperation; import de.bmotionstudio.gef.editor.scheduler.SchedulerEvent; import de.bmotionstudio.gef.editor.scheduler.SchedulerWizard; import de.bmotionstudio.gef.editor.util.BMotionWizardUtil; @@ -84,10 +86,9 @@ public class WizardExecuteScheduler extends SchedulerWizard { ObservableListContentProvider contentProvider = new ObservableListContentProvider(); tableViewer.setContentProvider(contentProvider); - tableViewer.setLabelProvider(new ObservableMapLabelProvider( - BeansObservables.observeMaps( - contentProvider.getKnownElements(), - new String[] { "predicate" })) { + tableViewer.setLabelProvider(new ObservableMapLabelProvider(new IObservableMap[] { + BeanProperties.value(PredicateOperation.class, "predicate").observeDetail(contentProvider.getKnownElements()), + }) { @Override public String getColumnText(Object element, int columnIndex) { diff --git a/de.bmotionstudio.rodin/.classpath b/de.bmotionstudio.rodin/.classpath deleted file mode 100644 index b862a296d38fe04269faeee6c9d77d11ff77380d..0000000000000000000000000000000000000000 --- a/de.bmotionstudio.rodin/.classpath +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<classpath> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/> - <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> - <classpathentry kind="src" path="src"/> - <classpathentry kind="output" path="bin"/> -</classpath> diff --git a/de.bmotionstudio.rodin/.project b/de.bmotionstudio.rodin/.project deleted file mode 100644 index 8d9f97eff9f9c8ec6a6f9557facc69527e870a19..0000000000000000000000000000000000000000 --- a/de.bmotionstudio.rodin/.project +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<projectDescription> - <name>de.bmotionstudio.rodin</name> - <comment></comment> - <projects> - </projects> - <buildSpec> - <buildCommand> - <name>org.eclipse.jdt.core.javabuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.ManifestBuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.SchemaBuilder</name> - <arguments> - </arguments> - </buildCommand> - </buildSpec> - <natures> - <nature>org.eclipse.pde.PluginNature</nature> - <nature>org.eclipse.jdt.core.javanature</nature> - </natures> -</projectDescription> diff --git a/de.bmotionstudio.rodin/META-INF/MANIFEST.MF b/de.bmotionstudio.rodin/META-INF/MANIFEST.MF deleted file mode 100644 index 864bb4c960f80b52f955345600ad7d2da3974f98..0000000000000000000000000000000000000000 --- a/de.bmotionstudio.rodin/META-INF/MANIFEST.MF +++ /dev/null @@ -1,9 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: BMotion Studio Rodin Integration -Bundle-SymbolicName: de.bmotionstudio.rodin;singleton:=true -Bundle-Version: 1.3.1.qualifier -Fragment-Host: de.bmotionstudio.gef.editor;bundle-version="[5.6.1,5.7.0)" -Bundle-RequiredExecutionEnvironment: JavaSE-11 -Bundle-Vendor: HHU Düsseldorf STUPS Group -Require-Bundle: org.eclipse.ui.navigator;bundle-version="3.5.0" diff --git a/de.bmotionstudio.rodin/build.properties b/de.bmotionstudio.rodin/build.properties deleted file mode 100644 index 187f664063183d827bac5059f2d214bee14c752d..0000000000000000000000000000000000000000 --- a/de.bmotionstudio.rodin/build.properties +++ /dev/null @@ -1,6 +0,0 @@ -source.. = src/ -output.. = bin/ -bin.includes = META-INF/,\ - .,\ - fragment.xml,\ - icons/ diff --git a/de.bmotionstudio.rodin/fragment.xml b/de.bmotionstudio.rodin/fragment.xml deleted file mode 100644 index f9f29ddd233d9c904af5a31fbc782ecb5f47d933..0000000000000000000000000000000000000000 --- a/de.bmotionstudio.rodin/fragment.xml +++ /dev/null @@ -1,108 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<?eclipse version="3.4"?> -<fragment> - <extension - point="org.eclipse.ui.perspectives"> - <perspective - class="de.bmotionstudio.rodin.PerspectiveEditFactory" - icon="icons/logo_bmotion.png" - id="de.bmotionstudio.perspective.edit" - name="BMS Edit"> - </perspective> - <perspective - class="de.bmotionstudio.rodin.PerspectiveRunFactory" - icon="icons/icon_run.png" - id="de.bmotionstudio.perspective.run" - name="BMS Run"> - </perspective> - </extension> - <extension - point="org.eclipse.ui.menus"> - <menuContribution - locationURI="popup:fr.systerel.explorer.navigator.view"> - <command - commandId="de.bmotionstudio.rodin.command.startVisualization" - icon="icons/icon_run.png" - label="Start Visualization" - style="push"> - <visibleWhen> - <with - variable="selection"> - <iterate - operator="or"> - <instanceof - value="de.bmotionstudio.rodin.BMotionStudioRodinFile"> - </instanceof> - </iterate> - </with> - </visibleWhen> - </command> - </menuContribution> - </extension> - <extension - point="org.eclipse.ui.commands"> - <command - defaultHandler="de.bmotionstudio.rodin.StartEventBVisualizationHandler" - id="de.bmotionstudio.rodin.command.startVisualization" - name="Start Visualization"> - </command> - </extension> - <extension - point="org.rodinp.core.fileAssociations"> - <fileAssociation - content-type-id="de.bmotionstudio.gef.editor.BMotionStudioFile" - root-element-type="de.bmotionstudio.gef.editor.BMotionStudioFile"> - </fileAssociation> - </extension> - <extension - point="org.eclipse.ui.navigator.navigatorContent"> - <navigatorContent - contentProvider="de.bmotionstudio.rodin.BMotionStudioContentProvider" - id="de.bmotionstudio.ui.navigatorContent" - labelProvider="de.bmotionstudio.rodin.BMotionLabelProvider" - name="BMotion Studio Navigator Content" - priority="normal"> - <triggerPoints> - <instanceof - value="org.eclipse.core.resources.IProject"> - </instanceof> - </triggerPoints> - <possibleChildren> - <instanceof - value="de.bmotionstudio.rodin.BMotionStudioRodinFile"> - </instanceof> - </possibleChildren> - <actionProvider - class="de.bmotionstudio.rodin.BMotionStudioActionProvider" - id="de.bmotionstudio.ui.navigatorAction" - priority="normal"> - <enablement> - <instanceof value="de.bmotionstudio.rodin.BMotionStudioRodinFile"> - </instanceof> - </enablement> - </actionProvider> - </navigatorContent> - </extension> - <extension - point="org.eclipse.ui.navigator.viewer"> - <viewerContentBinding - viewerId="fr.systerel.explorer.navigator.view"> - <includes> - <contentExtension - pattern="de.bmotionstudio.ui.navigatorContent"> - </contentExtension> - </includes> - </viewerContentBinding> - <viewerActionBinding - viewerId="fr.systerel.explorer.navigator.view"> - <includes> - <actionExtension - pattern="de.bmotionstudio.ui.navigatorAction"> - </actionExtension> - </includes> - </viewerActionBinding> - </extension> - - - -</fragment> diff --git a/de.bmotionstudio.rodin/icons/icon_run.png b/de.bmotionstudio.rodin/icons/icon_run.png deleted file mode 100644 index f5808d2dfd5b042b5584ce1c81aa40835ebc8055..0000000000000000000000000000000000000000 Binary files a/de.bmotionstudio.rodin/icons/icon_run.png and /dev/null differ diff --git a/de.bmotionstudio.rodin/icons/logo_bmotion.png b/de.bmotionstudio.rodin/icons/logo_bmotion.png deleted file mode 100644 index 2bcb148a75ce4d1f5d9257033306b5b12b5d295d..0000000000000000000000000000000000000000 Binary files a/de.bmotionstudio.rodin/icons/logo_bmotion.png and /dev/null differ diff --git a/de.bmotionstudio.rodin/src/de/bmotionstudio/rodin/PerspectiveEditFactory.java b/de.bmotionstudio.rodin/src/de/bmotionstudio/rodin/PerspectiveEditFactory.java deleted file mode 100644 index 35a2c477e1ef878b5d40b7a4c796cc53687ebc5c..0000000000000000000000000000000000000000 --- a/de.bmotionstudio.rodin/src/de/bmotionstudio/rodin/PerspectiveEditFactory.java +++ /dev/null @@ -1,43 +0,0 @@ -/** - * (c) 2009 Lehrstuhl fuer Softwaretechnik und Programmiersprachen, - * Heinrich Heine Universitaet Duesseldorf - * This software is licenced under EPL 1.0 (http://www.eclipse.org/org/documents/epl-v10.html) - * */ - -package de.bmotionstudio.rodin; - -import org.eclipse.ui.IFolderLayout; -import org.eclipse.ui.IPageLayout; -import org.eclipse.ui.IPerspectiveFactory; - -import de.bmotionstudio.gef.editor.library.LibraryView; - -public class PerspectiveEditFactory implements IPerspectiveFactory { - - public void createInitialLayout(final IPageLayout layout) { - - final String editorArea = layout.getEditorArea(); - - // Place the project explorer to left of editor area. - final IFolderLayout left = layout.createFolder("left", - IPageLayout.LEFT, 0.15f, editorArea); - left.addView("fr.systerel.explorer.navigator.view"); - - // Place the outline to right of editor area. - final IFolderLayout righttop = layout.createFolder("right", - IPageLayout.RIGHT, 0.8f, editorArea); - righttop.addView(IPageLayout.ID_OUTLINE); - - // Library view - final IFolderLayout rightbot = layout.createFolder("rightb", - IPageLayout.BOTTOM, 0.6f, "right"); - rightbot.addView(LibraryView.ID); - - final IFolderLayout bottom = layout.createFolder("bottom", - IPageLayout.BOTTOM, 0.75f, editorArea); - // Properties view - bottom.addView(IPageLayout.ID_PROP_SHEET); - - } - -} diff --git a/de.bmotionstudio.rodin/src/de/bmotionstudio/rodin/PerspectiveRunFactory.java b/de.bmotionstudio.rodin/src/de/bmotionstudio/rodin/PerspectiveRunFactory.java deleted file mode 100644 index f8c425f52aae636d0d7d086bde4a3868d87aa411..0000000000000000000000000000000000000000 --- a/de.bmotionstudio.rodin/src/de/bmotionstudio/rodin/PerspectiveRunFactory.java +++ /dev/null @@ -1,43 +0,0 @@ -/** - * (c) 2009 Lehrstuhl fuer Softwaretechnik und Programmiersprachen, - * Heinrich Heine Universitaet Duesseldorf - * This software is licenced under EPL 1.0 (http://www.eclipse.org/org/documents/epl-v10.html) - * */ - -package de.bmotionstudio.rodin; - -import org.eclipse.ui.IFolderLayout; -import org.eclipse.ui.IPageLayout; -import org.eclipse.ui.IPerspectiveFactory; - -public class PerspectiveRunFactory implements IPerspectiveFactory { - - public void createInitialLayout(IPageLayout layout) { - - String editorArea = layout.getEditorArea(); - - // ProB Event View (Top-Left) - IFolderLayout left = layout.createFolder("left", IPageLayout.LEFT, - 0.15f, editorArea); - left.addView("de.prob.ui.OperationView"); - - // Navigator + Rodin Problem View (Bottom-Left) - IFolderLayout leftb = layout.createFolder("leftb", IPageLayout.BOTTOM, - 0.6f, "left"); - leftb.addView("fr.systerel.explorer.navigator.view"); - // leftb.addView("org.eventb.ui.views.RodinProblemView"); - - // ProB State View (Right) - IFolderLayout right1 = layout.createFolder("right1", IPageLayout.RIGHT, - 0.7f, editorArea); - right1.addView("de.prob.ui.StateView"); - - // ProB History + ProB Event Error View (Right) - IFolderLayout right2 = layout.createFolder("right2", IPageLayout.RIGHT, - 0.6f, "right1"); - right2.addView("de.prob.ui.HistoryView"); - right2.addView("de.prob.ui.EventErrorView"); - - } - -} diff --git a/de.prob.plugin/.settings/org.eclipse.core.resources.prefs b/de.prob.core.tests/.settings/org.eclipse.core.resources.prefs similarity index 64% rename from de.prob.plugin/.settings/org.eclipse.core.resources.prefs rename to de.prob.core.tests/.settings/org.eclipse.core.resources.prefs index ba4759a9b15a4161ff7e03fa1cced464efc243d4..99f26c0203a7844de00dbfc56e6a35d8ed3c022c 100644 --- a/de.prob.plugin/.settings/org.eclipse.core.resources.prefs +++ b/de.prob.core.tests/.settings/org.eclipse.core.resources.prefs @@ -1,3 +1,2 @@ -#Tue Nov 29 16:16:29 CET 2011 eclipse.preferences.version=1 encoding/<project>=UTF-8 diff --git a/de.prob.plugin/.settings/org.eclipse.core.runtime.prefs b/de.prob.core.tests/.settings/org.eclipse.core.runtime.prefs similarity index 61% rename from de.prob.plugin/.settings/org.eclipse.core.runtime.prefs rename to de.prob.core.tests/.settings/org.eclipse.core.runtime.prefs index 2cbb06417bf025fd72d5808a37c78e34a95b5d0e..5a0ad22d2a76684139fad95f6b8d209c7cd0d078 100644 --- a/de.prob.plugin/.settings/org.eclipse.core.runtime.prefs +++ b/de.prob.core.tests/.settings/org.eclipse.core.runtime.prefs @@ -1,3 +1,2 @@ -#Tue Nov 29 16:16:29 CET 2011 eclipse.preferences.version=1 line.separator=\n diff --git a/de.prob.core.tests/.settings/org.eclipse.jdt.core.prefs b/de.prob.core.tests/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 0c68a61dca867ceb49e79d2402935261ec3e3809..0000000000000000000000000000000000000000 --- a/de.prob.core.tests/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,7 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 -org.eclipse.jdt.core.compiler.compliance=1.8 -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 diff --git a/de.prob.core.tests/META-INF/MANIFEST.MF b/de.prob.core.tests/META-INF/MANIFEST.MF index 9960f048edf67d5deb84f9b8d1e60c8fab6dc412..a59dca11b74a964c6849a1148e053ddc49f9dfa2 100644 --- a/de.prob.core.tests/META-INF/MANIFEST.MF +++ b/de.prob.core.tests/META-INF/MANIFEST.MF @@ -1,10 +1,10 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 -Bundle-Name: Tests +Bundle-Name: ProB Animator Tests Bundle-SymbolicName: de.prob.core.tests Bundle-Version: 1.0.0.qualifier Bundle-Activator: de.prob.core.tests.Activator -Require-Bundle: de.prob.core;bundle-version="[9.5.1,9.6.0)", +Require-Bundle: de.prob.core;bundle-version="[9.6.0,9.7.0)", org.eclipse.core.resources;bundle-version="[3.13.0,4.0.0)", org.eclipse.core.runtime;bundle-version="[3.20.0,4.0.0)", org.eventb.core;bundle-version="[3.5.0,4.0.0)", diff --git a/de.prob.core/.classpath b/de.prob.core/.classpath index 060b00c947b5f33cee407fc8aef90a35cfff3541..47744048c15785b9ac6a9f24d583de49bd30dc34 100644 --- a/de.prob.core/.classpath +++ b/de.prob.core/.classpath @@ -4,12 +4,12 @@ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> <classpathentry kind="src" path="src"/> <classpathentry kind="output" path="bin"/> - <classpathentry exported="true" kind="lib" path="lib/dependencies/answerparser-2.13.0.jar"/> - <classpathentry exported="true" kind="lib" path="lib/dependencies/bparser-2.13.0.jar"/> - <classpathentry exported="true" kind="lib" path="lib/dependencies/ltlparser-2.13.0.jar"/> - <classpathentry exported="true" kind="lib" path="lib/dependencies/parserbase-2.13.0.jar"/> - <classpathentry exported="true" kind="lib" path="lib/dependencies/prologlib-2.13.0.jar"/> - <classpathentry exported="true" kind="lib" path="lib/dependencies/sablecc-runtime-3.7.0.jar"/> - <classpathentry exported="true" kind="lib" path="lib/dependencies/theorymapping-2.13.0.jar"/> - <classpathentry exported="true" kind="lib" path="lib/dependencies/unicode-2.13.0.jar"/> + <classpathentry exported="true" kind="lib" path="lib/dependencies/answerparser-2.13.3.jar"/> + <classpathentry exported="true" kind="lib" path="lib/dependencies/bparser-2.13.3.jar"/> + <classpathentry exported="true" kind="lib" path="lib/dependencies/ltlparser-2.13.3.jar"/> + <classpathentry exported="true" kind="lib" path="lib/dependencies/parserbase-2.13.3.jar"/> + <classpathentry exported="true" kind="lib" path="lib/dependencies/prologlib-2.13.3.jar"/> + <classpathentry exported="true" kind="lib" path="lib/dependencies/sablecc-runtime-3.8.0.jar"/> + <classpathentry exported="true" kind="lib" path="lib/dependencies/theorymapping-2.13.3.jar"/> + <classpathentry exported="true" kind="lib" path="lib/dependencies/unicode-2.13.3.jar"/> </classpath> diff --git a/de.prob.core/.fbprefs b/de.prob.core/.fbprefs deleted file mode 100644 index e77060d8fd54d5eb1e57dab9438ce9c092dc7228..0000000000000000000000000000000000000000 --- a/de.prob.core/.fbprefs +++ /dev/null @@ -1,155 +0,0 @@ -#FindBugs User Preferences -#Thu Feb 11 11:45:44 CET 2010 -detectorAppendingToAnObjectOutputStream=AppendingToAnObjectOutputStream|true -detectorBCPMethodReturnCheck=BCPMethodReturnCheck|false -detectorBadAppletConstructor=BadAppletConstructor|false -detectorBadResultSetAccess=BadResultSetAccess|true -detectorBadSyntaxForRegularExpression=BadSyntaxForRegularExpression|true -detectorBadUseOfReturnValue=BadUseOfReturnValue|true -detectorBadlyOverriddenAdapter=BadlyOverriddenAdapter|true -detectorBooleanReturnNull=BooleanReturnNull|true -detectorCallToUnsupportedMethod=CallToUnsupportedMethod|false -detectorCalledMethods=CalledMethods|true -detectorCheckCalls=CheckCalls|false -detectorCheckImmutableAnnotation=CheckImmutableAnnotation|true -detectorCheckTypeQualifiers=CheckTypeQualifiers|true -detectorCloneIdiom=CloneIdiom|true -detectorComparatorIdiom=ComparatorIdiom|true -detectorConfusedInheritance=ConfusedInheritance|true -detectorConfusionBetweenInheritedAndOuterMethod=ConfusionBetweenInheritedAndOuterMethod|true -detectorCrossSiteScripting=CrossSiteScripting|true -detectorDoInsideDoPrivileged=DoInsideDoPrivileged|true -detectorDontCatchIllegalMonitorStateException=DontCatchIllegalMonitorStateException|true -detectorDontIgnoreResultOfPutIfAbsent=DontIgnoreResultOfPutIfAbsent|true -detectorDontUseEnum=DontUseEnum|true -detectorDroppedException=DroppedException|true -detectorDumbMethodInvocations=DumbMethodInvocations|true -detectorDumbMethods=DumbMethods|true -detectorDuplicateBranches=DuplicateBranches|true -detectorEmptyZipFileEntry=EmptyZipFileEntry|true -detectorEqStringTest=EqStringTest|false -detectorEqualsOperandShouldHaveClassCompatibleWithThis=EqualsOperandShouldHaveClassCompatibleWithThis|true -detectorFinalizerNullsFields=FinalizerNullsFields|true -detectorFindBadCast=FindBadCast|false -detectorFindBadCast2=FindBadCast2|true -detectorFindBadEqualsImplementation=FindBadEqualsImplementation|false -detectorFindBadForLoop=FindBadForLoop|true -detectorFindBugsSummaryStats=FindBugsSummaryStats|true -detectorFindCircularDependencies=FindCircularDependencies|false -detectorFindDeadLocalStores=FindDeadLocalStores|true -detectorFindDoubleCheck=FindDoubleCheck|true -detectorFindEmptySynchronizedBlock=FindEmptySynchronizedBlock|true -detectorFindFieldSelfAssignment=FindFieldSelfAssignment|true -detectorFindFinalizeInvocations=FindFinalizeInvocations|true -detectorFindFloatEquality=FindFloatEquality|true -detectorFindFloatMath=FindFloatMath|false -detectorFindHEmismatch=FindHEmismatch|true -detectorFindInconsistentSync2=FindInconsistentSync2|true -detectorFindJSR166LockMonitorenter=FindJSR166LockMonitorenter|true -detectorFindLocalSelfAssignment2=FindLocalSelfAssignment2|true -detectorFindMaskedFields=FindMaskedFields|true -detectorFindMismatchedWaitOrNotify=FindMismatchedWaitOrNotify|true -detectorFindNakedNotify=FindNakedNotify|true -detectorFindNonSerializableStoreIntoSession=FindNonSerializableStoreIntoSession|true -detectorFindNonSerializableValuePassedToWriteObject=FindNonSerializableValuePassedToWriteObject|true -detectorFindNonShortCircuit=FindNonShortCircuit|true -detectorFindNullDeref=FindNullDeref|true -detectorFindNullDerefsInvolvingNonShortCircuitEvaluation=FindNullDerefsInvolvingNonShortCircuitEvaluation|true -detectorFindOpenStream=FindOpenStream|true -detectorFindPuzzlers=FindPuzzlers|false -detectorFindRefComparison=FindRefComparison|true -detectorFindReturnRef=FindReturnRef|false -detectorFindRunInvocations=FindRunInvocations|true -detectorFindSelfComparison=FindSelfComparison|true -detectorFindSelfComparison2=FindSelfComparison2|true -detectorFindSleepWithLockHeld=FindSleepWithLockHeld|true -detectorFindSpinLoop=FindSpinLoop|true -detectorFindSqlInjection=FindSqlInjection|true -detectorFindTwoLockWait=FindTwoLockWait|true -detectorFindUncalledPrivateMethods=FindUncalledPrivateMethods|true -detectorFindUnconditionalWait=FindUnconditionalWait|true -detectorFindUninitializedGet=FindUninitializedGet|true -detectorFindUnrelatedTypesInGenericContainer=FindUnrelatedTypesInGenericContainer|true -detectorFindUnreleasedLock=FindUnreleasedLock|true -detectorFindUnsatisfiedObligation=FindUnsatisfiedObligation|false -detectorFindUnsyncGet=FindUnsyncGet|true -detectorFindUselessControlFlow=FindUselessControlFlow|true -detectorFormatStringChecker=FormatStringChecker|true -detectorHugeSharedStringConstants=HugeSharedStringConstants|true -detectorIDivResultCastToDouble=IDivResultCastToDouble|true -detectorIncompatMask=IncompatMask|true -detectorInconsistentAnnotations=InconsistentAnnotations|true -detectorInefficientMemberAccess=InefficientMemberAccess|false -detectorInefficientToArray=InefficientToArray|true -detectorInfiniteLoop=InfiniteLoop|true -detectorInfiniteRecursiveLoop=InfiniteRecursiveLoop|true -detectorInfiniteRecursiveLoop2=InfiniteRecursiveLoop2|false -detectorInheritanceUnsafeGetResource=InheritanceUnsafeGetResource|true -detectorInitializationChain=InitializationChain|true -detectorInstantiateStaticClass=InstantiateStaticClass|true -detectorInvalidJUnitTest=InvalidJUnitTest|true -detectorIteratorIdioms=IteratorIdioms|true -detectorLazyInit=LazyInit|true -detectorLoadOfKnownNullValue=LoadOfKnownNullValue|true -detectorLockedFields=LockedFields|false -detectorLostLoggerDueToWeakReference=LostLoggerDueToWeakReference|true -detectorMethodReturnCheck=MethodReturnCheck|true -detectorMethods=Methods|true -detectorMultithreadedInstanceAccess=MultithreadedInstanceAccess|true -detectorMutableLock=MutableLock|true -detectorMutableStaticFields=MutableStaticFields|false -detectorNaming=Naming|false -detectorNoteAnnotationRetention=NoteAnnotationRetention|true -detectorNoteCheckReturnValue=NoteCheckReturnValue|true -detectorNoteCheckReturnValueAnnotations=NoteCheckReturnValueAnnotations|true -detectorNoteDirectlyRelevantTypeQualifiers=NoteDirectlyRelevantTypeQualifiers|true -detectorNoteJCIPAnnotation=NoteJCIPAnnotation|true -detectorNoteNonNullAnnotations=NoteNonNullAnnotations|true -detectorNoteNonnullReturnValues=NoteNonnullReturnValues|true -detectorNoteSuppressedWarnings=NoteSuppressedWarnings|true -detectorNoteUnconditionalParamDerefs=NoteUnconditionalParamDerefs|true -detectorNumberConstructor=NumberConstructor|true -detectorOverridingEqualsNotSymmetrical=OverridingEqualsNotSymmetrical|true -detectorPreferZeroLengthArrays=PreferZeroLengthArrays|true -detectorPublicSemaphores=PublicSemaphores|false -detectorQuestionableBooleanAssignment=QuestionableBooleanAssignment|true -detectorReadOfInstanceFieldInMethodInvokedByConstructorInSuperclass=ReadOfInstanceFieldInMethodInvokedByConstructorInSuperclass|true -detectorReadReturnShouldBeChecked=ReadReturnShouldBeChecked|true -detectorRedundantInterfaces=RedundantInterfaces|true -detectorReflectiveClasses=ReflectiveClasses|true -detectorRepeatedConditionals=RepeatedConditionals|true -detectorResolveAllReferences=ResolveAllReferences|false -detectorRuntimeExceptionCapture=RuntimeExceptionCapture|false -detectorSerializableIdiom=SerializableIdiom|true -detectorStartInConstructor=StartInConstructor|true -detectorStaticCalendarDetector=StaticCalendarDetector|true -detectorStringConcatenation=StringConcatenation|true -detectorSuperfluousInstanceOf=SuperfluousInstanceOf|true -detectorSuspiciousThreadInterrupted=SuspiciousThreadInterrupted|true -detectorSwitchFallthrough=SwitchFallthrough|true -detectorSynchronizationOnSharedBuiltinConstant=SynchronizationOnSharedBuiltinConstant|true -detectorSynchronizeAndNullCheckField=SynchronizeAndNullCheckField|true -detectorSynchronizeOnClassLiteralNotGetClass=SynchronizeOnClassLiteralNotGetClass|true -detectorSynchronizingOnContentsOfFieldToProtectField=SynchronizingOnContentsOfFieldToProtectField|true -detectorTestASM=TestASM|false -detectorTestDataflowAnalysis=TestDataflowAnalysis|false -detectorTestingGround=TestingGround|false -detectorTrainFieldStoreTypes=TrainFieldStoreTypes|true -detectorTrainNonNullAnnotations=TrainNonNullAnnotations|true -detectorTrainUnconditionalDerefParams=TrainUnconditionalDerefParams|true -detectorURLProblems=URLProblems|true -detectorUncallableMethodOfAnonymousClass=UncallableMethodOfAnonymousClass|true -detectorUnnecessaryMath=UnnecessaryMath|true -detectorUnreadFields=UnreadFields|false -detectorUseObjectEquals=UseObjectEquals|false -detectorUselessSubclassMethod=UselessSubclassMethod|false -detectorVarArgsProblems=VarArgsProblems|true -detectorVolatileUsage=VolatileUsage|true -detectorWaitInLoop=WaitInLoop|true -detectorWrongMapIterator=WrongMapIterator|true -detectorXMLFactoryBypass=XMLFactoryBypass|true -detector_threshold=2 -effort=default -filter_settings=Medium|BAD_PRACTICE,CORRECTNESS,EXPERIMENTAL,I18N,MALICIOUS_CODE,MT_CORRECTNESS,PERFORMANCE,SECURITY,STYLE|false -filter_settings_neg=NOISE| -run_at_full_build=false diff --git a/de.prob.core/.settings/org.eclipse.core.resources.prefs b/de.prob.core/.settings/org.eclipse.core.resources.prefs index cce8254d8f270ccabe97e134a85368162629089d..99f26c0203a7844de00dbfc56e6a35d8ed3c022c 100644 --- a/de.prob.core/.settings/org.eclipse.core.resources.prefs +++ b/de.prob.core/.settings/org.eclipse.core.resources.prefs @@ -1,3 +1,2 @@ -#Tue Nov 29 16:15:48 CET 2011 eclipse.preferences.version=1 encoding/<project>=UTF-8 diff --git a/de.prob.core/.settings/org.eclipse.core.runtime.prefs b/de.prob.core/.settings/org.eclipse.core.runtime.prefs index f5fa27d76d2330b172e744b7bb18daeb1c223d73..5a0ad22d2a76684139fad95f6b8d209c7cd0d078 100644 --- a/de.prob.core/.settings/org.eclipse.core.runtime.prefs +++ b/de.prob.core/.settings/org.eclipse.core.runtime.prefs @@ -1,3 +1,2 @@ -#Tue Nov 29 16:15:48 CET 2011 eclipse.preferences.version=1 line.separator=\n diff --git a/de.prob.core/META-INF/MANIFEST.MF b/de.prob.core/META-INF/MANIFEST.MF index 46e38f533ace74782bc90d214d762709f30c26a2..2f3d359c07ad719443a4bbc159ac0e642feb3076 100644 --- a/de.prob.core/META-INF/MANIFEST.MF +++ b/de.prob.core/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: ProB Animator Core Bundle-SymbolicName: de.prob.core;singleton:=true -Bundle-Version: 9.5.1.qualifier +Bundle-Version: 9.6.0.qualifier Require-Bundle: org.eclipse.core.filesystem;bundle-version="[1.7.0,2.0.0)", org.eclipse.core.resources;bundle-version="[3.13.0,4.0.0)", org.eclipse.core.runtime;bundle-version="[3.20.0,4.0.0)", @@ -13,7 +13,7 @@ Require-Bundle: org.eclipse.core.filesystem;bundle-version="[1.7.0,2.0.0)", org.rodinp.core;bundle-version="[1.9.0,2.0.0)" Bundle-ActivationPolicy: lazy Eclipse-BundleShape: dir -Bundle-Vendor: HHU Dusseldorf STUPS Group +Bundle-Vendor: HHU Düsseldorf STUPS Group Export-Package: de.be4.classicalb.core.parser, de.be4.classicalb.core.parser.analysis, de.be4.classicalb.core.parser.analysis.checking, @@ -39,7 +39,6 @@ Export-Package: de.be4.classicalb.core.parser, de.be4.ltl.core.parser.parser, de.hhu.stups.sablecc.patch, de.prob.cli, - de.prob.cli.clipatterns, de.prob.core, de.prob.core.command, de.prob.core.command.internal, @@ -76,11 +75,11 @@ Bundle-Activator: de.prob.core.internal.Activator Eclipse-BuddyPolicy: registered Bundle-RequiredExecutionEnvironment: JavaSE-11 Bundle-ClassPath: ., - lib/dependencies/answerparser-2.13.0.jar, - lib/dependencies/bparser-2.13.0.jar, - lib/dependencies/ltlparser-2.13.0.jar, - lib/dependencies/parserbase-2.13.0.jar, - lib/dependencies/prologlib-2.13.0.jar, - lib/dependencies/sablecc-runtime-3.7.0.jar, - lib/dependencies/theorymapping-2.13.0.jar, - lib/dependencies/unicode-2.13.0.jar + lib/dependencies/answerparser-2.13.3.jar, + lib/dependencies/bparser-2.13.3.jar, + lib/dependencies/ltlparser-2.13.3.jar, + lib/dependencies/parserbase-2.13.3.jar, + lib/dependencies/prologlib-2.13.3.jar, + lib/dependencies/sablecc-runtime-3.8.0.jar, + lib/dependencies/theorymapping-2.13.3.jar, + lib/dependencies/unicode-2.13.3.jar diff --git a/de.prob.core/src/de/prob/cli/CliStarter.java b/de.prob.core/src/de/prob/cli/CliStarter.java index e11c7c9bbe94c1e4dd775957f282eda58c901eb9..5861c40a5222e72d751957ea21f5c74f62901d5d 100644 --- a/de.prob.core/src/de/prob/cli/CliStarter.java +++ b/de.prob.core/src/de/prob/cli/CliStarter.java @@ -9,6 +9,8 @@ package de.prob.cli; import java.io.*; import java.net.*; import java.util.*; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import org.eclipse.core.filesystem.EFS; import org.eclipse.core.filesystem.IFileInfo; @@ -16,15 +18,17 @@ import org.eclipse.core.filesystem.IFileStore; import org.eclipse.core.runtime.*; import org.osgi.framework.Bundle; -import de.prob.cli.clipatterns.*; import de.prob.core.internal.Activator; import de.prob.logging.Logger; public final class CliStarter { + private static final Pattern CLI_PORT_PATTERN = Pattern.compile("^.*Port: (\\d+)$"); + private static final Pattern CLI_USER_INTERRUPT_REFERENCE_PATTERN = Pattern.compile("^.*user interrupt reference id: *(\\d+|off) *$"); + private Process prologProcess; private int port = -1; - private Long userInterruptReference = null; + private long userInterruptReference = -1L; private OutputLoggerThread stdLogger; private OutputLoggerThread errLogger; @@ -106,8 +110,12 @@ public final class CliStarter { // which is bad in our case, // because x86_64 probcli under Rosetta 2 is much slower than native arm64 probcli.) command.add("arch"); - command.add("-arm64"); - command.add("-x86_64"); + // Use the generic -64 option instead of -arm64, + // because -arm64 causes an "Unknown architecture" error on x86_64 systems + // (contrary to what the arch(1) man page suggests). + // -64 corresponds to -arm64 on arm64 systems and -x86_64 on x86_64 systems, + // so it's always safe to use. + command.add("-64"); } command.add(executable); // command.add("-ll"); @@ -189,11 +197,43 @@ public final class CliStarter { private void extractCliInformation(final BufferedReader input) throws CliException { - final PortPattern portPattern = new PortPattern(); - final InterruptRefPattern intPattern = new InterruptRefPattern(); - analyseStdout(input, Arrays.asList(portPattern, intPattern)); - port = portPattern.getValue(); - userInterruptReference = intPattern.getValue(); + Integer portTemp = null; + Long userInterruptReferenceTemp = null; + try { + for (String line; (line = input.readLine()) != null;) { + Logger.info("probcli startup output: " + line); + + Matcher portMatcher = CLI_PORT_PATTERN.matcher(line); + if (portMatcher.matches()) { + portTemp = Integer.parseInt(portMatcher.group(1)); + } + + Matcher userInterruptReferenceMatcher = CLI_USER_INTERRUPT_REFERENCE_PATTERN.matcher(line); + if (userInterruptReferenceMatcher.matches()) { + String userInterruptReferenceString = userInterruptReferenceMatcher.group(1); + if ("off".equals(userInterruptReferenceString)) { + userInterruptReferenceTemp = -1L; + Logger.info("This ProB build has user interrupt support disabled. Interrupting ProB may not work as expected."); + } else { + userInterruptReferenceTemp = Long.parseLong(userInterruptReferenceString); + } + } + + if ((portTemp != null && userInterruptReferenceTemp != null) || line.contains("starting command loop")) { + break; + } + } + } catch (IOException | NumberFormatException e) { + throw new CliException("Error while reading information from CLI", e, false); + } + + if (portTemp == null) { + throw new CliException("Did not receive port number from CLI"); + } else if (userInterruptReferenceTemp == null) { + throw new CliException("Did not receive user interrupt reference from CLI"); + } + port = portTemp; + userInterruptReference = userInterruptReferenceTemp; } private void startOutputLogger(final BufferedReader input) { @@ -206,38 +246,6 @@ public final class CliStarter { errLogger.start(); } - private void analyseStdout(final BufferedReader input, - Collection<? extends CliPattern<?>> patterns) throws CliException { - patterns = new ArrayList<CliPattern<?>>(patterns); - try { - String line; - boolean endReached = false; - while (!endReached && (line = input.readLine()) != null) { - Logger.info("probcli startup output: " + line); - applyPatterns(patterns, line); - endReached = patterns.isEmpty() - || line.contains("starting command loop"); // printed in prob_socketserver.pl - } - } catch (IOException e) { - throw new CliException("Problem while starting ProB. Cannot read from input stream.", e, true); - } - for (CliPattern<?> p : patterns) { - p.notFound(); - } - } - - private void applyPatterns( - final Collection<? extends CliPattern<?>> patterns, - final String line) { - for (Iterator<? extends CliPattern<?>> it = patterns.iterator(); it - .hasNext();) { - final CliPattern<?> p = it.next(); - if (p.matchesLine(line)) { - it.remove(); - } - } - } - private File getCliPath() throws CliException { final Bundle bundle = Activator.getDefault().getBundle(); final URL entry = bundle.getEntry("prob"); @@ -322,7 +330,7 @@ public final class CliStarter { } public void sendUserInterruptReference() { - if (userInterruptReference != null) { + if (userInterruptReference != -1) { try { final OsSpecificInfo osInfo = getOsInfo(Platform.getOS()); final String command = getCliPath() + File.separator @@ -335,7 +343,7 @@ public final class CliStarter { Runtime.getRuntime().exec( new String[] { command, - userInterruptReference.toString() }); + String.valueOf(userInterruptReference) }); } catch (CliException e) { Logger.info("getting the os specific info failed with exception: " + e.getLocalizedMessage()); diff --git a/de.prob.core/src/de/prob/cli/clipatterns/CliPattern.java b/de.prob.core/src/de/prob/cli/clipatterns/CliPattern.java deleted file mode 100644 index 5d59454c40c9d2e9323fb6992d4213bdf8bb26c1..0000000000000000000000000000000000000000 --- a/de.prob.core/src/de/prob/cli/clipatterns/CliPattern.java +++ /dev/null @@ -1,65 +0,0 @@ -/** - * - */ -package de.prob.cli.clipatterns; - -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import de.prob.cli.CliException; - -/** - * Base class for doing pattern matching on the standard output on startup of - * the ProB command line executable. - * - * @author plagge - */ -public abstract class CliPattern<T> { - private final Pattern pattern; - private Matcher matcher; - - protected CliPattern(String regex) { - this.pattern = Pattern.compile(regex); - } - - /** - * Is called for each line of the standard output until this object matches - * a line or until the command loop starts. - * - * @param line - * the standard output line as string - * @return if the line matches - */ - public boolean matchesLine(String line) { - matcher = pattern.matcher(line); - final boolean hit = matcher.find(); - if (hit) { - setValue(matcher); - } - return hit; - } - - /** - * If the current line matches the pattern, this method is called with the - * resulting {@link Matcher} object. An implementation of this method should - * find a value that can be accessed via {@link #getValue()}. - * - * @param matcher - */ - protected abstract void setValue(Matcher matcher); - - /** - * Returns the resulting value determined by the input line. - * - * @return - */ - public abstract T getValue(); - - /** - * This method is called if no line matched on this pattern and the start of - * the command loop is reached. - * - * @throws CliException - */ - public abstract void notFound() throws CliException; -} diff --git a/de.prob.core/src/de/prob/cli/clipatterns/InterruptRefPattern.java b/de.prob.core/src/de/prob/cli/clipatterns/InterruptRefPattern.java deleted file mode 100644 index 65ab44dd2d3c4b0582a24ca851549d273f1dee3b..0000000000000000000000000000000000000000 --- a/de.prob.core/src/de/prob/cli/clipatterns/InterruptRefPattern.java +++ /dev/null @@ -1,44 +0,0 @@ -/** - * - */ -package de.prob.cli.clipatterns; - -import java.util.regex.Matcher; - -import de.prob.cli.CliException; -import de.prob.logging.Logger; - -/** - * Extracts the reference for user interrupt calls from the process' startup - * information. The reference must be later passed to the send_interrupt command - * when an user interrupt should be signalled. - * - * @author plagge - */ -public class InterruptRefPattern extends CliPattern<Long> { - - private Long reference; - - public InterruptRefPattern() { - super("user interrupt reference id: *(\\d+) *$"); - } - - @Override - protected void setValue(final Matcher matcher) { - reference = Long.parseLong(matcher.group(1)); - Logger.info("Server can receive user interrupts via reference " - + reference); - } - - @Override - public Long getValue() { - return reference; - } - - @Override - public void notFound() throws CliException { - Logger.notifyUser("Could not determine user interrupt reference of ProB server. " - + "You might not be able to interrupt a running calculation."); - } - -} diff --git a/de.prob.core/src/de/prob/cli/clipatterns/PortPattern.java b/de.prob.core/src/de/prob/cli/clipatterns/PortPattern.java deleted file mode 100644 index 19724b1a772a4da213176fafb3ec610ed545e30f..0000000000000000000000000000000000000000 --- a/de.prob.core/src/de/prob/cli/clipatterns/PortPattern.java +++ /dev/null @@ -1,45 +0,0 @@ -/** - * - */ -package de.prob.cli.clipatterns; - -import java.util.regex.Matcher; - -import de.prob.cli.CliException; -import de.prob.logging.Logger; - -/** - * This {@link CliPattern} looks for a network port number where the executable - * listens for commands. - * - * If no port number is found, {@link #notFound()} throws a {@link CliException} - * - * @author plagge - */ -public class PortPattern extends CliPattern<Integer> { - int port; - - public PortPattern() { - super("Port: (\\d+)$"); - } - - @Override - protected void setValue(Matcher matcher) throws IllegalArgumentException { - port = Integer.parseInt(matcher.group(1)); - Logger.info("Server has startet and listens on port " + port); - } - - /** - * Returns the port number. - */ - @Override - public Integer getValue() { - return port; - } - - @Override - public void notFound() throws CliException { - throw new CliException("Could not determine port of ProB server"); - } - -} diff --git a/de.prob.core/src/de/prob/core/command/AnalyseInvariantCommand.java b/de.prob.core/src/de/prob/core/command/AnalyseInvariantCommand.java deleted file mode 100644 index b5791a4c4efb21dbc3575f313fc9c082c78e3cf4..0000000000000000000000000000000000000000 --- a/de.prob.core/src/de/prob/core/command/AnalyseInvariantCommand.java +++ /dev/null @@ -1,48 +0,0 @@ -package de.prob.core.command; - -import de.prob.parser.ISimplifiedROMap; -import de.prob.prolog.output.IPrologTermOutput; -import de.prob.prolog.term.ListPrologTerm; -import de.prob.prolog.term.PrologTerm; - -public class AnalyseInvariantCommand implements ISimpleTextCommand { - - private static final String UNKNOWN = "Unknown"; - private static final String FALSE = "False"; - private static final String TOTAL = "Total"; - private static final String RESULT = "Result"; - private static final String DESCRIPTION = "Desc"; - private StringBuffer text; - - @Override - public void writeCommand(IPrologTermOutput pto) { - // analyse_predicate(Type,Desc,Result,Total,False,Unknown) - pto.openTerm("analyse_predicate").printAtom("invariant") - .printVariable(DESCRIPTION).printVariable(RESULT) - .printVariable(TOTAL).printVariable(FALSE) - .printVariable(UNKNOWN).closeTerm(); - } - - @Override - public void processResult(ISimplifiedROMap<String, PrologTerm> bindings) - throws CommandException { - text = new StringBuffer(); - text.append("Analysed: " + bindings.get(DESCRIPTION) + "\n"); - text.append("-------------------------------------\n"); - ListPrologTerm r = (ListPrologTerm) bindings.get(RESULT); - for (PrologTerm term : r) { - text.append(term); - text.append('\n'); - } - text.append("-------------------------------------\n"); - text.append("Total: " + bindings.get(TOTAL)+ "\n"); - text.append("False: " + bindings.get(FALSE)+ "\n"); - text.append("Unknown: " + bindings.get(UNKNOWN)); - } - - @Override - public String getResultingText() { - return text.toString(); - } - -} diff --git a/de.prob.core/src/de/prob/core/command/ISimpleTextCommand.java b/de.prob.core/src/de/prob/core/command/ISimpleTextCommand.java deleted file mode 100644 index 4abbfc3687137118c7ce4b23c7bb8bba54ea035e..0000000000000000000000000000000000000000 --- a/de.prob.core/src/de/prob/core/command/ISimpleTextCommand.java +++ /dev/null @@ -1,5 +0,0 @@ -package de.prob.core.command; - -public interface ISimpleTextCommand extends IComposableCommand{ - String getResultingText(); -} diff --git a/de.prob.eventb.disprover.core/.settings/org.eclipse.core.resources.prefs b/de.prob.eventb.disprover.core/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000000000000000000000000000000000000..99f26c0203a7844de00dbfc56e6a35d8ed3c022c --- /dev/null +++ b/de.prob.eventb.disprover.core/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/<project>=UTF-8 diff --git a/de.prob.eventb.disprover.core/.settings/org.eclipse.core.runtime.prefs b/de.prob.eventb.disprover.core/.settings/org.eclipse.core.runtime.prefs new file mode 100644 index 0000000000000000000000000000000000000000..5a0ad22d2a76684139fad95f6b8d209c7cd0d078 --- /dev/null +++ b/de.prob.eventb.disprover.core/.settings/org.eclipse.core.runtime.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +line.separator=\n diff --git a/de.prob.eventb.disprover.core/.settings/org.eclipse.jdt.core.prefs b/de.prob.eventb.disprover.core/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 0c68a61dca867ceb49e79d2402935261ec3e3809..0000000000000000000000000000000000000000 --- a/de.prob.eventb.disprover.core/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,7 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 -org.eclipse.jdt.core.compiler.compliance=1.8 -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 diff --git a/de.prob.eventb.disprover.core/META-INF/MANIFEST.MF b/de.prob.eventb.disprover.core/META-INF/MANIFEST.MF index 5c576f965f2a02bbf5e545be8f726771ab48f6e1..132f3d32ebc7e8d9183f16eefb2f336be1133916 100644 --- a/de.prob.eventb.disprover.core/META-INF/MANIFEST.MF +++ b/de.prob.eventb.disprover.core/META-INF/MANIFEST.MF @@ -1,10 +1,10 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 -Bundle-Name: ProB Disprover Core for EventB +Bundle-Name: ProB Disprover Core for Event-B Bundle-SymbolicName: de.prob.eventb.disprover.core;singleton:=true -Bundle-Version: 2.1.1.qualifier -Bundle-Vendor: Heinrich-Heine University Dusseldorf -Require-Bundle: de.prob.core;bundle-version="[9.5.1,9.6.0)", +Bundle-Version: 2.2.0.qualifier +Bundle-Vendor: HHU Düsseldorf STUPS Group +Require-Bundle: de.prob.core;bundle-version="[9.6.0,9.7.0)", org.eclipse.core.runtime;bundle-version="[3.20.0,4.0.0)", org.eventb.core;bundle-version="[3.5.0,4.0.0)", org.eventb.core.ast;bundle-version="[3.5.0,4.0.0)", diff --git a/de.prob.eventb.disprover.ui/.settings/org.eclipse.core.resources.prefs b/de.prob.eventb.disprover.ui/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000000000000000000000000000000000000..99f26c0203a7844de00dbfc56e6a35d8ed3c022c --- /dev/null +++ b/de.prob.eventb.disprover.ui/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/<project>=UTF-8 diff --git a/de.prob.eventb.disprover.ui/.settings/org.eclipse.core.runtime.prefs b/de.prob.eventb.disprover.ui/.settings/org.eclipse.core.runtime.prefs new file mode 100644 index 0000000000000000000000000000000000000000..5a0ad22d2a76684139fad95f6b8d209c7cd0d078 --- /dev/null +++ b/de.prob.eventb.disprover.ui/.settings/org.eclipse.core.runtime.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +line.separator=\n diff --git a/de.prob.eventb.disprover.ui/.settings/org.eclipse.jdt.core.prefs b/de.prob.eventb.disprover.ui/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 0c68a61dca867ceb49e79d2402935261ec3e3809..0000000000000000000000000000000000000000 --- a/de.prob.eventb.disprover.ui/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,7 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 -org.eclipse.jdt.core.compiler.compliance=1.8 -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 diff --git a/de.prob.eventb.disprover.ui/META-INF/MANIFEST.MF b/de.prob.eventb.disprover.ui/META-INF/MANIFEST.MF index 0a1957bc7ef479c7b3b00a6cbd52eebf4ec38f96..0fbd232cd57c37ec4b31e46737f68ca23f529432 100644 --- a/de.prob.eventb.disprover.ui/META-INF/MANIFEST.MF +++ b/de.prob.eventb.disprover.ui/META-INF/MANIFEST.MF @@ -1,12 +1,12 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 -Bundle-Name: ProB Disprover UI for EventB +Bundle-Name: ProB Disprover UI for Event-B Bundle-SymbolicName: de.prob.eventb.disprover.ui;singleton:=true -Bundle-Version: 2.1.1.qualifier -Bundle-Vendor: Heinrich-Heine University Dusseldorf -Require-Bundle: de.prob.core;bundle-version="[9.5.1,9.6.0)", - de.prob.eventb.disprover.core;bundle-version="[2.1.1,2.2.0)", - de.prob.ui;bundle-version="[7.5.1,7.6.0)", +Bundle-Version: 2.2.0.qualifier +Bundle-Vendor: HHU Düsseldorf STUPS Group +Require-Bundle: de.prob.core;bundle-version="[9.6.0,9.7.0)", + de.prob.eventb.disprover.core;bundle-version="[2.2.0,2.3.0)", + de.prob.ui;bundle-version="[7.6.0,7.7.0)", org.eclipse.core.runtime;bundle-version="[3.20.0,4.0.0)", org.eclipse.osgi;bundle-version="[3.16.0,4.0.0)", org.eclipse.ui;bundle-version="[3.118.0,4.0.0)", diff --git a/de.prob.eventb.disprover.ui/about.ini b/de.prob.eventb.disprover.ui/about.ini index f04f5e337154c697cc2c45fb586dd1d42d1887ff..db4b4b6f8dd2e4b63afc62c2b53f3766a0f725e3 100644 --- a/de.prob.eventb.disprover.ui/about.ini +++ b/de.prob.eventb.disprover.ui/about.ini @@ -1,3 +1,2 @@ -aboutText=ProB Disprover (c) 2009 http://www.stups.uni-duesseldorf.de/ProB -featureImage=icons/feature.png - +aboutText=ProB Disprover (c) 2009-2024 https://prob.hhu.de/w/ +featureImage=icons/prob32.png diff --git a/de.prob.eventb.disprover.ui/icons/feature.png b/de.prob.eventb.disprover.ui/icons/feature.png deleted file mode 100644 index 6e7f53357533b567f2d1d1b9e0bb3ebe072aa2d9..0000000000000000000000000000000000000000 Binary files a/de.prob.eventb.disprover.ui/icons/feature.png and /dev/null differ diff --git a/de.prob.plugin/icons/prob.png b/de.prob.eventb.disprover.ui/icons/prob.png similarity index 100% rename from de.prob.plugin/icons/prob.png rename to de.prob.eventb.disprover.ui/icons/prob.png diff --git a/de.prob.eventb.disprover.ui/icons/prob32.png b/de.prob.eventb.disprover.ui/icons/prob32.png new file mode 100644 index 0000000000000000000000000000000000000000..25e1873180117fc35e3ac43adde791fd14cb8fd7 Binary files /dev/null and b/de.prob.eventb.disprover.ui/icons/prob32.png differ diff --git a/de.prob.eventb.disprover.ui/icons/prob_mini_logo.gif b/de.prob.eventb.disprover.ui/icons/prob_mini_logo.gif deleted file mode 100644 index c6867d469651f80e12a2021e619563e3f2a39b64..0000000000000000000000000000000000000000 Binary files a/de.prob.eventb.disprover.ui/icons/prob_mini_logo.gif and /dev/null differ diff --git a/de.prob.eventb.disprover.ui/plugin.xml b/de.prob.eventb.disprover.ui/plugin.xml index 8b0ec03affbb9f82d4f4ba94ace0f6c264559fb6..87efaea1ff155f3f85d9d0c0f96beab75af8cdbc 100644 --- a/de.prob.eventb.disprover.ui/plugin.xml +++ b/de.prob.eventb.disprover.ui/plugin.xml @@ -93,7 +93,7 @@ locationURI="popup:more_commands"> <command commandId="de.prob.eventb.disprover.ui.exportpos" - icon="icons/prob_mini_logo.gif" + icon="icons/prob.png" label="Export POs for ProB (probcli)" style="push"> </command> diff --git a/de.prob.plugin/.classpath b/de.prob.plugin/.classpath deleted file mode 100644 index eca7bdba8f03f22510b7980a94dbfe10c16c0901..0000000000000000000000000000000000000000 --- a/de.prob.plugin/.classpath +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<classpath> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/> - <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> - <classpathentry kind="src" path="src"/> - <classpathentry kind="output" path="bin"/> -</classpath> diff --git a/de.prob.plugin/.project b/de.prob.plugin/.project deleted file mode 100644 index a00f814cf6f9966a13b8f02e7e113d88f0085dcd..0000000000000000000000000000000000000000 --- a/de.prob.plugin/.project +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<projectDescription> - <name>de.prob.plugin</name> - <comment></comment> - <projects> - </projects> - <buildSpec> - <buildCommand> - <name>org.eclipse.jdt.core.javabuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.ManifestBuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.SchemaBuilder</name> - <arguments> - </arguments> - </buildCommand> - </buildSpec> - <natures> - <nature>org.eclipse.pde.PluginNature</nature> - <nature>org.eclipse.jdt.core.javanature</nature> - </natures> -</projectDescription> diff --git a/de.prob.plugin/META-INF/MANIFEST.MF b/de.prob.plugin/META-INF/MANIFEST.MF deleted file mode 100644 index 1f14ba3395a4099bb25ad45877545300c9fce4f9..0000000000000000000000000000000000000000 --- a/de.prob.plugin/META-INF/MANIFEST.MF +++ /dev/null @@ -1,8 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: ProB Rodin2 UI Bindings -Bundle-SymbolicName: de.prob.plugin;singleton:=true -Bundle-Version: 2.4.1.qualifier -Fragment-Host: de.prob.ui;bundle-version="[7.5.1,7.6.0)" -Bundle-RequiredExecutionEnvironment: JavaSE-11 -Bundle-Vendor: HHU Düsseldorf STUPS Group diff --git a/de.prob.plugin/build.properties b/de.prob.plugin/build.properties deleted file mode 100644 index e3023e14e9992e9d7e6a1a62b122da44d179c756..0000000000000000000000000000000000000000 --- a/de.prob.plugin/build.properties +++ /dev/null @@ -1,5 +0,0 @@ -source.. = src/ -output.. = bin/ -bin.includes = META-INF/,\ - .,\ - fragment.xml diff --git a/de.prob.plugin/fragment.xml b/de.prob.plugin/fragment.xml deleted file mode 100644 index 9b58895d54d1fe0a9e7e6b205020e7b7df57dd87..0000000000000000000000000000000000000000 --- a/de.prob.plugin/fragment.xml +++ /dev/null @@ -1,63 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<?eclipse version="3.4"?> -<fragment> - <extension - point="org.eclipse.ui.perspectives"> - <perspective - class="de.prob.ui.PerspectiveFactory" - icon="icons/prob.png" - id="de.prob.ui.perspective" - name="ProB"> - </perspective> - </extension> - <!-- <extension - point="org.eclipse.ui.splashHandlers"> - <splashHandler - class="de.prob.plugin.Splash" - id="de.prob.plugin.splash"> - </splashHandler> - <splashHandlerProductBinding - productId="org.rodinp.platform.product" - splashId="de.prob.plugin.splash"> - </splashHandlerProductBinding> - </extension> --> - - <extension - point="org.eclipse.ui.menus"> - <menuContribution - locationURI="menu:org.eclipse.ui.main.menu"> - <menu - id="prob" - label="ProB" - mnemonic="P"> - <menu - id="contact" - label="Contact" - mnemonic="C"> - <separator - name="bugs"> - </separator> - <separator - name="contact"> - </separator> - </menu> - <menu - id="analyze" - label="Analyze"> - <separator - name="analyze"> - </separator> - </menu> - </menu> - </menuContribution> - <menuContribution - locationURI="toolbar:org.eclipse.ui.main.toolbar"> - <toolbar - id="probtoolbar"> - </toolbar> - </menuContribution> - </extension> - - - -</fragment> diff --git a/de.prob.plugin/src/de/prob/plugin/Splash.java b/de.prob.plugin/src/de/prob/plugin/Splash.java deleted file mode 100644 index 623339aa3a8329414fda46e755ca40191b71cdff..0000000000000000000000000000000000000000 --- a/de.prob.plugin/src/de/prob/plugin/Splash.java +++ /dev/null @@ -1,35 +0,0 @@ -package de.prob.plugin; - -import org.eclipse.swt.SWT; -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.ui.splash.AbstractSplashHandler; - -import de.prob.ui.ProbUiPlugin; - -public class Splash extends AbstractSplashHandler { - - @Override - public void init(final Shell splash) { - super.init(splash); - - final Image overlay = ProbUiPlugin.getDefault().getImageRegistry().get( - ProbUiPlugin.OVERLAY); - - // FillLayout layout = new FillLayout(); - // - // getSplash().setLayout(layout); - - // Force shell to inherit the splash background - getSplash().setBackgroundMode(SWT.INHERIT_DEFAULT); - - Label transparentIdeaLabel = new Label(getSplash(), SWT.NONE); - transparentIdeaLabel.setImage(overlay); - - transparentIdeaLabel.setBounds(10, 220, 90, 35); - - splash.layout(true); - - } -} diff --git a/de.prob.repository/category.xml b/de.prob.repository/category.xml index c4aa4d78350a3dc5be190fbf32415b8847478e74..cdede493083006b695834f6dbda6a14d27cb3c97 100644 --- a/de.prob.repository/category.xml +++ b/de.prob.repository/category.xml @@ -1,6 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> <site> + <feature id="de.bmotionstudio.feature" version="0.0.0"> + <category name="de.prob2.feature.category"/> + </feature> + <feature id="de.prob2.disprover.feature" version="0.0.0"> <category name="de.prob2.feature.category"/> </feature> diff --git a/de.prob.symbolic/.settings/org.eclipse.core.resources.prefs b/de.prob.symbolic/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000000000000000000000000000000000000..99f26c0203a7844de00dbfc56e6a35d8ed3c022c --- /dev/null +++ b/de.prob.symbolic/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/<project>=UTF-8 diff --git a/de.prob.symbolic/.settings/org.eclipse.core.runtime.prefs b/de.prob.symbolic/.settings/org.eclipse.core.runtime.prefs new file mode 100644 index 0000000000000000000000000000000000000000..5a0ad22d2a76684139fad95f6b8d209c7cd0d078 --- /dev/null +++ b/de.prob.symbolic/.settings/org.eclipse.core.runtime.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +line.separator=\n diff --git a/de.prob.symbolic/.settings/org.eclipse.jdt.core.prefs b/de.prob.symbolic/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 0c68a61dca867ceb49e79d2402935261ec3e3809..0000000000000000000000000000000000000000 --- a/de.prob.symbolic/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,7 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 -org.eclipse.jdt.core.compiler.compliance=1.8 -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 diff --git a/de.prob.symbolic/META-INF/MANIFEST.MF b/de.prob.symbolic/META-INF/MANIFEST.MF index 64d027615331925583b685cee674cbc7fd03a8a6..bf92786c3bbdcf2cecb52deba73a4ad8f1cd8a2f 100644 --- a/de.prob.symbolic/META-INF/MANIFEST.MF +++ b/de.prob.symbolic/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: ProB Symbolic Evaluation Support Bundle-SymbolicName: de.prob.symbolic;singleton:=true -Bundle-Version: 7.5.1.qualifier +Bundle-Version: 7.6.0.qualifier Bundle-Activator: de.prob.symbolic.Activator Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.20.0,4.0.0)", org.eclipse.ui;bundle-version="[3.118.0,4.0.0)", diff --git a/de.prob.symbolic/about.ini b/de.prob.symbolic/about.ini new file mode 100644 index 0000000000000000000000000000000000000000..c63bd3114090e1361f308b6d1f06d5698114ad4f --- /dev/null +++ b/de.prob.symbolic/about.ini @@ -0,0 +1,2 @@ +aboutText=ProB Symbolic Evaluation Support (c) 2013-2024 https://prob.hhu.de/w/ +featureImage=icons/prob32.png diff --git a/de.prob.symbolic/build.properties b/de.prob.symbolic/build.properties index e9863e281eaccc5123e82ed75713bab3e8b87bbe..94340bd457d49d874f04e79f5f20c930891368de 100644 --- a/de.prob.symbolic/build.properties +++ b/de.prob.symbolic/build.properties @@ -2,4 +2,6 @@ source.. = src/ output.. = bin/ bin.includes = META-INF/,\ .,\ + icons/,\ + about.ini,\ plugin.xml diff --git a/de.prob.symbolic/icons/prob32.png b/de.prob.symbolic/icons/prob32.png new file mode 100644 index 0000000000000000000000000000000000000000..25e1873180117fc35e3ac43adde791fd14cb8fd7 Binary files /dev/null and b/de.prob.symbolic/icons/prob32.png differ diff --git a/de.prob.ui/.fbprefs b/de.prob.ui/.fbprefs deleted file mode 100755 index 82704f5a9c08cac93bebdb001e66ca615d4a8efa..0000000000000000000000000000000000000000 --- a/de.prob.ui/.fbprefs +++ /dev/null @@ -1,143 +0,0 @@ -#FindBugs User Preferences -#Thu Sep 04 18:24:06 CEST 2008 -detectorAppendingToAnObjectOutputStream=AppendingToAnObjectOutputStream|true -detectorBCPMethodReturnCheck=BCPMethodReturnCheck|false -detectorBadAppletConstructor=BadAppletConstructor|false -detectorBadResultSetAccess=BadResultSetAccess|true -detectorBadSyntaxForRegularExpression=BadSyntaxForRegularExpression|true -detectorBadUseOfReturnValue=BadUseOfReturnValue|true -detectorBadlyOverriddenAdapter=BadlyOverriddenAdapter|true -detectorBooleanReturnNull=BooleanReturnNull|true -detectorCalledMethods=CalledMethods|true -detectorCheckCalls=CheckCalls|false -detectorCheckImmutableAnnotation=CheckImmutableAnnotation|true -detectorCheckTypeQualifiers=CheckTypeQualifiers|true -detectorCloneIdiom=CloneIdiom|true -detectorComparatorIdiom=ComparatorIdiom|true -detectorConfusedInheritance=ConfusedInheritance|true -detectorConfusionBetweenInheritedAndOuterMethod=ConfusionBetweenInheritedAndOuterMethod|true -detectorCrossSiteScripting=CrossSiteScripting|true -detectorDoInsideDoPrivileged=DoInsideDoPrivileged|true -detectorDontCatchIllegalMonitorStateException=DontCatchIllegalMonitorStateException|true -detectorDontUseEnum=DontUseEnum|true -detectorDroppedException=DroppedException|true -detectorDumbMethodInvocations=DumbMethodInvocations|true -detectorDumbMethods=DumbMethods|true -detectorDuplicateBranches=DuplicateBranches|true -detectorEmptyZipFileEntry=EmptyZipFileEntry|true -detectorEqStringTest=EqStringTest|false -detectorFinalizerNullsFields=FinalizerNullsFields|true -detectorFindBadCast=FindBadCast|false -detectorFindBadCast2=FindBadCast2|true -detectorFindBadEqualsImplementation=FindBadEqualsImplementation|false -detectorFindBadForLoop=FindBadForLoop|true -detectorFindBugsSummaryStats=FindBugsSummaryStats|true -detectorFindCircularDependencies=FindCircularDependencies|false -detectorFindDeadLocalStores=FindDeadLocalStores|true -detectorFindDoubleCheck=FindDoubleCheck|true -detectorFindEmptySynchronizedBlock=FindEmptySynchronizedBlock|true -detectorFindFieldSelfAssignment=FindFieldSelfAssignment|true -detectorFindFinalizeInvocations=FindFinalizeInvocations|true -detectorFindFloatEquality=FindFloatEquality|true -detectorFindFloatMath=FindFloatMath|false -detectorFindHEmismatch=FindHEmismatch|true -detectorFindInconsistentSync2=FindInconsistentSync2|false -detectorFindJSR166LockMonitorenter=FindJSR166LockMonitorenter|true -detectorFindLocalSelfAssignment2=FindLocalSelfAssignment2|true -detectorFindMaskedFields=FindMaskedFields|true -detectorFindMismatchedWaitOrNotify=FindMismatchedWaitOrNotify|true -detectorFindNakedNotify=FindNakedNotify|true -detectorFindNonSerializableStoreIntoSession=FindNonSerializableStoreIntoSession|true -detectorFindNonSerializableValuePassedToWriteObject=FindNonSerializableValuePassedToWriteObject|true -detectorFindNonShortCircuit=FindNonShortCircuit|true -detectorFindNullDeref=FindNullDeref|true -detectorFindOpenStream=FindOpenStream|true -detectorFindPuzzlers=FindPuzzlers|true -detectorFindRefComparison=FindRefComparison|true -detectorFindReturnRef=FindReturnRef|true -detectorFindRunInvocations=FindRunInvocations|true -detectorFindSelfComparison=FindSelfComparison|true -detectorFindSelfComparison2=FindSelfComparison2|true -detectorFindSleepWithLockHeld=FindSleepWithLockHeld|true -detectorFindSpinLoop=FindSpinLoop|true -detectorFindSqlInjection=FindSqlInjection|true -detectorFindTwoLockWait=FindTwoLockWait|true -detectorFindUncalledPrivateMethods=FindUncalledPrivateMethods|true -detectorFindUnconditionalWait=FindUnconditionalWait|true -detectorFindUninitializedGet=FindUninitializedGet|true -detectorFindUnrelatedTypesInGenericContainer=FindUnrelatedTypesInGenericContainer|true -detectorFindUnreleasedLock=FindUnreleasedLock|true -detectorFindUnsatisfiedObligation=FindUnsatisfiedObligation|false -detectorFindUnsyncGet=FindUnsyncGet|true -detectorFindUselessControlFlow=FindUselessControlFlow|true -detectorHugeSharedStringConstants=HugeSharedStringConstants|true -detectorIDivResultCastToDouble=IDivResultCastToDouble|true -detectorIncompatMask=IncompatMask|true -detectorInefficientMemberAccess=InefficientMemberAccess|false -detectorInefficientToArray=InefficientToArray|true -detectorInfiniteLoop=InfiniteLoop|true -detectorInfiniteRecursiveLoop=InfiniteRecursiveLoop|true -detectorInfiniteRecursiveLoop2=InfiniteRecursiveLoop2|false -detectorInheritanceUnsafeGetResource=InheritanceUnsafeGetResource|true -detectorInitializationChain=InitializationChain|true -detectorInstantiateStaticClass=InstantiateStaticClass|true -detectorInvalidJUnitTest=InvalidJUnitTest|true -detectorIteratorIdioms=IteratorIdioms|true -detectorLazyInit=LazyInit|false -detectorLoadOfKnownNullValue=LoadOfKnownNullValue|true -detectorLockedFields=LockedFields|false -detectorMethodReturnCheck=MethodReturnCheck|true -detectorMethods=Methods|true -detectorMultithreadedInstanceAccess=MultithreadedInstanceAccess|true -detectorMutableLock=MutableLock|true -detectorMutableStaticFields=MutableStaticFields|false -detectorNaming=Naming|true -detectorNoteAnnotationRetention=NoteAnnotationRetention|true -detectorNoteCheckReturnValue=NoteCheckReturnValue|true -detectorNoteCheckReturnValueAnnotations=NoteCheckReturnValueAnnotations|true -detectorNoteDirectlyRelevantTypeQualifiers=NoteDirectlyRelevantTypeQualifiers|true -detectorNoteJCIPAnnotation=NoteJCIPAnnotation|true -detectorNoteNonNullAnnotations=NoteNonNullAnnotations|true -detectorNoteNonnullReturnValues=NoteNonnullReturnValues|true -detectorNoteSuppressedWarnings=NoteSuppressedWarnings|true -detectorNoteUnconditionalParamDerefs=NoteUnconditionalParamDerefs|true -detectorNumberConstructor=NumberConstructor|true -detectorOverridingEqualsNotSymmetrical=OverridingEqualsNotSymmetrical|true -detectorPreferZeroLengthArrays=PreferZeroLengthArrays|true -detectorPublicSemaphores=PublicSemaphores|false -detectorQuestionableBooleanAssignment=QuestionableBooleanAssignment|true -detectorReadReturnShouldBeChecked=ReadReturnShouldBeChecked|true -detectorRedundantInterfaces=RedundantInterfaces|true -detectorReflectiveClasses=ReflectiveClasses|true -detectorResolveAllReferences=ResolveAllReferences|false -detectorRuntimeExceptionCapture=RuntimeExceptionCapture|true -detectorSerializableIdiom=SerializableIdiom|true -detectorStartInConstructor=StartInConstructor|true -detectorStaticCalendarDetector=StaticCalendarDetector|true -detectorStringConcatenation=StringConcatenation|true -detectorSuperfluousInstanceOf=SuperfluousInstanceOf|true -detectorSuspiciousThreadInterrupted=SuspiciousThreadInterrupted|true -detectorSwitchFallthrough=SwitchFallthrough|true -detectorSynchronizationOnSharedBuiltinConstant=SynchronizationOnSharedBuiltinConstant|true -detectorSynchronizeAndNullCheckField=SynchronizeAndNullCheckField|true -detectorTestASM=TestASM|false -detectorTestDataflowAnalysis=TestDataflowAnalysis|false -detectorTestingGround=TestingGround|false -detectorTrainFieldStoreTypes=TrainFieldStoreTypes|true -detectorTrainNonNullAnnotations=TrainNonNullAnnotations|true -detectorTrainUnconditionalDerefParams=TrainUnconditionalDerefParams|true -detectorURLProblems=URLProblems|true -detectorUncallableMethodOfAnonymousClass=UncallableMethodOfAnonymousClass|true -detectorUnnecessaryMath=UnnecessaryMath|true -detectorUnreadFields=UnreadFields|true -detectorUseObjectEquals=UseObjectEquals|false -detectorUselessSubclassMethod=UselessSubclassMethod|false -detectorVarArgsProblems=VarArgsProblems|true -detectorVolatileUsage=VolatileUsage|true -detectorWaitInLoop=WaitInLoop|true -detectorWrongMapIterator=WrongMapIterator|true -detectorXMLFactoryBypass=XMLFactoryBypass|true -detector_threshold=2 -effort=default -filter_settings=Medium|BAD_PRACTICE,CORRECTNESS,I18N,MALICIOUS_CODE,MT_CORRECTNESS,PERFORMANCE,SECURITY,STYLE|false -filter_settings_neg=| diff --git a/de.prob.ui/.settings/org.eclipse.core.resources.prefs b/de.prob.ui/.settings/org.eclipse.core.resources.prefs index fb2694f7a2383cf6390ad3d060ec220a7ebf8e10..99f26c0203a7844de00dbfc56e6a35d8ed3c022c 100644 --- a/de.prob.ui/.settings/org.eclipse.core.resources.prefs +++ b/de.prob.ui/.settings/org.eclipse.core.resources.prefs @@ -1,3 +1,2 @@ -#Tue Nov 29 16:17:05 CET 2011 eclipse.preferences.version=1 encoding/<project>=UTF-8 diff --git a/de.prob.ui/.settings/org.eclipse.core.runtime.prefs b/de.prob.ui/.settings/org.eclipse.core.runtime.prefs index 3b117ad19feee79a0afa233182efb7e81e28bcb1..5a0ad22d2a76684139fad95f6b8d209c7cd0d078 100644 --- a/de.prob.ui/.settings/org.eclipse.core.runtime.prefs +++ b/de.prob.ui/.settings/org.eclipse.core.runtime.prefs @@ -1,3 +1,2 @@ -#Tue Nov 29 16:17:05 CET 2011 eclipse.preferences.version=1 line.separator=\n diff --git a/de.prob.ui/META-INF/MANIFEST.MF b/de.prob.ui/META-INF/MANIFEST.MF index 5b62231a74b2ccec7e3311233ca296dc1b1929b8..f3a00b7894762cd23740847fd7b37e7b3164547a 100644 --- a/de.prob.ui/META-INF/MANIFEST.MF +++ b/de.prob.ui/META-INF/MANIFEST.MF @@ -1,9 +1,9 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 -Bundle-Name: ProB Ui Plug-in +Bundle-Name: ProB Animator UI Bundle-SymbolicName: de.prob.ui;singleton:=true -Bundle-Version: 7.5.1.qualifier -Require-Bundle: de.prob.core;bundle-version="[9.5.1,9.6.0)", +Bundle-Version: 7.6.0.qualifier +Require-Bundle: de.prob.core;bundle-version="[9.6.0,9.7.0)", org.eclipse.core.expressions;bundle-version="[3.7.0,4.0.0)", org.eclipse.core.resources;bundle-version="[3.13.0,4.0.0)", org.eclipse.core.runtime;bundle-version="[3.20.0,4.0.0)", diff --git a/de.prob.ui/about.ini b/de.prob.ui/about.ini index 2bd589b72ecab060e4fa1924080ba910f58a0014..4ded1895a5ad115ec6026a29f262dc2751323d55 100644 --- a/de.prob.ui/about.ini +++ b/de.prob.ui/about.ini @@ -1,3 +1,2 @@ -# Feature Branding for ProB -aboutText=ProB Model Checker (c) 2009 http://www.stups.uni-duesseldorf.de/ProB -featureImage=icons/prob.png +aboutText=ProB Animator (c) 2005-2024 https://prob.hhu.de/w/ +featureImage=icons/prob32.png diff --git a/de.prob.ui/about.properties b/de.prob.ui/about.properties deleted file mode 100644 index 632c9e487fe97a77ae273a5b8d7917c4583722d3..0000000000000000000000000000000000000000 --- a/de.prob.ui/about.properties +++ /dev/null @@ -1,18 +0,0 @@ -############################################################################### -# Copyright (c) 2006-2008 Heinrich-Heine University Dusseldorf. -# 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 -############################################################################### - -aboutText=ProB Plug-In for Rodin\n\ -\n\ -Version: {featureVersion}\n\ -\n\ -Copyright (c) 2005-2008 Heinrich-Heine University Dusseldorf. All rights reserved.\n\ -Visit http://www.stups.uni-duesseldorf.de\n\ -\n\ -This offering is powered by Eclipse technology and includes\n\ -Eclipse plug-ins that can be installed and used with other\n\ -Eclipse (3.3)-based offerings. diff --git a/de.prob.ui/build.properties b/de.prob.ui/build.properties index 6c480f39f1bf02b9d3cd69ecf5d747da230d11bf..b357e324bc2aa429e6aa3e75033f63177ecd10ea 100644 --- a/de.prob.ui/build.properties +++ b/de.prob.ui/build.properties @@ -2,5 +2,6 @@ source.. = src/ output.. = bin/ bin.includes = META-INF/,\ .,\ + about.ini,\ plugin.xml,\ icons/ diff --git a/de.prob.ui/icons/anim.gif b/de.prob.ui/icons/anim.gif deleted file mode 100644 index c2a7d7ea55a6a730bbc4797d03fb74a394be2472..0000000000000000000000000000000000000000 Binary files a/de.prob.ui/icons/anim.gif and /dev/null differ diff --git a/de.prob.ui/icons/new_prob_mini.png b/de.prob.ui/icons/new_prob_mini.png deleted file mode 100644 index 36d5d6278be2e2226de7b9d4d0fc9da720e47f1b..0000000000000000000000000000000000000000 Binary files a/de.prob.ui/icons/new_prob_mini.png and /dev/null differ diff --git a/de.prob.ui/icons/overlay1.png b/de.prob.ui/icons/overlay1.png deleted file mode 100644 index 28c7e3fb85018ffeb706ea05d01fc1eead0e8e49..0000000000000000000000000000000000000000 Binary files a/de.prob.ui/icons/overlay1.png and /dev/null differ diff --git a/de.prob.ui/icons/overlay2.png b/de.prob.ui/icons/overlay2.png deleted file mode 100644 index 3158ff78de35e50d5298eccb89cf5a1e27eedc89..0000000000000000000000000000000000000000 Binary files a/de.prob.ui/icons/overlay2.png and /dev/null differ diff --git a/de.prob.ui/icons/prob32.png b/de.prob.ui/icons/prob32.png new file mode 100644 index 0000000000000000000000000000000000000000..25e1873180117fc35e3ac43adde791fd14cb8fd7 Binary files /dev/null and b/de.prob.ui/icons/prob32.png differ diff --git a/de.prob.ui/icons/prob_mini_logo.gif b/de.prob.ui/icons/prob_mini_logo.gif deleted file mode 100644 index c6867d469651f80e12a2021e619563e3f2a39b64..0000000000000000000000000000000000000000 Binary files a/de.prob.ui/icons/prob_mini_logo.gif and /dev/null differ diff --git a/de.prob.ui/icons/splash_overlay.png b/de.prob.ui/icons/splash_overlay.png deleted file mode 100644 index 39638f0bf2bc9a95ae5944509ee8fb841f5915de..0000000000000000000000000000000000000000 Binary files a/de.prob.ui/icons/splash_overlay.png and /dev/null differ diff --git a/de.prob.ui/icons/splash_overlay_x.png b/de.prob.ui/icons/splash_overlay_x.png deleted file mode 100644 index e5c9d55b3a4a502bbf9fe781dc4f3a1298f694a0..0000000000000000000000000000000000000000 Binary files a/de.prob.ui/icons/splash_overlay_x.png and /dev/null differ diff --git a/de.prob.ui/plugin.xml b/de.prob.ui/plugin.xml index 19428acddec4b510d4274d03eba54bd8d0bbfda6..6a73d35678834cafd405e496d88e91d7d03b9494 100644 --- a/de.prob.ui/plugin.xml +++ b/de.prob.ui/plugin.xml @@ -1,8 +1,15 @@ <?xml version="1.0" encoding="UTF-8"?> <?eclipse version="3.2"?> <plugin> - - + <extension + point="org.eclipse.ui.perspectives"> + <perspective + class="de.prob.ui.PerspectiveFactory" + icon="icons/prob.png" + id="de.prob.ui.perspective" + name="ProB"> + </perspective> + </extension> <extension point="org.eclipse.ui.preferencePages"> <page @@ -21,7 +28,7 @@ visible="true"> <action class="de.prob.ui.eventb.ShowProBConfigurations" - icon="icons/new_prob_mini.png" + icon="icons/prob.png" id="showProBConfigurations" label="Show ProB Configurations" style="pulldown" @@ -101,37 +108,6 @@ name="ProB"> </page> </extension> - <!-- - <extension - point="org.eclipse.ui.actionSets"> - <actionSet - description="Web Action Set" - id="de.prob.core.ticket.actionSet" - label="Web Action Set" - visible="true"> - <menu - id="probMenu" - label="ProB"> - <separator - name="bugReport"> - </separator> - </menu> - - <action - class="de.prob.ui.ticket.OpenBugReportWebsite" - id="OpenBugReportWebsite" - label="Open Bugreport Website" - menubarPath="probMenu/bugReport"> - </action> - <action - class="de.prob.ui.ticket.NewBugReportAction" - id="NewBugReportAction" - label="Submit Bugreport" - menubarPath="probMenu/bugReport"> - </action> - </actionSet> - </extension> - --> <extension point="org.eclipse.ui.commands"> @@ -140,21 +116,6 @@ id="de.prob.ui.commands.category" name="ProB"> </category> - <command - categoryId="de.prob.ui.commands.category" - id="de.prob.ui.openWebsite" - name="Open Website"> - <commandParameter - id="de.prob.ui.openwebsite.url" - name="URL" - optional="false"> - </commandParameter> - </command> - <command - categoryId="de.prob.ui.commands.category" - id="de.prob.ui.bugreport" - name="Submit Bugreport"> - </command> <command categoryId="de.prob.ui.commands.category" id="de.prob.ui.probconfiguration" @@ -320,16 +281,6 @@ id="de.prob.ui.opview.checks" name="Checks"> </command> - <command - categoryId="de.prob.ui.commands.category" - id="de.prob.ui.exampleanalyzecommand" - name="Example for Analyze Commands"> - </command> - <!-- <command - id="de.prob.ui.startdmc" - name="Start Distributed Modelcheck"> - </command> - --> <command id="de.prob.ui.ltl.counterexampleviewmenuhandler" name="CounterExampleView Menu Command"> @@ -370,18 +321,6 @@ </extension> <extension point="org.eclipse.ui.handlers"> - <handler - commandId="de.prob.ui.openWebsite"> - <class - class="de.prob.ui.internal.OpenWebsiteCommand"> - </class> - </handler> - <handler - commandId="de.prob.ui.bugreport"> - <class - class="de.prob.ui.ticket.SubmitBugreportCommand"> - </class> - </handler> <handler commandId="de.prob.ui.probconfiguration"> <class @@ -678,12 +617,6 @@ </enabledWhen> </handler> - <handler - commandId="de.prob.ui.exampleanalyzecommand"> - <class - class="de.prob.ui.internal.InvariantAnalyzeHandler"> - </class> - </handler> <handler commandId="de.prob.ui.ltl.counterexampleviewmenuhandler"> <class class="de.prob.ui.ltl.handler.CounterExampleViewMenuHandler"/> <enabledWhen> @@ -831,46 +764,9 @@ </with> </enabledWhen> </handler> -<!-- <handler - commandId="de.prob.ui.startdmc"> - <class - class="de.prob.ui.eventb.StartDistributedModelcheckHandler"> - </class> - <enabledWhen> - <with - variable="selection"> - <iterate - operator="or"> - <instanceof - value="org.eventb.core.IEventBRoot"> - </instanceof> - </iterate> - </with> - </enabledWhen> - </handler> --> </extension> <extension point="org.eclipse.ui.menus"> - <menuContribution - locationURI="menu:contact"> - <command - commandId="de.prob.ui.openWebsite" - label="Open ProB Website" - mnemonic="W" - style="push"> - <parameter - name="de.prob.ui.openwebsite.url" - value="http://www.stups.uni-duesseldorf.de/ProB"> - </parameter> - </command> - <command - commandId="de.prob.ui.bugreport" - label="Open Bugtracker Website" - mnemonic="W" - style="push"> - </command> - </menuContribution> - <menuContribution locationURI="toolbar:de.prob.ui.StateView"> <command @@ -1067,38 +963,20 @@ </with> </visibleWhen> </command> - <!-- <command - commandId="de.prob.ui.startdmc" - icon="icons/prob.png" - label="Start Distributed Modelcheck" - style="push"> - <visibleWhen> - <with - variable="selection"> - <iterate - operator="or"> - <instanceof - value="org.eventb.core.IEventBRoot"> - </instanceof> - </iterate> - </with> - </visibleWhen> - </command> - --> <menu commandId="de.prob.ui.navigator.context" - icon="icons/new_prob_mini.png" + icon="icons/prob.png" id="more_commands" label="ProB Standalone ..."> <command commandId="de.prob.ui.newcore.export" - icon="icons/prob_mini_logo.gif" + icon="icons/prob.png" label="Export for use in ProB Standalone" style="push"> </command> <command commandId="de.prob.ui.classic.open" - icon="icons/prob_mini_logo.gif" + icon="icons/prob.png" label="Open in ProB Standalone" style="push"> </command> @@ -1194,18 +1072,6 @@ </command> </menu> </menuContribution> - <!-- - <menuContribution - allPopups="false" - locationURI="menu:analyze"> - <command - commandId="de.prob.ui.exampleanalyzecommand" - label="Analyze Invariant" - mnemonic="I" - style="toggle"> - </command> - </menuContribution> - --> <menuContribution locationURI="menu:de.prob.ui.ltl.CounterExampleView"> <menu label="Show as"> diff --git a/de.prob.ui/src/de/prob/ui/ProbUiPlugin.java b/de.prob.ui/src/de/prob/ui/ProbUiPlugin.java index 05e469e957678b8cb35713a793a913cb01961103..adbc68fa214a1f57c4a521b34c5b10ee4e0af26a 100644 --- a/de.prob.ui/src/de/prob/ui/ProbUiPlugin.java +++ b/de.prob.ui/src/de/prob/ui/ProbUiPlugin.java @@ -27,7 +27,6 @@ public class ProbUiPlugin extends AbstractUIPlugin { public static final String IMG_TIMEOUT = "IMG_TIMEOUT"; public static final String IMG_ENABLED = "IMG_ENABLED"; public static final String IMG_DOUBLECLICK = "IMG_DOUBLECLICK"; - public static final String OVERLAY = "OVERLAY"; public static final String CHANGE_STAR = "change_star"; public static final String IMG_RELOAD = "IMG_RELOAD"; @@ -84,9 +83,6 @@ public class ProbUiPlugin extends AbstractUIPlugin { imageDescriptorFromPlugin(PLUGIN_ID, "icons/enabled.png")); reg.put(IMG_DOUBLECLICK, imageDescriptorFromPlugin(PLUGIN_ID, "icons/doubleclick.png")); - reg.put(OVERLAY, - imageDescriptorFromPlugin(PLUGIN_ID, - "icons/splash_overlay_x.png")); reg.put(CHANGE_STAR, imageDescriptorFromPlugin(PLUGIN_ID, "icons/star.png")); reg.put(IMG_RELOAD, diff --git a/de.prob.ui/src/de/prob/ui/eventb/AnimationPreferencesDialog.java b/de.prob.ui/src/de/prob/ui/eventb/AnimationPreferencesDialog.java index 0466131ae4d10556bc386f3fd73127074b2f8ed3..e494ef161870165479aa4097cb8016f94fbcb3be 100644 --- a/de.prob.ui/src/de/prob/ui/eventb/AnimationPreferencesDialog.java +++ b/de.prob.ui/src/de/prob/ui/eventb/AnimationPreferencesDialog.java @@ -504,7 +504,7 @@ public class AnimationPreferencesDialog extends PreferenceDialog { @Override public Image getImage(final Object element) { return AbstractUIPlugin.imageDescriptorFromPlugin(pluginId, - "icons/new_prob_mini.png").createImage(); + "icons/prob.png").createImage(); } } diff --git a/de.prob.ui/src/de/prob/ui/eventb/ClassicPreferences.java b/de.prob.ui/src/de/prob/ui/eventb/ClassicPreferences.java index 1b3d65db9e473cbdac6b92baee99dd770046bb3b..f7166b138e8eb16e95a984ad0889aff23f08ea31 100644 --- a/de.prob.ui/src/de/prob/ui/eventb/ClassicPreferences.java +++ b/de.prob.ui/src/de/prob/ui/eventb/ClassicPreferences.java @@ -89,8 +89,7 @@ public class ClassicPreferences extends PreferencePage implements browseButton.addSelectionListener(new PushButton(pageComponent.getShell(), text)); Label versionRemark = new Label(pageComponent, SWT.WRAP); versionRemark.setText( - "Note: This needs a version of ProB2-UI (jar file) that is at least 1.0.1 or a version of ProB Tcl/Tk that is at least 1.3.1.\nYou can obtain both from http://www.stups.uni-duesseldorf.de/ProB\n"); // precisely - // 1.3.0-beta6 + "Note: This needs a version of ProB2-UI (jar file) that is at least 1.0.1 or a version of ProB Tcl/Tk that is at least 1.3.1.\nYou can obtain both from https://prob.hhu.de/w/index.php/Download\n"); // precisely 1.3.0-beta6 GridData gridData2 = new GridData(); gridData2.horizontalSpan = 3; diff --git a/de.prob.ui/src/de/prob/ui/eventb/StartDistributedModelcheckHandler.java b/de.prob.ui/src/de/prob/ui/eventb/StartDistributedModelcheckHandler.java deleted file mode 100644 index 2fc868c1599a8642dad1f9c994d2ea5026680c17..0000000000000000000000000000000000000000 --- a/de.prob.ui/src/de/prob/ui/eventb/StartDistributedModelcheckHandler.java +++ /dev/null @@ -1,148 +0,0 @@ -package de.prob.ui.eventb; - -import java.io.IOException; -import java.io.ObjectOutputStream; -import java.net.Socket; - -import org.eclipse.core.commands.AbstractHandler; -import org.eclipse.core.commands.ExecutionEvent; -import org.eclipse.core.commands.ExecutionException; -import org.eclipse.core.commands.IHandler; -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IMarker; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.IResourceChangeEvent; -import org.eclipse.core.resources.IResourceChangeListener; -import org.eclipse.core.resources.IResourceDelta; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IPath; -import org.eclipse.jface.action.IAction; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.ui.handlers.HandlerUtil; -import org.eventb.core.IContextRoot; -import org.eventb.core.IEventBRoot; -import org.eventb.core.IMachineRoot; - -import de.prob.core.Animator; -import de.prob.core.LimitedLogger; -import de.prob.core.command.CommandException; -import de.prob.core.command.LoadEventBModelCommand; -import de.prob.logging.Logger; -import de.prob.prolog.term.PrologTerm; - -public class StartDistributedModelcheckHandler extends AbstractHandler implements IHandler { - - public static class ModificationListener implements IResourceChangeListener { - - private final IPath path; - - public ModificationListener(final IFile resource) { - if (resource == null) { - path = null; - } else { - this.path = resource.getProject().getFullPath(); - } - } - - public void resourceChanged(final IResourceChangeEvent event) { - if (path != null) { - final IResourceDelta delta = event.getDelta(); - IResourceDelta member = delta.findMember(path); - if (member != null) { - Animator.getAnimator().setDirty(); - } - } - } - } - - private ISelection fSelection; - - public Object execute(final ExecutionEvent event) throws ExecutionException { - - fSelection = HandlerUtil.getCurrentSelection(event); - - // Get the Selection - final IEventBRoot rootElement = getRootElement(); - final IFile resource = extractResource(rootElement); - - if (!checkErrorMarkers(resource)) { - Logger.notifyUser("A model/context in your project contains Errors or Warnings. This can lead to unexpected behavior (e.g. missing variables) when animating."); - } - ; - - if (resource != null) { - LimitedLogger.getLogger().log("user started distributed modelcheck", - rootElement.getElementName(), null); - try { - PrologTerm output = LoadEventBModelCommand.toPrologTerm(rootElement); - Socket s = null; - try { - s = new Socket("localhost", 4444); - new ObjectOutputStream(s.getOutputStream()).writeObject(output); - } catch (IOException e) { - Logger.notifyUser("unable to connect to master", e); - } finally { - if (s != null) { - try { - s.close(); - } catch (IOException e) { - // ignore - } - } - } - } catch (CommandException e) { - throw new ExecutionException("unable to translate model", e); - } - } - return null; - } - - private boolean checkErrorMarkers(final IFile resource) { - IProject project = resource.getProject(); - try { - IMarker[] markers = project.findMarkers( - "org.eclipse.core.resources.problemmarker", true, - IResource.DEPTH_INFINITE); - return markers.length == 0; - } catch (CoreException e1) { - - } - return false; - } - - private IEventBRoot getRootElement() { - IEventBRoot root = null; - if (fSelection instanceof IStructuredSelection) { - final IStructuredSelection ssel = (IStructuredSelection) fSelection; - if (ssel.size() == 1) { - final Object element = ssel.getFirstElement(); - if (element instanceof IEventBRoot) { - root = (IEventBRoot) element; - } - } - } - return root; - } - - private IFile extractResource(final IEventBRoot rootElement) { - IFile resource = null; - if (rootElement == null) { - resource = null; - } else if (rootElement instanceof IMachineRoot) { - resource = ((IMachineRoot) rootElement).getSCMachineRoot() - .getResource(); - } else if (rootElement instanceof IContextRoot) { - resource = ((IContextRoot) rootElement).getSCContextRoot() - .getResource(); - } - return resource; - } - - public void selectionChanged(final IAction action, - final ISelection selection) { - fSelection = selection; - } - -} diff --git a/de.prob.ui/src/de/prob/ui/internal/GenericAnalyzeHandler.java b/de.prob.ui/src/de/prob/ui/internal/GenericAnalyzeHandler.java deleted file mode 100644 index 41168305cac6fff9a91c9aee50451abcbfe66f7c..0000000000000000000000000000000000000000 --- a/de.prob.ui/src/de/prob/ui/internal/GenericAnalyzeHandler.java +++ /dev/null @@ -1,113 +0,0 @@ -package de.prob.ui.internal; - -import org.eclipse.core.commands.AbstractHandler; -import org.eclipse.core.commands.ExecutionEvent; -import org.eclipse.core.commands.ExecutionException; -import org.eclipse.jface.dialogs.TitleAreaDialog; -import org.eclipse.swt.SWT; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.swt.widgets.Text; -import org.eclipse.ui.handlers.HandlerUtil; - -import de.prob.core.Animator; -import de.prob.core.ProBCommandJob; -import de.prob.core.ProBJobFinishedListener; -import de.prob.core.command.CommandException; -import de.prob.core.command.IComposableCommand; -import de.prob.core.command.ISimpleTextCommand; -import de.prob.logging.Logger; - -public abstract class GenericAnalyzeHandler extends AbstractHandler { - - public class GenericAnalyzeFinishedHandler extends ProBJobFinishedListener { - - private final Shell shell; - - public GenericAnalyzeFinishedHandler(Shell shell) { - this.shell = shell; - } - - @Override - protected void showResult(IComposableCommand command, Animator animator) { - if (command instanceof ISimpleTextCommand) { - ISimpleTextCommand textcommand = (ISimpleTextCommand) command; - String text = textcommand.getResultingText(); - display(text); - } else { - Logger.notifyUser( - "The invoked command did not implement the correct interface. Please report this bug.", - new CommandException( - "Error in " - + command.getClass() - + ". Class should implement ISimpleTextCommand.")); - } - } - - private void display(final String text) { - - final TitleAreaDialog titleAreaDialog = new TitleAreaDialog(shell) { - - @Override - protected Control createDialogArea(Composite parent) { - - setTitle(name); - - Composite composite = (Composite) super - .createDialogArea(parent); - Text t = new Text(composite, SWT.WRAP | SWT.MULTI | SWT.BORDER - | SWT.H_SCROLL | SWT.V_SCROLL); - GridData gridData = - new GridData( - GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL); - gridData.grabExcessVerticalSpace = true; - - t.setLayoutData(gridData); - - - t.append(text); - return composite; - } - - }; - - final Runnable runnable = new Runnable() { - @Override - public void run() { - titleAreaDialog.open(); - } - }; - shell.getDisplay().asyncExec(runnable); - } - } - - private final ISimpleTextCommand command; - private final String name; - - public GenericAnalyzeHandler(ISimpleTextCommand command, String name) { - this.command = command; - this.name = name; - } - - @Override - public Object execute(ExecutionEvent event) throws ExecutionException { - final Shell shell = HandlerUtil.getActiveShell(event); - Animator animator = Animator.getAnimator(); - if (animator.isMachineLoaded()) { - final ProBCommandJob job = new ProBCommandJob(name, animator, - command); - GenericAnalyzeFinishedHandler finishedHandler = new GenericAnalyzeFinishedHandler( - shell); - job.setUser(true); - job.addJobChangeListener(finishedHandler); - job.schedule(); - - } else { - Logger.notifyUser("No ProB animation running. This is a bug. Please submit a report. Error in declaraion of class "+this.getClass()); - } - return null; - } - -} diff --git a/de.prob.ui/src/de/prob/ui/internal/InvariantAnalyzeHandler.java b/de.prob.ui/src/de/prob/ui/internal/InvariantAnalyzeHandler.java deleted file mode 100644 index e7001d44c1b35e59b25664f1891b03a410659a75..0000000000000000000000000000000000000000 --- a/de.prob.ui/src/de/prob/ui/internal/InvariantAnalyzeHandler.java +++ /dev/null @@ -1,11 +0,0 @@ -package de.prob.ui.internal; - -import de.prob.core.command.AnalyseInvariantCommand; - -public class InvariantAnalyzeHandler extends GenericAnalyzeHandler { - - public InvariantAnalyzeHandler() { - super(new AnalyseInvariantCommand(), "Analyze Invariant"); - } - -} diff --git a/de.prob.ui/src/de/prob/ui/internal/OpenWebsiteCommand.java b/de.prob.ui/src/de/prob/ui/internal/OpenWebsiteCommand.java deleted file mode 100644 index 8eb13950254a4eb912255c3abc8881c0d9c23978..0000000000000000000000000000000000000000 --- a/de.prob.ui/src/de/prob/ui/internal/OpenWebsiteCommand.java +++ /dev/null @@ -1,46 +0,0 @@ -package de.prob.ui.internal; - -import java.net.MalformedURLException; -import java.net.URL; - -import org.eclipse.core.commands.AbstractHandler; -import org.eclipse.core.commands.ExecutionEvent; -import org.eclipse.core.commands.ExecutionException; -import org.eclipse.ui.PartInitException; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.browser.IWorkbenchBrowserSupport; - -import de.prob.logging.Logger; - -public class OpenWebsiteCommand extends AbstractHandler { - - public Object execute(final ExecutionEvent event) throws ExecutionException { - - String url = event.getParameter("de.prob.ui.openwebsite.url"); - - URL websiteurl = null; - try { - websiteurl = new URL(url); - } catch (MalformedURLException e1) { - // File a bug report! - String message = "Internal error. Malformed website URL (" + url - + "). Please file a bug report."; - Logger.notifyUser(message, e1); - return null; - } - - IWorkbenchBrowserSupport browserSupport = PlatformUI.getWorkbench() - .getBrowserSupport(); - - try { - browserSupport.getExternalBrowser().openURL(websiteurl); - } catch (PartInitException e1) { - String message = "Internal error. Cannt open external browser."; - Logger.notifyUser(message, e1); - return null; - } - - return null; - } - -} diff --git a/de.prob.ui/src/de/prob/ui/ltl/CounterExamplePropositionFigure.java b/de.prob.ui/src/de/prob/ui/ltl/CounterExamplePropositionFigure.java index 495428194cefa91a136bb6644aa49a1a5f7270a5..b5fbdd2ea8dba64636fc03ba9a3813965e7df46a 100644 --- a/de.prob.ui/src/de/prob/ui/ltl/CounterExamplePropositionFigure.java +++ b/de.prob.ui/src/de/prob/ui/ltl/CounterExamplePropositionFigure.java @@ -95,12 +95,7 @@ public abstract class CounterExamplePropositionFigure extends Figure implements final IFigure parent = getParent(); if (parent != null) { - // We know that each element is of type - // IFigure, but IFigure.getParent() returns just a list - @SuppressWarnings("unchecked") - final List<IFigure> figures = parent.getChildren(); - - for (IFigure figure : figures) { + for (IFigure figure : parent.getChildren()) { if (figure instanceof CounterExamplePropositionFigure) { if (((CounterExamplePropositionFigure) figure) .getModel().equals(proposition)) { diff --git a/de.prob.ui/src/de/prob/ui/ltl/CounterExampleTab.java b/de.prob.ui/src/de/prob/ui/ltl/CounterExampleTab.java index 038ed22b66e301b266b548f92473c374914099e8..b1ccd579a86b27a4c258a3d65fead156b7beb64d 100644 --- a/de.prob.ui/src/de/prob/ui/ltl/CounterExampleTab.java +++ b/de.prob.ui/src/de/prob/ui/ltl/CounterExampleTab.java @@ -310,12 +310,7 @@ public class CounterExampleTab { treeViewer.refresh(); tableViewer.refresh(); - // We know that each element is of type - // EditPart, but AbstractEditPart.getChildren() returns just - // a list - @SuppressWarnings("unchecked") - List<EditPart> children = rootEditPart.getChildren(); - for (EditPart child : children) { + for (EditPart child : rootEditPart.getChildren()) { child.refresh(); } diff --git a/de.prob.ui/src/de/prob/ui/ticket/SubmitBugreportCommand.java b/de.prob.ui/src/de/prob/ui/ticket/SubmitBugreportCommand.java deleted file mode 100644 index 45c1bcf0d446f403c3f80daefe4402852f2c4f19..0000000000000000000000000000000000000000 --- a/de.prob.ui/src/de/prob/ui/ticket/SubmitBugreportCommand.java +++ /dev/null @@ -1,25 +0,0 @@ -package de.prob.ui.ticket; - -import java.net.MalformedURLException; -import java.net.URL; - -import org.eclipse.core.commands.AbstractHandler; -import org.eclipse.core.commands.ExecutionEvent; -import org.eclipse.core.commands.ExecutionException; -import org.eclipse.ui.PartInitException; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.browser.IWebBrowser; - -public class SubmitBugreportCommand extends AbstractHandler { - - public Object execute(final ExecutionEvent event) throws ExecutionException { - try { - IWebBrowser browser = PlatformUI.getWorkbench().getBrowserSupport().getExternalBrowser(); - browser.openURL(new URL("https://github.com/hhu-stups/prob-issues/issues/new/choose")); - } catch (MalformedURLException | PartInitException e) { - throw new ExecutionException(e.getMessage(), e); - } - return null; - } - -} diff --git a/de.prob2.disprover.feature/.settings/org.eclipse.core.resources.prefs b/de.prob2.disprover.feature/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000000000000000000000000000000000000..99f26c0203a7844de00dbfc56e6a35d8ed3c022c --- /dev/null +++ b/de.prob2.disprover.feature/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/<project>=UTF-8 diff --git a/de.prob2.disprover.feature/.settings/org.eclipse.core.runtime.prefs b/de.prob2.disprover.feature/.settings/org.eclipse.core.runtime.prefs new file mode 100644 index 0000000000000000000000000000000000000000..5a0ad22d2a76684139fad95f6b8d209c7cd0d078 --- /dev/null +++ b/de.prob2.disprover.feature/.settings/org.eclipse.core.runtime.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +line.separator=\n diff --git a/de.prob2.disprover.feature/feature.xml b/de.prob2.disprover.feature/feature.xml index 8a0cd587dde486b7e0de63cd17c218df9add17b6..b3379b38eadf225395506d082006d1aa775804a7 100644 --- a/de.prob2.disprover.feature/feature.xml +++ b/de.prob2.disprover.feature/feature.xml @@ -1,12 +1,15 @@ <?xml version="1.0" encoding="UTF-8"?> <feature id="de.prob2.disprover.feature" - label="ProB for Rodin3 - (Dis)Prover" - version="3.1.1.qualifier" - provider-name="HHU Düsseldorf STUPS Group"> + label="ProB for Rodin - (Dis)Prover" + version="3.2.0.qualifier" + provider-name="HHU Düsseldorf STUPS Group" + plugin="de.prob.eventb.disprover.ui"> - <description url="http://www.stups.uni-duesseldorf.de/ProB"> - ProB is an animator and model checker for the B-Method. It allows + <description url="https://prob.hhu.de/w/"> +Allows using ProB as a (dis)prover while proving POs. + +ProB is an animator and model checker for the B-Method. It allows fully automatic animation of many B specifications, and can be used to systematically check a specification for errors. Part of the research and development was conducted within the @@ -228,9 +231,8 @@ litigation. </license> <requires> - <import plugin="de.prob.core" version="9.5.1" match="equivalent"/> - <import plugin="de.prob.eventb.disprover.core" version="2.1.1" match="equivalent"/> - <import plugin="de.prob.ui" version="7.5.1" match="equivalent"/> + <import plugin="de.prob.core" version="9.6.0" match="equivalent"/> + <import plugin="de.prob.ui" version="7.6.0" match="equivalent"/> <import plugin="org.eclipse.core.runtime" version="3.2.0" match="compatible"/> <import plugin="org.eclipse.osgi" version="3.16.0" match="compatible"/> <import plugin="org.eclipse.ui" version="3.118.0" match="compatible"/> diff --git a/de.prob2.feature/.settings/org.eclipse.core.resources.prefs b/de.prob2.feature/.settings/org.eclipse.core.resources.prefs index ae8dfb5865c1107f8366e1e8c2af6ad2d1a7a9f1..99f26c0203a7844de00dbfc56e6a35d8ed3c022c 100644 --- a/de.prob2.feature/.settings/org.eclipse.core.resources.prefs +++ b/de.prob2.feature/.settings/org.eclipse.core.resources.prefs @@ -1,3 +1,2 @@ -#Tue Nov 29 16:17:25 CET 2011 eclipse.preferences.version=1 encoding/<project>=UTF-8 diff --git a/de.prob2.feature/.settings/org.eclipse.core.runtime.prefs b/de.prob2.feature/.settings/org.eclipse.core.runtime.prefs index 57a8ae0b2a629cab658cebb8c79bd02f33f25fb0..5a0ad22d2a76684139fad95f6b8d209c7cd0d078 100644 --- a/de.prob2.feature/.settings/org.eclipse.core.runtime.prefs +++ b/de.prob2.feature/.settings/org.eclipse.core.runtime.prefs @@ -1,3 +1,2 @@ -#Tue Nov 29 16:17:25 CET 2011 eclipse.preferences.version=1 line.separator=\n diff --git a/de.prob2.feature/feature.xml b/de.prob2.feature/feature.xml index fa3195af51a69016099fa03750043d52064a751b..90a50e28168c25402d158d064acd4b67a2f4b0ca 100644 --- a/de.prob2.feature/feature.xml +++ b/de.prob2.feature/feature.xml @@ -1,12 +1,16 @@ <?xml version="1.0" encoding="UTF-8"?> <feature id="de.prob2.feature" - label="ProB for Rodin3" - version="3.1.1.qualifier" - provider-name="HHU Düsseldorf STUPS Group"> + label="ProB for Rodin" + version="3.2.0.qualifier" + provider-name="HHU Düsseldorf STUPS Group" + plugin="de.prob.ui"> - <description url="http://www.stups.uni-duesseldorf.de/ProB"> - ProB is an animator and model checker for the B-Method. It allows + <description url="https://prob.hhu.de/w/"> +ProB animator plug-in for Rodin. +Note: BMotion Studio, previously included with the ProB animator, is now a separate plug-in. + +ProB is an animator and model checker for the B-Method. It allows fully automatic animation of many B specifications, and can be used to systematically check a specification for errors. Part of the research and development was conducted within the @@ -228,56 +232,25 @@ litigation. </license> <requires> - <import plugin="de.bmotionstudio.gef.editor" version="5.6.1" match="equivalent"/> - <import plugin="de.prob.core" version="9.5.1" match="equivalent"/> - <import plugin="de.prob.ui" version="7.5.1" match="equivalent"/> - <import plugin="org.eclipse.core.databinding" version="1.10.0" match="compatible"/> - <import plugin="org.eclipse.core.databinding.beans" version="1.7.0" match="compatible"/> <import plugin="org.eclipse.core.expressions" version="3.7.0" match="compatible"/> <import plugin="org.eclipse.core.filesystem" version="1.7.0" match="compatible"/> <import plugin="org.eclipse.core.resources" version="3.13.0" match="compatible"/> <import plugin="org.eclipse.core.runtime" version="3.20.0" match="compatible"/> <import plugin="org.eclipse.gef" version="3.11.0" match="compatible"/> - <import plugin="org.eclipse.jface.databinding" version="1.12.0" match="compatible"/> <import plugin="org.eclipse.ui" version="3.118.0" match="compatible"/> <import plugin="org.eclipse.ui.ide" version="3.18.0" match="compatible"/> - <import plugin="org.eclipse.ui.navigator" version="3.9.0" match="compatible"/> - <import plugin="org.eclipse.ui.views" version="3.10.0" match="compatible"/> <import plugin="org.eventb.core" version="3.5.0" match="compatible"/> <import plugin="org.eventb.core.ast" version="3.5.0" match="compatible"/> <import plugin="org.eventb.core.seqprover" version="3.4.0" match="compatible"/> <import plugin="org.rodinp.core" version="1.9.0" match="compatible"/> </requires> - <plugin - id="de.bmotionstudio.gef.editor" - download-size="0" - install-size="0" - version="0.0.0" - unpack="false"/> - - <plugin - id="de.bmotionstudio.rodin" - download-size="0" - install-size="0" - version="0.0.0" - fragment="true" - unpack="false"/> - <plugin id="de.prob.core" download-size="0" install-size="0" version="0.0.0"/> - <plugin - id="de.prob.plugin" - download-size="0" - install-size="0" - version="0.0.0" - fragment="true" - unpack="false"/> - <plugin id="de.prob.ui" download-size="0" diff --git a/de.prob2.symbolic.feature/.settings/org.eclipse.core.resources.prefs b/de.prob2.symbolic.feature/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000000000000000000000000000000000000..99f26c0203a7844de00dbfc56e6a35d8ed3c022c --- /dev/null +++ b/de.prob2.symbolic.feature/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/<project>=UTF-8 diff --git a/de.prob2.symbolic.feature/.settings/org.eclipse.core.runtime.prefs b/de.prob2.symbolic.feature/.settings/org.eclipse.core.runtime.prefs new file mode 100644 index 0000000000000000000000000000000000000000..5a0ad22d2a76684139fad95f6b8d209c7cd0d078 --- /dev/null +++ b/de.prob2.symbolic.feature/.settings/org.eclipse.core.runtime.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +line.separator=\n diff --git a/de.prob2.symbolic.feature/feature.xml b/de.prob2.symbolic.feature/feature.xml index 3554d9302de9ccbc1a486428fef698ea495ca1e8..633d34bf18c7368540784dabc32aa5f6b3a13bc1 100644 --- a/de.prob2.symbolic.feature/feature.xml +++ b/de.prob2.symbolic.feature/feature.xml @@ -1,12 +1,16 @@ <?xml version="1.0" encoding="UTF-8"?> <feature id="de.prob2.symbolic.feature" - label="ProB for Rodin3 - Symbolic Constants Support" - version="3.1.1.qualifier" - provider-name="HHU Düsseldorf STUPS Group"> + label="ProB for Rodin - Symbolic Constants Support" + version="3.2.0.qualifier" + provider-name="HHU Düsseldorf STUPS Group" + plugin="de.prob.symbolic"> - <description url="http://www.stups.uni-duesseldorf.de/ProB"> - ProB is an animator and model checker for the B-Method. It allows + <description url="https://prob.hhu.de/w/"> +Allows marking constants as symbolic so that the ProB animator will not +evaluate them eagerly. + +ProB is an animator and model checker for the B-Method. It allows fully automatic animation of many B specifications, and can be used to systematically check a specification for errors. Part of the research and development was conducted within the diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index d64cd4917707c1f8861d8cb53dd15194d4248596..e6441136f3d4ba8a0da8d277868979cfbc8ad796 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index a80b22ce5cffec8b48ee79b11c67945e91f99d5f..a4413138c96c6ed29b6e2f5e147cd77426ae4409 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index 1aa94a4269074199e6ed2c37e8db3e0826030965..b740cf13397ab16efc23cba3d6234ff8433403b1 100755 --- a/gradlew +++ b/gradlew @@ -55,7 +55,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. diff --git a/settings.gradle b/settings.gradle index 8093362103c41d6b6a0507854fc9a09cafb71a83..9361a1857bdcf800ed1cfbf9bbefbe961573ed41 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1 +1 @@ -include 'de.prob.core', 'de.prob.core.tests', 'de.bmotionstudio.gef.editor' ,'de.bmotionstudio.rodin' , 'de.prob.plugin', 'de.prob.ui', 'de.prob2.feature', 'de.prob.symbolic', 'de.prob2.symbolic.feature', 'de.prob.eventb.disprover.core', 'de.prob.eventb.disprover.ui', 'de.prob2.disprover.feature' +include 'de.prob.core', 'de.prob.core.tests', 'de.prob.ui', 'de.prob2.feature', 'de.bmotionstudio.gef.editor', 'de.bmotionstudio.feature', 'de.prob.symbolic', 'de.prob2.symbolic.feature', 'de.prob.eventb.disprover.core', 'de.prob.eventb.disprover.ui', 'de.prob2.disprover.feature' diff --git a/tycho_build.gradle b/tycho_build.gradle index 7fabe74f09d017faa8cb5a0d22e0e382f208f3c2..9f0f0bcfcd2684cb3cde2366d83a5538470949af 100644 --- a/tycho_build.gradle +++ b/tycho_build.gradle @@ -12,7 +12,7 @@ apply plugin: 'base' import groovy.io.FileType -project.ext.tychoVersion = "2.7.5" +project.ext.tychoVersion = "4.0.8" try { workspacePath = workspacePath @@ -377,7 +377,8 @@ task createRepository() { } task deleteRepository(type: Delete) { - delete(workspacePath + "${repositoryName}") + delete(workspacePath + repositoryName + "/pom.xml") + delete(workspacePath + repositoryName + "/target") } clean.dependsOn(deleteRepository) @@ -414,7 +415,7 @@ def artifact(artifactId,versionNumber) {""" <configuration> <release>11</release> </configuration> - </plugin> + </plugin> </plugins> </build> """} @@ -473,6 +474,7 @@ def parentPom(artifactId) {"""\ <!-- this is the parent POM from which all modules inherit common settings --> <properties> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <tycho-version>${tychoVersion}</tycho-version> </properties>