Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Efxclipse/SWTonFX"
(→Components) |
(→How to contribute) |
||
(21 intermediate revisions by the same user not shown) | |||
Line 4: | Line 4: | ||
SWT on JavaFX is an experimental SWT port sitting on top of JavaFX. It's main task is to built a compat story to move the Eclipse IDE away from SWT to JavaFX. | SWT on JavaFX is an experimental SWT port sitting on top of JavaFX. It's main task is to built a compat story to move the Eclipse IDE away from SWT to JavaFX. | ||
+ | |||
+ | = Eclipse on FX state = | ||
+ | |||
+ | [[File:eclipse_fx.png]] | ||
= How to contribute = | = How to contribute = | ||
− | * | + | * Sign an Eclipse CLA - we can not accept pull requests, patches |
− | * Get | + | * Get Java8 from http://www.oracle.com/technetwork/java/javase/downloads/index.html |
− | * | + | * Download e(fx)clipse All-In-One builds from http://downloads.efxclipse.bestsolution.at/downloads/nightly/sdk/ |
− | + | * Launch the downloaded IDE with JDK8 (because of a bug in Luna M6 it is super important that you launch with JDK8 the first time already) | |
− | * | + | * Clone http://git.eclipse.org/c/efxclipse/org.eclipse.efxclipse.git/ |
− | * | + | * Import the following projects |
− | ** | + | ** org.eclipse.fx.runtime.examples.swt |
− | ** | + | ** org.eclipse.fx.runtime.swt.compat |
+ | ** org.eclipse.fx.runtime.swt | ||
+ | ** org.eclipse.fx.runtime.swtutil | ||
+ | ** org.eclipse.fx.ui.controls | ||
* Get familiar with the codebase | * Get familiar with the codebase | ||
− | * Show up at https:// | + | * Show up at our mailing list https://dev.eclipse.org/mailman/listinfo/efxclipse-dev and ask questions, and inform others what you plan to work on |
+ | * (optional) File a bugzilla https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Efxclipse&component=Runtime&short_desc=%5Bswtfx%5D | ||
+ | |||
+ | <!-- | ||
+ | == Workbench == | ||
+ | |||
+ | For those of you who want to run the Eclipse IDE on top of JavaFX you should clone the following repos as well and use the '''efx_tmp''' branch: | ||
+ | |||
+ | * https://github.com/swt-javafx/eclipse.platform.ui/ | ||
+ | * https://github.com/swt-javafx/eclipse.platform.text/ | ||
+ | * https://github.com/swt-javafx/eclipse.jdt.ui/ | ||
+ | |||
+ | You need to import the following projects: | ||
+ | * org.eclipse.e4.ui.workbench | ||
+ | * org.eclipse.e4.ui.workbench.renderers.swt | ||
+ | * org.eclipse.e4.ui.workbench.swt | ||
+ | * org.eclipse.jface | ||
+ | * org.eclipse.jface.text | ||
+ | * org.eclipse.search | ||
+ | * org.eclipse.ui.ide.application | ||
+ | * org.eclipse.ui.workbench | ||
+ | * org.eclipse.jdt.ui | ||
+ | |||
+ | You can launch 2 different inner Eclipse: | ||
+ | * org.eclipse.ui.ide.workbench - swt - git.launch: which uses the native SWT-Port | ||
+ | * org.eclipse.ui.ide.workbench-git.launch: which uses SWT on JavaFX | ||
+ | |||
+ | You have to launch the "''org.eclipse.ui.ide.workbench - swt - git.launch''" and switch to the <strong>Java Perspective</strong> before you start the "''org.eclipse.ui.ide.workbench-git.launch''" for the first time. | ||
+ | |||
+ | <strong>THERE ARE MANY - IF NOT MOST - THINGS BROKEN</strong> | ||
+ | --> | ||
= Contributions = | = Contributions = | ||
Line 27: | Line 64: | ||
<tr> | <tr> | ||
<th>Component</th> | <th>Component</th> | ||
+ | <th>Bug-Id</th> | ||
<th>Status</th> | <th>Status</th> | ||
<th>Remarks</th> | <th>Remarks</th> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
− | <td> | + | <td>Image</td> |
− | + | ||
<td></td> | <td></td> | ||
+ | <td bgcolor="green"></td> | ||
+ | <td>Finished</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>Button</td> | <td>Button</td> | ||
+ | <td></td> | ||
+ | <td bgcolor="lightgreen"></td> | ||
+ | <td>Main methods done</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Canvas</td> | ||
+ | <td></td> | ||
<td></td> | <td></td> | ||
<td></td> | <td></td> | ||
</tr> | </tr> | ||
− | <tr | + | <tr> |
+ | <td>Caret</td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>ColorDialog</td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Combo</td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Composite</td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Control</td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>CoolBar</td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>CoolItem</td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>DateTime</td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Decorations</td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Dialog</td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>DirectoryDialog</td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Display</td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Event</td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>EventTable</td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>FileDialog</td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>FontDialog</td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Group</td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Item</td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Label</td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Link</td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>List</td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Menu</td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>MenuItem</td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>MessageBox</td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Monitor</td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>ProgressBar</td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Sash</td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Scale</td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Scrollbar</td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Shell</td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Slider</td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
<td>Spinner</td> | <td>Spinner</td> | ||
<td></td> | <td></td> | ||
+ | <td bgcolor="red"></td> | ||
<td>JavaFX control missing</td> | <td>JavaFX control missing</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>TabFolder</td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>TabItem</td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Table</td> | ||
+ | <td></td> | ||
+ | <td bgcolor="yellow"></td> | ||
+ | <td>SWT.EarseItem not supported</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>TableColumn</td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>TableItem</td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>TaskBar</td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>TaskItem</td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Text</td> | ||
+ | <td></td> | ||
+ | <td bgcolor="lightgreen"></td> | ||
+ | <td>Main methods done</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>ToolBar</td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>ToolItem</td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>ToolTip</td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Tracker</td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Tray</td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>TrayItem</td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Tree</td> | ||
+ | <td></td> | ||
+ | <td bgcolor="orange"></td> | ||
+ | <td>TreeTable support is missing, SWT.EarseItem not supported</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>TreeColumn</td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | <td></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>CTabFolder</td> | ||
+ | <td></td> | ||
+ | <td bgcolor="yellow"></td> | ||
+ | <td>Initial version working</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr> | ||
+ | <td>StyledText</td> | ||
+ | <td></td> | ||
+ | <td bgcolor="orange"></td> | ||
+ | <td>TextLayout port has to be finished</td> | ||
</tr> | </tr> | ||
</table> | </table> |
Latest revision as of 15:00, 23 April 2014
What is it
SWT on JavaFX is an experimental SWT port sitting on top of JavaFX. It's main task is to built a compat story to move the Eclipse IDE away from SWT to JavaFX.
Eclipse on FX state
How to contribute
- Sign an Eclipse CLA - we can not accept pull requests, patches
- Get Java8 from http://www.oracle.com/technetwork/java/javase/downloads/index.html
- Download e(fx)clipse All-In-One builds from http://downloads.efxclipse.bestsolution.at/downloads/nightly/sdk/
- Launch the downloaded IDE with JDK8 (because of a bug in Luna M6 it is super important that you launch with JDK8 the first time already)
- Clone http://git.eclipse.org/c/efxclipse/org.eclipse.efxclipse.git/
- Import the following projects
- org.eclipse.fx.runtime.examples.swt
- org.eclipse.fx.runtime.swt.compat
- org.eclipse.fx.runtime.swt
- org.eclipse.fx.runtime.swtutil
- org.eclipse.fx.ui.controls
- Get familiar with the codebase
- Show up at our mailing list https://dev.eclipse.org/mailman/listinfo/efxclipse-dev and ask questions, and inform others what you plan to work on
- (optional) File a bugzilla https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Efxclipse&component=Runtime&short_desc=%5Bswtfx%5D
Contributions
Generally speaking any contribution is welcome. An easy way to contribute is to port one of the SWT-Snippets http://www.eclipse.org/swt/snippets/ to the at.bestsolution.efxclipse.runtime.examples.swt-bundle. The code currently holds a lot of calls to Util.logNotImplemented() track them down and implement them so that they do the same as they do in the other SWT ports
Components
Component | Bug-Id | Status | Remarks |
---|---|---|---|
Image | Finished | ||
Button | Main methods done | ||
Canvas | |||
Caret | |||
ColorDialog | |||
Combo | |||
Composite | |||
Control | |||
CoolBar | |||
CoolItem | |||
DateTime | |||
Decorations | |||
Dialog | |||
DirectoryDialog | |||
Display | |||
Event | |||
EventTable | |||
FileDialog | |||
FontDialog | |||
Group | |||
Item | |||
Label | |||
Link | |||
List | |||
Menu | |||
MenuItem | |||
MessageBox | |||
Monitor | |||
ProgressBar | |||
Sash | |||
Scale | |||
Scrollbar | |||
Shell | |||
Slider | |||
Spinner | JavaFX control missing | ||
TabFolder | |||
TabItem | |||
Table | SWT.EarseItem not supported | ||
TableColumn | |||
TableItem | |||
TaskBar | |||
TaskItem | |||
Text | Main methods done | ||
ToolBar | |||
ToolItem | |||
ToolTip | |||
Tracker | |||
Tray | |||
TrayItem | |||
Tree | TreeTable support is missing, SWT.EarseItem not supported | ||
TreeColumn | |||
CTabFolder | Initial version working | ||
StyledText | TextLayout port has to be finished |