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"

(Components)
(How to contribute)
 
(15 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 =
  
* Get JDK8Beta > b120 from https://jdk8.java.net/download.html
+
* Sign an Eclipse CLA - we can not accept pull requests, patches
* Get Eclipse 4.3 SR 1 from http://download.eclipse.org/eclipse/downloads/drops4/R-4.3.1-201309111000/
+
* Get Java8 from http://www.oracle.com/technetwork/java/javase/downloads/index.html
* Install EGit-Team Provider
+
* Download e(fx)clipse All-In-One builds from http://downloads.efxclipse.bestsolution.at/downloads/nightly/sdk/
* Install JDTBeta8 feature patches from http://dist.springsource.com/snapshot/TOOLS/java8/e43
+
* 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 e(fx)clipse tooling
+
* Clone http://git.eclipse.org/c/efxclipse/org.eclipse.efxclipse.git/
** add update site http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/  
+
* Import the following projects
** add update site ttp://download.eclipse.org/efxclipse/updates-nightly/site
+
** org.eclipse.fx.runtime.examples.swt
** Clone https://bitbucket.org/tschindl/e_on_f.git
+
** 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://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 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>
Line 32: 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 37: 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 42: Line 82:
 
<tr>
 
<tr>
 
   <td>Canvas</td>
 
   <td>Canvas</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 47: Line 88:
 
<tr>
 
<tr>
 
   <td>Caret</td>
 
   <td>Caret</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 52: Line 94:
 
<tr>
 
<tr>
 
   <td>ColorDialog</td>
 
   <td>ColorDialog</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 57: Line 100:
 
<tr>
 
<tr>
 
   <td>Combo</td>
 
   <td>Combo</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 62: Line 106:
 
<tr>
 
<tr>
 
   <td>Composite</td>
 
   <td>Composite</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 67: Line 112:
 
<tr>
 
<tr>
 
   <td>Control</td>
 
   <td>Control</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 72: Line 118:
 
<tr>
 
<tr>
 
   <td>CoolBar</td>
 
   <td>CoolBar</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 77: Line 124:
 
<tr>
 
<tr>
 
   <td>CoolItem</td>
 
   <td>CoolItem</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 82: Line 130:
 
<tr>
 
<tr>
 
   <td>DateTime</td>
 
   <td>DateTime</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 87: Line 136:
 
<tr>
 
<tr>
 
   <td>Decorations</td>
 
   <td>Decorations</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 92: Line 142:
 
<tr>
 
<tr>
 
   <td>Dialog</td>
 
   <td>Dialog</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 97: Line 148:
 
<tr>
 
<tr>
 
   <td>DirectoryDialog</td>
 
   <td>DirectoryDialog</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 102: Line 154:
 
<tr>
 
<tr>
 
   <td>Display</td>
 
   <td>Display</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 107: Line 160:
 
<tr>
 
<tr>
 
   <td>Event</td>
 
   <td>Event</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 112: Line 166:
 
<tr>
 
<tr>
 
   <td>EventTable</td>
 
   <td>EventTable</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 117: Line 172:
 
<tr>
 
<tr>
 
   <td>FileDialog</td>
 
   <td>FileDialog</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 122: Line 178:
 
<tr>
 
<tr>
 
   <td>FontDialog</td>
 
   <td>FontDialog</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 127: Line 184:
 
<tr>
 
<tr>
 
   <td>Group</td>
 
   <td>Group</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 132: Line 190:
 
<tr>
 
<tr>
 
   <td>Item</td>
 
   <td>Item</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 137: Line 196:
 
<tr>
 
<tr>
 
   <td>Label</td>
 
   <td>Label</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 142: Line 202:
 
<tr>
 
<tr>
 
   <td>Link</td>
 
   <td>Link</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 147: Line 208:
 
<tr>
 
<tr>
 
   <td>List</td>
 
   <td>List</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 152: Line 214:
 
<tr>
 
<tr>
 
   <td>Menu</td>
 
   <td>Menu</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 157: Line 220:
 
<tr>
 
<tr>
 
   <td>MenuItem</td>
 
   <td>MenuItem</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 162: Line 226:
 
<tr>
 
<tr>
 
   <td>MessageBox</td>
 
   <td>MessageBox</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 167: Line 232:
 
<tr>
 
<tr>
 
   <td>Monitor</td>
 
   <td>Monitor</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 172: Line 238:
 
<tr>
 
<tr>
 
   <td>ProgressBar</td>
 
   <td>ProgressBar</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 177: Line 244:
 
<tr>
 
<tr>
 
   <td>Sash</td>
 
   <td>Sash</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 182: Line 250:
 
<tr>
 
<tr>
 
   <td>Scale</td>
 
   <td>Scale</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 187: Line 256:
 
<tr>
 
<tr>
 
   <td>Scrollbar</td>
 
   <td>Scrollbar</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 192: Line 262:
 
<tr>
 
<tr>
 
   <td>Shell</td>
 
   <td>Shell</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 197: Line 268:
 
<tr>
 
<tr>
 
   <td>Slider</td>
 
   <td>Slider</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 202: 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 207: Line 280:
 
<tr>
 
<tr>
 
   <td>TabFolder</td>
 
   <td>TabFolder</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 212: Line 286:
 
<tr>
 
<tr>
 
   <td>TabItem</td>
 
   <td>TabItem</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 217: 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 222: Line 298:
 
<tr>
 
<tr>
 
   <td>TableColumn</td>
 
   <td>TableColumn</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 227: Line 304:
 
<tr>
 
<tr>
 
   <td>TableItem</td>
 
   <td>TableItem</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 232: Line 310:
 
<tr>
 
<tr>
 
   <td>TaskBar</td>
 
   <td>TaskBar</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 237: Line 316:
 
<tr>
 
<tr>
 
   <td>TaskItem</td>
 
   <td>TaskItem</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 242: 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 247: Line 328:
 
<tr>
 
<tr>
 
   <td>ToolBar</td>
 
   <td>ToolBar</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 252: Line 334:
 
<tr>
 
<tr>
 
   <td>ToolItem</td>
 
   <td>ToolItem</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 257: Line 340:
 
<tr>
 
<tr>
 
   <td>ToolTip</td>
 
   <td>ToolTip</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 262: Line 346:
 
<tr>
 
<tr>
 
   <td>Tracker</td>
 
   <td>Tracker</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 267: Line 352:
 
<tr>
 
<tr>
 
   <td>Tray</td>
 
   <td>Tray</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 272: Line 358:
 
<tr>
 
<tr>
 
   <td>TrayItem</td>
 
   <td>TrayItem</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 277: 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 282: Line 370:
 
<tr>
 
<tr>
 
   <td>TreeColumn</td>
 
   <td>TreeColumn</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 287: 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 293: 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