Skip to main content
Jump to: navigation, search

Difference between revisions of "Efxclipse/SWTonFX"

(How to contribute)
(How to contribute)
 
(13 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 although the codebase is still at bitbucket
+
* 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 http://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=[swtfx]
+
* (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 29: 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 34: 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 39: 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 44: Line 82:
 
<tr>
 
<tr>
 
   <td>Canvas</td>
 
   <td>Canvas</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 49: Line 88:
 
<tr>
 
<tr>
 
   <td>Caret</td>
 
   <td>Caret</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 54: Line 94:
 
<tr>
 
<tr>
 
   <td>ColorDialog</td>
 
   <td>ColorDialog</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 59: Line 100:
 
<tr>
 
<tr>
 
   <td>Combo</td>
 
   <td>Combo</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 64: Line 106:
 
<tr>
 
<tr>
 
   <td>Composite</td>
 
   <td>Composite</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 69: Line 112:
 
<tr>
 
<tr>
 
   <td>Control</td>
 
   <td>Control</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 74: Line 118:
 
<tr>
 
<tr>
 
   <td>CoolBar</td>
 
   <td>CoolBar</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 79: Line 124:
 
<tr>
 
<tr>
 
   <td>CoolItem</td>
 
   <td>CoolItem</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 84: Line 130:
 
<tr>
 
<tr>
 
   <td>DateTime</td>
 
   <td>DateTime</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 89: Line 136:
 
<tr>
 
<tr>
 
   <td>Decorations</td>
 
   <td>Decorations</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 94: Line 142:
 
<tr>
 
<tr>
 
   <td>Dialog</td>
 
   <td>Dialog</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 99: Line 148:
 
<tr>
 
<tr>
 
   <td>DirectoryDialog</td>
 
   <td>DirectoryDialog</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 104: Line 154:
 
<tr>
 
<tr>
 
   <td>Display</td>
 
   <td>Display</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 109: Line 160:
 
<tr>
 
<tr>
 
   <td>Event</td>
 
   <td>Event</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 114: Line 166:
 
<tr>
 
<tr>
 
   <td>EventTable</td>
 
   <td>EventTable</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 119: Line 172:
 
<tr>
 
<tr>
 
   <td>FileDialog</td>
 
   <td>FileDialog</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 124: Line 178:
 
<tr>
 
<tr>
 
   <td>FontDialog</td>
 
   <td>FontDialog</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 129: Line 184:
 
<tr>
 
<tr>
 
   <td>Group</td>
 
   <td>Group</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 134: Line 190:
 
<tr>
 
<tr>
 
   <td>Item</td>
 
   <td>Item</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 139: Line 196:
 
<tr>
 
<tr>
 
   <td>Label</td>
 
   <td>Label</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 144: Line 202:
 
<tr>
 
<tr>
 
   <td>Link</td>
 
   <td>Link</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 149: Line 208:
 
<tr>
 
<tr>
 
   <td>List</td>
 
   <td>List</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 154: Line 214:
 
<tr>
 
<tr>
 
   <td>Menu</td>
 
   <td>Menu</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 159: Line 220:
 
<tr>
 
<tr>
 
   <td>MenuItem</td>
 
   <td>MenuItem</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 164: Line 226:
 
<tr>
 
<tr>
 
   <td>MessageBox</td>
 
   <td>MessageBox</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 169: Line 232:
 
<tr>
 
<tr>
 
   <td>Monitor</td>
 
   <td>Monitor</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 174: Line 238:
 
<tr>
 
<tr>
 
   <td>ProgressBar</td>
 
   <td>ProgressBar</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 179: Line 244:
 
<tr>
 
<tr>
 
   <td>Sash</td>
 
   <td>Sash</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 184: Line 250:
 
<tr>
 
<tr>
 
   <td>Scale</td>
 
   <td>Scale</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 189: Line 256:
 
<tr>
 
<tr>
 
   <td>Scrollbar</td>
 
   <td>Scrollbar</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 194: Line 262:
 
<tr>
 
<tr>
 
   <td>Shell</td>
 
   <td>Shell</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 199: Line 268:
 
<tr>
 
<tr>
 
   <td>Slider</td>
 
   <td>Slider</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 204: 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 209: Line 280:
 
<tr>
 
<tr>
 
   <td>TabFolder</td>
 
   <td>TabFolder</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 214: Line 286:
 
<tr>
 
<tr>
 
   <td>TabItem</td>
 
   <td>TabItem</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 219: 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 224: Line 298:
 
<tr>
 
<tr>
 
   <td>TableColumn</td>
 
   <td>TableColumn</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 229: Line 304:
 
<tr>
 
<tr>
 
   <td>TableItem</td>
 
   <td>TableItem</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 234: Line 310:
 
<tr>
 
<tr>
 
   <td>TaskBar</td>
 
   <td>TaskBar</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 239: Line 316:
 
<tr>
 
<tr>
 
   <td>TaskItem</td>
 
   <td>TaskItem</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 244: 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 249: Line 328:
 
<tr>
 
<tr>
 
   <td>ToolBar</td>
 
   <td>ToolBar</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 254: Line 334:
 
<tr>
 
<tr>
 
   <td>ToolItem</td>
 
   <td>ToolItem</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 259: Line 340:
 
<tr>
 
<tr>
 
   <td>ToolTip</td>
 
   <td>ToolTip</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 264: Line 346:
 
<tr>
 
<tr>
 
   <td>Tracker</td>
 
   <td>Tracker</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 269: Line 352:
 
<tr>
 
<tr>
 
   <td>Tray</td>
 
   <td>Tray</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 274: Line 358:
 
<tr>
 
<tr>
 
   <td>TrayItem</td>
 
   <td>TrayItem</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 279: 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 284: Line 370:
 
<tr>
 
<tr>
 
   <td>TreeColumn</td>
 
   <td>TreeColumn</td>
 +
  <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
 
   <td></td>
Line 289: 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 295: 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