Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Efxclipse/SWTonFX"

(How to contribute)
(How to contribute)
 
(14 intermediate revisions by 2 users 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 won't accept pull requests, patches, ... without the CLA
+
* Sign an Eclipse CLA - we can not accept pull requests, patches
* Get JDK8Beta > b120 from https://jdk8.java.net/download.html
+
* Get Java8 from http://www.oracle.com/technetwork/java/javase/downloads/index.html
* Get Eclipse 4.3 SR 1 from http://download.eclipse.org/eclipse/downloads/drops4/R-4.3.1-201309111000/
+
* Download e(fx)clipse All-In-One builds from http://downloads.efxclipse.bestsolution.at/downloads/nightly/sdk/
* Install EGit-Team Provider
+
* 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)
* Install JDTBeta8 feature patches from http://dist.springsource.com/snapshot/TOOLS/java8/e43
+
* Clone http://git.eclipse.org/c/efxclipse/org.eclipse.efxclipse.git/
* Install e(fx)clipse tooling
+
* Import the following projects
** add update site http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/  
+
** org.eclipse.fx.runtime.examples.swt
** add update site ttp://download.eclipse.org/efxclipse/updates-nightly/site
+
** org.eclipse.fx.runtime.swt.compat
** Clone https://bitbucket.org/tschindl/e_on_f.git
+
** 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://groups.google.com/forum/?fromgroups=#!forum/swt-javafx and ask questions, and inform others what you plan to work on
+
* 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 28: 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>
Line 33: Line 70:
 
<tr>
 
<tr>
 
   <td>Image</td>
 
   <td>Image</td>
 +
  <td></td>
 
   <td bgcolor="green"></td>
 
   <td bgcolor="green"></td>
 
   <td>Finished</td>
 
   <td>Finished</td>
Line 38: Line 76:
 
<tr>
 
<tr>
 
   <td>Button</td>
 
   <td>Button</td>
 +
  <td></td>
 
   <td bgcolor="lightgreen"></td>
 
   <td bgcolor="lightgreen"></td>
 
   <td>Main methods done</td>
 
   <td>Main methods done</td>
Line 43: Line 82:
 
<tr>
 
<tr>
 
   <td>Canvas</td>
 
   <td>Canvas</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 48: Line 88:
 
<tr>
 
<tr>
 
   <td>Caret</td>
 
   <td>Caret</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 53: Line 94:
 
<tr>
 
<tr>
 
   <td>ColorDialog</td>
 
   <td>ColorDialog</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 58: Line 100:
 
<tr>
 
<tr>
 
   <td>Combo</td>
 
   <td>Combo</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 63: Line 106:
 
<tr>
 
<tr>
 
   <td>Composite</td>
 
   <td>Composite</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 68: Line 112:
 
<tr>
 
<tr>
 
   <td>Control</td>
 
   <td>Control</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 73: Line 118:
 
<tr>
 
<tr>
 
   <td>CoolBar</td>
 
   <td>CoolBar</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 78: Line 124:
 
<tr>
 
<tr>
 
   <td>CoolItem</td>
 
   <td>CoolItem</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 83: Line 130:
 
<tr>
 
<tr>
 
   <td>DateTime</td>
 
   <td>DateTime</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 88: Line 136:
 
<tr>
 
<tr>
 
   <td>Decorations</td>
 
   <td>Decorations</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 93: Line 142:
 
<tr>
 
<tr>
 
   <td>Dialog</td>
 
   <td>Dialog</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 98: Line 148:
 
<tr>
 
<tr>
 
   <td>DirectoryDialog</td>
 
   <td>DirectoryDialog</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 103: Line 154:
 
<tr>
 
<tr>
 
   <td>Display</td>
 
   <td>Display</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 108: Line 160:
 
<tr>
 
<tr>
 
   <td>Event</td>
 
   <td>Event</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 113: Line 166:
 
<tr>
 
<tr>
 
   <td>EventTable</td>
 
   <td>EventTable</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 118: Line 172:
 
<tr>
 
<tr>
 
   <td>FileDialog</td>
 
   <td>FileDialog</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 123: Line 178:
 
<tr>
 
<tr>
 
   <td>FontDialog</td>
 
   <td>FontDialog</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 128: Line 184:
 
<tr>
 
<tr>
 
   <td>Group</td>
 
   <td>Group</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 133: Line 190:
 
<tr>
 
<tr>
 
   <td>Item</td>
 
   <td>Item</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 138: Line 196:
 
<tr>
 
<tr>
 
   <td>Label</td>
 
   <td>Label</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 143: Line 202:
 
<tr>
 
<tr>
 
   <td>Link</td>
 
   <td>Link</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 148: Line 208:
 
<tr>
 
<tr>
 
   <td>List</td>
 
   <td>List</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 153: Line 214:
 
<tr>
 
<tr>
 
   <td>Menu</td>
 
   <td>Menu</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 158: Line 220:
 
<tr>
 
<tr>
 
   <td>MenuItem</td>
 
   <td>MenuItem</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 163: Line 226:
 
<tr>
 
<tr>
 
   <td>MessageBox</td>
 
   <td>MessageBox</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 168: Line 232:
 
<tr>
 
<tr>
 
   <td>Monitor</td>
 
   <td>Monitor</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 173: Line 238:
 
<tr>
 
<tr>
 
   <td>ProgressBar</td>
 
   <td>ProgressBar</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 178: Line 244:
 
<tr>
 
<tr>
 
   <td>Sash</td>
 
   <td>Sash</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 183: Line 250:
 
<tr>
 
<tr>
 
   <td>Scale</td>
 
   <td>Scale</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 188: Line 256:
 
<tr>
 
<tr>
 
   <td>Scrollbar</td>
 
   <td>Scrollbar</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 193: Line 262:
 
<tr>
 
<tr>
 
   <td>Shell</td>
 
   <td>Shell</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 198: Line 268:
 
<tr>
 
<tr>
 
   <td>Slider</td>
 
   <td>Slider</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 203: Line 274:
 
<tr>
 
<tr>
 
   <td>Spinner</td>
 
   <td>Spinner</td>
 +
  <td></td>
 
   <td bgcolor="red"></td>
 
   <td bgcolor="red"></td>
 
   <td>JavaFX control missing</td>
 
   <td>JavaFX control missing</td>
Line 208: Line 280:
 
<tr>
 
<tr>
 
   <td>TabFolder</td>
 
   <td>TabFolder</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 213: Line 286:
 
<tr>
 
<tr>
 
   <td>TabItem</td>
 
   <td>TabItem</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 218: Line 292:
 
<tr>
 
<tr>
 
   <td>Table</td>
 
   <td>Table</td>
 +
  <td></td>
 
   <td bgcolor="yellow"></td>
 
   <td bgcolor="yellow"></td>
 
   <td>SWT.EarseItem not supported</td>
 
   <td>SWT.EarseItem not supported</td>
Line 223: Line 298:
 
<tr>
 
<tr>
 
   <td>TableColumn</td>
 
   <td>TableColumn</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 228: Line 304:
 
<tr>
 
<tr>
 
   <td>TableItem</td>
 
   <td>TableItem</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 233: Line 310:
 
<tr>
 
<tr>
 
   <td>TaskBar</td>
 
   <td>TaskBar</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 238: Line 316:
 
<tr>
 
<tr>
 
   <td>TaskItem</td>
 
   <td>TaskItem</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 243: Line 322:
 
<tr>
 
<tr>
 
   <td>Text</td>
 
   <td>Text</td>
 +
  <td></td>
 
   <td bgcolor="lightgreen"></td>
 
   <td bgcolor="lightgreen"></td>
 
   <td>Main methods done</td>
 
   <td>Main methods done</td>
Line 248: Line 328:
 
<tr>
 
<tr>
 
   <td>ToolBar</td>
 
   <td>ToolBar</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 253: Line 334:
 
<tr>
 
<tr>
 
   <td>ToolItem</td>
 
   <td>ToolItem</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 258: Line 340:
 
<tr>
 
<tr>
 
   <td>ToolTip</td>
 
   <td>ToolTip</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 263: Line 346:
 
<tr>
 
<tr>
 
   <td>Tracker</td>
 
   <td>Tracker</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 268: Line 352:
 
<tr>
 
<tr>
 
   <td>Tray</td>
 
   <td>Tray</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 273: Line 358:
 
<tr>
 
<tr>
 
   <td>TrayItem</td>
 
   <td>TrayItem</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 278: Line 364:
 
<tr>
 
<tr>
 
   <td>Tree</td>
 
   <td>Tree</td>
 +
  <td></td>
 
   <td bgcolor="orange"></td>
 
   <td bgcolor="orange"></td>
 
   <td>TreeTable support is missing, SWT.EarseItem not supported</td>
 
   <td>TreeTable support is missing, SWT.EarseItem not supported</td>
Line 283: Line 370:
 
<tr>
 
<tr>
 
   <td>TreeColumn</td>
 
   <td>TreeColumn</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 288: Line 376:
 
<tr>
 
<tr>
 
   <td>CTabFolder</td>
 
   <td>CTabFolder</td>
 +
  <td></td>
 
   <td bgcolor="yellow"></td>
 
   <td bgcolor="yellow"></td>
 
   <td>Initial version working</td>
 
   <td>Initial version working</td>
Line 294: Line 383:
 
<tr>
 
<tr>
 
   <td>StyledText</td>
 
   <td>StyledText</td>
 +
  <td></td>
 
   <td bgcolor="orange"></td>
 
   <td bgcolor="orange"></td>
 
   <td>TextLayout port has to be finished</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

Eclipse fx.png

How to contribute


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

Back to the top