Mercurial > projects > dwt-linux
changeset 70:3a7f56c31c6c
Moving files to subfolders
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Tue, 15 Jan 2008 06:38:45 +0100 |
parents | 7cf1deebc8d4 |
children | 295b29fc7d13 |
files | doc-callbacks.txt doc-resource-bundle.txt doc-strings.txt doc/doc-callbacks.txt doc/doc-resource-bundle.txt doc/doc-strings.txt doc/todo.txt dwtexamples/helloworld.d dwtexamples/test.d helloworld.d test.d todo.txt |
diffstat | 10 files changed, 742 insertions(+), 742 deletions(-) [+] |
line wrap: on
line diff
--- a/doc-callbacks.txt Tue Jan 15 04:10:36 2008 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,26 +0,0 @@ -Callbacks gtk-Java and gtk-D -============================ - - -SWT uses a Mechanism to make callback possible from C -> Java. This mechanism is -implemented in swt/internal/Callback.java and the C libs. It can convert a delegate call -into a simple function pointer. - -This works by generating a whole lot of function wrappers. All with int argument types, -varying in argument count. The Callback class implements a registry for the available -functions and redirect the C call to Java using reflection. - -In the D port, dwt.widgets.Display has the struct CallbackData. It wraps the instance pointer -to the display instance. If a callback uses other userdata, it is wrapped also into the -struct. - -Caution by g_signal_handlers_[un]block_matches: In Java sometime integer constants are passed -to select a callback for enabling/disabling. In D, the Widget class has getter function to get -a pointer to the CallbackData that was used instead of the integer when registering the -callback. - - - - - -
--- a/doc-strings.txt Tue Jan 15 04:10:36 2008 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,15 +0,0 @@ -the dwt uses char[] as string, as usual in d applications. - -swt and Java are using the String class which uses java-chars as storage, which is in D the wchar type. - -Special care must be take not confuse them while porting - - Java D - ====== ========= - String char[] - char wchar - byte char/byte - - - -
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doc-callbacks.txt Tue Jan 15 06:38:45 2008 +0100 @@ -0,0 +1,26 @@ +Callbacks gtk-Java and gtk-D +============================ + + +SWT uses a Mechanism to make callback possible from C -> Java. This mechanism is +implemented in swt/internal/Callback.java and the C libs. It can convert a delegate call +into a simple function pointer. + +This works by generating a whole lot of function wrappers. All with int argument types, +varying in argument count. The Callback class implements a registry for the available +functions and redirect the C call to Java using reflection. + +In the D port, dwt.widgets.Display has the struct CallbackData. It wraps the instance pointer +to the display instance. If a callback uses other userdata, it is wrapped also into the +struct. + +Caution by g_signal_handlers_[un]block_matches: In Java sometime integer constants are passed +to select a callback for enabling/disabling. In D, the Widget class has getter function to get +a pointer to the CallbackData that was used instead of the integer when registering the +callback. + + + + + +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/doc-strings.txt Tue Jan 15 06:38:45 2008 +0100 @@ -0,0 +1,15 @@ +the dwt uses char[] as string, as usual in d applications. + +swt and Java are using the String class which uses java-chars as storage, which is in D the wchar type. + +Special care must be take not confuse them while porting + + Java D + ====== ========= + String char[] + char wchar + byte char/byte + + + +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/todo.txt Tue Jan 15 06:38:45 2008 +0100 @@ -0,0 +1,572 @@ +Rule for porting + + package/module and modulename + class declarator extends/implements to : and comma list + ctors: Classnames to 'this' + Replace automatic + s/\<boolean\>/bool/g + s/==/is/g + s/!=/!is/g + s/\<equals\>/==\/*eq*\//g // the replacements need post edit + Replace with prompt + s/\<String\>/char[]/g // replace only types, not comments or parts for identifiers + s/is 0/is null/g // replace only that one, that are reference types + Search for "int /*long*/" + -> "auto" if variable that gets initialized with something typed, e.g. result of method call. + + Marks: + OK the module is ported for compiling + s checked switches to have a 'default' case + o checked all override methods, added 'override' and/or aliases + r A second person did a review Java vs D + + + +Next Steps: + * accessibility package (independant) + * Shell + +EventTable + +Questions: + Whats needed at minimum to make a test with empty window? + How about memory management? + Check to remove "package", it non-virtual. + +SWT // OKs left: getMessage -> Compatibility:ResourceBundle +SWTError // OKs +SWTException // OKs + +internal/BidiUtil // OKs (stub: Runnable ) +internal/Callback // ?? hopefully not needed +internal/CloneableCompatibility // OKs (java.lang.Cloneable) +internal/C // OKs not needed +internal/Compatibility // left: ResourceBundle, interrupt() +internal/Converter // left: gtk function prototypes +internal/Library // OKs (loading of lib not needed) +internal/Lock // OKs +internal/LONG // OKs +internal/Platform // OKs +internal/SerializableCompatibility // OKs (java.io.Serializable) +internal/SWTEventListener // OKs (java.util.EventListener) +internal/SWTEventObject // OKs (java.util.EventObject) + +graphics/Color // OKs +graphics/Cursor // OKs +graphics/Device // OKs +graphics/DeviceData // OKs (fld: debug->debugging) +graphics/Drawable // OKs +graphics/Font // OKs +graphics/FontData // OKs +graphics/FontMetrics // OKs +graphics/GC // OKs +graphics/GCData // OKs +graphics/GlyphMetrics // OKs +graphics/Image // OKs +graphics/ImageData // OKs +graphics/ImageDataLoader // OKs +graphics/ImageLoader // OKs +graphics/ImageLoaderEvent // OKs +graphics/ImageLoaderListener // OKs +graphics/LineAttributes // OKs +graphics/PaletteData // OKs +graphics/Path // OKs +graphics/PathData // OKs +graphics/Pattern // OKs +graphics/Point // OKs +graphics/Rectangle // OKs (meth union->makeUnion) +graphics/Region // OKs +graphics/Resource // OKs +graphics/RGB // OKs +graphics/TextLayout // OKs (problems char/wchar) +graphics/TextStyle // OKs +graphics/Transform // OKs + +widgets/Button // OKs +widgets/Canvas // OKs +widgets/Caret // OKs +widgets/ColorDialog +widgets/Combo +widgets/Composite // OKs +widgets/Control // OKs +widgets/CoolBar +widgets/CoolItem +widgets/DateTime +widgets/Decorations // OKs +widgets/Dialog +widgets/DirectoryDialog +widgets/Display // OKs +widgets/Event // OKs +widgets/EventTable // OKs +widgets/ExpandBar +widgets/ExpandItem +widgets/FileDialog +widgets/FontDialog +widgets/Group // OKs +widgets/ImageList // OKs +widgets/Item // OKs +widgets/Label // OKs +widgets/Layout // OKs +widgets/Link +widgets/List // OKs +widgets/Listener // OKs +widgets/Menu // OKs +widgets/MenuItem // OKs +widgets/MessageBox +widgets/Monitor // OKs +widgets/ProgressBar +widgets/RunnableLock // OKs +widgets/Sash +widgets/Scale // OKs +widgets/Scrollable // OKs +widgets/ScrollBar // OKs +widgets/Shell // OKs +widgets/Slider // OKs +widgets/Spinner // OKs +widgets/Synchronizer // OKs +widgets/TabFolder +widgets/TabItem +widgets/Table +widgets/TableColumn +widgets/TableItem +widgets/Text // OKs +widgets/ToolBar +widgets/ToolItem +widgets/ToolTip // OKs +widgets/Tracker +widgets/Tray // OKs +widgets/TrayItem // OKs +widgets/Tree +widgets/TreeColumn +widgets/TreeItem +widgets/TypedListener // OKs +widgets/Widget // OKs + +layout/FormLayout // OKs +layout/FormAttachment // OKs +layout/RowData // OKs +layout/GridData // OKs +layout/GridLayout // OKs +layout/FillLayout // OKs +layout/FormData // OKs +layout/FillData // OKs +layout/RowLayout // OKs + + + +internal/gnome/GnomeVFSMimeApplication +internal/gnome/GNOME +internal/cde/CDE +internal/cde/DtActionArg +internal/theme/TabItemDrawData +internal/theme/ProgressBarDrawData +internal/theme/ButtonDrawData +internal/theme/RangeDrawData +internal/theme/TabFolderDrawData +internal/theme/ScaleDrawData +internal/theme/GroupDrawData +internal/theme/DrawData +internal/theme/ComboDrawData +internal/theme/ToolBarDrawData +internal/theme/Theme +internal/theme/ScrollBarDrawData +internal/theme/ExpanderDrawData +internal/theme/ToolItemDrawData +internal/cairo/cairo_path_t // X +internal/cairo/cairo_path_data_t // X +internal/cairo/Cairo // OK +internal/cairo/cairo_text_extents_t // X +internal/cairo/cairo_font_extents_t // X +internal/image/FileFormat // OKs +internal/image/GIFFileFormat // OKs +internal/image/JPEGAppn // OKs +internal/image/JPEGArithmeticConditioningTable // OKs +internal/image/JPEGComment // OKs +internal/image/JPEGDecoder // OKs +internal/image/JPEGEndOfImage // OKs +internal/image/JPEGFileFormat // OKs +internal/image/JPEGFixedSizeSegment // OKs +internal/image/JPEGFrameHeader // OKs +internal/image/JPEGHuffmanTable // OKs +internal/image/JPEGQuantizationTable // OKs +internal/image/JPEGRestartInterval // OKs +internal/image/JPEGScanHeader // OKs +internal/image/JPEGSegment // OKs +internal/image/JPEGStartOfImage // OKs +internal/image/JPEGVariableSizeSegment // OKs +internal/image/LEDataInputStream // OKs +internal/image/LEDataOutputStream // OKs +internal/image/LZWCodec // OKs +internal/image/LZWNode // OKs +internal/image/OS2BMPFileFormat // OKs +internal/image/PngChunk // OKs +internal/image/PngChunkReader // OKs +internal/image/PngDecodingDataStream // OKs +internal/image/PngDeflater // OKs +internal/image/PngEncoder // OKs +internal/image/PNGFileFormat // OKs +internal/image/PngFileReadState // OKs +internal/image/PngHuffmanTable // OKs +internal/image/PngHuffmanTables // OKs +internal/image/PngIdatChunk // OKs +internal/image/PngIendChunk // OKs +internal/image/PngIhdrChunk // OKs +internal/image/PngInputStream // OKs +internal/image/PngLzBlockReader // OKs +internal/image/PngPlteChunk // OKs +internal/image/PngTrnsChunk // OKs +internal/image/TIFFDirectory // OKs +internal/image/TIFFFileFormat // OKs +internal/image/TIFFModifiedHuffmanCodec // OKs +internal/image/TIFFRandomFileAccess // OKs +internal/image/WinBMPFileFormat // OKs +internal/image/WinICOFileFormat // OKs + +internal/gtk/GdkEventCrossing // X +internal/gtk/XAnyEvent // X +internal/gtk/OS // OKs +internal/gtk/PangoRectangle // X +internal/gtk/GTypeQuery // X +internal/gtk/GdkEventScroll // X +internal/gtk/PangoLayoutLine // X +internal/gtk/GdkVisual // X +internal/gtk/GdkEventWindowState // X +internal/gtk/PangoAttribute // X +internal/gtk/PangoLogAttr // X +internal/gtk/GdkWindowAttr // X +internal/gtk/XWindowChanges // X +internal/gtk/GdkEventVisibility // X +internal/gtk/GdkEventAny // X +internal/gtk/GTypeInfo // X +internal/gtk/GObjectClass // X +internal/gtk/XExposeEvent // X +internal/gtk/GdkRectangle // X +internal/gtk/GdkEvent // X +internal/gtk/GtkWidgetClass // X +internal/gtk/PangoItem // X +internal/gtk/XRenderPictureAttributes // X +internal/gtk/GtkTargetEntry // X +internal/gtk/XButtonEvent // X +internal/gtk/GtkAdjustment // X +internal/gtk/GInterfaceInfo // X +internal/gtk/GdkColor // X +internal/gtk/GtkBorder // X +internal/gtk/GdkEventMotion // X +internal/gtk/GdkEventButton // X +internal/gtk/XEvent // X +internal/gtk/GtkCombo // X +internal/gtk/GdkDragContext // X +internal/gtk/GtkRequisition // X +internal/gtk/PangoLayoutRun // X +internal/gtk/GtkCellRendererClass // X +internal/gtk/XVisibilityEvent // X +internal/gtk/GdkEventKey // X +internal/gtk/XCrossingEvent // X +internal/gtk/GtkAllocation // X +internal/gtk/XClientMessageEvent // X +internal/gtk/GtkTargetPair // X +internal/gtk/GdkEventExpose // X +internal/gtk/GdkGeometry // X +internal/gtk/GdkImage // X +internal/gtk/GtkColorSelectionDialog // X +internal/gtk/GtkFixed // X +internal/gtk/XFocusChangeEvent // X +internal/gtk/GdkEventFocus // X +internal/gtk/GdkGCValues // X +internal/gtk/GtkSelectionData // X +internal/gtk/GtkFileSelection // X + +events/ShellAdapter // OK +events/SelectionListener // OK +events/TreeListener // OK +events/MenuDetectListener // OK +events/SelectionAdapter // OK +events/KeyAdapter // OK +events/TreeEvent // OK +events/ControlListener // OK +events/ArmEvent // OK +events/DragDetectEvent // OK +events/PaintListener // OK +events/MenuEvent // OK +events/DisposeEvent // OK +events/MouseEvent // OK +events/ShellListener // OK +events/SelectionEvent // OK +events/ControlAdapter // OK +events/ExpandListener // OK +events/MouseTrackListener // OK +events/FocusListener // OK +events/TreeAdapter // OK +events/MenuListener // OK +events/FocusEvent // OK +events/FocusAdapter // OK +events/MenuAdapter // OK +events/MouseWheelListener // OK +events/HelpListener // OK +events/ExpandAdapter // OK +events/TraverseEvent // OK +events/MouseListener // OK +events/ShellEvent // OK +events/KeyEvent // OK +events/ExpandEvent // OK +events/MenuDetectEvent // OK +events/VerifyEvent // OK +events/TraverseListener // OK +events/ArmListener // OK +events/ModifyListener // OK +events/MouseMoveListener // OK +events/ModifyEvent // OK +events/KeyListener // OK +events/VerifyListener // OK +events/PaintEvent // OK +events/HelpEvent // OK +events/DragDetectListener // OK +events/TypedEvent // OK +events/ControlEvent // OK +events/MouseTrackAdapter // OK +events/DisposeListener // OK +events/MouseAdapter // OK + + +// not sure what this is +internal/accessibility/gtk/ATK // OK +internal/accessibility/gtk/AtkTextIface // X +internal/accessibility/gtk/AtkObjectFactoryClass // X +internal/accessibility/gtk/GtkAccessible // X +internal/accessibility/gtk/AtkSelectionIface // X +internal/accessibility/gtk/AtkActionIface // X +internal/accessibility/gtk/AtkObjectClass // X +internal/accessibility/gtk/AtkComponentIface // X +internal/accessibility/gtk/AtkHypertextIface // X +accessibility/AccessibleTextEvent // OKs +accessibility/AccessibleAdapter // OKs +accessibility/AccessibleListener // OKs +accessibility/AccessibleControlEvent // OKs +accessibility/AccessibleTextListener // OKs +accessibility/AccessibleControlAdapter // OKs +accessibility/AccessibleObject // OKs +accessibility/AccessibleEvent // OKs +accessibility/AccessibleControlListener // OKs +accessibility/AccessibleTextAdapter // OKs +accessibility/ACC // OKs +accessibility/Accessible // OKs +accessibility/AccessibleFactory // OKs + + + + + +=== LOW Priority === +custom/StyleRange +custom/StyledTextRenderer +custom/PopupList +custom/CTabFolderLayout +custom/ScrolledCompositeLayout +custom/CTabFolder +custom/LineBackgroundListener +custom/CTabFolderListener +custom/BusyIndicator +custom/StyledTextDropTargetEffect +custom/CTabFolderEvent +custom/StyledTextPrintOptions +custom/CTabFolder2Listener +custom/StackLayout +custom/TableCursor +custom/LineBackgroundEvent +custom/StyledTextListener +custom/TextChangedEvent +custom/ExtendedModifyListener +custom/PaintObjectListener +custom/ViewFormLayout +custom/ViewForm +custom/TextChangeListener +custom/TableEditor +custom/StyledTextEvent +custom/PaintObjectEvent +custom/AnimatedProgress +custom/ExtendedModifyEvent +custom/CCombo +custom/MovementListener +custom/CTabFolder2Adapter +custom/CBannerLayout +custom/CLayoutData +custom/ScrolledComposite +custom/ControlEditor +custom/SashForm +custom/CLabel +custom/CTabItem +custom/TreeEditor +custom/StyledText +custom/TableTree +custom/ST +custom/TextChangingEvent +custom/SashFormLayout +custom/LineStyleEvent +custom/CTabFolderAdapter +custom/VerifyKeyListener +custom/CBanner +custom/StyledTextContent +custom/Bullet +custom/DefaultContent +custom/BidiSegmentEvent +custom/TableTreeItem +custom/MovementEvent +custom/TableTreeEditor +custom/BidiSegmentListener +custom/SashFormData +custom/LineStyleListener + +program/Program // find default program for a given file extension (.http => open the standard browser) + +printing/Printer +printing/PrinterData +printing/PrintDialog + +internal/opengl/glx/XVisualInfo +internal/opengl/glx/GLX +opengl/GLCanvas +opengl/GLData + +dnd // Drag and Drop +dnd/DragSourceAdapter +dnd/TreeDragSourceEffect +dnd/TreeDropTargetEffect +dnd/FileTransfer +dnd/DragSourceListener +dnd/DNDEvent +dnd/DragSource +dnd/TextTransfer +dnd/DragSourceEvent +dnd/TableDropTargetEffect +dnd/ClipboardProxy +dnd/DropTargetListener +dnd/DropTarget +dnd/Transfer +dnd/DNDListener +dnd/ByteArrayTransfer +dnd/DropTargetEvent +dnd/DragSourceEffect +dnd/RTFTransfer +dnd/Clipboard +dnd/TransferData +dnd/DropTargetEffect +dnd/TableDragSourceEffect +dnd/HTMLTransfer +dnd/DND +dnd/DropTargetAdapter + +internal/mozilla/XPCOMObject +internal/mozilla/nsIPromptService +internal/mozilla/nsIWebNavigation +internal/mozilla/nsIWebProgressListener2 +internal/mozilla/nsIObserverService +internal/mozilla/nsIDOMWindow +internal/mozilla/nsIWindowCreator +internal/mozilla/nsITooltipListener +internal/mozilla/nsIHelperAppLauncherDialog +internal/mozilla/nsIContextMenuListener +internal/mozilla/nsIMemory +internal/mozilla/nsISimpleEnumerator +internal/mozilla/nsIDownload +internal/mozilla/nsIDirectoryServiceProvider2 +internal/mozilla/nsIWebProgressListener +internal/mozilla/nsIEmbeddingSiteWindow +internal/mozilla/nsIProgressDialog +internal/mozilla/nsIWebNavigationInfo +internal/mozilla/nsICategoryManager +internal/mozilla/nsIFilePicker_1_8 +internal/mozilla/nsIWebBrowserChrome +internal/mozilla/GREVersionRange +internal/mozilla/nsIDocShell +internal/mozilla/nsIWebBrowser +internal/mozilla/nsIPrefBranch +internal/mozilla/nsICookieManager +internal/mozilla/nsISupports +internal/mozilla/nsIComponentManager +internal/mozilla/nsIFilePicker +internal/mozilla/nsIDownload_1_8 +internal/mozilla/nsIWebBrowserFocus +internal/mozilla/nsIWebBrowserChromeFocus +internal/mozilla/nsIWindowCreator2 +internal/mozilla/nsEmbedString +internal/mozilla/nsIDOMEvent +internal/mozilla/nsIDOMWindowCollection +internal/mozilla/nsIPrefService +internal/mozilla/nsIDOMUIEvent +internal/mozilla/nsIHelperAppLauncher +internal/mozilla/nsIWeakReference +internal/mozilla/nsILocalFile +internal/mozilla/nsIJSContextStack +internal/mozilla/nsICookie +internal/mozilla/nsISupportsWeakReference +internal/mozilla/XPCOM +internal/mozilla/nsIDirectoryService +internal/mozilla/nsIProperties +internal/mozilla/nsIFactory +internal/mozilla/nsIDOMMouseEvent +internal/mozilla/nsID +internal/mozilla/nsIServiceManager +internal/mozilla/nsICancelable +internal/mozilla/nsIIOService +internal/mozilla/nsIProgressDialog_1_8 +internal/mozilla/nsIWindowWatcher +internal/mozilla/nsIPrefLocalizedString +internal/mozilla/nsIWebProgress +internal/mozilla/nsITransfer +internal/mozilla/nsIFile +internal/mozilla/nsIWebBrowserStream +internal/mozilla/nsIInterfaceRequestor +internal/mozilla/nsIURIContentListener +internal/mozilla/nsIInputStream +internal/mozilla/nsIDirectoryServiceProvider +internal/mozilla/nsIDOMEventTarget +internal/mozilla/XPCOMInit +internal/mozilla/nsIComponentRegistrar +internal/mozilla/nsIRequest +internal/mozilla/nsIAppShell +internal/mozilla/nsIHelperAppLauncher_1_8 +internal/mozilla/nsIURI +internal/mozilla/nsIBaseWindow +browser/SimpleEnumerator +browser/MozillaDelegate +browser/DownloadFactory_1_8 +browser/PromptServiceFactory +browser/Download +browser/Download_1_8 +browser/HelperAppLauncherDialog +browser/FilePickerFactory_1_8 +browser/LocationListener +browser/StatusTextEvent +browser/ProgressListener +browser/VisibilityWindowListener +browser/WindowEvent +browser/PromptService +browser/FilePicker_1_8 +browser/HelperAppLauncherDialogFactory +browser/CloseWindowListener +browser/TitleListener +browser/FilePickerFactory +browser/WindowCreator2 +browser/LocationAdapter +browser/TitleEvent +browser/ProgressAdapter +browser/Browser +browser/InputStream +browser/VisibilityWindowAdapter +browser/AppFileLocProvider +browser/OpenWindowListener +browser/ProgressEvent +browser/PromptDialog +browser/StatusTextListener +browser/WebBrowser +browser/LocationEvent +browser/FilePicker +browser/Mozilla +browser/DownloadFactory + +awt/SWT_AWT // Compatibility to the Java AWT GUI, not needed + + + + +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dwtexamples/helloworld.d Tue Jan 15 06:38:45 2008 +0100 @@ -0,0 +1,85 @@ +module helloworld; + +import dwt.SWT; +import dwt.widgets.Display; +import dwt.widgets.Shell; +import dwt.widgets.Composite; +import dwt.widgets.Button; +import dwt.widgets.Text; + +import tango.io.Stdout; +import tango.math.Math; +import tango.text.convert.Format; +import tango.util.Convert; +import tango.util.PathUtil; +import dwt.graphics.Device; +import dwt.graphics.ImageData; +import dwt.events.SelectionListener; +import dwt.events.SelectionEvent; + + +import dwt.accessibility.AccessibleObject; +import dwt.accessibility.AccessibleFactory; +import dwt.SWT; +import dwt.dwthelper.File; +import dwt.widgets.Display; +import dwt.internal.Library; +import dwt.internal.Platform; +import dwt.internal.image.PngChunk; +import dwt.internal.image.JPEGFileFormat; +import dwt.internal.gtk.OS; + +import jive.stacktrace; + +void main(){ + + TraceConfig.throwOnAll = true; + try{ + + File.static_this(); + Library.static_this(); + Platform.static_this(); + OS.static_this(); + SWT.static_this(); + AccessibleObject.static_this(); + AccessibleFactory.static_this(); + ImageData.static_this(); + Device.static_this(); + Display.static_this(); + PngChunk.static_this(); + JPEGFileFormat.static_this(); + + Display display = new Display(); + Shell shell = new Shell(display); + shell.setSize(300, 200); + shell.setText("Simple SWT Sample"); + auto btn = new Button( shell, SWT.PUSH ); + btn.setBounds(40, 50, 100, 50); + btn.setText( "hey" ); + + auto txt = new Text(shell, SWT.BORDER); + txt.setBounds(170, 50, 100, 40); + + btn.addSelectionListener(new class () SelectionListener { + public void widgetSelected(SelectionEvent event) { + txt.setText("No problem"); + } + public void widgetDefaultSelected(SelectionEvent event) { + txt.setText("No worries!"); + } + }); + + shell.open(); + Stdout.formatln( "loop entered" ); + while (!shell.isDisposed()) { + if (!display.readAndDispatch()) { + display.sleep(); + } + } + } + catch (Exception e) + { + Stdout.formatln (e.toString); + } +} +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dwtexamples/test.d Tue Jan 15 06:38:45 2008 +0100 @@ -0,0 +1,44 @@ +module test; + +private import dwt.internal.gtk.c.cairo; +private import tango.core.Traits; +private import tango.io.Stdout; +private import tango.stdc.stdio; + +struct lock { +static void lock() { printf("lock\n");} +static void unlock() { printf("unlock\n");} +} + +const static char[] mm = "Inside outer cairo_version"; + +template NameOfFunc(alias f) { + // Note: highly dependent on the .stringof formatting + // the value begins with "& " which is why the first two chars are cut off + const char[] NameOfFunc = (&f).stringof[2 .. $]; +} + +template ForwardGtkOsCFunc( alias cFunc ) { + alias ParameterTupleOf!(cFunc) P; + alias ReturnTypeOf!(cFunc) R; + mixin("public static R " ~ NameOfFunc!(cFunc) ~ "( P p ){ + lock.lock(); + scope(exit) lock.unlock(); + Stdout (mm).newline; + return cFunc(p); + }"); +} + +public class OS { + mixin ForwardGtkOsCFunc!(cairo_version); + mixin ForwardGtkOsCFunc!(cairo_version_string); +} + +void main() +{ + Stdout ("calling cairo_version...").newline; + int p = OS.cairo_version(); + int i = cairo_version(); + Stdout.formatln("OS.cairo_version() returns: {} cairo_version() returns: {}", p, i ).newline; + printf("OS.cairo_version_string returns: %s\n", cairo_version_string() ); +} \ No newline at end of file
--- a/helloworld.d Tue Jan 15 04:10:36 2008 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,85 +0,0 @@ -module helloworld; - -import dwt.SWT; -import dwt.widgets.Display; -import dwt.widgets.Shell; -import dwt.widgets.Composite; -import dwt.widgets.Button; -import dwt.widgets.Text; - -import tango.io.Stdout; -import tango.math.Math; -import tango.text.convert.Format; -import tango.util.Convert; -import tango.util.PathUtil; -import dwt.graphics.Device; -import dwt.graphics.ImageData; -import dwt.events.SelectionListener; -import dwt.events.SelectionEvent; - - -import dwt.accessibility.AccessibleObject; -import dwt.accessibility.AccessibleFactory; -import dwt.SWT; -import dwt.dwthelper.File; -import dwt.widgets.Display; -import dwt.internal.Library; -import dwt.internal.Platform; -import dwt.internal.image.PngChunk; -import dwt.internal.image.JPEGFileFormat; -import dwt.internal.gtk.OS; - -import jive.stacktrace; - -void main(){ - - TraceConfig.throwOnAll = true; - try{ - - File.static_this(); - Library.static_this(); - Platform.static_this(); - OS.static_this(); - SWT.static_this(); - AccessibleObject.static_this(); - AccessibleFactory.static_this(); - ImageData.static_this(); - Device.static_this(); - Display.static_this(); - PngChunk.static_this(); - JPEGFileFormat.static_this(); - - Display display = new Display(); - Shell shell = new Shell(display); - shell.setSize(300, 200); - shell.setText("Simple SWT Sample"); - auto btn = new Button( shell, SWT.PUSH ); - btn.setBounds(40, 50, 100, 50); - btn.setText( "hey" ); - - auto txt = new Text(shell, SWT.BORDER); - txt.setBounds(170, 50, 100, 40); - - btn.addSelectionListener(new class () SelectionListener { - public void widgetSelected(SelectionEvent event) { - txt.setText("No problem"); - } - public void widgetDefaultSelected(SelectionEvent event) { - txt.setText("No worries!"); - } - }); - - shell.open(); - Stdout.formatln( "loop entered" ); - while (!shell.isDisposed()) { - if (!display.readAndDispatch()) { - display.sleep(); - } - } - } - catch (Exception e) - { - Stdout.formatln (e.toString); - } -} -
--- a/test.d Tue Jan 15 04:10:36 2008 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,44 +0,0 @@ -module test; - -private import dwt.internal.gtk.c.cairo; -private import tango.core.Traits; -private import tango.io.Stdout; -private import tango.stdc.stdio; - -struct lock { -static void lock() { printf("lock\n");} -static void unlock() { printf("unlock\n");} -} - -const static char[] mm = "Inside outer cairo_version"; - -template NameOfFunc(alias f) { - // Note: highly dependent on the .stringof formatting - // the value begins with "& " which is why the first two chars are cut off - const char[] NameOfFunc = (&f).stringof[2 .. $]; -} - -template ForwardGtkOsCFunc( alias cFunc ) { - alias ParameterTupleOf!(cFunc) P; - alias ReturnTypeOf!(cFunc) R; - mixin("public static R " ~ NameOfFunc!(cFunc) ~ "( P p ){ - lock.lock(); - scope(exit) lock.unlock(); - Stdout (mm).newline; - return cFunc(p); - }"); -} - -public class OS { - mixin ForwardGtkOsCFunc!(cairo_version); - mixin ForwardGtkOsCFunc!(cairo_version_string); -} - -void main() -{ - Stdout ("calling cairo_version...").newline; - int p = OS.cairo_version(); - int i = cairo_version(); - Stdout.formatln("OS.cairo_version() returns: {} cairo_version() returns: {}", p, i ).newline; - printf("OS.cairo_version_string returns: %s\n", cairo_version_string() ); -} \ No newline at end of file
--- a/todo.txt Tue Jan 15 04:10:36 2008 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,572 +0,0 @@ -Rule for porting - - package/module and modulename - class declarator extends/implements to : and comma list - ctors: Classnames to 'this' - Replace automatic - s/\<boolean\>/bool/g - s/==/is/g - s/!=/!is/g - s/\<equals\>/==\/*eq*\//g // the replacements need post edit - Replace with prompt - s/\<String\>/char[]/g // replace only types, not comments or parts for identifiers - s/is 0/is null/g // replace only that one, that are reference types - Search for "int /*long*/" - -> "auto" if variable that gets initialized with something typed, e.g. result of method call. - - Marks: - OK the module is ported for compiling - s checked switches to have a 'default' case - o checked all override methods, added 'override' and/or aliases - r A second person did a review Java vs D - - - -Next Steps: - * accessibility package (independant) - * Shell - -EventTable - -Questions: - Whats needed at minimum to make a test with empty window? - How about memory management? - Check to remove "package", it non-virtual. - -SWT // OKs left: getMessage -> Compatibility:ResourceBundle -SWTError // OKs -SWTException // OKs - -internal/BidiUtil // OKs (stub: Runnable ) -internal/Callback // ?? hopefully not needed -internal/CloneableCompatibility // OKs (java.lang.Cloneable) -internal/C // OKs not needed -internal/Compatibility // left: ResourceBundle, interrupt() -internal/Converter // left: gtk function prototypes -internal/Library // OKs (loading of lib not needed) -internal/Lock // OKs -internal/LONG // OKs -internal/Platform // OKs -internal/SerializableCompatibility // OKs (java.io.Serializable) -internal/SWTEventListener // OKs (java.util.EventListener) -internal/SWTEventObject // OKs (java.util.EventObject) - -graphics/Color // OKs -graphics/Cursor // OKs -graphics/Device // OKs -graphics/DeviceData // OKs (fld: debug->debugging) -graphics/Drawable // OKs -graphics/Font // OKs -graphics/FontData // OKs -graphics/FontMetrics // OKs -graphics/GC // OKs -graphics/GCData // OKs -graphics/GlyphMetrics // OKs -graphics/Image // OKs -graphics/ImageData // OKs -graphics/ImageDataLoader // OKs -graphics/ImageLoader // OKs -graphics/ImageLoaderEvent // OKs -graphics/ImageLoaderListener // OKs -graphics/LineAttributes // OKs -graphics/PaletteData // OKs -graphics/Path // OKs -graphics/PathData // OKs -graphics/Pattern // OKs -graphics/Point // OKs -graphics/Rectangle // OKs (meth union->makeUnion) -graphics/Region // OKs -graphics/Resource // OKs -graphics/RGB // OKs -graphics/TextLayout // OKs (problems char/wchar) -graphics/TextStyle // OKs -graphics/Transform // OKs - -widgets/Button // OKs -widgets/Canvas // OKs -widgets/Caret // OKs -widgets/ColorDialog -widgets/Combo -widgets/Composite // OKs -widgets/Control // OKs -widgets/CoolBar -widgets/CoolItem -widgets/DateTime -widgets/Decorations // OKs -widgets/Dialog -widgets/DirectoryDialog -widgets/Display // OKs -widgets/Event // OKs -widgets/EventTable // OKs -widgets/ExpandBar -widgets/ExpandItem -widgets/FileDialog -widgets/FontDialog -widgets/Group // OKs -widgets/ImageList // OKs -widgets/Item // OKs -widgets/Label // OKs -widgets/Layout // OKs -widgets/Link -widgets/List // OKs -widgets/Listener // OKs -widgets/Menu // OKs -widgets/MenuItem // OKs -widgets/MessageBox -widgets/Monitor // OKs -widgets/ProgressBar -widgets/RunnableLock // OKs -widgets/Sash -widgets/Scale // OKs -widgets/Scrollable // OKs -widgets/ScrollBar // OKs -widgets/Shell // OKs -widgets/Slider // OKs -widgets/Spinner // OKs -widgets/Synchronizer // OKs -widgets/TabFolder -widgets/TabItem -widgets/Table -widgets/TableColumn -widgets/TableItem -widgets/Text // OKs -widgets/ToolBar -widgets/ToolItem -widgets/ToolTip // OKs -widgets/Tracker -widgets/Tray // OKs -widgets/TrayItem // OKs -widgets/Tree -widgets/TreeColumn -widgets/TreeItem -widgets/TypedListener // OKs -widgets/Widget // OKs - -layout/FormLayout // OKs -layout/FormAttachment // OKs -layout/RowData // OKs -layout/GridData // OKs -layout/GridLayout // OKs -layout/FillLayout // OKs -layout/FormData // OKs -layout/FillData // OKs -layout/RowLayout // OKs - - - -internal/gnome/GnomeVFSMimeApplication -internal/gnome/GNOME -internal/cde/CDE -internal/cde/DtActionArg -internal/theme/TabItemDrawData -internal/theme/ProgressBarDrawData -internal/theme/ButtonDrawData -internal/theme/RangeDrawData -internal/theme/TabFolderDrawData -internal/theme/ScaleDrawData -internal/theme/GroupDrawData -internal/theme/DrawData -internal/theme/ComboDrawData -internal/theme/ToolBarDrawData -internal/theme/Theme -internal/theme/ScrollBarDrawData -internal/theme/ExpanderDrawData -internal/theme/ToolItemDrawData -internal/cairo/cairo_path_t // X -internal/cairo/cairo_path_data_t // X -internal/cairo/Cairo // OK -internal/cairo/cairo_text_extents_t // X -internal/cairo/cairo_font_extents_t // X -internal/image/FileFormat // OKs -internal/image/GIFFileFormat // OKs -internal/image/JPEGAppn // OKs -internal/image/JPEGArithmeticConditioningTable // OKs -internal/image/JPEGComment // OKs -internal/image/JPEGDecoder // OKs -internal/image/JPEGEndOfImage // OKs -internal/image/JPEGFileFormat // OKs -internal/image/JPEGFixedSizeSegment // OKs -internal/image/JPEGFrameHeader // OKs -internal/image/JPEGHuffmanTable // OKs -internal/image/JPEGQuantizationTable // OKs -internal/image/JPEGRestartInterval // OKs -internal/image/JPEGScanHeader // OKs -internal/image/JPEGSegment // OKs -internal/image/JPEGStartOfImage // OKs -internal/image/JPEGVariableSizeSegment // OKs -internal/image/LEDataInputStream // OKs -internal/image/LEDataOutputStream // OKs -internal/image/LZWCodec // OKs -internal/image/LZWNode // OKs -internal/image/OS2BMPFileFormat // OKs -internal/image/PngChunk // OKs -internal/image/PngChunkReader // OKs -internal/image/PngDecodingDataStream // OKs -internal/image/PngDeflater // OKs -internal/image/PngEncoder // OKs -internal/image/PNGFileFormat // OKs -internal/image/PngFileReadState // OKs -internal/image/PngHuffmanTable // OKs -internal/image/PngHuffmanTables // OKs -internal/image/PngIdatChunk // OKs -internal/image/PngIendChunk // OKs -internal/image/PngIhdrChunk // OKs -internal/image/PngInputStream // OKs -internal/image/PngLzBlockReader // OKs -internal/image/PngPlteChunk // OKs -internal/image/PngTrnsChunk // OKs -internal/image/TIFFDirectory // OKs -internal/image/TIFFFileFormat // OKs -internal/image/TIFFModifiedHuffmanCodec // OKs -internal/image/TIFFRandomFileAccess // OKs -internal/image/WinBMPFileFormat // OKs -internal/image/WinICOFileFormat // OKs - -internal/gtk/GdkEventCrossing // X -internal/gtk/XAnyEvent // X -internal/gtk/OS // OKs -internal/gtk/PangoRectangle // X -internal/gtk/GTypeQuery // X -internal/gtk/GdkEventScroll // X -internal/gtk/PangoLayoutLine // X -internal/gtk/GdkVisual // X -internal/gtk/GdkEventWindowState // X -internal/gtk/PangoAttribute // X -internal/gtk/PangoLogAttr // X -internal/gtk/GdkWindowAttr // X -internal/gtk/XWindowChanges // X -internal/gtk/GdkEventVisibility // X -internal/gtk/GdkEventAny // X -internal/gtk/GTypeInfo // X -internal/gtk/GObjectClass // X -internal/gtk/XExposeEvent // X -internal/gtk/GdkRectangle // X -internal/gtk/GdkEvent // X -internal/gtk/GtkWidgetClass // X -internal/gtk/PangoItem // X -internal/gtk/XRenderPictureAttributes // X -internal/gtk/GtkTargetEntry // X -internal/gtk/XButtonEvent // X -internal/gtk/GtkAdjustment // X -internal/gtk/GInterfaceInfo // X -internal/gtk/GdkColor // X -internal/gtk/GtkBorder // X -internal/gtk/GdkEventMotion // X -internal/gtk/GdkEventButton // X -internal/gtk/XEvent // X -internal/gtk/GtkCombo // X -internal/gtk/GdkDragContext // X -internal/gtk/GtkRequisition // X -internal/gtk/PangoLayoutRun // X -internal/gtk/GtkCellRendererClass // X -internal/gtk/XVisibilityEvent // X -internal/gtk/GdkEventKey // X -internal/gtk/XCrossingEvent // X -internal/gtk/GtkAllocation // X -internal/gtk/XClientMessageEvent // X -internal/gtk/GtkTargetPair // X -internal/gtk/GdkEventExpose // X -internal/gtk/GdkGeometry // X -internal/gtk/GdkImage // X -internal/gtk/GtkColorSelectionDialog // X -internal/gtk/GtkFixed // X -internal/gtk/XFocusChangeEvent // X -internal/gtk/GdkEventFocus // X -internal/gtk/GdkGCValues // X -internal/gtk/GtkSelectionData // X -internal/gtk/GtkFileSelection // X - -events/ShellAdapter // OK -events/SelectionListener // OK -events/TreeListener // OK -events/MenuDetectListener // OK -events/SelectionAdapter // OK -events/KeyAdapter // OK -events/TreeEvent // OK -events/ControlListener // OK -events/ArmEvent // OK -events/DragDetectEvent // OK -events/PaintListener // OK -events/MenuEvent // OK -events/DisposeEvent // OK -events/MouseEvent // OK -events/ShellListener // OK -events/SelectionEvent // OK -events/ControlAdapter // OK -events/ExpandListener // OK -events/MouseTrackListener // OK -events/FocusListener // OK -events/TreeAdapter // OK -events/MenuListener // OK -events/FocusEvent // OK -events/FocusAdapter // OK -events/MenuAdapter // OK -events/MouseWheelListener // OK -events/HelpListener // OK -events/ExpandAdapter // OK -events/TraverseEvent // OK -events/MouseListener // OK -events/ShellEvent // OK -events/KeyEvent // OK -events/ExpandEvent // OK -events/MenuDetectEvent // OK -events/VerifyEvent // OK -events/TraverseListener // OK -events/ArmListener // OK -events/ModifyListener // OK -events/MouseMoveListener // OK -events/ModifyEvent // OK -events/KeyListener // OK -events/VerifyListener // OK -events/PaintEvent // OK -events/HelpEvent // OK -events/DragDetectListener // OK -events/TypedEvent // OK -events/ControlEvent // OK -events/MouseTrackAdapter // OK -events/DisposeListener // OK -events/MouseAdapter // OK - - -// not sure what this is -internal/accessibility/gtk/ATK // OK -internal/accessibility/gtk/AtkTextIface // X -internal/accessibility/gtk/AtkObjectFactoryClass // X -internal/accessibility/gtk/GtkAccessible // X -internal/accessibility/gtk/AtkSelectionIface // X -internal/accessibility/gtk/AtkActionIface // X -internal/accessibility/gtk/AtkObjectClass // X -internal/accessibility/gtk/AtkComponentIface // X -internal/accessibility/gtk/AtkHypertextIface // X -accessibility/AccessibleTextEvent // OKs -accessibility/AccessibleAdapter // OKs -accessibility/AccessibleListener // OKs -accessibility/AccessibleControlEvent // OKs -accessibility/AccessibleTextListener // OKs -accessibility/AccessibleControlAdapter // OKs -accessibility/AccessibleObject // OKs -accessibility/AccessibleEvent // OKs -accessibility/AccessibleControlListener // OKs -accessibility/AccessibleTextAdapter // OKs -accessibility/ACC // OKs -accessibility/Accessible // OKs -accessibility/AccessibleFactory // OKs - - - - - -=== LOW Priority === -custom/StyleRange -custom/StyledTextRenderer -custom/PopupList -custom/CTabFolderLayout -custom/ScrolledCompositeLayout -custom/CTabFolder -custom/LineBackgroundListener -custom/CTabFolderListener -custom/BusyIndicator -custom/StyledTextDropTargetEffect -custom/CTabFolderEvent -custom/StyledTextPrintOptions -custom/CTabFolder2Listener -custom/StackLayout -custom/TableCursor -custom/LineBackgroundEvent -custom/StyledTextListener -custom/TextChangedEvent -custom/ExtendedModifyListener -custom/PaintObjectListener -custom/ViewFormLayout -custom/ViewForm -custom/TextChangeListener -custom/TableEditor -custom/StyledTextEvent -custom/PaintObjectEvent -custom/AnimatedProgress -custom/ExtendedModifyEvent -custom/CCombo -custom/MovementListener -custom/CTabFolder2Adapter -custom/CBannerLayout -custom/CLayoutData -custom/ScrolledComposite -custom/ControlEditor -custom/SashForm -custom/CLabel -custom/CTabItem -custom/TreeEditor -custom/StyledText -custom/TableTree -custom/ST -custom/TextChangingEvent -custom/SashFormLayout -custom/LineStyleEvent -custom/CTabFolderAdapter -custom/VerifyKeyListener -custom/CBanner -custom/StyledTextContent -custom/Bullet -custom/DefaultContent -custom/BidiSegmentEvent -custom/TableTreeItem -custom/MovementEvent -custom/TableTreeEditor -custom/BidiSegmentListener -custom/SashFormData -custom/LineStyleListener - -program/Program // find default program for a given file extension (.http => open the standard browser) - -printing/Printer -printing/PrinterData -printing/PrintDialog - -internal/opengl/glx/XVisualInfo -internal/opengl/glx/GLX -opengl/GLCanvas -opengl/GLData - -dnd // Drag and Drop -dnd/DragSourceAdapter -dnd/TreeDragSourceEffect -dnd/TreeDropTargetEffect -dnd/FileTransfer -dnd/DragSourceListener -dnd/DNDEvent -dnd/DragSource -dnd/TextTransfer -dnd/DragSourceEvent -dnd/TableDropTargetEffect -dnd/ClipboardProxy -dnd/DropTargetListener -dnd/DropTarget -dnd/Transfer -dnd/DNDListener -dnd/ByteArrayTransfer -dnd/DropTargetEvent -dnd/DragSourceEffect -dnd/RTFTransfer -dnd/Clipboard -dnd/TransferData -dnd/DropTargetEffect -dnd/TableDragSourceEffect -dnd/HTMLTransfer -dnd/DND -dnd/DropTargetAdapter - -internal/mozilla/XPCOMObject -internal/mozilla/nsIPromptService -internal/mozilla/nsIWebNavigation -internal/mozilla/nsIWebProgressListener2 -internal/mozilla/nsIObserverService -internal/mozilla/nsIDOMWindow -internal/mozilla/nsIWindowCreator -internal/mozilla/nsITooltipListener -internal/mozilla/nsIHelperAppLauncherDialog -internal/mozilla/nsIContextMenuListener -internal/mozilla/nsIMemory -internal/mozilla/nsISimpleEnumerator -internal/mozilla/nsIDownload -internal/mozilla/nsIDirectoryServiceProvider2 -internal/mozilla/nsIWebProgressListener -internal/mozilla/nsIEmbeddingSiteWindow -internal/mozilla/nsIProgressDialog -internal/mozilla/nsIWebNavigationInfo -internal/mozilla/nsICategoryManager -internal/mozilla/nsIFilePicker_1_8 -internal/mozilla/nsIWebBrowserChrome -internal/mozilla/GREVersionRange -internal/mozilla/nsIDocShell -internal/mozilla/nsIWebBrowser -internal/mozilla/nsIPrefBranch -internal/mozilla/nsICookieManager -internal/mozilla/nsISupports -internal/mozilla/nsIComponentManager -internal/mozilla/nsIFilePicker -internal/mozilla/nsIDownload_1_8 -internal/mozilla/nsIWebBrowserFocus -internal/mozilla/nsIWebBrowserChromeFocus -internal/mozilla/nsIWindowCreator2 -internal/mozilla/nsEmbedString -internal/mozilla/nsIDOMEvent -internal/mozilla/nsIDOMWindowCollection -internal/mozilla/nsIPrefService -internal/mozilla/nsIDOMUIEvent -internal/mozilla/nsIHelperAppLauncher -internal/mozilla/nsIWeakReference -internal/mozilla/nsILocalFile -internal/mozilla/nsIJSContextStack -internal/mozilla/nsICookie -internal/mozilla/nsISupportsWeakReference -internal/mozilla/XPCOM -internal/mozilla/nsIDirectoryService -internal/mozilla/nsIProperties -internal/mozilla/nsIFactory -internal/mozilla/nsIDOMMouseEvent -internal/mozilla/nsID -internal/mozilla/nsIServiceManager -internal/mozilla/nsICancelable -internal/mozilla/nsIIOService -internal/mozilla/nsIProgressDialog_1_8 -internal/mozilla/nsIWindowWatcher -internal/mozilla/nsIPrefLocalizedString -internal/mozilla/nsIWebProgress -internal/mozilla/nsITransfer -internal/mozilla/nsIFile -internal/mozilla/nsIWebBrowserStream -internal/mozilla/nsIInterfaceRequestor -internal/mozilla/nsIURIContentListener -internal/mozilla/nsIInputStream -internal/mozilla/nsIDirectoryServiceProvider -internal/mozilla/nsIDOMEventTarget -internal/mozilla/XPCOMInit -internal/mozilla/nsIComponentRegistrar -internal/mozilla/nsIRequest -internal/mozilla/nsIAppShell -internal/mozilla/nsIHelperAppLauncher_1_8 -internal/mozilla/nsIURI -internal/mozilla/nsIBaseWindow -browser/SimpleEnumerator -browser/MozillaDelegate -browser/DownloadFactory_1_8 -browser/PromptServiceFactory -browser/Download -browser/Download_1_8 -browser/HelperAppLauncherDialog -browser/FilePickerFactory_1_8 -browser/LocationListener -browser/StatusTextEvent -browser/ProgressListener -browser/VisibilityWindowListener -browser/WindowEvent -browser/PromptService -browser/FilePicker_1_8 -browser/HelperAppLauncherDialogFactory -browser/CloseWindowListener -browser/TitleListener -browser/FilePickerFactory -browser/WindowCreator2 -browser/LocationAdapter -browser/TitleEvent -browser/ProgressAdapter -browser/Browser -browser/InputStream -browser/VisibilityWindowAdapter -browser/AppFileLocProvider -browser/OpenWindowListener -browser/ProgressEvent -browser/PromptDialog -browser/StatusTextListener -browser/WebBrowser -browser/LocationEvent -browser/FilePicker -browser/Mozilla -browser/DownloadFactory - -awt/SWT_AWT // Compatibility to the Java AWT GUI, not needed - - - - -