# HG changeset patch # User Frank Benoit # Date 1209939158 -7200 # Node ID ab60f33094366d9f23801d363a10e645bc910138 # Parent ff59aeb96cacbfcd88ad86822cd66b82fed30c8d reverted the char[] to String and use the an alias. diff -r ff59aeb96cac -r ab60f3309436 dsss.conf --- a/dsss.conf Sat Apr 26 10:01:48 2008 +0200 +++ b/dsss.conf Mon May 05 00:12:38 2008 +0200 @@ -15,6 +15,6 @@ #} [dwt] -type=sourcelibrary +type=library diff -r ff59aeb96cac -r ab60f3309436 dwt/DWT.d --- a/dwt/DWT.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/DWT.d Mon May 05 00:12:38 2008 +0200 @@ -20,6 +20,7 @@ import dwt.DWTException; import tango.core.Exception; +import dwt.dwthelper.utils; version(build){ pragma(link, "advapi32"); @@ -3392,7 +3393,7 @@ * * @see DWT */ -static char[] findErrorText (int code) { +static String findErrorText (int code) { switch (code) { case ERROR_UNSPECIFIED: return "Unspecified error"; //$NON-NLS-1$ case ERROR_NO_HANDLES: return "No more handles"; //$NON-NLS-1$ @@ -3448,7 +3449,7 @@ *
  • ERROR_NULL_ARGUMENT - if the key is null
  • * */ -public static char[] getMessage(char[] key) { +public static String getMessage(String key) { //return Compatibility.getMessage(key); return ""; } @@ -3459,7 +3460,7 @@ * * @return the DWT platform name */ -public static char[] getPlatform () { +public static String getPlatform () { return Platform.PLATFORM; } @@ -3478,7 +3479,7 @@ * * @param code the DWT error code */ -public static void error (char[] file, long line, int code) { +public static void error (String file, long line, int code) { error (code, null); } public static void error (int code) { @@ -3542,7 +3543,7 @@ * * @since 3.0 */ -public static void error (int code, Exception throwable, char[] detail) { +public static void error (int code, Exception throwable, String detail) { /* * This code prevents the creation of "chains" of SWTErrors and @@ -3563,7 +3564,7 @@ if (auto t = cast(DWTException)throwable ) throw t; } - char[] message = findErrorText (code); + String message = findErrorText (code); if (detail != null) message ~= detail; switch (code) { diff -r ff59aeb96cac -r ab60f3309436 dwt/DWTError.d --- a/dwt/DWTError.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/DWTError.d Mon May 05 00:12:38 2008 +0200 @@ -16,6 +16,7 @@ import tango.core.Exception; import tango.io.Stdout; +import dwt.dwthelper.utils; /** * This error is thrown whenever an unrecoverable error @@ -80,7 +81,7 @@ * * @param message the detail message for the exception */ -public this (char[] message) { +public this (String message) { this (DWT.ERROR_UNSPECIFIED, message); } @@ -103,7 +104,7 @@ * @param code the DWT error code * @param message the detail message for the exception */ -public this (int code, char[] message) { +public this (int code, String message) { super (message); this.code = code; } @@ -132,7 +133,7 @@ *

    * @return the error message string of this DWTError object */ -public char[] getMessage () { +public String getMessage () { if (throwable is null) return super.toString(); return super.toString () ~ " (" ~ throwable.toString () ~ ")"; //$NON-NLS-1$ //$NON-NLS-2$ diff -r ff59aeb96cac -r ab60f3309436 dwt/DWTException.d --- a/dwt/DWTException.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/DWTException.d Mon May 05 00:12:38 2008 +0200 @@ -16,6 +16,7 @@ import tango.core.Exception; import tango.io.Stdout; +import dwt.dwthelper.utils; /** * This runtime exception is thrown whenever a recoverable error @@ -72,7 +73,7 @@ * * @param message the detail message for the exception */ -public this (char[] message) { +public this (String message) { this (DWT.ERROR_UNSPECIFIED, message); } @@ -95,7 +96,7 @@ * @param code the DWT error code * @param message the detail message for the exception */ -public this (int code, char[] message) { +public this (int code, String message) { super (message); this.code = code; } @@ -124,7 +125,7 @@ *

    * @return the error message string of this DWTException object */ -public char[] getMessage () { +public String getMessage () { if (throwable is null) return super.toString (); return super.toString () ~ " (" ~ throwable.toString () ~ ")"; //$NON-NLS-1$ //$NON-NLS-2$ } diff -r ff59aeb96cac -r ab60f3309436 dwt/accessibility/Accessible.d --- a/dwt/accessibility/Accessible.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/accessibility/Accessible.d Mon May 05 00:12:38 2008 +0200 @@ -631,7 +631,7 @@ if ((v.vt & 0xFFFF) !is COM.VT_I4) return COM.E_INVALIDARG; /* Get the default defaultAction from the OS. */ - char[] osDefaultAction = null; + String osDefaultAction = null; int code = iaccessible.get_accDefaultAction(variant, pszDefaultAction); if (code is COM.E_INVALIDARG) code = COM.S_FALSE; // proxy doesn't know about app childID if (accessibleControlListeners.length is 0) return code; @@ -659,7 +659,7 @@ if ((v.vt & 0xFFFF) !is COM.VT_I4) return COM.E_INVALIDARG; /* Get the default description from the OS. */ - char[] osDescription = null; + String osDescription = null; int code = iaccessible.get_accDescription(variant, pszDescription); if (code is COM.E_INVALIDARG) code = COM.S_FALSE; // proxy doesn't know about app childID // TEMPORARY CODE - process tree even if there are no apps listening @@ -769,7 +769,7 @@ if ((v.vt & 0xFFFF) !is COM.VT_I4) return COM.E_INVALIDARG; /* Get the default help string from the OS. */ - char[] osHelp = null; + String osHelp = null; int code = iaccessible.get_accHelp(variant, pszHelp); if (code is COM.E_INVALIDARG) code = COM.S_FALSE; // proxy doesn't know about app childID if (accessibleListeners.length is 0) return code; @@ -806,7 +806,7 @@ if ((v.vt & 0xFFFF) !is COM.VT_I4) return COM.E_INVALIDARG; /* Get the default keyboard shortcut from the OS. */ - char[] osKeyboardShortcut = null; + String osKeyboardShortcut = null; int code = iaccessible.get_accKeyboardShortcut(variant, pszKeyboardShortcut); if (code is COM.E_INVALIDARG) code = COM.S_FALSE; // proxy doesn't know about app childID if (accessibleListeners.length is 0) return code; @@ -835,7 +835,7 @@ if ((v.vt & 0xFFFF) !is COM.VT_I4) return COM.E_INVALIDARG; /* Get the default name from the OS. */ - char[] osName = null; + String osName = null; int code = iaccessible.get_accName(variant, pszName); if (code is COM.E_INVALIDARG) code = COM.S_FALSE; // proxy doesn't know about app childID if (accessibleListeners.length is 0) return code; @@ -1036,7 +1036,7 @@ if ((v.vt & 0xFFFF) !is COM.VT_I4) return COM.E_INVALIDARG; /* Get the default value string from the OS. */ - char[] osValue = null; + String osValue = null; int code = iaccessible.get_accValue(variant, pszValue); if (code is COM.E_INVALIDARG) code = COM.S_FALSE; // proxy doesn't know about app childID if (accessibleControlListeners.length is 0) return code; diff -r ff59aeb96cac -r ab60f3309436 dwt/accessibility/AccessibleControlEvent.d --- a/dwt/accessibility/AccessibleControlEvent.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/accessibility/AccessibleControlEvent.d Mon May 05 00:12:38 2008 +0200 @@ -16,6 +16,7 @@ import dwt.internal.DWTEventObject; import tango.text.convert.Format; +import dwt.dwthelper.utils; /** * Instances of this class are sent as a result of @@ -39,7 +40,7 @@ public int x, y; // IN/OUT public int width, height; // OUT public int detail; // IN/OUT - public char[] result; // OUT + public String result; // OUT public Object children[]; // [OUT] //static final long serialVersionUID = 3257281444169529141L; @@ -59,7 +60,7 @@ * * @return a string representation of the event */ -public char[] toString () { +public String toString () { return Format( "AccessibleControlEvent {childID={} accessible={} x={} y={} width={} heigth={} detail={} result={}", childID, accessible, x, y, width, height, detail, result); } diff -r ff59aeb96cac -r ab60f3309436 dwt/accessibility/AccessibleEvent.d --- a/dwt/accessibility/AccessibleEvent.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/accessibility/AccessibleEvent.d Mon May 05 00:12:38 2008 +0200 @@ -15,6 +15,7 @@ import dwt.internal.DWTEventObject; import tango.text.convert.Format; +import dwt.dwthelper.utils; /** * Instances of this class are sent as a result of @@ -45,7 +46,7 @@ * What to set it to depends on the listener method called, and * the childID specified by the client. */ - public char[] result; + public String result; //static final long serialVersionUID = 3257567304224026934L; @@ -64,7 +65,7 @@ * * @return a string representation of the event */ -override public char[] toString () { +override public String toString () { return Format( "AccessibleEvent {childID={} result={}}", childID, result ); } } diff -r ff59aeb96cac -r ab60f3309436 dwt/accessibility/AccessibleTextEvent.d --- a/dwt/accessibility/AccessibleTextEvent.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/accessibility/AccessibleTextEvent.d Mon May 05 00:12:38 2008 +0200 @@ -15,6 +15,7 @@ import dwt.internal.DWTEventObject; import tango.text.convert.Format; +import dwt.dwthelper.utils; /** * Instances of this class are sent as a result of @@ -53,7 +54,7 @@ * * @return a string representation of the event */ -override public char[] toString () { +override public String toString () { return Format( "AccessibleTextEvent {{childID={} offset={} length={}}", childID, offset, diff -r ff59aeb96cac -r ab60f3309436 dwt/custom/BidiSegmentEvent.d --- a/dwt/custom/BidiSegmentEvent.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/custom/BidiSegmentEvent.d Mon May 05 00:12:38 2008 +0200 @@ -1,4 +1,4 @@ -/******************************************************************************* +/******************************************************************************* * Copyright (c) 2000, 2005 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 @@ -15,6 +15,7 @@ import dwt.events.TypedEvent; import dwt.custom.StyledTextEvent; +import dwt.dwthelper.utils; /** * This event is sent to BidiSegmentListeners when a line is to @@ -70,7 +71,7 @@ /** * line text */ - public char[] lineText; + public String lineText; /** * bidi segments, see above diff -r ff59aeb96cac -r ab60f3309436 dwt/custom/Bullet.d --- a/dwt/custom/Bullet.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/custom/Bullet.d Mon May 05 00:12:38 2008 +0200 @@ -1,4 +1,4 @@ -/******************************************************************************* +/******************************************************************************* * Copyright (c) 2000, 2006 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 @@ -16,6 +16,7 @@ import dwt.custom.StyleRange; import dwt.custom.ST; import dwt.dwthelper.System; +import dwt.dwthelper.utils; /** * Instances of this class represent bullets in the StyledText. @@ -38,7 +39,7 @@ public class Bullet { public int type; public StyleRange style; - public char[] text; + public String text; int[] linesIndices; int count; diff -r ff59aeb96cac -r ab60f3309436 dwt/custom/BusyIndicator.d --- a/dwt/custom/BusyIndicator.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/custom/BusyIndicator.d Mon May 05 00:12:38 2008 +0200 @@ -27,8 +27,8 @@ public class BusyIndicator { static int nextBusyId = 1; - static const char[] BUSYID_NAME = "DWT BusyIndicator"; //$NON-NLS-1$ - static const char[] BUSY_CURSOR = "DWT BusyIndicator Cursor"; //$NON-NLS-1$ + static const String BUSYID_NAME = "DWT BusyIndicator"; //$NON-NLS-1$ + static const String BUSY_CURSOR = "DWT BusyIndicator Cursor"; //$NON-NLS-1$ /** * Runs the given Runnable while providing diff -r ff59aeb96cac -r ab60f3309436 dwt/custom/CCombo.d --- a/dwt/custom/CCombo.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/custom/CCombo.d Mon May 05 00:12:38 2008 +0200 @@ -196,7 +196,7 @@ * * @see #add(String,int) */ -public void add (char[] string) { +public void add (String string) { checkWidget(); if (string is null) DWT.error (DWT.ERROR_NULL_ARGUMENT); list.add (string); @@ -224,7 +224,7 @@ * * @see #add(String) */ -public void add (char[] string, int index) { +public void add (String string, int index) { checkWidget(); if (string is null) DWT.error (DWT.ERROR_NULL_ARGUMENT); list.add (string, index); @@ -376,7 +376,7 @@ public override Point computeSize (int wHint, int hHint, bool changed) { checkWidget (); int width = 0, height = 0; - char[][] items = list.getItems (); + String[] items = list.getItems (); GC gc = new GC (text); int spacer = gc.stringExtent (" ").x; //$NON-NLS-1$ int textWidth = gc.stringExtent (text.getText ()).x; @@ -412,7 +412,7 @@ checkWidget (); text.copy (); } -void createPopup(char[][] items, int selectionIndex) { +void createPopup(String[] items, int selectionIndex) { // create shell and list popup = new Shell (getShell (), DWT.NO_TRIM | DWT.ON_TOP); int style = getStyle (); @@ -496,7 +496,7 @@ } if (getShell() !is popup.getParent ()) { - char[][] items = list.getItems (); + String[] items = list.getItems (); int selectionIndex = list.getSelectionIndex (); list.removeListener (DWT.Dispose, listener); popup.dispose(); @@ -534,7 +534,7 @@ * an '&' character in the given string. If there are no '&' * characters in the given string, return '\0'. */ -dchar _findMnemonic (char[] string) { +dchar _findMnemonic (String string) { if (string is null) return '\0'; int index = 0; int length = string.length; @@ -602,7 +602,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public char[] getItem (int index) { +public String getItem (int index) { checkWidget(); return list.getItem (index); } @@ -651,7 +651,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public char[] [] getItems () { +public String [] getItems () { checkWidget (); return list.getItems (); } @@ -708,7 +708,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public char[] getText () { +public String getText () { checkWidget (); return text.getText (); } @@ -810,7 +810,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public int indexOf (char[] string) { +public int indexOf (String string) { checkWidget (); if (string is null) DWT.error (DWT.ERROR_NULL_ARGUMENT); return list.indexOf (string); @@ -834,7 +834,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public int indexOf (char[] string, int start) { +public int indexOf (String string, int start) { checkWidget (); if (string is null) DWT.error (DWT.ERROR_NULL_ARGUMENT); return list.indexOf (string, start); @@ -843,7 +843,7 @@ void initAccessible() { AccessibleAdapter accessibleAdapter = new class() AccessibleAdapter { public void getName (AccessibleEvent e) { - char[] name = null; + String name = null; Label label = getAssociatedLabel (); if (label !is null) { name = stripMnemonic (label.getText()); @@ -851,10 +851,10 @@ e.result = name; } public void getKeyboardShortcut(AccessibleEvent e) { - char[] shortcut = null; + String shortcut = null; Label label = getAssociatedLabel (); if (label !is null) { - char[] text = label.getText (); + String text = label.getText (); if (text !is null) { dchar mnemonic = _findMnemonic (text); if (mnemonic !is '\0') { @@ -964,7 +964,7 @@ switch (event.type) { case DWT.Dispose: if (getShell () !is popup.getParent ()) { - char[][] items = list.getItems (); + String[] items = list.getItems (); int selectionIndex = list.getSelectionIndex (); popup = null; list = null; @@ -1170,7 +1170,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public void remove (char[] string) { +public void remove (String string) { checkWidget(); if (string is null) DWT.error (DWT.ERROR_NULL_ARGUMENT); list.remove (string); @@ -1352,7 +1352,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public void setItem (int index, char[] string) { +public void setItem (int index, String string) { checkWidget(); list.setItem (index, string); } @@ -1370,7 +1370,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public void setItems (char[] [] items) { +public void setItems (String [] items) { checkWidget (); list.setItems (items); if (!text.getEditable ()) text.setText (""); //$NON-NLS-1$ @@ -1440,7 +1440,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public void setText (char[] string) { +public void setText (String string) { checkWidget(); if (string is null) DWT.error (DWT.ERROR_NULL_ARGUMENT); int index = list.indexOf (string); @@ -1473,7 +1473,7 @@ text.setTextLimit (limit); } -public override void setToolTipText (char[] string) { +public override void setToolTipText (String string) { checkWidget(); super.setToolTipText(string); arrow.setToolTipText (string); @@ -1507,7 +1507,7 @@ if (count < 0) return; visibleItemCount = count; } -char[] stripMnemonic (char[] string) { +String stripMnemonic (String string) { int index = 0; int length_ = string.length; do { diff -r ff59aeb96cac -r ab60f3309436 dwt/custom/CLabel.d --- a/dwt/custom/CLabel.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/custom/CLabel.d Mon May 05 00:12:38 2008 +0200 @@ -74,13 +74,13 @@ /** Left and right margins */ private static const int INDENT = 3; /** a string inserted in the middle of text that has been shortened */ - private static const char[] ELLIPSIS = "..."; //$NON-NLS-1$ // could use the ellipsis glyph on some platforms "\u2026" + private static const String ELLIPSIS = "..."; //$NON-NLS-1$ // could use the ellipsis glyph on some platforms "\u2026" /** the alignment. Either CENTER, RIGHT, LEFT. Default is LEFT*/ private int align_ = DWT.LEFT; private int hIndent = INDENT; private int vIndent = INDENT; /** the current text */ - private char[] text; + private String text; /** the current icon */ private Image image; // The tooltip is used for two purposes - the application can set @@ -88,7 +88,7 @@ // the text has been truncated due to the label being too short. // The appToolTip stores the tooltip set by the application. Control.tooltiptext // contains whatever tooltip is currently being displayed. - private char[] appToolTipText; + private String appToolTipText; private Image backgroundImage; private Color[] gradientColors; @@ -209,7 +209,7 @@ * an '&' character in the given string. If there are no '&' * characters in the given string, return '\0'. */ -dchar _findMnemonic (char[] string) { +dchar _findMnemonic (String string) { if (string is null) return '\0'; int index = 0; int length = string.length; @@ -248,7 +248,7 @@ /** * Compute the minimum size. */ -private Point getTotalSize(Image image, char[] text) { +private Point getTotalSize(Image image, String text) { Point size = new Point(0, 0); if (image !is null) { @@ -286,11 +286,11 @@ * * @return the text of the label or null */ -public char[] getText() { +public String getText() { //checkWidget(); return text; } -public override char[] getToolTipText () { +public override String getToolTipText () { checkWidget(); return appToolTipText; } @@ -379,7 +379,7 @@ if (rect.width is 0 || rect.height is 0) return; bool shortenText_ = false; - char[] t = text; + String t = text; Image img = image; int availableWidth = Math.max(0, rect.width - 2*hIndent); Point extent = getTotalSize(img, t); @@ -392,7 +392,7 @@ } GC gc = event.gc; - char[][] lines = text is null ? null : splitString(text); + String[] lines = text is null ? null : splitString(text); // shorten the text if (shortenText_) { @@ -765,7 +765,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public void setText(char[] text) { +public void setText(String text) { checkWidget(); if (text is null) text = ""; //$NON-NLS-1$ if ( text !=/*eq*/ this.text) { @@ -773,7 +773,7 @@ redraw(); } } -public override void setToolTipText (char[] string) { +public override void setToolTipText (String string) { super.setToolTipText (string); appToolTipText = super.getToolTipText(); } @@ -788,7 +788,7 @@ * @param width the width to shorten the text to, in pixels * @return the shortened text */ -protected char[] shortenText(GC gc, char[] t, int width) { +protected String shortenText(GC gc, String t, int width) { if (t is null) return null; int w = gc.textExtent(ELLIPSIS, DRAW_FLAGS).x; if (width<=w) return t; @@ -798,8 +798,8 @@ int mid = (max+min)/2 - 1; if (mid <= 0) return t; while (min < mid && mid < max) { - char[] s1 = t[0 .. mid].dup; - char[] s2 = t[l-mid .. l].dup; + String s1 = t[0 .. mid].dup; + String s2 = t[l-mid .. l].dup; int l1 = gc.textExtent(s1, DRAW_FLAGS).x; int l2 = gc.textExtent(s2, DRAW_FLAGS).x; if (l1+w+l2 > width) { @@ -816,8 +816,8 @@ return t[ 0 .. mid ] ~ ELLIPSIS ~ t[ l-mid .. l ]; } -private char[][] splitString(char[] text) { - char[][] lines = new char[][1]; +private String[] splitString(String text) { + String[] lines = new String[1]; int start = 0, pos; do { pos = tango.text.Util.locate( text, '\n', start); @@ -827,7 +827,7 @@ bool crlf = (pos > 0) && (text[ pos - 1 ] is '\r'); lines[lines.length - 1] = text[ start .. pos - (crlf ? 1 : 0)]; start = pos + 1; - char[][] newLines = new char[][lines.length+1]; + String[] newLines = new String[lines.length+1]; System.arraycopy(lines, 0, newLines, 0, lines.length); lines = newLines; } diff -r ff59aeb96cac -r ab60f3309436 dwt/custom/CTabFolder.d --- a/dwt/custom/CTabFolder.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/custom/CTabFolder.d Mon May 05 00:12:38 2008 +0200 @@ -411,7 +411,7 @@ * NO_BACKGROUND style. The NO_BACKGROUND style is not required on platforms * that use double buffering which is true in both of these cases. */ - char[] platform = DWT.getPlatform(); + String platform = DWT.getPlatform(); if ("carbon"==platform || "gtk"==platform) return style; //$NON-NLS-1$ //$NON-NLS-2$ //TEMPORARY CODE @@ -879,7 +879,7 @@ } count = items.length - showCount; } - char[] chevronString = count > 99 ? "99+" : to!(char[])(count); //$NON-NLS-1$ + String chevronString = count > 99 ? "99+" : to!(String)(count); //$NON-NLS-1$ switch (chevronImageState) { case NORMAL: { Color chevronBorder = single ? getSelectionForeground() : getForeground(); @@ -1296,7 +1296,7 @@ * an '&' character in the given string. If there are no '&' * characters in the given string, return '\0'. */ -dchar _findMnemonic (char[] string) { +dchar _findMnemonic (String string) { if (string is null) return '\0'; int index = 0; int length_ = string.length; @@ -1308,7 +1308,7 @@ } while (index < length_); return '\0'; } -char[] stripMnemonic (char[] string) { +String stripMnemonic (String string) { int index = 0; int length_ = string.length; do { @@ -1641,7 +1641,7 @@ final Accessible accessible = getAccessible(); accessible.addAccessibleListener(new class() AccessibleAdapter { public void getName(AccessibleEvent e) { - char[] name = null; + String name = null; int childID = e.childID; if (childID >= 0 && childID < items.length) { name = stripMnemonic(items[childID].getText()); @@ -1656,7 +1656,7 @@ } public void getHelp(AccessibleEvent e) { - char[] help = null; + String help = null; int childID = e.childID; if (childID is ACC.CHILDID_SELF) { help = getToolTipText(); @@ -1667,10 +1667,10 @@ } public void getKeyboardShortcut(AccessibleEvent e) { - char[] shortcut = null; + String shortcut = null; int childID = e.childID; if (childID >= 0 && childID < items.length) { - char[] text = items[childID].getText(); + String text = items[childID].getText(); if (text !is null) { dchar mnemonic = _findMnemonic(text); if (mnemonic !is '\0') { @@ -1738,7 +1738,7 @@ } public void getDefaultAction(AccessibleControlEvent e) { - char[] action = null; + String action = null; int childID = e.childID; if (childID >= 0 && childID < items.length) { action = DWT.getMessage ("SWT_Switch"); //$NON-NLS-1$ @@ -3868,7 +3868,7 @@ items[i].dispose(); } } - static const char[] id = "CTabFolder_showList_Index"; //$NON-NLS-1$ + static const String id = "CTabFolder_showList_Index"; //$NON-NLS-1$ for (int i = 0; i < items.length; i++) { CTabItem tab = items[i]; if (tab.showing) continue; @@ -3912,8 +3912,8 @@ } void _setToolTipText (int x, int y) { - char[] oldTip = getToolTipText(); - char[] newTip = _getToolTip(x, y); + String oldTip = getToolTipText(); + String newTip = _getToolTip(x, y); if (newTip is null || newTip!=oldTip) { setToolTipText(newTip); } @@ -4045,7 +4045,7 @@ notifyListeners(DWT.Resize, new Event()); return true; } -char[] _getToolTip(int x, int y) { +String _getToolTip(int x, int y) { if (showMin && minRect.contains(x, y)) return minimized ? DWT.getMessage("SWT_Restore") : DWT.getMessage("SWT_Minimize"); //$NON-NLS-1$ //$NON-NLS-2$ if (showMax && maxRect.contains(x, y)) return maximized ? DWT.getMessage("SWT_Restore") : DWT.getMessage("SWT_Maximize"); //$NON-NLS-1$ //$NON-NLS-2$ if (showChevron && chevronRect.contains(x, y)) return DWT.getMessage("SWT_ShowList"); //$NON-NLS-1$ diff -r ff59aeb96cac -r ab60f3309436 dwt/custom/CTabFolderEvent.d --- a/dwt/custom/CTabFolderEvent.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/custom/CTabFolderEvent.d Mon May 05 00:12:38 2008 +0200 @@ -18,6 +18,7 @@ import dwt.widgets.Widget; import tango.util.Convert; +import dwt.dwthelper.utils; /** * @@ -81,15 +82,15 @@ * * @return a string representation of the event */ -public override char[] toString() { - char[] string = super.toString (); +public override String toString() { + String string = super.toString (); return string[0.. $ - 1] // remove trailing '}' - ~ " item=" ~ to!(char[])(item) - ~ " doit=" ~ to!(char[])(doit) - ~ " x=" ~ to!(char[])(x) - ~ " y=" ~ to!(char[])(y) - ~ " width=" ~ to!(char[])(width) - ~ " height=" ~ to!(char[])(height) + ~ " item=" ~ to!(String)(item) + ~ " doit=" ~ to!(String)(doit) + ~ " x=" ~ to!(String)(x) + ~ " y=" ~ to!(String)(y) + ~ " width=" ~ to!(String)(width) + ~ " height=" ~ to!(String)(height) ~ "}"; } } diff -r ff59aeb96cac -r ab60f3309436 dwt/custom/CTabItem.d --- a/dwt/custom/CTabItem.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/custom/CTabItem.d Mon May 05 00:12:38 2008 +0200 @@ -28,6 +28,7 @@ import dwt.widgets.Item; import dwt.widgets.Widget; import dwt.custom.CTabFolder; +import dwt.dwthelper.utils; /** * Instances of this class represent a selectable user interface object @@ -48,8 +49,8 @@ int x,y,width,height = 0; Control control; // the tab page - char[] toolTipText; - char[] shortenedText; + String toolTipText; + String shortenedText; int shortenedTextWidth; // Appearance @@ -68,7 +69,7 @@ static final int RIGHT_MARGIN = 4; static final int INTERNAL_SPACING = 4; static final int FLAGS = DWT.DRAW_TRANSPARENT | DWT.DRAW_MNEMONIC; - static final char[] ELLIPSIS = "..."; //$NON-NLS-1$ // could use the ellipsis glyph on some platforms "\u2026" + static final String ELLIPSIS = "..."; //$NON-NLS-1$ // could use the ellipsis glyph on some platforms "\u2026" /** * Constructs a new instance of this class given its parent @@ -148,13 +149,13 @@ return parent.simple; } -char[] shortenText(GC gc, char[] text, int width) { +String shortenText(GC gc, String text, int width) { return useEllipses() ? shortenText(gc, text, width, ELLIPSIS) : shortenText(gc, text, width, ""); //$NON-NLS-1$ } -char[] shortenText(GC gc, char[] text, int width, char[] ellipses) { +String shortenText(GC gc, String text, int width, String ellipses) { if (gc.textExtent(text, FLAGS).x <= width) return text; int ellipseWidth = gc.textExtent(ellipses, FLAGS).x; int length = text.length; @@ -776,10 +777,10 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public char[] getToolTipText () { +public String getToolTipText () { checkWidget(); if (toolTipText is null && shortenedText !is null) { - char[] text = getText(); + String text = getText(); if (shortenedText!=text) return text; } return toolTipText; @@ -811,7 +812,7 @@ int preferredHeight(GC gc) { Image image = getImage(); int h = (image is null) ? 0 : image.getBounds().height; - char[] text = getText(); + String text = getText(); if (font is null) { h = Math.max(h, gc.textExtent(text, FLAGS).y); } else { @@ -831,7 +832,7 @@ if (image !is null && (isSelected || parent.showUnselectedImage)) { w += image.getBounds().width; } - char[] text = null; + String text = null; if (minimum) { int minChars = parent.minChars; text = minChars is 0 ? null : getText(); @@ -996,7 +997,7 @@ parent.redrawTabs(); } } -public override void setText (char[] string) { +public override void setText (String string) { checkWidget(); if (string is null) DWT.error (DWT.ERROR_NULL_ARGUMENT); if (string==getText()) return; @@ -1019,7 +1020,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public void setToolTipText (char[] string) { +public void setToolTipText (String string) { checkWidget(); toolTipText = string; } diff -r ff59aeb96cac -r ab60f3309436 dwt/custom/DefaultContent.d --- a/dwt/custom/DefaultContent.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/custom/DefaultContent.d Mon May 05 00:12:38 2008 +0200 @@ -29,10 +29,10 @@ alias tango.text.Text.Text!(char) StringBuffer; class DefaultContent : StyledTextContent { - private final static char[] LineDelimiter = tango.io.FileConst.FileConst.NewlineString; + private final static String LineDelimiter = tango.io.FileConst.FileConst.NewlineString; StyledTextListener[] textListeners; // stores text listeners for event sending - char[] textStore; // stores the actual text + String textStore; // stores the actual text int gapStart = -1; // the character position start of the gap int gapEnd = -1; // the character position after the end of the gap int gapLine = -1; // the line on which the gap exists, the gap will always be associated with one line @@ -187,7 +187,7 @@ * @param newText start offset of text to replace * @return a bool specifying whether or not the replace operation is valid */ -protected bool isValidReplace(int start, int replaceLength, char[] newText){ +protected bool isValidReplace(int start, int replaceLength, String newText){ if (replaceLength is 0) { // inserting text, see if the \r\n line delimiter is being split if (start is 0) return true; @@ -272,7 +272,7 @@ * @param position the position at which to insert the text * @param text the text to insert */ -void insert(int position, char[] text) { +void insert(int position, String text) { if (text.length is 0) return; int startLine = getLineAtOffset(position); @@ -454,7 +454,7 @@ * @param text the text to lineate * @return number of lines in the text */ -int lineCount(char[] text){ +int lineCount(String text){ int lineCount_ = 0; int length = text.length; for (int i = 0; i < length; i++) { @@ -487,7 +487,7 @@ *
  • ERROR_INVALID_ARGUMENT when index is out of range
  • * */ -public char[] getLine(int index) { +public String getLine(int index) { if ((index >= lineCount_) || (index < 0)) error(DWT.ERROR_INVALID_ARGUMENT); int start = lines[index][0]; int length_ = lines[index][1]; @@ -520,7 +520,7 @@ * @return the platform line delimiter as specified in the line.separator * system property. */ -public char[] getLineDelimiter() { +public String getLineDelimiter() { return LineDelimiter; } /** @@ -529,7 +529,7 @@ * @param index the index of the line to return * @return the logical line text (i.e., without the gap) with delimiters */ -char[] getFullLine(int index) { +String getFullLine(int index) { int start = lines[index][0]; int length_ = lines[index][1]; int end = start + length_ - 1; @@ -552,7 +552,7 @@ * @param index the line index * @return the physical line */ -char[] getPhysicalLine(int index) { +String getPhysicalLine(int index) { int start = lines[index][0]; int length_ = lines[index][1]; return getPhysicalText(start, length_); @@ -700,7 +700,7 @@ * @param length the physical length of the text to return * @return the text */ -char[] getPhysicalText(int start, int length_) { +String getPhysicalText(int start, int length_) { return textStore[ start .. start + length_ ].dup; } /** @@ -712,7 +712,7 @@ * @param length the logical length of the text to return * @return the text */ -public char[] getTextRange(int start, int length_) { +public String getTextRange(int start, int length_) { if (textStore is null) return ""; if (length_ is 0) @@ -775,7 +775,7 @@ * \r\n delimiter or deleting part of this line delimiter is not supported * */ -public void replaceTextRange(int start, int replaceLength, char[] newText){ +public void replaceTextRange(int start, int replaceLength, String newText){ // check for invalid replace operations if (!isValidReplace(start, replaceLength, newText)) DWT.error(DWT.ERROR_INVALID_ARGUMENT); @@ -814,7 +814,7 @@ * * @param text the text */ -public void setText (char[] text){ +public void setText (String text){ textStore = text.dup; gapStart = -1; gapEnd = -1; @@ -839,7 +839,7 @@ int startLineOffset = getOffsetAtLine(startLine); int endLine = getLineAtOffset(position + length_); - char[] endText = ""; + String endText = ""; bool splittingDelimiter = false; if (position + length_ < getCharCount()) { endText = getTextRange(position + length_ - 1, 2); diff -r ff59aeb96cac -r ab60f3309436 dwt/custom/ExtendedModifyEvent.d --- a/dwt/custom/ExtendedModifyEvent.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/custom/ExtendedModifyEvent.d Mon May 05 00:12:38 2008 +0200 @@ -1,4 +1,4 @@ -/******************************************************************************* +/******************************************************************************* * Copyright (c) 2000, 2004 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 @@ -14,6 +14,7 @@ import dwt.events.TypedEvent; import dwt.custom.StyledTextEvent; +import dwt.dwthelper.utils; /** * This event is sent after a text change occurs. @@ -24,7 +25,7 @@ /** length of the new text */ public int length; /** replaced text or empty string if no text was replaced */ - public char[] replacedText; + public String replacedText; static final long serialVersionUID = 3258696507027830832L; diff -r ff59aeb96cac -r ab60f3309436 dwt/custom/LineBackgroundEvent.d --- a/dwt/custom/LineBackgroundEvent.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/custom/LineBackgroundEvent.d Mon May 05 00:12:38 2008 +0200 @@ -1,4 +1,4 @@ -/******************************************************************************* +/******************************************************************************* * Copyright (c) 2000, 2005 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 @@ -16,6 +16,7 @@ import dwt.events.TypedEvent; import dwt.graphics.Color; import dwt.custom.StyledTextEvent; +import dwt.dwthelper.utils; /** * This event is sent when a line is about to be drawn. @@ -30,7 +31,7 @@ /** * line text */ - public char[] lineText; + public String lineText; /** * line background color diff -r ff59aeb96cac -r ab60f3309436 dwt/custom/LineStyleEvent.d --- a/dwt/custom/LineStyleEvent.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/custom/LineStyleEvent.d Mon May 05 00:12:38 2008 +0200 @@ -1,4 +1,4 @@ -/******************************************************************************* +/******************************************************************************* * Copyright (c) 2000, 2006 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 @@ -16,6 +16,7 @@ import dwt.custom.StyleRange; import dwt.custom.Bullet; import dwt.custom.StyledTextEvent; +import dwt.dwthelper.utils; /** * This event is sent when a line is about to be drawn. @@ -30,7 +31,7 @@ /** * line text (input) */ - public char[] lineText; + public String lineText; /** * line ranges (output) diff -r ff59aeb96cac -r ab60f3309436 dwt/custom/MovementEvent.d --- a/dwt/custom/MovementEvent.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/custom/MovementEvent.d Mon May 05 00:12:38 2008 +0200 @@ -1,4 +1,4 @@ -/******************************************************************************* +/******************************************************************************* * Copyright (c) 2000, 2007 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 @@ -14,6 +14,7 @@ import dwt.events.TypedEvent; import dwt.custom.StyledTextEvent; +import dwt.dwthelper.utils; /** * This event is sent when a new offset is required based on the current @@ -31,7 +32,7 @@ /** * line text (input) */ - public char[] lineText; + public String lineText; /** * the current offset (input) diff -r ff59aeb96cac -r ab60f3309436 dwt/custom/PopupList.d --- a/dwt/custom/PopupList.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/custom/PopupList.d Mon May 05 00:12:38 2008 +0200 @@ -1,4 +1,4 @@ -/******************************************************************************* +/******************************************************************************* * Copyright (c) 2000, 2007 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 @@ -29,6 +29,8 @@ import dwt.widgets.List; import dwt.widgets.Listener; import dwt.widgets.Shell; +import dwt.dwthelper.utils; + /** * A PopupList is a list of selectable items that appears in its own shell positioned above * its parent shell. It is used for selecting items when editing a Table cell (similar to the @@ -127,7 +129,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public char[][] getItems () { +public String[] getItems () { return list.getItems(); } /** @@ -146,7 +148,7 @@ * * @return the text of the selected item or null if no item is selected */ -public char[] open (Rectangle rect) { +public String open (Rectangle rect) { Point listSize = list.computeSize (rect.width, DWT.DEFAULT, false); Rectangle screenSize = shell.getDisplay().getBounds(); @@ -194,16 +196,16 @@ if (!display.readAndDispatch()) display.sleep(); } - char[] result = null; + String result = null; if (!shell.isDisposed ()) { - char[] [] strings = list.getSelection (); + String [] strings = list.getSelection (); shell.dispose(); if (strings.length !is 0) result = strings [0]; } return result; } /** -* Selects an item with text that starts with specified char[]. +* Selects an item with text that starts with specified String. *

    * If the item is not currently selected, it is selected. * If the item at an index is selected, it remains selected. @@ -216,8 +218,8 @@ *

  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public void select(char[] string) { - char[][] items = list.getItems(); +public void select(String string) { + String[] items = list.getItems(); // find the first entry in the list that starts with the // specified string @@ -269,7 +271,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public void setItems (char[][] strings) { +public void setItems (String[] strings) { list.setItems(strings); } /** diff -r ff59aeb96cac -r ab60f3309436 dwt/custom/SashFormData.d --- a/dwt/custom/SashFormData.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/custom/SashFormData.d Mon May 05 00:12:38 2008 +0200 @@ -14,13 +14,14 @@ static import tango.text.Util; import tango.util.Convert; +import dwt.dwthelper.utils; class SashFormData { long weight; -char[] getName () { - char[] string = this.classinfo.name; +String getName () { + String string = this.classinfo.name; int index = tango.text.Util.locatePrior( string ,'.' ); if (index is string.length ) return string; return string[ index + 1 .. $ ]; @@ -32,7 +33,7 @@ * * @return a string representation of the event */ -public override char[] toString () { - return getName()~" {weight="~to!(char[])(weight)~"}"; //$NON-NLS-2$ +public override String toString () { + return getName()~" {weight="~to!(String)(weight)~"}"; //$NON-NLS-2$ } } diff -r ff59aeb96cac -r ab60f3309436 dwt/custom/ScrolledComposite.d --- a/dwt/custom/ScrolledComposite.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/custom/ScrolledComposite.d Mon May 05 00:12:38 2008 +0200 @@ -24,6 +24,7 @@ import dwt.widgets.Listener; import dwt.widgets.ScrollBar; import dwt.custom.ScrolledCompositeLayout; +import dwt.dwthelper.utils; /** * A ScrolledComposite provides scrollbars and will scroll its content when the user diff -r ff59aeb96cac -r ab60f3309436 dwt/custom/StackLayout.d --- a/dwt/custom/StackLayout.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/custom/StackLayout.d Mon May 05 00:12:38 2008 +0200 @@ -129,8 +129,8 @@ } } -char[] getName () { - char[] string = this.classinfo.name; +String getName () { + String string = this.classinfo.name; int index = tango.text.Util.locatePrior( string ,'.'); if (index is string.length ) return string; return string[ index + 1 .. $ ]; @@ -142,11 +142,11 @@ * * @return a string representation of the layout */ -public override char[] toString () { - char[] string = getName ()~" {"; - if (marginWidth !is 0) string ~= "marginWidth="~to!(char[])(marginWidth)~" "; - if (marginHeight !is 0) string ~= "marginHeight="~to!(char[])(marginHeight)~" "; - if (topControl !is null) string ~= "topControl="~to!(char[])(topControl)~" "; +public override String toString () { + String string = getName ()~" {"; + if (marginWidth !is 0) string ~= "marginWidth="~to!(String)(marginWidth)~" "; + if (marginHeight !is 0) string ~= "marginHeight="~to!(String)(marginHeight)~" "; + if (topControl !is null) string ~= "topControl="~to!(String)(topControl)~" "; string = tango.text.Util.trim(string); string ~= "}"; return string; diff -r ff59aeb96cac -r ab60f3309436 dwt/custom/StyleRange.d --- a/dwt/custom/StyleRange.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/custom/StyleRange.d Mon May 05 00:12:38 2008 +0200 @@ -20,6 +20,7 @@ import dwt.custom.StyleRange; import dwt.custom.TextChangedEvent; import dwt.custom.TextChangingEvent; +import dwt.dwthelper.utils; static import tango.text.Text; alias tango.text.Text.Text!(char) StringBuffer; @@ -175,7 +176,7 @@ * * @return a string representation of the StyleRange */ -public override char[] toString() { +public override String toString() { StringBuffer buffer = new StringBuffer(); buffer.append("StyleRange {"); buffer.append(start); @@ -195,7 +196,7 @@ default: buffer.append("normal"); } - char[] str = super.toString(); + String str = super.toString(); int index = tango.text.Util.locate( str, '{'); if( index is str.length ) index = -1; str = str[ index + 1 .. $ ]; diff -r ff59aeb96cac -r ab60f3309436 dwt/custom/StyledText.d --- a/dwt/custom/StyledText.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/custom/StyledText.d Mon May 05 00:12:38 2008 +0200 @@ -148,7 +148,7 @@ alias Canvas.computeSize computeSize; static const char TAB = '\t'; - static const char[] PlatformLineDelimiter = tango.io.FileConst.FileConst.NewlineString; + static const String PlatformLineDelimiter = tango.io.FileConst.FileConst.NewlineString; static const int BIDI_CARET_WIDTH = 3; static const int DEFAULT_WIDTH = 64; static const int DEFAULT_HEIGHT = 64; @@ -229,7 +229,7 @@ const static bool IS_CARBON, IS_GTK, IS_MOTIF; static this(){ - char[] platform = DWT.getPlatform(); + String platform = DWT.getPlatform(); IS_CARBON = ("carbon" == platform); IS_GTK = ("gtk" == platform); IS_MOTIF = ("motif" == platform); @@ -313,7 +313,7 @@ if (styledText.isListening(LineGetBackground) || (styledText.isBidi() && styledText.isListening(LineGetSegments)) || styledText.isListening(LineGetStyle)) { StyledTextContent content = printerRenderer.content; for (int i = 0; i < lineCount; i++) { - char[] line = content.getLine(i); + String line = content.getLine(i); int lineOffset = content.getOffsetAtLine(i); StyledTextEvent event = styledText.getLineBackgroundData(lineOffset, line); if (event !is null && event.lineBackground !is null) { @@ -601,12 +601,12 @@ * @param header true = print the header, false = print the footer */ void printDecoration(int page, bool header, TextLayout layout) { - char[] text = header ? printOptions.header : printOptions.footer; + String text = header ? printOptions.header : printOptions.footer; if (text is null) return; int lastSegmentIndex = 0; for (int i = 0; i < 3; i++) { int segmentIndex = tango.text.Util.locatePattern( text, StyledTextPrintOptions.SEPARATOR, lastSegmentIndex); - char[] segment; + String segment; if (segmentIndex is text.length ) { segment = text[ lastSegmentIndex .. $ ].dup; printDecorationSegment(segment, i, page, header, layout); @@ -628,7 +628,7 @@ * @param page page number to print, if specified in the decoration segment. * @param header true = print the header, false = print the footer */ - void printDecorationSegment(char[] segment, int alignment, int page, bool header, TextLayout layout) { + void printDecorationSegment(String segment, int alignment, int page, bool header, TextLayout layout) { int pageIndex = tango.text.Util.locatePattern( segment, StyledTextPrintOptions.PAGE_TAG ); if (pageIndex !is segment.length ) { int pageTagLength = StyledTextPrintOptions.PAGE_TAG.length; @@ -676,7 +676,7 @@ FontMetrics metrics = layout.getLineMetrics(0); printLayout.setAscent(metrics.getAscent() + metrics.getDescent()); printLayout.setDescent(metrics.getDescent()); - printLayout.setText( to!(char[])(index) ); + printLayout.setText( to!(String)(index) ); int paintX = x - printMargin - printLayout.getBounds().width; printLayout.draw(gc, paintX, y); printLayout.setAscent(-1); @@ -689,7 +689,7 @@ * Starts a print job and prints the pages specified in the constructor. */ public void run() { - char[] jobName = printOptions.jobName; + String jobName = printOptions.jobName; if (jobName is null) { jobName = "Printing"; } @@ -804,12 +804,12 @@ * Don't write Unicode RTF on Windows 95/98/ME or NT. */ void setUnicode() { -// const char[] Win95 = "windows 95"; -// const char[] Win98 = "windows 98"; -// const char[] WinME = "windows me"; -// const char[] WinNT = "windows nt"; -// char[] osName = System.getProperty("os.name").toLowerCase(); -// char[] osVersion = System.getProperty("os.version"); +// const String Win95 = "windows 95"; +// const String Win98 = "windows 98"; +// const String WinME = "windows me"; +// const String WinNT = "windows nt"; +// String osName = System.getProperty("os.name").toLowerCase(); +// String osVersion = System.getProperty("os.version"); // int majorVersion = 0; // // if (osName.startsWith(WinNT) && osVersion !is null) { @@ -839,7 +839,7 @@ * @param start start offset of segment. 0 based. * @param end end offset of segment */ - void write(char[] string, int start, int end) { + void write(String string, int start, int end) { wchar[] wstring = tango.text.convert.Utf.toString16( string[ start .. end ] ); start = 0; end = wstring.length; @@ -852,7 +852,7 @@ write(tango.text.convert.Utf.toString(wstring[start .. index ])); } write("\\u"); - write( to!(char[])( cast(short)ch )); + write( to!(String)( cast(short)ch )); write(' '); // control word delimiter start = index + 1; } else if (ch is '}' || ch is '{' || ch is '\\') { @@ -881,8 +881,8 @@ header.append("{\\rtf1\\ansi"); // specify code page, necessary for copy to work in bidi // systems that don't support Unicode RTF. - // PORTING_TODO: char[] cpg = System.getProperty("file.encoding").toLowerCase(); - char[] cpg = "UTF16"; + // PORTING_TODO: String cpg = System.getProperty("file.encoding").toLowerCase(); + String cpg = "UTF16"; /+ if (cpg.startsWith("cp") || cpg.startsWith("ms")) { cpg = cpg.substring(2, cpg.length()); @@ -934,7 +934,7 @@ *
  • ERROR_IO when the writer is closed.
  • * */ - public override void writeLine(char[] line, int lineOffset) { + public override void writeLine(String line, int lineOffset) { if (isClosed()) { DWT.error(DWT.ERROR_IO); } @@ -971,7 +971,7 @@ *
  • ERROR_IO when the writer is closed.
  • * */ - public override void writeLineDelimiter(char[] lineDelimiter) { + public override void writeLineDelimiter(String lineDelimiter) { if (isClosed()) { DWT.error(DWT.ERROR_IO); } @@ -996,7 +996,7 @@ * @param lineBackground line background color to use for formatting. * May be null. */ - void writeStyledLine(char[] line, int lineOffset, int ranges[], StyleRange[] styles, Color lineBackground, int indent, int alignment, bool justify) { + void writeStyledLine(String line, int lineOffset, int ranges[], StyleRange[] styles, Color lineBackground, int indent, int alignment, bool justify) { int lineLength = line.length; int startOffset = getStart(); int writeOffset = startOffset - lineOffset; @@ -1174,13 +1174,13 @@ * * @return the string */ - public override char[] toString() { + public override String toString() { return buffer.toString(); } /** * Appends the given string to the data. */ - void write(char[] string) { + void write(String string) { buffer.append(string); } /** @@ -1192,7 +1192,7 @@ * @param string text to insert * @param offset offset in the existing data to insert "string" at. */ - void write(char[] string, int offset) { + void write(String string, int offset) { if (offset < 0 || offset > buffer.length()) { return; } @@ -1223,7 +1223,7 @@ *
  • ERROR_IO when the writer is closed.
  • * */ - public void writeLine(char[] line, int lineOffset) { + public void writeLine(String line, int lineOffset) { if (isClosed_) { DWT.error(DWT.ERROR_IO); } @@ -1250,7 +1250,7 @@ *
  • ERROR_IO when the writer is closed.
  • * */ - public void writeLineDelimiter(char[] lineDelimiter) { + public void writeLineDelimiter(String lineDelimiter) { if (isClosed_) { DWT.error(DWT.ERROR_IO); } @@ -1567,7 +1567,7 @@ * Appends a string to the text at the end of the widget. * * @param string the string to be appended - * @see #replaceTextRange(int,int,char[]) + * @see #replaceTextRange(int,int,String) * @exception DWTException */ -public void append(char[] string) { +public void append(String string) { checkWidget(); if (string is null) { DWT.error(DWT.ERROR_NULL_ARGUMENT); @@ -1891,7 +1891,7 @@ * specified by the model. Returns only the first line if the widget * has the DWT.SINGLE style. */ -char[] getModelDelimitedText(char[] text) { +String getModelDelimitedText(String text) { int length = text.length; if (length is 0) { return text; @@ -1900,7 +1900,7 @@ int lfIndex = 0; int i = 0; StringBuffer convertedText = new StringBuffer(length); - char[] delimiter = getLineDelimiter(); + String delimiter = getLineDelimiter(); while (i < length) { if (crIndex !is -1) { crIndex = tango.text.Util.locate( text, DWT.CR, i); @@ -2255,7 +2255,7 @@ // tab character (tabs are always inserted without overwriting)? int lineIndex = content.getLineAtOffset(event.end); int lineOffset = content.getOffsetAtLine(lineIndex); - char[] line = content.getLine(lineIndex); + String line = content.getLine(lineIndex); // replace character at caret offset if the caret is not at the // end of the line if (event.end < lineOffset + line.length) { @@ -3246,7 +3246,7 @@ } Rectangle getBoundsAtOffset(int offset) { int lineIndex = content.getLineAtOffset(offset); - char[] line = content.getLine(lineIndex); + String line = content.getLine(lineIndex); Rectangle bounds; if (line.length !is 0) { int offsetInLine = offset - content.getOffsetAtLine(lineIndex); @@ -3574,7 +3574,7 @@ * @param line line to get line background data for * @return line background data for the given line. */ -StyledTextEvent getLineBackgroundData(int lineOffset, char[] line) { +StyledTextEvent getLineBackgroundData(int lineOffset, String line) { return sendLineEvent(LineGetBackground, lineOffset, line); } /** @@ -3615,7 +3615,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public char[] getLineDelimiter() { +public String getLineDelimiter() { checkWidget(); return content.getLineDelimiter(); } @@ -3753,7 +3753,7 @@ * @return line style data for the given line. Styles may start before * line start and end after line end */ -StyledTextEvent getLineStyleData(int lineOffset, char[] line) { +StyledTextEvent getLineStyleData(int lineOffset, String line) { return sendLineEvent(LineGetStyle, lineOffset, line); } /** @@ -3915,7 +3915,7 @@ int x = point.x + horizontalScrollOffset - leftMargin ; int y = point.y - getLinePixel(lineIndex); int offsetInLine = layout.getOffset(x, y, trailing); - char[] line = content.getLine(lineIndex); + String line = content.getLine(lineIndex); if (offsetInLine !is line.length - 1) { offsetInLine = Math.min(line.length, offsetInLine + trailing[0]); } @@ -3953,7 +3953,7 @@ offsetInLine += trailing[0]; caretAlignment = PREVIOUS_OFFSET_TRAILING; } else { - char[] line = content.getLine(lineIndex); + String line = content.getLine(lineIndex); int level; int offset = offsetInLine; while (offset > 0 && tango.text.Unicode.isDigit(line[offset])) offset--; @@ -4023,11 +4023,11 @@ * @return the content in the specified range using the platform line * delimiter to separate lines as written by the specified TextWriter. */ -char[] getPlatformDelimitedText(TextWriter writer) { +String getPlatformDelimitedText(TextWriter writer) { int end = writer.getStart() + writer.getCharCount(); int startLine = content.getLineAtOffset(writer.getStart()); int endLine = content.getLineAtOffset(end); - char[] endLineText = content.getLine(endLine); + String endLineText = content.getLine(endLine); int endLineOffset = content.getOffsetAtLine(endLine); for (int i = startLine; i <= endLine; i++) { @@ -4216,7 +4216,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public char[] getSelectionText() { +public String getSelectionText() { checkWidget(); return content.getTextRange(selection.x, selection.y - selection.x); } @@ -4248,7 +4248,7 @@ * exceed the line length or have duplicates * */ -int [] getBidiSegments(int lineOffset, char[] line) { +int [] getBidiSegments(int lineOffset, String line) { if (!isBidi()) return null; if (!isListening(LineGetSegments)) { return getBidiSegmentsCompatibility(line, lineOffset); @@ -4285,7 +4285,7 @@ * @see #getBidiSegments * Supports deprecated setBidiColoring API. Remove when API is removed. */ -int [] getBidiSegmentsCompatibility(char[] line, int lineOffset) { +int [] getBidiSegmentsCompatibility(String line, int lineOffset) { int lineLength = line.length; if (!bidiColoring) { return [0, lineLength]; @@ -4539,14 +4539,14 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public char[] getText() { +public String getText() { checkWidget(); return content.getTextRange(0, getCharCount()); } /** * Returns the widget content between the two offsets. * - * @param start offset of the first character in the returned char[] + * @param start offset of the first character in the returned String * @param end offset of the last character in the returned String * @return widget content starting at start and ending at end * @see #getTextRange(int,int) @@ -4558,7 +4558,7 @@ *
  • ERROR_INVALID_RANGE when start and/or end are outside the widget content
  • * */ -public char[] getText(int start, int end) { +public String getText(int start, int end) { checkWidget(); int contentLength = getCharCount(); if (start < 0 || start >= contentLength || end < 0 || end >= contentLength || start > end) { @@ -4600,7 +4600,7 @@ if (i is lineStart && i is lineEnd) { rect = layout.getBounds(start - lineOffset, end - lineOffset); } else if (i is lineStart) { - char[] line = content.getLine(i); + String line = content.getLine(i); rect = layout.getBounds(start - lineOffset, line.length); } else if (i is lineEnd) { rect = layout.getBounds(0, end - lineOffset); @@ -4633,7 +4633,7 @@ *
  • ERROR_INVALID_RANGE when start and/or length are outside the widget content
  • * */ -public char[] getTextRange(int start, int length) { +public String getTextRange(int start, int length) { checkWidget(); int contentLength = getCharCount(); int end = start + length; @@ -4730,7 +4730,7 @@ updateCaretDirection = false; int caretLine = getCaretLine(); int lineOffset = content.getOffsetAtLine(caretLine); - char[] line = content.getLine(caretLine); + String line = content.getLine(caretLine); int offset = caretOffset - lineOffset; int lineLength = line.length; if (lineLength is 0) return isMirrored() ? DWT.RIGHT : DWT.LEFT; @@ -4760,7 +4760,7 @@ } int getWordNext (int offset, int movement) { int newOffset, lineOffset; - char[] lineText; + String lineText; if (offset >= getCharCount()) { newOffset = offset; int lineIndex = content.getLineCount() - 1; @@ -4783,7 +4783,7 @@ } int getWordPrevious(int offset, int movement) { int newOffset, lineOffset; - char[] lineText; + String lineText; if (offset <= 0) { newOffset = 0; int lineIndex = content.getLineAtOffset(newOffset); @@ -4794,7 +4794,7 @@ lineOffset = content.getOffsetAtLine(lineIndex); lineText = content.getLine(lineIndex); if (offset is lineOffset) { - char[] nextLineText = content.getLine(lineIndex - 1); + String nextLineText = content.getLine(lineIndex - 1); int nextLineOffset = content.getOffsetAtLine(lineIndex - 1); newOffset = nextLineOffset + nextLineText.length; } else { @@ -4825,7 +4825,7 @@ */ Point getPointAtOffset(int offset) { int lineIndex = content.getLineAtOffset(offset); - char[] line = content.getLine(lineIndex); + String line = content.getLine(lineIndex); int lineOffset = content.getOffsetAtLine(lineIndex); int offsetInLine = offset - lineOffset; int lineLength = line.length; @@ -4867,7 +4867,7 @@ * Inserts a string. The old selection is replaced with the new text. * * @param string the string - * @see #replaceTextRange(int,int,char[]) + * @see #replaceTextRange(int,int,String) * @exception DWTException */ -public void insert(char[] string) { +public void insert(String string) { checkWidget(); if (string is null) { DWT.error(DWT.ERROR_NULL_ARGUMENT); @@ -5210,7 +5210,7 @@ //paste clipboard selection if (event.button is 2) { auto o = cast(ArrayWrapperString)getClipboardContent(DND.SELECTION_CLIPBOARD); - char[] text = o.array; + String text = o.array; if (text !is null && text.length > 0) { // position cursor doMouseLocationChange(event.x, event.y, false); @@ -5526,7 +5526,7 @@ final Accessible accessible = getAccessible(); accessible.addAccessibleListener(new class() AccessibleAdapter { public void getName (AccessibleEvent e) { - char[] name = null; + String name = null; Label label = getAssociatedLabel (); if (label !is null) { name = stripMnemonic (label.getText()); @@ -5537,10 +5537,10 @@ e.result = getToolTipText(); } public void getKeyboardShortcut(AccessibleEvent e) { - char[] shortcut = null; + String shortcut = null; Label label = getAssociatedLabel (); if (label !is null) { - char[] text = label.getText (); + String text = label.getText (); if (text !is null) { dchar mnemonic = _findMnemonic (text); if (mnemonic !is '\0') { @@ -5600,7 +5600,7 @@ } return null; } -char[] stripMnemonic (char[] string) { +String stripMnemonic (String string) { int index = 0; int length_ = string.length; do { @@ -5618,7 +5618,7 @@ * an '&' character in the given string. If there are no '&' * characters in the given string, return '\0'. */ -dchar _findMnemonic (char[] string) { +dchar _findMnemonic (String string) { if (string is null) return '\0'; int index = 0; int length_ = string.length; @@ -5918,7 +5918,7 @@ */ public void paste(){ checkWidget(); - char[] text = (cast(ArrayWrapperString) getClipboardContent(DND.CLIPBOARD)).array; + String text = (cast(ArrayWrapperString) getClipboardContent(DND.CLIPBOARD)).array; if (text !is null && text.length > 0) { Event event = new Event(); event.start = selection.x; @@ -6395,7 +6395,7 @@ *
  • ERROR_NULL_ARGUMENT when string is null
  • * */ -public void replaceTextRange(int start, int length, char[] text) { +public void replaceTextRange(int start, int length, String text) { checkWidget(); if (text is null) { DWT.error(DWT.ERROR_NULL_ARGUMENT); @@ -6638,7 +6638,7 @@ * @return StyledTextEvent that can be used to request line data * for the given line. */ -StyledTextEvent sendLineEvent(int eventType, int lineOffset, char[] line) { +StyledTextEvent sendLineEvent(int eventType, int lineOffset, String line) { StyledTextEvent event = null; if (isListening(eventType)) { event = new StyledTextEvent(content); @@ -6675,7 +6675,7 @@ event.y = selection.y; notifyListeners(DWT.Selection, event); } -int sendWordBoundaryEvent(int eventType, int movement, int offset, int newOffset, char[] lineText, int lineOffset) { +int sendWordBoundaryEvent(int eventType, int movement, int offset, int newOffset, String lineText, int lineOffset) { if (isListening(eventType)) { StyledTextEvent event = new StyledTextEvent(content); event.detail = lineOffset; @@ -6874,7 +6874,7 @@ if (clipboardType is DND.SELECTION_CLIPBOARD && !(IS_MOTIF || IS_GTK)) return; TextTransfer plainTextTransfer = TextTransfer.getInstance(); TextWriter plainTextWriter = new TextWriter(start, length); - char[] plainText = getPlatformDelimitedText(plainTextWriter); + String plainText = getPlatformDelimitedText(plainTextWriter); Object[] data; Transfer[] types; if (clipboardType is DND.SELECTION_CLIPBOARD) { @@ -6883,7 +6883,7 @@ } else { RTFTransfer rtfTransfer = RTFTransfer.getInstance(); RTFWriter rtfWriter = new RTFWriter(start, length); - char[] rtfText = getPlatformDelimitedText(rtfWriter); + String rtfText = getPlatformDelimitedText(rtfWriter); data = [ cast(Object) new ArrayWrapperString(rtfText), new ArrayWrapperString(plainText) ]; types = [ cast(Transfer)rtfTransfer, plainTextTransfer]; } @@ -8034,7 +8034,7 @@ *
  • ERROR_NULL_ARGUMENT when string is null
  • * */ -public void setText(char[] text) { +public void setText(String text) { checkWidget(); if (text is null) { DWT.error(DWT.ERROR_NULL_ARGUMENT); diff -r ff59aeb96cac -r ab60f3309436 dwt/custom/StyledTextContent.d --- a/dwt/custom/StyledTextContent.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/custom/StyledTextContent.d Mon May 05 00:12:38 2008 +0200 @@ -1,4 +1,4 @@ -/******************************************************************************* +/******************************************************************************* * Copyright (c) 2000, 2006 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 @@ -13,6 +13,8 @@ module dwt.custom.StyledTextContent; import dwt.custom.TextChangeListener; +import dwt.dwthelper.utils; + /** * Clients may implement the StyledTextContent interface to provide a * custom store for the StyledText widget content. The StyledText widget @@ -53,7 +55,7 @@ * content. * @return the line text without delimiters */ -public char[] getLine(int lineIndex); +public String getLine(int lineIndex); /** * Return the line index at the given character offset. @@ -103,7 +105,7 @@ * @return the line delimiter that should be used by the StyledText widget * when inserting new lines. */ -public char[] getLineDelimiter(); +public String getLineDelimiter(); /** * Return the character offset of the first character of the given line. @@ -134,7 +136,7 @@ * @param length the length of the text to return * @return the text at the given range */ -public char[] getTextRange(int start, int length); +public String getTextRange(int start, int length); /** * Remove the specified text changed listener. @@ -192,7 +194,7 @@ * @param text text to replace * @see TextChangeListener */ -public void replaceTextRange(int start, int replaceLength, char[] text); +public void replaceTextRange(int start, int replaceLength, String text); /** * Set text to "text". @@ -204,5 +206,5 @@ * @param text the new text * @see TextChangeListener */ -public void setText(char[] text); +public void setText(String text); } diff -r ff59aeb96cac -r ab60f3309436 dwt/custom/StyledTextEvent.d --- a/dwt/custom/StyledTextEvent.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/custom/StyledTextEvent.d Mon May 05 00:12:38 2008 +0200 @@ -1,4 +1,4 @@ -/******************************************************************************* +/******************************************************************************* * Copyright (c) 2000, 2007 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 @@ -18,6 +18,7 @@ import dwt.custom.StyleRange; import dwt.custom.Bullet; import dwt.custom.StyledTextContent; +import dwt.dwthelper.utils; /** * diff -r ff59aeb96cac -r ab60f3309436 dwt/custom/StyledTextPrintOptions.d --- a/dwt/custom/StyledTextPrintOptions.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/custom/StyledTextPrintOptions.d Mon May 05 00:12:38 2008 +0200 @@ -1,4 +1,4 @@ -/******************************************************************************* +/******************************************************************************* * Copyright (c) 2000, 2006 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 @@ -12,6 +12,8 @@ *******************************************************************************/ module dwt.custom.StyledTextPrintOptions; +import dwt.dwthelper.utils; + /** * Use StyledTextPrintOptions to specify printing options for the * StyledText.print(Printer, StyledTextPrintOptions) API. @@ -36,12 +38,12 @@ * Page number placeholder constant for use in header * and footer. Value is <page> */ - public static final char[] PAGE_TAG = ""; + public static final String PAGE_TAG = ""; /** * Separator constant for use in header and * footer. Value is \t */ - public static final char[] SEPARATOR = "\t"; + public static final String SEPARATOR = "\t"; /** * Formatted text to print in the header of each page. *

    "left '\t' center '\t' right"

    @@ -52,7 +54,7 @@ * left aligned, centered and right aligned. They are separated by a tab * character (StyledTextPrintOptions.SEPARATOR). */ - public char[] header = null; + public String header = null; /** * Formatted text to print in the footer of each page. *

    "left '\t' center '\t' right"

    @@ -63,11 +65,11 @@ * left aligned, centered and right aligned. They are separated by a tab * character (StyledTextPrintOptions.SEPARATOR). */ - public char[] footer = null; + public String footer = null; /** * Name of the print job. */ - public char[] jobName = null; + public String jobName = null; /** * Print the text foreground color. Default value is false. diff -r ff59aeb96cac -r ab60f3309436 dwt/custom/StyledTextRenderer.d --- a/dwt/custom/StyledTextRenderer.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/custom/StyledTextRenderer.d Mon May 05 00:12:38 2008 +0200 @@ -359,11 +359,11 @@ } Font font = style.font; if (font !is null) gc.setFont(font); - char[] string = ""; + String string = ""; int type = bullet.type & (ST.BULLET_DOT|ST.BULLET_NUMBER|ST.BULLET_LETTER_LOWER|ST.BULLET_LETTER_UPPER); switch (type) { case ST.BULLET_DOT: string = "\u2022"; break; - case ST.BULLET_NUMBER: string = to!(char[])(index); break; + case ST.BULLET_NUMBER: string = to!(String)(index); break; case ST.BULLET_LETTER_LOWER: string = [cast(char) (index % 26 + 97)]; break; case ST.BULLET_LETTER_UPPER: string = [cast(char) (index % 26 + 65)]; break; default: @@ -384,7 +384,7 @@ } int drawLine(int lineIndex, int paintX, int paintY, GC gc, Color widgetBackground, Color widgetForeground) { TextLayout layout = getTextLayout(lineIndex); - char[] line = content.getLine(lineIndex); + String line = content.getLine(lineIndex); int lineOffset = content.getOffsetAtLine(lineIndex); int lineLength = line.length; Point selection = styledText.getSelection(); @@ -731,7 +731,7 @@ } } if (layout is null) layout = new TextLayout(device); - char[] line = content.getLine(lineIndex); + String line = content.getLine(lineIndex); int lineOffset = content.getOffsetAtLine(lineIndex); int[] segments = null; int indent = 0; diff -r ff59aeb96cac -r ab60f3309436 dwt/custom/TableCursor.d --- a/dwt/custom/TableCursor.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/custom/TableCursor.d Mon May 05 00:12:38 2008 +0200 @@ -438,12 +438,12 @@ gc.drawImage(image, x, imageY); x += imageSize.width; } - char[] text = row.getText(columnIndex); + String text = row.getText(columnIndex); if (text.length > 0) { Rectangle bounds = row.getBounds(columnIndex); Point extent = gc.stringExtent(text); // Temporary code - need a better way to determine table trim - char[] platform = DWT.getPlatform(); + String platform = DWT.getPlatform(); if ("win32"==platform) { //$NON-NLS-1$ if (table.getColumnCount() is 0 || columnIndex is 0) { x += 2; diff -r ff59aeb96cac -r ab60f3309436 dwt/custom/TableEditor.d --- a/dwt/custom/TableEditor.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/custom/TableEditor.d Mon May 05 00:12:38 2008 +0200 @@ -41,7 +41,7 @@ * TableColumn column2 = new TableColumn(table, DWT.NONE); * for (int i = 0; i < 10; i++) { * TableItem item = new TableItem(table, DWT.NONE); -* item.setText(new char[][] {"item " + i, "edit this value"}); +* item.setText(new String[] {"item " + i, "edit this value"}); * } * column1.pack(); * column2.pack(); diff -r ff59aeb96cac -r ab60f3309436 dwt/custom/TableTree.d --- a/dwt/custom/TableTree.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/custom/TableTree.d Mon May 05 00:12:38 2008 +0200 @@ -85,9 +85,9 @@ bool inDispose = false; static final TableTreeItem[] EMPTY_ITEMS; - static final char[][] EMPTY_TEXTS; + static final String[] EMPTY_TEXTS; static final Image[] EMPTY_IMAGES; - static final char[] ITEMID = "TableTreeItemID"; //$NON-NLS-1$ + static final String ITEMID = "TableTreeItemID"; //$NON-NLS-1$ /** * Constructs a new instance of this class given its parent @@ -791,7 +791,7 @@ } table.setSelection(tableItems); } -public override void setToolTipText (char[] string) { +public override void setToolTipText (String string) { super.setToolTipText(string); table.setToolTipText(string); } diff -r ff59aeb96cac -r ab60f3309436 dwt/custom/TableTreeItem.d --- a/dwt/custom/TableTreeItem.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/custom/TableTreeItem.d Mon May 05 00:12:38 2008 +0200 @@ -42,7 +42,7 @@ TableTree parent; TableTreeItem parentItem; TableTreeItem [] items; - char[][] texts; + String[] texts; Image[] images; Color background; Color foreground; @@ -488,7 +488,7 @@ //checkWidget(); return parentItem; } -public override char[] getText () { +public override String getText () { checkWidget(); return getText(0); } @@ -505,7 +505,7 @@ * @param index the index of the item * @return the item text at the specified index, which can be null */ -public char[] getText(int index) { +public String getText(int index) { //checkWidget(); if (0 <= index && index < texts.length) return texts[index]; return null; @@ -827,20 +827,20 @@ *
  • ERROR_WIDGET_DISPOSED when the widget has been disposed
  • * */ -public void setText(int index, char[] text) { +public void setText(int index, String text) { checkWidget(); if (text is null) DWT.error (DWT.ERROR_NULL_ARGUMENT); int columnCount = Math.max(parent.getTable().getColumnCount(), 1); if (index < 0 || index >= columnCount) return; if (texts.length < columnCount) { - char[][] newTexts = new char[][columnCount]; + String[] newTexts = new String[columnCount]; System.arraycopy(texts, 0, newTexts, 0, texts.length); texts = newTexts; } texts[index] = text; if (tableItem !is null) tableItem.setText(index, text); } -public override void setText (char[] string) { +public override void setText (String string) { setText(0, string); } diff -r ff59aeb96cac -r ab60f3309436 dwt/custom/TextChangingEvent.d --- a/dwt/custom/TextChangingEvent.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/custom/TextChangingEvent.d Mon May 05 00:12:38 2008 +0200 @@ -1,4 +1,4 @@ -/******************************************************************************* +/******************************************************************************* * Copyright (c) 2000, 2004 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 @@ -16,6 +16,7 @@ import dwt.events.TypedEvent; import dwt.custom.StyledTextContent; import dwt.custom.StyledTextEvent; +import dwt.dwthelper.utils; /** * This event is sent by the StyledTextContent implementor when a change @@ -30,7 +31,7 @@ * Text that is going to be inserted or empty string * if no text will be inserted */ - public char[] newText; + public String newText; /** * Length of text that is going to be replaced */ diff -r ff59aeb96cac -r ab60f3309436 dwt/custom/ViewForm.d --- a/dwt/custom/ViewForm.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/custom/ViewForm.d Mon May 05 00:12:38 2008 +0200 @@ -27,6 +27,7 @@ import dwt.widgets.Layout; import dwt.widgets.Listener; import dwt.custom.ViewFormLayout; +import dwt.dwthelper.utils; /** * Instances of this class implement a Composite that positions and sizes diff -r ff59aeb96cac -r ab60f3309436 dwt/dnd/Clipboard.d --- a/dwt/dnd/Clipboard.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/dnd/Clipboard.d Mon May 05 00:12:38 2008 +0200 @@ -108,8 +108,8 @@ * */ protected void checkSubclass () { - char[] name = this.classinfo.name; - char[] validName = Clipboard.classinfo.name; + String name = this.classinfo.name; + String validName = Clipboard.classinfo.name; if (validName!=/*eq*/name) { DND.error (DWT.ERROR_INVALID_SUBCLASS); } @@ -721,10 +721,10 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public char[][] getAvailableTypeNames() { +public String[] getAvailableTypeNames() { checkWidget(); FORMATETC*[] types = _getAvailableTypes(); - char[][] names = new char[][](types.length); + String[] names = new String[](types.length); int maxSize = 128; for (int i = 0; i < types.length; i++){ TCHAR[] buffer = NewTCHARs(0, maxSize); diff -r ff59aeb96cac -r ab60f3309436 dwt/dnd/DND.d --- a/dwt/dnd/DND.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/dnd/DND.d Mon May 05 00:12:38 2008 +0200 @@ -18,6 +18,7 @@ import dwt.DWTException; import tango.util.Convert; +import dwt.dwthelper.utils; /** * @@ -200,10 +201,10 @@ public static const int ERROR_INVALID_DATA = 2003; - static const char[] INIT_DRAG_MESSAGE = "Cannot initialize Drag"; //$NON-NLS-1$ - static const char[] INIT_DROP_MESSAGE = "Cannot initialize Drop"; //$NON-NLS-1$ - static const char[] CANNOT_SET_CLIPBOARD_MESSAGE = "Cannot set data in clipboard"; //$NON-NLS-1$ - static const char[] INVALID_DATA_MESSAGE = "Data does not have correct format for type"; //$NON-NLS-1$ + static const String INIT_DRAG_MESSAGE = "Cannot initialize Drag"; //$NON-NLS-1$ + static const String INIT_DROP_MESSAGE = "Cannot initialize Drop"; //$NON-NLS-1$ + static const String CANNOT_SET_CLIPBOARD_MESSAGE = "Cannot set data in clipboard"; //$NON-NLS-1$ + static const String INVALID_DATA_MESSAGE = "Data does not have correct format for type"; //$NON-NLS-1$ /** * Throws an appropriate exception based on the passed in error code. @@ -243,23 +244,23 @@ switch (code) { /* OS Failure/Limit (fatal, may occur only on some platforms) */ case DND.ERROR_CANNOT_INIT_DRAG:{ - char[] msg = DND.INIT_DRAG_MESSAGE; - if (hresult !is 0) msg ~= " result = "~to!(char[])(hresult); //$NON-NLS-1$ + String msg = DND.INIT_DRAG_MESSAGE; + if (hresult !is 0) msg ~= " result = "~to!(String)(hresult); //$NON-NLS-1$ throw new DWTError (code, msg); } case DND.ERROR_CANNOT_INIT_DROP:{ - char[] msg = DND.INIT_DROP_MESSAGE; - if (hresult !is 0) msg ~= " result = "~to!(char[])(hresult); //$NON-NLS-1$ + String msg = DND.INIT_DROP_MESSAGE; + if (hresult !is 0) msg ~= " result = "~to!(String)(hresult); //$NON-NLS-1$ throw new DWTError (code, msg); } case DND.ERROR_CANNOT_SET_CLIPBOARD:{ - char[] msg = DND.CANNOT_SET_CLIPBOARD_MESSAGE; - if (hresult !is 0) msg ~= " result = "~to!(char[])(hresult); //$NON-NLS-1$ + String msg = DND.CANNOT_SET_CLIPBOARD_MESSAGE; + if (hresult !is 0) msg ~= " result = "~to!(String)(hresult); //$NON-NLS-1$ throw new DWTError (code, msg); } case DND.ERROR_INVALID_DATA:{ - char[] msg = DND.INVALID_DATA_MESSAGE; - if (hresult !is 0) msg ~= " result = "~to!(char[])(hresult); //$NON-NLS-1$ + String msg = DND.INVALID_DATA_MESSAGE; + if (hresult !is 0) msg ~= " result = "~to!(String)(hresult); //$NON-NLS-1$ throw new DWTException (code, msg); } default: diff -r ff59aeb96cac -r ab60f3309436 dwt/dnd/DragSource.d --- a/dwt/dnd/DragSource.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/dnd/DragSource.d Mon May 05 00:12:38 2008 +0200 @@ -141,8 +141,8 @@ //workaround - track the operation performed by the drop target for DragEnd event int dataEffect = DND.DROP_NONE; - static const char[] DEFAULT_DRAG_SOURCE_EFFECT = "DEFAULT_DRAG_SOURCE_EFFECT"; //$NON-NLS-1$ - static const char[] DRAGSOURCEID = "DragSource"; //$NON-NLS-1$ + static const String DEFAULT_DRAG_SOURCE_EFFECT = "DEFAULT_DRAG_SOURCE_EFFECT"; //$NON-NLS-1$ + static const String DRAGSOURCEID = "DragSource"; //$NON-NLS-1$ static const int CFSTR_PERFORMEDDROPEFFECT; static final TCHAR[] WindowClass = "#32770\0"; static this(){ @@ -275,8 +275,8 @@ } protected void checkSubclass() { - char[] name = this.classinfo.name; - char[] validName = DragSource.classinfo.name; + String name = this.classinfo.name; + String validName = DragSource.classinfo.name; if (validName!=/*eq*/name) { DND.error(DWT.ERROR_INVALID_SUBCLASS); } @@ -300,7 +300,7 @@ uint[1] pdwEffect; int operations = opToOs(getStyle()); Display display = control.getDisplay(); - char[] key = "dwt.internal.win32.runMessagesInIdle"; //$NON-NLS-1$ + String key = "dwt.internal.win32.runMessagesInIdle"; //$NON-NLS-1$ Object oldValue = display.getData(key); display.setData(key, new ValueWrapperBool(true)); ImageList imagelist = null; diff -r ff59aeb96cac -r ab60f3309436 dwt/dnd/DropTarget.d --- a/dwt/dnd/DropTarget.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/dnd/DropTarget.d Mon May 05 00:12:38 2008 +0200 @@ -114,8 +114,8 @@ _IDropTargetImpl iDropTarget; int refCount; - static final char[] DEFAULT_DROP_TARGET_EFFECT = "DEFAULT_DROP_TARGET_EFFECT"; //$NON-NLS-1$ - static final char[] DROPTARGETID = "DropTarget"; //$NON-NLS-1$ + static final String DEFAULT_DROP_TARGET_EFFECT = "DEFAULT_DROP_TARGET_EFFECT"; //$NON-NLS-1$ + static final String DROPTARGETID = "DropTarget"; //$NON-NLS-1$ /** * Creates a new DropTarget to allow data to be dropped on the specified @@ -243,8 +243,8 @@ } protected void checkSubclass () { - char[] name = this.classinfo.name; - char[] validName = DropTarget.classinfo.name; + String name = this.classinfo.name; + String validName = DropTarget.classinfo.name; if (validName!=/*eq*/name) { DND.error (DWT.ERROR_INVALID_SUBCLASS); } diff -r ff59aeb96cac -r ab60f3309436 dwt/dnd/DropTargetListener.d --- a/dwt/dnd/DropTargetListener.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/dnd/DropTargetListener.d Mon May 05 00:12:38 2008 +0200 @@ -1,4 +1,4 @@ -/******************************************************************************* +/******************************************************************************* * Copyright (c) 2000, 2003 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 @@ -14,6 +14,7 @@ import dwt.internal.DWTEventListener; import dwt.dnd.DropTargetEvent; +import dwt.dwthelper.utils; /** * The DropTargetListener class provides event notification to the application diff -r ff59aeb96cac -r ab60f3309436 dwt/dnd/FileTransfer.d --- a/dwt/dnd/FileTransfer.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/dnd/FileTransfer.d Mon May 05 00:12:38 2008 +0200 @@ -46,9 +46,9 @@ public class FileTransfer : ByteArrayTransfer { private static FileTransfer _instance; - private static final char[] CF_HDROP = "CF_HDROP "; //$NON-NLS-1$ + private static final String CF_HDROP = "CF_HDROP "; //$NON-NLS-1$ private static final int CF_HDROPID = COM.CF_HDROP; - private static final char[] CF_HDROP_SEPARATOR = "\0"; //$NON-NLS-1$ + private static final String CF_HDROP_SEPARATOR = "\0"; //$NON-NLS-1$ private this() {} @@ -84,7 +84,7 @@ if (!checkFile(object) || !isSupportedType(transferData)) { DND.error(DND.ERROR_INVALID_DATA); } - char[][] fileNames; + String[] fileNames; if( auto strs = cast(ArrayWrapperString2) object ){ fileNames = strs.array; } @@ -142,7 +142,7 @@ if (transferData.result !is COM.S_OK) return null; // How many files are there? int count = OS.DragQueryFile(stgmedium.unionField, 0xFFFFFFFF, null, 0); - char[][] fileNames = new char[][](count); + String[] fileNames = new String[](count); for (int i = 0; i < count; i++) { // How long is the name ? int size = OS.DragQueryFile(stgmedium.unionField, i, null, 0) + 1; @@ -159,11 +159,11 @@ return [CF_HDROPID]; } -protected char[][] getTypeNames(){ +protected String[] getTypeNames(){ return [CF_HDROP]; } bool checkFile(Object object) { - char[][] strings; + String[] strings; if( auto strs = cast(ArrayWrapperString2)object ){ strings = strs.array; } diff -r ff59aeb96cac -r ab60f3309436 dwt/dnd/HTMLTransfer.d --- a/dwt/dnd/HTMLTransfer.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/dnd/HTMLTransfer.d Mon May 05 00:12:38 2008 +0200 @@ -40,14 +40,14 @@ public class HTMLTransfer : ByteArrayTransfer { static HTMLTransfer _instance; - static const char[] HTML_FORMAT = "HTML Format"; //$NON-NLS-1$ + static const String HTML_FORMAT = "HTML Format"; //$NON-NLS-1$ static const int HTML_FORMATID; - static const char[] NUMBER = "00000000"; //$NON-NLS-1$ - static const char[] HEADER = "Version:0.9\r\nStartHTML:"~NUMBER~"\r\nEndHTML:"~NUMBER~"\r\nStartFragment:"~NUMBER~"\r\nEndFragment:"~NUMBER~"\r\n"; - static const char[] PREFIX = ""; //$NON-NLS-1$ - static const char[] SUFFIX = ""; //$NON-NLS-1$ - static const char[] StartFragment = "StartFragment:"; //$NON-NLS-1$ - static const char[] EndFragment = "EndFragment:"; //$NON-NLS-1$ + static const String NUMBER = "00000000"; //$NON-NLS-1$ + static const String HEADER = "Version:0.9\r\nStartHTML:"~NUMBER~"\r\nEndHTML:"~NUMBER~"\r\nStartFragment:"~NUMBER~"\r\nEndFragment:"~NUMBER~"\r\n"; + static const String PREFIX = ""; //$NON-NLS-1$ + static const String SUFFIX = ""; //$NON-NLS-1$ + static const String StartFragment = "StartFragment:"; //$NON-NLS-1$ + static const String EndFragment = "EndFragment:"; //$NON-NLS-1$ static this(){ HTML_FORMATID = registerType(HTML_FORMAT); @@ -84,7 +84,7 @@ if (!checkHTML(object) || !isSupportedType(transferData)) { DND.error(DND.ERROR_INVALID_DATA); } - char[] string = ( cast(ArrayWrapperString)object ).array; + String string = ( cast(ArrayWrapperString)object ).array; int codePage = OS.GetACP(); int cchMultiByte = OS.WideCharToMultiByte(codePage, 0, StrToTCHARz(string), -1, null, 0, null, null); if (cchMultiByte is 0) { @@ -101,7 +101,7 @@ int maxLength = NUMBER.length; //startHTML int start = buffer.toString().indexOf(NUMBER); - char[] temp = Integer.toString(startHTML); + String temp = Integer.toString(startHTML); buffer.select(start + maxLength-temp.length, temp.length); buffer.replace(temp); buffer.select(); @@ -173,12 +173,12 @@ if (cchWideChar is 0) return null; wchar[] lpWideCharStr = new wchar [cchWideChar - 1]; OS.MultiByteToWideChar (codePage, OS.MB_PRECOMPOSED, lpMultiByteStr, -1, lpWideCharStr.ptr, lpWideCharStr.length); - char[] string = WCHARzToStr(lpWideCharStr.ptr); + String string = WCHARzToStr(lpWideCharStr.ptr); int fragmentStart = 0, fragmentEnd = 0; int start = string.indexOf(StartFragment) + StartFragment.length; int end = start + 1; while (end < string.length) { - char[] s = string.substring(start, end); + String s = string.substring(start, end); try { fragmentStart = Integer.parseInt(s); end++; @@ -189,7 +189,7 @@ start = string.indexOf(EndFragment) + EndFragment.length; end = start + 1; while (end < string.length) { - char[] s = string.substring(start, end); + String s = string.substring(start, end); try { fragmentEnd = Integer.parseInt(s); end++; @@ -202,11 +202,11 @@ * FragmentStart and FragmentEnd are offsets in original byte stream, not * the wide char version of the byte stream. */ - char[] s = string.substring(fragmentStart, fragmentEnd); + String s = string.substring(fragmentStart, fragmentEnd); /* * Firefox includes in the fragment, so remove it. */ - char[] foxStart = "\r\n"; //$NON-NLS-1$ + String foxStart = "\r\n"; //$NON-NLS-1$ int prefix = s.indexOf(foxStart); if (prefix !is -1) { prefix += foxStart.length; @@ -223,7 +223,7 @@ protected int[] getTypeIds(){ return [HTML_FORMATID]; } -protected char[][] getTypeNames(){ +protected String[] getTypeNames(){ return [HTML_FORMAT]; } bool checkHTML(Object object) { diff -r ff59aeb96cac -r ab60f3309436 dwt/dnd/RTFTransfer.d --- a/dwt/dnd/RTFTransfer.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/dnd/RTFTransfer.d Mon May 05 00:12:38 2008 +0200 @@ -41,7 +41,7 @@ public class RTFTransfer : ByteArrayTransfer { private static RTFTransfer _instance; - private static const char[] CF_RTF = "Rich Text Format"; //$NON-NLS-1$ + private static const String CF_RTF = "Rich Text Format"; //$NON-NLS-1$ private static const int CF_RTFID; static this(){ @@ -80,7 +80,7 @@ DND.error(DND.ERROR_INVALID_DATA); } // CF_RTF is stored as a null terminated byte array - char[] string = (cast(ArrayWrapperString)object).array; + String string = (cast(ArrayWrapperString)object).array; wchar* chars = StrToWCHARz(string); int codePage = OS.GetACP(); int cchMultiByte = OS.WideCharToMultiByte(codePage, 0, chars, -1, null, 0, null, null); @@ -142,7 +142,7 @@ return [CF_RTFID]; } -protected char[][] getTypeNames(){ +protected String[] getTypeNames(){ return [CF_RTF]; } diff -r ff59aeb96cac -r ab60f3309436 dwt/dnd/TextTransfer.d --- a/dwt/dnd/TextTransfer.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/dnd/TextTransfer.d Mon May 05 00:12:38 2008 +0200 @@ -41,8 +41,8 @@ public class TextTransfer : ByteArrayTransfer { private static TextTransfer _instance; - private static const char[] CF_UNICODETEXT = "CF_UNICODETEXT"; //$NON-NLS-1$ - private static const char[] CF_TEXT = "CF_TEXT"; //$NON-NLS-1$ + private static const String CF_UNICODETEXT = "CF_UNICODETEXT"; //$NON-NLS-1$ + private static const String CF_TEXT = "CF_TEXT"; //$NON-NLS-1$ private static const int CF_UNICODETEXTID = COM.CF_UNICODETEXT; private static const int CF_TEXTID = COM.CF_TEXT; @@ -79,7 +79,7 @@ DND.error(DND.ERROR_INVALID_DATA); } transferData.result = COM.E_FAIL; - char[] string = (cast(ArrayWrapperString)object).array; + String string = (cast(ArrayWrapperString)object).array; switch (transferData.type) { case COM.CF_UNICODETEXT: { wchar[] chars = StrToWCHARs(0,string, true); @@ -188,7 +188,7 @@ return [CF_UNICODETEXTID, CF_TEXTID]; } -protected char[][] getTypeNames(){ +protected String[] getTypeNames(){ return [CF_UNICODETEXT, CF_TEXT]; } diff -r ff59aeb96cac -r ab60f3309436 dwt/dnd/Transfer.d --- a/dwt/dnd/Transfer.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/dnd/Transfer.d Mon May 05 00:12:38 2008 +0200 @@ -16,6 +16,7 @@ import dwt.internal.win32.OS; import dwt.dnd.TransferData; +import dwt.dwthelper.utils; /** * Transfer provides a mechanism for converting between a java @@ -71,7 +72,7 @@ * @return the platform specific names of the data types that can be converted * using this transfer agent. */ -abstract protected char[][] getTypeNames(); +abstract protected String[] getTypeNames(); /** * Converts a java representation of data to a platform specific representation of @@ -133,7 +134,7 @@ * * @return the unique identifier associated with this data type */ -public static int registerType(char[] formatName) { +public static int registerType(String formatName) { // Look name up in the registry // If name is not in registry, add it and return assigned value. // If name already exists in registry, return its assigned value diff -r ff59aeb96cac -r ab60f3309436 dwt/dnd/URLTransfer.d --- a/dwt/dnd/URLTransfer.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/dnd/URLTransfer.d Mon May 05 00:12:38 2008 +0200 @@ -45,7 +45,7 @@ /*public*/ class URLTransfer : ByteArrayTransfer { static URLTransfer _instance; - static const char[] CFSTR_INETURL = "UniformResourceLocator"; //$NON-NLS-1$ + static const String CFSTR_INETURL = "UniformResourceLocator"; //$NON-NLS-1$ static const int CFSTR_INETURLID; static this(){ @@ -85,7 +85,7 @@ } transferData.result = COM.E_FAIL; // URL is stored as a null terminated byte array - char[] url = (cast(ArrayWrapperString2)object).array[0]; + String url = (cast(ArrayWrapperString2)object).array[0]; int codePage = OS.GetACP(); wchar[] chars = StrToWCHARs(codePage, url, true ); int cchMultiByte = OS.WideCharToMultiByte(codePage, 0, chars.ptr, -1, null, 0, null, null); @@ -147,14 +147,14 @@ return [CFSTR_INETURLID]; } -protected char[][] getTypeNames(){ +protected String[] getTypeNames(){ return [CFSTR_INETURL]; } bool checkURL(Object object) { if( auto s = cast(ArrayWrapperString2)object ){ if( s.array.length is 0 ) return false; - char[][] strings = s.array; + String[] strings = s.array; if (strings[0] is null || strings[0].length is 0) return false; //PORTING_FIXME: how to validata URL? /+try { diff -r ff59aeb96cac -r ab60f3309436 dwt/dwthelper/ByteArrayOutputStream.d --- a/dwt/dwthelper/ByteArrayOutputStream.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/dwthelper/ByteArrayOutputStream.d Mon May 05 00:12:38 2008 +0200 @@ -44,17 +44,17 @@ return 0; } - public override char[] toString(){ + public override String toString(){ implMissing( __FILE__, __LINE__ ); return null; } - public char[] toString( char[] enc ){ + public String toString( String enc ){ implMissing( __FILE__, __LINE__ ); return null; } - public char[] toString( int hibyte ){ + public String toString( int hibyte ){ implMissing( __FILE__, __LINE__ ); return null; } diff -r ff59aeb96cac -r ab60f3309436 dwt/dwthelper/File.d --- a/dwt/dwthelper/File.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/dwthelper/File.d Mon May 05 00:12:38 2008 +0200 @@ -12,9 +12,9 @@ public class File { public static char separatorChar; - public static char[] separator; + public static String separator; public static char pathSeparatorChar; - public static char[] pathSeparator; + public static String pathSeparator; private tango.io.FilePath.FilePath mFilePath; @@ -25,15 +25,15 @@ pathSeparatorChar = tango.io.FileConst.FileConst.SystemPathChar; } - public this ( char[] pathname ){ + public this ( String pathname ){ mFilePath = new tango.io.FilePath.FilePath( pathname ); } - public this ( char[] parent, char[] child ){ + public this ( String parent, String child ){ mFilePath = new tango.io.FilePath.FilePath( tango.io.FilePath.FilePath.join( parent, child ) ); } - public this ( dwt.dwthelper.File.File parent, char[] child ){ + public this ( dwt.dwthelper.File.File parent, String child ){ mFilePath = new tango.io.FilePath.FilePath( tango.io.FilePath.FilePath.join( parent.mFilePath.toString, child ) ); } @@ -42,12 +42,12 @@ return 0; } - public char[] getName(){ + public String getName(){ implMissing( __FILE__, __LINE__ ); return null; } - public char[] getParent(){ + public String getParent(){ implMissing( __FILE__, __LINE__ ); return null; } @@ -57,7 +57,7 @@ return null; } - public char[] getPath(){ + public String getPath(){ implMissing( __FILE__, __LINE__ ); return null; } @@ -67,7 +67,7 @@ return false; } - public char[] getAbsolutePath(){ + public String getAbsolutePath(){ return tango.io.FileSystem.FileSystem.toAbsolute( mFilePath ).toString; } @@ -75,7 +75,7 @@ return new File( getAbsolutePath() ); } - public char[] getCanonicalPath(){ + public String getCanonicalPath(){ implMissing( __FILE__, __LINE__ ); return null; } @@ -136,7 +136,7 @@ implMissing( __FILE__, __LINE__ ); } - public char[][] list(){ + public String[] list(){ implMissing( __FILE__, __LINE__ ); return null; } @@ -176,12 +176,12 @@ return null; } - public static dwt.dwthelper.File.File createTempFile( char[] prefix, char[] suffix, dwt.dwthelper.File.File directory ){ + public static dwt.dwthelper.File.File createTempFile( String prefix, String suffix, dwt.dwthelper.File.File directory ){ implMissing( __FILE__, __LINE__ ); return null; } - public static dwt.dwthelper.File.File createTempFile( char[] prefix, char[] suffix ){ + public static dwt.dwthelper.File.File createTempFile( String prefix, String suffix ){ implMissing( __FILE__, __LINE__ ); return null; } @@ -191,7 +191,7 @@ return 0; } - public char[] toString(){ + public String toString(){ implMissing( __FILE__, __LINE__ ); return null; } diff -r ff59aeb96cac -r ab60f3309436 dwt/dwthelper/FileInputStream.d --- a/dwt/dwthelper/FileInputStream.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/dwthelper/FileInputStream.d Mon May 05 00:12:38 2008 +0200 @@ -23,7 +23,7 @@ private const int BUFFER_SIZE = 0x10000; private bool eof; - public this ( char[] name ){ + public this ( String name ){ conduit = new FileConduit( name ); buffer = new ubyte[]( BUFFER_SIZE ); } diff -r ff59aeb96cac -r ab60f3309436 dwt/dwthelper/FileOutputStream.d --- a/dwt/dwthelper/FileOutputStream.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/dwthelper/FileOutputStream.d Mon May 05 00:12:38 2008 +0200 @@ -13,11 +13,11 @@ alias dwt.dwthelper.OutputStream.OutputStream.write write; alias dwt.dwthelper.OutputStream.OutputStream.close close; - public this ( char[] name ){ + public this ( String name ){ implMissing( __FILE__, __LINE__ ); } - public this ( char[] name, bool append ){ + public this ( String name, bool append ){ implMissing( __FILE__, __LINE__ ); } diff -r ff59aeb96cac -r ab60f3309436 dwt/dwthelper/OutputStream.d --- a/dwt/dwthelper/OutputStream.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/dwthelper/OutputStream.d Mon May 05 00:12:38 2008 +0200 @@ -27,7 +27,7 @@ ostr.write(b); } - public void write(char[] c) { + public void write(String c) { ostr.write(c); } diff -r ff59aeb96cac -r ab60f3309436 dwt/dwthelper/ResourceBundle.d --- a/dwt/dwthelper/ResourceBundle.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/dwthelper/ResourceBundle.d Mon May 05 00:12:38 2008 +0200 @@ -12,10 +12,10 @@ class ResourceBundle { - char[][ char[] ] map; + String[ String ] map; - public this( char[] data ){ - char[] line; + public this( String data ){ + String line; int dataIndex; //tango.io.Stdout.Stdout.formatln( "properties put ..." ); @@ -31,8 +31,8 @@ //tango.io.Stdout.Stdout.formatln( "properties put {}", __LINE__ ); bool linecontinue = false; bool iskeypart = true; - char[] key; - char[] value; + String key; + String value; nextline: while( dataIndex < data.length ){ //tango.io.Stdout.Stdout.formatln( "properties put {} startline", __LINE__ ); @@ -107,35 +107,35 @@ } } - public bool hasString( char[] key ){ + public bool hasString( String key ){ return ( key in map ) !is null; } - public char[] getString( char[] key ){ + public String getString( String key ){ if( auto v = key in map ){ return (*v).dup; } throw new MissingResourceException( "key not found", this.classinfo.name, key ); } - public char[][] getKeys(){ + public String[] getKeys(){ return map.keys; } public static ResourceBundle getBundle( ImportData data ){ - return new ResourceBundle( cast(char[]) data.data ); + return new ResourceBundle( cast(String) data.data ); } - public static ResourceBundle getBundle( char[] name ){ + public static ResourceBundle getBundle( String name ){ try{ scope f = new File(name); - return new ResourceBundle( cast(char[]) f.read() ); + return new ResourceBundle( cast(String) f.read() ); } catch( IOException e){ e.msg ~= " file:" ~ name; throw e; } } - public static ResourceBundle getBundleFromData( char[] data ){ + public static ResourceBundle getBundleFromData( String data ){ return new ResourceBundle( data ); } } diff -r ff59aeb96cac -r ab60f3309436 dwt/dwthelper/System.d --- a/dwt/dwthelper/System.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/dwthelper/System.d Mon May 05 00:12:38 2008 +0200 @@ -7,6 +7,8 @@ import tango.time.Clock; import tango.stdc.stdlib : exit; +import dwt.dwthelper.utils; + template SimpleType(T) { debug{ static void validCheck(uint SrcLen, uint DestLen, uint copyLen){ @@ -135,7 +137,7 @@ return (*cast(Object *)&x).toHash(); } - public static char[] getProperty( char[] key ){ + public static String getProperty( String key ){ switch( key ){ case "os.name": return "windows"; default: return null; diff -r ff59aeb96cac -r ab60f3309436 dwt/dwthelper/XmlTranscode.d --- a/dwt/dwthelper/XmlTranscode.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/dwthelper/XmlTranscode.d Mon May 05 00:12:38 2008 +0200 @@ -9,7 +9,7 @@ + Throws TextException on failure + The given string is modified. +/ -char[] xmlUnescape( char[] str ){ +String xmlUnescape( String str ){ void error(){ throw new TextException( "xmlUnescape" ); @@ -17,8 +17,8 @@ // < ... // Ӓ // ኯ - char[] src = str; - char[] trg = str; + String src = str; + String trg = str; while( src.length ){ if( src[0] !is '&' ){ trg[0] = src[0]; @@ -34,7 +34,7 @@ int semi = tango.text.Util.locate( src[0 .. len ], ';' ); if( semi is len ) error(); // no semi found - char[] entityName = src[ 0 .. semi ]; // name without semi + String entityName = src[ 0 .. semi ]; // name without semi dchar entityValue = 0; switch( entityName ){ case "lt": entityValue = '<'; break; @@ -79,7 +79,7 @@ dchar[1] arr; arr[0] = entityValue; uint ate = 0; - char[] res = tango.text.convert.Utf.toString( arr, trg, &ate ); + String res = tango.text.convert.Utf.toString( arr, trg, &ate ); trg = trg[ res.length .. $ ]; src = src[ semi +1 .. $ ]; // go past semi } @@ -94,7 +94,7 @@ + If not, the original string is returned. + If processing is needed, a new string is allocated. +/ -char[] xmlEscape( char[] xml ){ +String xmlEscape( String xml ){ bool needsReplacement( dchar c ){ switch( c ){ case '<': @@ -121,7 +121,7 @@ Lprocess: // yes, do a new string, start with +20 chars - char[] res = new char[ xml.length + 20 ]; + String res = new char[ xml.length + 20 ]; res.length = 0; foreach( dchar c; xml ){ diff -r ff59aeb96cac -r ab60f3309436 dwt/dwthelper/utils.d --- a/dwt/dwthelper/utils.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/dwthelper/utils.d Mon May 05 00:12:38 2008 +0200 @@ -35,7 +35,7 @@ alias char[] String; alias tango.text.Text.Text!(char) StringBuffer; -void implMissing( char[] file, uint line ){ +void implMissing( String file, uint line ){ Stderr.formatln( "implementation missing in file {} line {}", file, line ); Stderr.formatln( "exiting ..." ); exit(1); @@ -94,7 +94,7 @@ public bool booleanValue(){ return value; } - public static Boolean valueOf( char[] s ){ + public static Boolean valueOf( String s ){ if( s == "yes" || s == "true" ){ return TRUE; } @@ -109,7 +109,7 @@ class Byte : ValueWrapperT!(byte) { - public static byte parseByte( char[] s ){ + public static byte parseByte( String s ){ try{ int res = tango.text.convert.Integer.parse( s ); if( res < byte.min || res > byte.max ){ @@ -138,11 +138,11 @@ super( value ); } - public this ( char[] s ){ + public this ( String s ){ super(parseInt(s)); } - public static char[] toString( int i, int radix ){ + public static String toString( int i, int radix ){ switch( radix ){ case 2: return toBinaryString(i); @@ -158,23 +158,23 @@ } } - public static char[] toHexString( int i ){ + public static String toHexString( int i ){ return tango.text.convert.Integer.toString(i, tango.text.convert.Integer.Style.Hex ); } - public static char[] toOctalString( int i ){ + public static String toOctalString( int i ){ return tango.text.convert.Integer.toString(i, tango.text.convert.Integer.Style.Octal ); } - public static char[] toBinaryString( int i ){ + public static String toBinaryString( int i ){ return tango.text.convert.Integer.toString(i, tango.text.convert.Integer.Style.Binary ); } - public static char[] toString( int i ){ + public static String toString( int i ){ return tango.text.convert.Integer.toString(i); } - public static int parseInt( char[] s, int radix ){ + public static int parseInt( String s, int radix ){ try{ return tango.text.convert.Integer.parse( s, cast(uint)radix ); } @@ -183,7 +183,7 @@ } } - public static int parseInt( char[] s ){ + public static int parseInt( String s ){ try{ return tango.text.convert.Integer.parse( s ); } @@ -192,12 +192,12 @@ } } - public static Integer valueOf( char[] s, int radix ){ + public static Integer valueOf( String s, int radix ){ implMissing( __FILE__, __LINE__ ); return null; } - public static Integer valueOf( char[] s ){ + public static Integer valueOf( String s ){ return valueOf( parseInt(s)); } @@ -233,7 +233,7 @@ return intValue(); } - public override char[] toString(){ + public override String toString(){ return tango.text.convert.Integer.toString( value ); } } @@ -243,14 +243,14 @@ this( double value ){ super(value); } - this( char[] str ){ + this( String str ){ implMissing( __FILE__, __LINE__ ); super(0.0); } public double doubleValue(){ return value; } - public static char[] toString( double value ){ + public static String toString( double value ){ implMissing( __FILE__, __LINE__ ); return null; } @@ -268,18 +268,18 @@ this( float value ){ super(value); } - this( char[] str ){ + this( String str ){ implMissing( __FILE__, __LINE__ ); super(0.0); } public float floatValue(){ return value; } - public static char[] toString( float value ){ + public static String toString( float value ){ implMissing( __FILE__, __LINE__ ); return null; } - public static float parseFloat( char[] s ){ + public static float parseFloat( String s ){ try{ return tango.text.convert.Float.toFloat( s ); } @@ -293,18 +293,18 @@ this( long value ){ super(value); } - this( char[] str ){ + this( String str ){ implMissing( __FILE__, __LINE__ ); super(0); } public long longValue(){ return value; } - public static long parseLong(char[] s){ + public static long parseLong(String s){ implMissing( __FILE__, __LINE__ ); return 0; } - public static char[] toString( double value ){ + public static String toString( double value ){ implMissing( __FILE__, __LINE__ ); return null; } @@ -318,7 +318,7 @@ alias ArrayWrapperT!(int) ArrayWrapperInt; alias ArrayWrapperT!(Object) ArrayWrapperObject; alias ArrayWrapperT!(char) ArrayWrapperString; -alias ArrayWrapperT!(char[]) ArrayWrapperString2; +alias ArrayWrapperT!(String) ArrayWrapperString2; Object[] StringArrayToObjectArray( String[] strs ){ Object[] res = new Object[strs.length]; @@ -327,7 +327,7 @@ } return res; } -int codepointIndexToIndex( char[] str, int cpIndex ){ +int codepointIndexToIndex( String str, int cpIndex ){ int cps = cpIndex; int res = 0; while( cps > 0 ){ @@ -347,7 +347,7 @@ } return res; } -int indexToCodepointIndex( char[] str, int index ){ +int indexToCodepointIndex( String str, int index ){ int i = 0; int res = 0; while( i < index ){ @@ -368,7 +368,7 @@ return res; } -char[] firstCodePointStr( char[] str, out int consumed ){ +String firstCodePointStr( String str, out int consumed ){ dchar[1] buf; uint ate; dchar[] res = str.toString32( buf, &ate ); @@ -376,11 +376,11 @@ return str[ 0 .. ate ]; } -dchar firstCodePoint( char[] str ){ +dchar firstCodePoint( String str ){ int dummy; return firstCodePoint( str, dummy ); } -dchar firstCodePoint( char[] str, out int consumed ){ +dchar firstCodePoint( String str, out int consumed ){ dchar[1] buf; uint ate; dchar[] res = str.toString32( buf, &ate ); @@ -393,13 +393,13 @@ return res[0]; } -char[] dcharToString( dchar key ){ +String dcharToString( dchar key ){ dchar[1] buf; buf[0] = key; return tango.text.convert.Utf.toString( buf ); } -int codepointCount( char[] str ){ +int codepointCount( String str ){ scope dchar[] buf = new dchar[]( str.length ); uint ate; dchar[] res = tango.text.convert.Utf.toString32( str, buf, &ate ); @@ -410,7 +410,7 @@ alias tango.text.convert.Utf.toString16 toString16; alias tango.text.convert.Utf.toString toString; -int getRelativeCodePointOffset( char[] str, int startIndex, int searchRelCp ){ +int getRelativeCodePointOffset( String str, int startIndex, int searchRelCp ){ int ignore; int i = startIndex; if( searchRelCp > 0 ){ @@ -462,13 +462,13 @@ } return i - startIndex; } -dchar getRelativeCodePoint( char[] str, int startIndex, int searchRelCp, out int relIndex ){ +dchar getRelativeCodePoint( String str, int startIndex, int searchRelCp, out int relIndex ){ relIndex = getRelativeCodePointOffset( str, startIndex, searchRelCp ); int ignore; return firstCodePoint( str[ startIndex+relIndex .. $ ], ignore ); } -int utf8AdjustOffset( char[] str, int offset ){ +int utf8AdjustOffset( String str, int offset ){ if( str.length <= offset || offset <= 0 ){ return offset; } @@ -481,11 +481,11 @@ bool CharacterIsDefined( dchar ch ){ return (ch in tango.text.UnicodeData.unicodeData) !is null; } -dchar CharacterFirstToLower( char[] str ){ +dchar CharacterFirstToLower( String str ){ int consumed; return CharacterFirstToLower( str, consumed ); } -dchar CharacterFirstToLower( char[] str, out int consumed ){ +dchar CharacterFirstToLower( String str, out int consumed ){ dchar[1] buf; buf[0] = firstCodePoint( str, consumed ); dchar[] r = tango.text.Unicode.toLower( buf ); @@ -509,58 +509,58 @@ bool CharacterIsLetter( dchar c ){ return tango.text.Unicode.isLetter( c ); } -public char[] toUpperCase( char[] str ){ +public String toUpperCase( String str ){ return tango.text.Unicode.toUpper( str ); } -public int indexOf( char[] str, char searched ){ +public int indexOf( String str, char searched ){ int res = tango.text.Util.locate( str, searched ); if( res is str.length ) res = -1; return res; } -public int indexOf( char[] str, char searched, int startpos ){ +public int indexOf( String str, char searched, int startpos ){ int res = tango.text.Util.locate( str, searched, startpos ); if( res is str.length ) res = -1; return res; } -public int indexOf(char[] str, char[] ch){ +public int indexOf(String str, String ch){ return indexOf( str, ch, 0 ); } -public int indexOf(char[] str, char[] ch, int start){ +public int indexOf(String str, String ch, int start){ int res = tango.text.Util.locatePattern( str, ch, start ); if( res is str.length ) res = -1; return res; } -public int lastIndexOf(char[] str, char ch){ +public int lastIndexOf(String str, char ch){ return lastIndexOf( str, ch, str.length ); } -public int lastIndexOf(char[] str, char ch, int formIndex){ +public int lastIndexOf(String str, char ch, int formIndex){ int res = tango.text.Util.locatePrior( str, ch, formIndex ); if( res is str.length ) res = -1; return res; } -public int lastIndexOf(char[] str, char[] ch ){ +public int lastIndexOf(String str, String ch ){ return lastIndexOf( str, ch, str.length ); } -public int lastIndexOf(char[] str, char[] ch, int start ){ +public int lastIndexOf(String str, String ch, int start ){ int res = tango.text.Util.locatePatternPrior( str, ch, start ); if( res is str.length ) res = -1; return res; } -public char[] replace( char[] str, char from, char to ){ +public String replace( String str, char from, char to ){ return tango.text.Util.replace( str.dup, from, to ); } -public char[] substring( char[] str, int start ){ +public String substring( String str, int start ){ return str[ start .. $ ].dup; } -public char[] substring( char[] str, int start, int end ){ +public String substring( String str, int start, int end ){ return str[ start .. end ].dup; } @@ -572,66 +572,66 @@ return str[ start .. end ].dup; } -public char charAt( char[] str, int pos ){ +public char charAt( String str, int pos ){ return str[ pos ]; } -public void getChars( char[] src, int srcBegin, int srcEnd, char[] dst, int dstBegin){ +public void getChars( String src, int srcBegin, int srcEnd, String dst, int dstBegin){ dst[ dstBegin .. dstBegin + srcEnd - srcBegin ] = src[ srcBegin .. srcEnd ]; } -public wchar[] toCharArray( char[] str ){ +public wchar[] toCharArray( String str ){ return toString16( str ); } -public bool endsWith( char[] src, char[] pattern ){ +public bool endsWith( String src, String pattern ){ if( src.length < pattern.length ){ return false; } return src[ $-pattern.length .. $ ] == pattern; } -public bool equals( char[] src, char[] other ){ +public bool equals( String src, String other ){ return src == other; } -public bool equalsIgnoreCase( char[] src, char[] other ){ +public bool equalsIgnoreCase( String src, String other ){ return tango.text.Unicode.toFold(src) == tango.text.Unicode.toFold(other); } -public bool startsWith( char[] src, char[] pattern ){ +public bool startsWith( String src, String pattern ){ if( src.length < pattern.length ){ return false; } return src[ 0 .. pattern.length ] == pattern; } -public char[] toLowerCase( char[] src ){ +public String toLowerCase( String src ){ return tango.text.Unicode.toLower( src ); } -public hash_t toHash( char[] src ){ - return typeid(char[]).getHash(&src); +public hash_t toHash( String src ){ + return typeid(String).getHash(&src); } -public char[] trim( char[] str ){ +public String trim( String str ){ return tango.text.Util.trim( str ).dup; } -public char[] intern( char[] str ){ +public String intern( String str ){ return str; } -public char* toStringzValidPtr( char[] src ){ +public char* toStringzValidPtr( String src ){ if( src ){ return src.toStringz(); } else{ - static const char[] nullPtr = "\0"; + static const String nullPtr = "\0"; return nullPtr.ptr; } } -static char[] toHex(uint value, bool prefix = true, int radix = 8){ +static String toHex(uint value, bool prefix = true, int radix = 8){ return tango.text.convert.Integer.toString( value, radix is 10 ? tango.text.convert.Integer.Style.Signed : @@ -643,7 +643,7 @@ } class RuntimeException : Exception { - this( char[] e = null){ + this( String e = null){ super(e); } this( Exception e ){ @@ -656,13 +656,13 @@ } class IndexOutOfBoundsException : Exception { - this( char[] e = null){ + this( String e = null){ super(e); } } class UnsupportedOperationException : RuntimeException { - this( char[] e = null){ + this( String e = null){ super(e); } this( Exception e ){ @@ -670,7 +670,7 @@ } } class NumberFormatException : IllegalArgumentException { - this( char[] e ){ + this( String e ){ super(e); } this( Exception e ){ @@ -678,7 +678,7 @@ } } class NullPointerException : Exception { - this( char[] e = null ){ + this( String e = null ){ super(e); } this( Exception e ){ @@ -686,7 +686,7 @@ } } class IllegalStateException : Exception { - this( char[] e = null ){ + this( String e = null ){ super(e); } this( Exception e ){ @@ -694,7 +694,7 @@ } } class InterruptedException : Exception { - this( char[] e = null ){ + this( String e = null ){ super(e); } this( Exception e ){ @@ -703,7 +703,7 @@ } class InvocationTargetException : Exception { Exception cause; - this( Exception e = null, char[] msg = null ){ + this( Exception e = null, String msg = null ){ super(msg); cause = e; } @@ -714,16 +714,16 @@ } } class MissingResourceException : Exception { - char[] classname; - char[] key; - this( char[] msg, char[] classname, char[] key ){ + String classname; + String key; + this( String msg, String classname, String key ){ super(msg); this.classname = classname; this.key = key; } } class ParseException : Exception { - this( char[] e = null ){ + this( String e = null ){ super(e); } } @@ -753,7 +753,7 @@ return source; } - public override char[] toString() { + public override String toString() { return this.classinfo.name ~ "[source=" ~ source.toString() ~ "]"; } } @@ -831,23 +831,23 @@ } } -char[] stringcast( Object o ){ +String stringcast( Object o ){ if( auto str = cast(ArrayWrapperString) o ){ return str.array; } return null; } -char[][] stringcast( Object[] objs ){ - char[][] res = new char[][](objs.length); +String[] stringcast( Object[] objs ){ + String[] res = new String[](objs.length); foreach( idx, obj; objs ){ res[idx] = stringcast(obj); } return res; } -ArrayWrapperString stringcast( char[] str ){ +ArrayWrapperString stringcast( String str ){ return new ArrayWrapperString( str ); } -ArrayWrapperString[] stringcast( char[][] strs ){ +ArrayWrapperString[] stringcast( String[] strs ){ ArrayWrapperString[] res = new ArrayWrapperString[ strs.length ]; foreach( idx, str; strs ){ res[idx] = stringcast(str); @@ -936,7 +936,7 @@ return res; } -void PrintStackTrace( int deepth = 100, char[] prefix = "trc" ){ +void PrintStackTrace( int deepth = 100, String prefix = "trc" ){ auto e = new Exception( null ); int idx = 0; const start = 3; @@ -950,9 +950,9 @@ struct ImportData{ void[] data; - char[] name; + String name; - public static ImportData opCall( void[] data, char[] name ){ + public static ImportData opCall( void[] data, String name ){ ImportData res; res.data = data; res.name = name; @@ -960,6 +960,6 @@ } } -template getImportData(char[] name ){ +template getImportData(String name ){ const ImportData getImportData = ImportData( import(name), name ); -} \ No newline at end of file +} diff -r ff59aeb96cac -r ab60f3309436 dwt/events/KeyEvent.d --- a/dwt/events/KeyEvent.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/events/KeyEvent.d Mon May 05 00:12:38 2008 +0200 @@ -17,6 +17,7 @@ import dwt.events.TypedEvent; import tango.text.convert.Format; +import dwt.dwthelper.utils; /** * Instances of this class are sent as a result of @@ -98,7 +99,7 @@ * * @return a string representation of the event */ -public override char[] toString() { +public override String toString() { return Format( "{} character={} keyCode={} stateMask={} doit={}}", super.toString[ 0 .. $-2 ], character, keyCode, stateMask, doit ); diff -r ff59aeb96cac -r ab60f3309436 dwt/events/MenuDetectEvent.d --- a/dwt/events/MenuDetectEvent.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/events/MenuDetectEvent.d Mon May 05 00:12:38 2008 +0200 @@ -17,6 +17,8 @@ import dwt.events.TypedEvent; import tango.text.convert.Format; +import dwt.dwthelper.utils; + /** * Instances of this class are sent whenever the platform- * specific trigger for showing a context menu is detected. @@ -67,7 +69,7 @@ * * @return a string representation of the event */ -public override char[] toString() { +public override String toString() { return Format( "{} x={} y={} doit={}}", super.toString[ 0 .. $-2 ], x, y, doit ); } } diff -r ff59aeb96cac -r ab60f3309436 dwt/events/MouseEvent.d --- a/dwt/events/MouseEvent.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/events/MouseEvent.d Mon May 05 00:12:38 2008 +0200 @@ -17,6 +17,7 @@ import dwt.events.TypedEvent; import tango.text.convert.Format; +import dwt.dwthelper.utils; /** * Instances of this class are sent whenever mouse @@ -93,7 +94,7 @@ * * @return a string representation of the event */ -public override char[] toString() { +public override String toString() { return Format( "{} button={} stateMask={} x={} y={} count={}}", super.toString[ 0 .. $-1 ], button, stateMask, x, y, count ); diff -r ff59aeb96cac -r ab60f3309436 dwt/events/PaintEvent.d --- a/dwt/events/PaintEvent.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/events/PaintEvent.d Mon May 05 00:12:38 2008 +0200 @@ -19,6 +19,7 @@ import dwt.events.TypedEvent; import tango.text.convert.Format; +import dwt.dwthelper.utils; /** * Instances of this class are sent as a result of @@ -92,7 +93,7 @@ * * @return a string representation of the event */ -public override char[] toString() { +public override String toString() { return Format( "{} gc={} x={} y={} width={} height={} count={}}", super.toString[ 0 .. $-1 ], gc is null ? "null" : gc.toString, diff -r ff59aeb96cac -r ab60f3309436 dwt/events/SelectionEvent.d --- a/dwt/events/SelectionEvent.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/events/SelectionEvent.d Mon May 05 00:12:38 2008 +0200 @@ -18,6 +18,8 @@ import dwt.events.TypedEvent; import tango.text.convert.Format; +import dwt.dwthelper.utils; + /** * Instances of this class are sent as a result of * widgets being selected. @@ -92,7 +94,7 @@ * @see dwt.widgets.Link#setText(String) * @since 3.1 */ - public char[] text; + public String text; /** * A flag indicating whether the operation should be allowed. @@ -128,7 +130,7 @@ * * @return a string representation of the event */ -public override char[] toString() { +public override String toString() { return Format( "{} item={} detail={} x={} y={} width={} height={} stateMask={} text={} doit={}}", super.toString[ 0 .. $-2 ], item, diff -r ff59aeb96cac -r ab60f3309436 dwt/events/ShellEvent.d --- a/dwt/events/ShellEvent.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/events/ShellEvent.d Mon May 05 00:12:38 2008 +0200 @@ -17,6 +17,7 @@ import dwt.events.TypedEvent; import tango.text.convert.Format; +import dwt.dwthelper.utils; /** * Instances of this class are sent as a result of @@ -52,7 +53,7 @@ * * @return a string representation of the event */ -public override char[] toString() { +public override String toString() { return Format( "{} doit={}}", super.toString[ 0 .. $-2 ], doit ); } } diff -r ff59aeb96cac -r ab60f3309436 dwt/events/TraverseEvent.d --- a/dwt/events/TraverseEvent.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/events/TraverseEvent.d Mon May 05 00:12:38 2008 +0200 @@ -17,6 +17,8 @@ import dwt.events.KeyEvent; import tango.text.convert.Format; +import dwt.dwthelper.utils; + /** * Instances of this class are sent as a result of * widget traversal actions. @@ -131,7 +133,7 @@ * * @return a string representation of the event */ -public override char[] toString() { +public override String toString() { return Format( "{} detail={}}", super.toString[ 0 .. $-2 ], detail ); } } diff -r ff59aeb96cac -r ab60f3309436 dwt/events/TypedEvent.d --- a/dwt/events/TypedEvent.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/events/TypedEvent.d Mon May 05 00:12:38 2008 +0200 @@ -20,6 +20,7 @@ import tango.text.convert.Format; import tango.text.Util : split; +import dwt.dwthelper.utils; /** * This is the super class for all typed event classes provided @@ -87,8 +88,8 @@ * * @return the name of the event */ -char[] getName () { - char[] str = this.classinfo.name; +String getName () { + String str = this.classinfo.name; return split( str, "." )[$-1]; } @@ -98,9 +99,9 @@ * * @return a string representation of the event */ -public override char[] toString() { - char[] str_widget = widget is null ? "null" : widget.toString; - char[] str_data = data is null ? "null" : data.toString; +public override String toString() { + String str_widget = widget is null ? "null" : widget.toString; + String str_data = data is null ? "null" : data.toString; return Format( "{}{{time={} data={}}", str_widget, time, str_data ); } } diff -r ff59aeb96cac -r ab60f3309436 dwt/events/VerifyEvent.d --- a/dwt/events/VerifyEvent.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/events/VerifyEvent.d Mon May 05 00:12:38 2008 +0200 @@ -17,6 +17,8 @@ import dwt.events.KeyEvent; import tango.text.convert.Format; +import dwt.dwthelper.utils; + /** * Instances of this class are sent as a result of * widgets handling keyboard events @@ -37,7 +39,7 @@ * Setting this field will change the text that is about to * be inserted or deleted. */ - public char[] text; + public String text; //static final long serialVersionUID = 3257003246269577014L; @@ -60,7 +62,7 @@ * * @return a string representation of the event */ -public override char[] toString() { +public override String toString() { return Format( "{} start={} end={} text={}}", super.toString[ 0 .. $-2 ], start, end, text ); } } diff -r ff59aeb96cac -r ab60f3309436 dwt/graphics/Color.d --- a/dwt/graphics/Color.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/graphics/Color.d Mon May 05 00:12:38 2008 +0200 @@ -21,6 +21,7 @@ import dwt.graphics.Device; import tango.text.convert.Format; +import dwt.dwthelper.utils; /** * Instances of this class manage the operating system resources that @@ -317,7 +318,7 @@ * * @return a string representation of the receiver */ -override public char[] toString () { +override public String toString () { if (isDisposed()) return "Color {*DISPOSED*}"; //$NON-NLS-1$ return Format( "Color {{{}, {}, {}}", getRed(), getGreen(), getBlue()); //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ } diff -r ff59aeb96cac -r ab60f3309436 dwt/graphics/Cursor.d --- a/dwt/graphics/Cursor.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/graphics/Cursor.d Mon May 05 00:12:38 2008 +0200 @@ -25,6 +25,7 @@ import dwt.graphics.Image; import tango.text.convert.Format; +import dwt.dwthelper.utils; /** * Instances of this class manage operating system resources that @@ -456,7 +457,7 @@ * * @return a string representation of the receiver */ -override public char[] toString () { +override public String toString () { if (isDisposed()) return "Cursor {*DISPOSED*}"; return Format( "Cursor {{{}}", handle ); } diff -r ff59aeb96cac -r ab60f3309436 dwt/graphics/Device.d --- a/dwt/graphics/Device.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/graphics/Device.d Mon May 05 00:12:38 2008 +0200 @@ -457,7 +457,7 @@ *
  • ERROR_DEVICE_DISPOSED - if the receiver has been disposed
  • * */ -public FontData [] getFontList (char[] faceName, bool scalable) { +public FontData [] getFontList (String faceName, bool scalable) { checkDevice (); /* Create the callback */ @@ -538,21 +538,21 @@ return result; } -char[] getLastError () { +String getLastError () { int error = OS.GetLastError(); if (error is 0) return ""; //$NON-NLS-1$ return " [GetLastError=0x" ~ .toHex(error) ~ "]"; //$NON-NLS-1$ //$NON-NLS-2$ } -char[] getLastErrorText () { +String getLastErrorText () { int error = OS.GetLastError(); if (error is 0) return ""; //$NON-NLS-1$ TCHAR* buffer = null; int dwFlags = OS.FORMAT_MESSAGE_ALLOCATE_BUFFER | OS.FORMAT_MESSAGE_FROM_SYSTEM | OS.FORMAT_MESSAGE_IGNORE_INSERTS; int length = OS.FormatMessage(dwFlags, null, error, OS.LANG_USER_DEFAULT, cast(TCHAR*)&buffer, 0, null); - char[] errorNum = ("[GetLastError=") ~ .toHex(error) ~ "] "; + String errorNum = ("[GetLastError=") ~ .toHex(error) ~ "] "; if (length == 0) return errorNum; - char[] buffer1 = .TCHARzToStr(buffer, length); + String buffer1 = .TCHARzToStr(buffer, length); if ( *buffer != 0) OS.LocalFree(cast(HLOCAL)buffer); return errorNum ~ buffer1; @@ -791,7 +791,7 @@ * * @since 3.3 */ -public bool loadFont (char[] path) { +public bool loadFont (String path) { checkDevice(); if (path is null) DWT.error (DWT.ERROR_NULL_ARGUMENT); if (OS.IsWinNT && OS.WIN32_VERSION >= OS.VERSION (4, 10)) { diff -r ff59aeb96cac -r ab60f3309436 dwt/graphics/Font.d --- a/dwt/graphics/Font.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/graphics/Font.d Mon May 05 00:12:38 2008 +0200 @@ -23,6 +23,7 @@ import dwt.graphics.Device; import tango.text.convert.Format; +import dwt.dwthelper.utils; //import tango.stdc.stringz; /** @@ -141,7 +142,7 @@ *
  • ERROR_NO_HANDLES - if a font could not be created from the given arguments
  • * */ -public this(Device device, char[] name, int height, int style) { +public this(Device device, String name, int height, int style) { if (device is null) device = Device.getDevice(); if (device is null) DWT.error(DWT.ERROR_NULL_ARGUMENT); if (name is null) DWT.error(DWT.ERROR_NULL_ARGUMENT); @@ -149,7 +150,7 @@ if (device.tracking) device.new_Object(this); } -/*public*/ this(Device device, char[] name, float height, int style) { +/*public*/ this(Device device, String name, float height, int style) { if (device is null) device = Device.getDevice(); if (device is null) DWT.error(DWT.ERROR_NULL_ARGUMENT); if (name is null) DWT.error(DWT.ERROR_NULL_ARGUMENT); @@ -253,7 +254,7 @@ * * @return a string representation of the receiver */ -override public char[] toString () { +override public String toString () { if (isDisposed()) return "Font {*DISPOSED*}"; return Format( "Font {{{}}", handle ); } diff -r ff59aeb96cac -r ab60f3309436 dwt/graphics/FontData.d --- a/dwt/graphics/FontData.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/graphics/FontData.d Mon May 05 00:12:38 2008 +0200 @@ -75,7 +75,7 @@ /** * The locales of the font */ - char[] lang, country, variant; + String lang, country, variant; private static FontData s_this; @@ -120,12 +120,12 @@ * * @see #toString */ -public this(char[] string) { +public this(String string) { if (string is null) DWT.error(DWT.ERROR_NULL_ARGUMENT); int start = 0; int end = string.indexOf('|'); if (end is -1) DWT.error(DWT.ERROR_INVALID_ARGUMENT); - char[] version1 = string.substring(start, end); + String version1 = string.substring(start, end); try { if (Integer.parseInt(version1) !is 1) DWT.error(DWT.ERROR_INVALID_ARGUMENT); } catch (NumberFormatException e) { @@ -135,7 +135,7 @@ start = end + 1; end = string.indexOf('|', start); if (end is -1) DWT.error(DWT.ERROR_INVALID_ARGUMENT); - char[] name = string.substring(start, end); + String name = string.substring(start, end); start = end + 1; end = string.indexOf('|', start); @@ -165,12 +165,12 @@ setHeight(height); setStyle(style); if (end is -1) return; - char[] platform = string.substring(start, end); + String platform = string.substring(start, end); start = end + 1; end = string.indexOf('|', start); if (end is -1) return; - char[] version2 = string.substring(start, end); + String version2 = string.substring(start, end); if (platform ==/*eq*/ "WINDOWS" && version2 ==/*eq*/ "1") { //$NON-NLS-1$//$NON-NLS-2$ LOGFONT newData;// = OS.IsUnicode ? cast(LOGFONT)new LOGFONTW() : new LOGFONTA(); @@ -234,7 +234,7 @@ setStyle(style); return; } - char[] buffer = string.substring(start); + String buffer = string.substring(start); auto wname = StrToTCHARs(buffer); int len = Math.min(OS.LF_FACESIZE - 1, wname.length); newData.lfFaceName[ 0 .. len ] = wname[ 0 .. len ]; @@ -257,7 +257,7 @@ *
  • ERROR_INVALID_ARGUMENT - if the height is negative
  • * */ -public this(char[] name, int height, int style) { +public this(String name, int height, int style) { if (name is null) DWT.error(DWT.ERROR_NULL_ARGUMENT); setName(name); setHeight(height); @@ -268,7 +268,7 @@ data.lfCharSet = cast(byte)OS.DEFAULT_CHARSET; } -/*public*/ this(char[] name, float height, int style) { +/*public*/ this(String name, float height, int style) { if (name is null) DWT.error(DWT.ERROR_NULL_ARGUMENT); setName(name); setHeight(height); @@ -322,7 +322,7 @@ /* Get the locale ID */ int length_ = 8; - char[] str = .TCHARzToStr( cast(TCHAR*)lpLocaleString, length_); + String str = .TCHARzToStr( cast(TCHAR*)lpLocaleString, length_); int lcid = Integer.parseInt(str, 16); TCHAR[] buffer = new TCHAR[length_]; @@ -380,7 +380,7 @@ * @return the String representing a Locale object * @since 3.0 */ -public char[] getLocale () { +public String getLocale () { StringBuffer buffer = new StringBuffer (); char sep = '_'; if (lang !is null) { @@ -395,7 +395,7 @@ buffer.append (variant); } - char[] result = buffer.toString (); + String result = buffer.toString (); int length_ = result.length; if (length_ > 0) { if (result.charAt (length_ - 1) is sep) { @@ -414,7 +414,7 @@ * * @see #setName */ -public char[] getName() { +public String getName() { return .TCHARzToStr( data.lfFaceName.ptr, -1 ); } @@ -445,12 +445,12 @@ * @see #equals */ override public hash_t toHash () { - char[] name = getName(); + String name = getName(); return data.lfCharSet ^ getHeight() ^ data.lfWidth ^ data.lfEscapement ^ data.lfOrientation ^ data.lfWeight ^ data.lfItalic ^data.lfUnderline ^ data.lfStrikeOut ^ data.lfCharSet ^ data.lfOutPrecision ^ data.lfClipPrecision ^ data.lfQuality ^ data.lfPitchAndFamily ^ - typeid(char[]).getHash(&name); + typeid(String).getHash(&name); } /** @@ -493,7 +493,7 @@ * @param locale the String representing a Locale object * @see java.util.Locale#toString */ -public void setLocale(char[] locale) { +public void setLocale(String locale) { lang = country = variant = null; if (locale !is null) { char sep = '_'; @@ -547,7 +547,7 @@ * * @see #getName */ -public void setName(char[] name) { +public void setName(String name) { if (name is null) DWT.error(DWT.ERROR_NULL_ARGUMENT); /* The field lfFaceName must be NULL terminated */ @@ -589,41 +589,41 @@ * * @see FontData */ -override public char[] toString() { +override public String toString() { StringBuffer buffer = new StringBuffer(); buffer.append("1|"); //$NON-NLS-1$ buffer.append(getName()); buffer.append("|"); //$NON-NLS-1$ - buffer.append(to!(char[])(getHeightF())); + buffer.append(to!(String)(getHeightF())); buffer.append("|"); //$NON-NLS-1$ - buffer.append(to!(char[])(getStyle())); + buffer.append(to!(String)(getStyle())); buffer.append("|"); //$NON-NLS-1$ buffer.append("WINDOWS|1|"); //$NON-NLS-1$ - buffer.append(to!(char[])(data.lfHeight)); + buffer.append(to!(String)(data.lfHeight)); buffer.append("|"); //$NON-NLS-1$ - buffer.append(to!(char[])(data.lfWidth)); + buffer.append(to!(String)(data.lfWidth)); buffer.append("|"); //$NON-NLS-1$ - buffer.append(to!(char[])(data.lfEscapement)); + buffer.append(to!(String)(data.lfEscapement)); buffer.append("|"); //$NON-NLS-1$ - buffer.append(to!(char[])(data.lfOrientation)); + buffer.append(to!(String)(data.lfOrientation)); buffer.append("|"); //$NON-NLS-1$ - buffer.append(to!(char[])(data.lfWeight)); + buffer.append(to!(String)(data.lfWeight)); buffer.append("|"); //$NON-NLS-1$ - buffer.append(to!(char[])(data.lfItalic)); + buffer.append(to!(String)(data.lfItalic)); buffer.append("|"); //$NON-NLS-1$ - buffer.append(to!(char[])(data.lfUnderline)); + buffer.append(to!(String)(data.lfUnderline)); buffer.append("|"); //$NON-NLS-1$ - buffer.append(to!(char[])(data.lfStrikeOut)); + buffer.append(to!(String)(data.lfStrikeOut)); buffer.append("|"); //$NON-NLS-1$ - buffer.append(to!(char[])(data.lfCharSet)); + buffer.append(to!(String)(data.lfCharSet)); buffer.append("|"); //$NON-NLS-1$ - buffer.append(to!(char[])(data.lfOutPrecision)); + buffer.append(to!(String)(data.lfOutPrecision)); buffer.append("|"); //$NON-NLS-1$ - buffer.append(to!(char[])(data.lfClipPrecision)); + buffer.append(to!(String)(data.lfClipPrecision)); buffer.append("|"); //$NON-NLS-1$ - buffer.append(to!(char[])(data.lfQuality)); + buffer.append(to!(String)(data.lfQuality)); buffer.append("|"); //$NON-NLS-1$ - buffer.append(to!(char[])(data.lfPitchAndFamily)); + buffer.append(to!(String)(data.lfPitchAndFamily)); buffer.append("|"); //$NON-NLS-1$ buffer.append(getName()); return buffer.toString(); diff -r ff59aeb96cac -r ab60f3309436 dwt/graphics/GC.d --- a/dwt/graphics/GC.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/graphics/GC.d Mon May 05 00:12:38 2008 +0200 @@ -581,7 +581,7 @@ chars = logFont.lfFaceName; } else { chars = new wchar[OS.LF_FACESIZE]; - char[] bytes = logFont.lfFaceName; + String bytes = logFont.lfFaceName; OS.MultiByteToWideChar (OS.CP_ACP, OS.MB_PRECOMPOSED, bytes.ptr, bytes.length, chars, chars.length); } int index = 0; @@ -589,7 +589,7 @@ if (chars [index] is 0) break; index++; } - char[] name = WCHARsToStr( chars[ 0 .. index ] ); + String name = WCHARsToStr( chars[ 0 .. index ] ); if (Compatibility.equalsIgnoreCase(name, "Courier")) { //$NON-NLS-1$ name = "Courier New"; //$NON-NLS-1$ } @@ -2080,7 +2080,7 @@ *
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
  • * */ -public void drawString (char[] string, int x, int y) { +public void drawString (String string, int x, int y) { drawString(string, x, y, false); } @@ -2104,7 +2104,7 @@ *
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
  • * */ -public void drawString (char[] string, int x, int y, bool isTransparent) { +public void drawString (String string, int x, int y, bool isTransparent) { if (handle is null) DWT.error(DWT.ERROR_GRAPHIC_DISPOSED); if (string is null) DWT.error(DWT.ERROR_NULL_ARGUMENT); // TCHAR buffer = new TCHAR (getCodePage(), string, false); @@ -2236,7 +2236,7 @@ *
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
  • * */ -public void drawText (char[] string, int x, int y) { +public void drawText (String string, int x, int y) { drawText(string, x, y, DWT.DRAW_DELIMITER | DWT.DRAW_TAB); } @@ -2260,7 +2260,7 @@ *
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
  • * */ -public void drawText (char[] string, int x, int y, bool isTransparent) { +public void drawText (String string, int x, int y, bool isTransparent) { int flags = DWT.DRAW_DELIMITER | DWT.DRAW_TAB; if (isTransparent) flags |= DWT.DRAW_TRANSPARENT; drawText(string, x, y, flags); @@ -2300,7 +2300,7 @@ *
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
  • * */ -public void drawText (char[] string, int x, int y, int flags) { +public void drawText (String string, int x, int y, int flags) { if (handle is null) DWT.error(DWT.ERROR_GRAPHIC_DISPOSED); if (string is null) DWT.error(DWT.ERROR_NULL_ARGUMENT); if (string.length is 0) return; @@ -4686,7 +4686,7 @@ *
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
  • * */ -public Point stringExtent(char[] string) { +public Point stringExtent(String string) { if (handle is null) DWT.error(DWT.ERROR_GRAPHIC_DISPOSED); if (string is null) DWT.error (DWT.ERROR_NULL_ARGUMENT); checkGC(FONT); @@ -4744,7 +4744,7 @@ *
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
  • * */ -public Point textExtent(char[] string) { +public Point textExtent(String string) { return textExtent(string, DWT.DRAW_DELIMITER | DWT.DRAW_TAB); } @@ -4779,7 +4779,7 @@ *
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
  • * */ -public Point textExtent(char[] string, int flags) { +public Point textExtent(String string, int flags) { if (handle is null) DWT.error(DWT.ERROR_GRAPHIC_DISPOSED); if (string is null) DWT.error (DWT.ERROR_NULL_ARGUMENT); checkGC(FONT); @@ -4830,7 +4830,7 @@ * * @return a string representation of the receiver */ -override public char[] toString () { +override public String toString () { if (isDisposed()) return "GC {*DISPOSED*}"; return Format( "GC {{{}}", handle ); } diff -r ff59aeb96cac -r ab60f3309436 dwt/graphics/GlyphMetrics.d --- a/dwt/graphics/GlyphMetrics.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/graphics/GlyphMetrics.d Mon May 05 00:12:38 2008 +0200 @@ -14,6 +14,8 @@ import dwt.DWT; import tango.text.convert.Format; +import dwt.dwthelper.utils; + /** * Instances of this class represent glyph metrics. *

    @@ -106,7 +108,7 @@ * * @return a string representation of the GlyphMetrics */ -public override char[] toString () { +public override String toString () { return Format( "GlyphMetrics {{{}, {}, {}}", ascent, descent, width ); //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ } diff -r ff59aeb96cac -r ab60f3309436 dwt/graphics/Image.d --- a/dwt/graphics/Image.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/graphics/Image.d Mon May 05 00:12:38 2008 +0200 @@ -594,7 +594,7 @@ *

  • ERROR_NO_HANDLES if a handle could not be obtained for image creation
  • * */ -public this (Device device, char[] filename) { +public this (Device device, String filename) { if (device is null) device = Device.getDevice(); if (device is null) DWT.error(DWT.ERROR_NULL_ARGUMENT); if (filename is null) DWT.error(DWT.ERROR_NULL_ARGUMENT); @@ -2123,7 +2123,7 @@ * * @return a string representation of the receiver */ -override public char[] toString () { +override public String toString () { if (isDisposed()) return "Image {*DISPOSED*}"; return Format( "Image {{{}}", handle ); } diff -r ff59aeb96cac -r ab60f3309436 dwt/graphics/ImageData.d --- a/dwt/graphics/ImageData.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/graphics/ImageData.d Mon May 05 00:12:38 2008 +0200 @@ -24,6 +24,7 @@ public import dwt.dwthelper.InputStream; import dwt.dwthelper.System; +import dwt.dwthelper.utils; /** @@ -390,7 +391,7 @@ *
  • ERROR_UNSUPPORTED_FORMAT - if the image file contains an unrecognized format
  • * */ -public this(char[] filename) { +public this(String filename) { ImageData[] data = ImageDataLoader.load(filename); if (data.length < 1) DWT.error(DWT.ERROR_INVALID_IMAGE); ImageData i = data[0]; diff -r ff59aeb96cac -r ab60f3309436 dwt/graphics/ImageDataLoader.d --- a/dwt/graphics/ImageDataLoader.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/graphics/ImageDataLoader.d Mon May 05 00:12:38 2008 +0200 @@ -16,6 +16,7 @@ public import dwt.dwthelper.InputStream; import dwt.graphics.ImageLoader; +import dwt.dwthelper.utils; /** * Internal class that separates ImageData from ImageLoader @@ -27,7 +28,7 @@ return (new ImageLoader()).load(stream); } - public static ImageData[] load(char[] filename) { + public static ImageData[] load(String filename) { return (new ImageLoader()).load(filename); } diff -r ff59aeb96cac -r ab60f3309436 dwt/graphics/ImageLoader.d --- a/dwt/graphics/ImageLoader.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/graphics/ImageLoader.d Mon May 05 00:12:38 2008 +0200 @@ -23,6 +23,7 @@ import tango.core.Exception; import tango.core.Array; +import dwt.dwthelper.utils; /** @@ -154,7 +155,7 @@ *
  • ERROR_UNSUPPORTED_FORMAT - if the image file contains an unrecognized format
  • * */ -public ImageData[] load(char[] filename) { +public ImageData[] load(String filename) { if (filename is null) DWT.error(DWT.ERROR_NULL_ARGUMENT); InputStream stream = null; void close(){ @@ -240,7 +241,7 @@ *
  • ERROR_UNSUPPORTED_FORMAT - if the image data cannot be saved to the requested format
  • * */ -public void save(char[] filename, int format) { +public void save(String filename, int format) { if (filename is null) DWT.error(DWT.ERROR_NULL_ARGUMENT); OutputStream stream = null; try { diff -r ff59aeb96cac -r ab60f3309436 dwt/graphics/ImageLoaderEvent.d --- a/dwt/graphics/ImageLoaderEvent.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/graphics/ImageLoaderEvent.d Mon May 05 00:12:38 2008 +0200 @@ -16,6 +16,7 @@ public import dwt.internal.DWTEventObject; public import dwt.graphics.ImageLoader; public import dwt.graphics.ImageData; +import dwt.dwthelper.utils; import tango.text.convert.Format; @@ -85,7 +86,7 @@ * * @return a string representation of the event */ -public override char[] toString () { +public override String toString () { return Format( "ImageLoaderEvent {source={} imageData={} incrementCount={} endOfImage={}}", source, imageData, incrementCount, endOfImage); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ } diff -r ff59aeb96cac -r ab60f3309436 dwt/graphics/Path.d --- a/dwt/graphics/Path.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/graphics/Path.d Mon May 05 00:12:38 2008 +0200 @@ -29,6 +29,7 @@ import dwt.dwthelper.System; import tango.text.convert.Format; +import dwt.dwthelper.utils; /** * Instances of this class represent paths through the two-dimensional @@ -215,7 +216,7 @@ *
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
  • * */ -public void addString(char[] string, float x, float y, Font font) { +public void addString(String string, float x, float y, Font font) { if (isDisposed()) DWT.error(DWT.ERROR_GRAPHIC_DISPOSED); if (font is null) DWT.error(DWT.ERROR_NULL_ARGUMENT); if (font.isDisposed()) DWT.error(DWT.ERROR_INVALID_ARGUMENT); @@ -518,7 +519,7 @@ * * @return a string representation of the receiver */ -override public char[] toString() { +override public String toString() { if (isDisposed()) return "Path {*DISPOSED*}"; return Format( "Path {{{}}", handle ); } diff -r ff59aeb96cac -r ab60f3309436 dwt/graphics/Pattern.d --- a/dwt/graphics/Pattern.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/graphics/Pattern.d Mon May 05 00:12:38 2008 +0200 @@ -25,6 +25,7 @@ import dwt.graphics.Image; import tango.text.convert.Format; +import dwt.dwthelper.utils; /** * Instances of this class represent patterns to use while drawing. Patterns @@ -272,7 +273,7 @@ * * @return a string representation of the receiver */ -override public char[] toString() { +override public String toString() { if (isDisposed()) return "Pattern {*DISPOSED*}"; return Format( "Pattern {{{}}", handle ); } diff -r ff59aeb96cac -r ab60f3309436 dwt/graphics/Point.d --- a/dwt/graphics/Point.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/graphics/Point.d Mon May 05 00:12:38 2008 +0200 @@ -16,6 +16,7 @@ public import dwt.internal.SerializableCompatibility; import tango.text.convert.Format; +import dwt.dwthelper.utils; /** * Instances of this class represent places on the (x, y) @@ -104,7 +105,7 @@ * * @return a string representation of the point */ -override public char[] toString () { +override public String toString () { return Format( "Point {{{}, {}}", x, y );; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ } diff -r ff59aeb96cac -r ab60f3309436 dwt/graphics/RGB.d --- a/dwt/graphics/RGB.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/graphics/RGB.d Mon May 05 00:12:38 2008 +0200 @@ -17,6 +17,7 @@ import dwt.DWT; import Math = tango.math.Math : min, max; import tango.text.convert.Format; +import dwt.dwthelper.utils; /** * Instances of this class are descriptions of colors in @@ -223,7 +224,7 @@ * * @return a String representation of the RGB */ -public override char[] toString() { +public override String toString() { return Format( "RGB {{{}, {}, {}}", red, green, blue ); //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ } diff -r ff59aeb96cac -r ab60f3309436 dwt/graphics/Rectangle.d --- a/dwt/graphics/Rectangle.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/graphics/Rectangle.d Mon May 05 00:12:38 2008 +0200 @@ -18,6 +18,7 @@ import dwt.DWT; import dwt.DWTError; import tango.text.convert.Format; +import dwt.dwthelper.utils; /** * Instances of this class represent rectangular areas in an @@ -313,7 +314,7 @@ * * @return a string representation of the rectangle */ -public override char[] toString () { +public override String toString () { return Format( "Rectangle {{{}, {}, {}, {}}", x, y, width, height ); //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ } diff -r ff59aeb96cac -r ab60f3309436 dwt/graphics/Region.d --- a/dwt/graphics/Region.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/graphics/Region.d Mon May 05 00:12:38 2008 +0200 @@ -24,6 +24,7 @@ import dwt.graphics.Device; import tango.text.convert.Format; +import dwt.dwthelper.utils; /** * Instances of this class represent areas of an x-y coordinate @@ -590,7 +591,7 @@ * * @return a string representation of the receiver */ -override public char[] toString () { +override public String toString () { if (isDisposed()) return "Region {*DISPOSED*}"; return Format( "Region {{{}}", handle ); } diff -r ff59aeb96cac -r ab60f3309436 dwt/graphics/TextLayout.d --- a/dwt/graphics/TextLayout.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/graphics/TextLayout.d Mon May 05 00:12:38 2008 +0200 @@ -52,7 +52,7 @@ */ public final class TextLayout : Resource { Font font; - char[] text, segmentsText; + String text, segmentsText; int lineSpacing; int ascent, descent; int alignment; @@ -170,7 +170,7 @@ x = 0; lineBreak = softBreak = false; } - override public char[] toString () { + override public String toString () { return Format( "StyleItem {{{}, {}}", start, style ); } } @@ -1736,7 +1736,7 @@ return segments; } -char[] getSegmentsText() { +String getSegmentsText() { if (segments is null) return text; int nSegments = segments.length; if (nSegments <= 1) return text; @@ -1857,7 +1857,7 @@ *
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
  • * */ -public char[] getText () { +public String getText () { checkLayout(); return text; } @@ -2358,7 +2358,7 @@ *
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
  • * */ -public void setText (char[] text) { +public void setText (String text) { checkLayout(); //PORTING_CHANGE: allow null argument //if (text is null) DWT.error(DWT.ERROR_NULL_ARGUMENT); @@ -2514,7 +2514,7 @@ * * @return a string representation of the receiver */ -override public char[] toString () { +override public String toString () { if (isDisposed()) return "TextLayout {*DISPOSED*}"; return "TextLayout {}"; } diff -r ff59aeb96cac -r ab60f3309436 dwt/graphics/TextStyle.d --- a/dwt/graphics/TextStyle.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/graphics/TextStyle.d Mon May 05 00:12:38 2008 +0200 @@ -18,6 +18,8 @@ import dwt.graphics.GlyphMetrics; import tango.util.Convert; +import dwt.dwthelper.utils; + /** * TextStyle defines a set of styles that can be applied * to a range of text. @@ -173,8 +175,8 @@ * * @return a string representation of the TextStyle */ -override public char[] toString () { - char[] buffer = "TextStyle {"; +override public String toString () { + String buffer = "TextStyle {"; int startLength = buffer.length; if (font !is null) { if (buffer.length > startLength) buffer ~= ", "; @@ -202,7 +204,7 @@ if (rise !is 0) { if (buffer.length > startLength) buffer ~= ", "; buffer ~= "rise="; - buffer ~= to!(char[])(rise); + buffer ~= to!(String)(rise); } if (metrics !is null) { if (buffer.length > startLength) buffer ~= ", "; diff -r ff59aeb96cac -r ab60f3309436 dwt/graphics/Transform.d --- a/dwt/graphics/Transform.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/graphics/Transform.d Mon May 05 00:12:38 2008 +0200 @@ -21,6 +21,7 @@ import dwt.graphics.Device; import tango.text.convert.Format; +import dwt.dwthelper.utils; /** * Instances of this class represent transformation matrices for @@ -343,7 +344,7 @@ * * @return a string representation of the receiver */ -override public char[] toString() { +override public String toString() { if (isDisposed()) return "Transform {*DISPOSED*}"; float[6] elements; getElements(elements); diff -r ff59aeb96cac -r ab60f3309436 dwt/internal/BidiUtil.d --- a/dwt/internal/BidiUtil.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/internal/BidiUtil.d Mon May 05 00:12:38 2008 +0200 @@ -50,7 +50,7 @@ * they are targeted for CLDC. */ // static Callback callback = new Callback (BidiUtil.class, "windowProc", 4); - static const char[] CLASS_NAME = "org.eclipse.swt.internal.BidiUtil"; //$NON-NLS-1$ + static const String CLASS_NAME = "org.eclipse.swt.internal.BidiUtil"; //$NON-NLS-1$ // static this() { // try { // callback = new Callback (Class.forName (CLASS_NAME), "windowProc", 4); //$NON-NLS-1$ @@ -76,8 +76,8 @@ static const int LANG_ARABIC = 0x01; static const int LANG_HEBREW = 0x0d; // code page identifiers - static const char[] CD_PG_HEBREW = "1255"; //$NON-NLS-1$ - static const char[] CD_PG_ARABIC = "1256"; //$NON-NLS-1$ + static const String CD_PG_HEBREW = "1255"; //$NON-NLS-1$ + static const String CD_PG_ARABIC = "1256"; //$NON-NLS-1$ // ActivateKeyboard constants static const int HKL_NEXT = 1; static const int HKL_PREV = 0; @@ -169,7 +169,7 @@ * parameter. See org.eclipse.swt.custom.BidiSegmentEvent for details. * @return buffer with the glyphs that should be rendered for the given text */ -public static char[] getRenderInfo(GC gc, char[] text, int[] order, byte[] classBuffer, int[] dx, int flags, int [] offsets) { +public static char[] getRenderInfo(GC gc, String text, int[] order, byte[] classBuffer, int[] dx, int flags, int [] offsets) { auto fontLanguageInfo = OS.GetFontLanguageInfo(gc.handle); auto hHeap = OS.GetProcessHeap(); int[8] lpCs; @@ -302,7 +302,7 @@ * @param offsets text segments that should be measured and reordered separately, input * parameter. See org.eclipse.swt.custom.BidiSegmentEvent for details. */ -public static void getOrderInfo(GC gc, char[] text, int[] order, byte[] classBuffer, int flags, int [] offsets) { +public static void getOrderInfo(GC gc, String text, int[] order, byte[] classBuffer, int flags, int [] offsets) { int fontLanguageInfo = OS.GetFontLanguageInfo(gc.handle); auto hHeap = OS.GetProcessHeap(); int[8] lpCs; @@ -466,7 +466,7 @@ if (isBidiPlatform_ is 1) return true; // need to look at system code page for NT & 98 platforms since EnumSystemLanguageGroups is // not supported for these platforms - char[] codePage = to!(char[])(OS.GetACP()); + String codePage = to!(String)(OS.GetACP()); if (CD_PG_ARABIC==/*eq*/codePage || CD_PG_HEBREW==/*eq*/codePage) { isBidiPlatform_ = 1; } diff -r ff59aeb96cac -r ab60f3309436 dwt/internal/Compatibility.d --- a/dwt/internal/Compatibility.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/internal/Compatibility.d Mon May 05 00:12:38 2008 +0200 @@ -1,4 +1,4 @@ -/******************************************************************************* +/******************************************************************************* * Copyright (c) 2000, 2006 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 @@ -28,6 +28,7 @@ import Math = tango.math.Math; import Unicode = tango.text.Unicode; import tango.sys.Process; +import dwt.dwthelper.utils; /** * This class is a placeholder for utility methods commonly @@ -163,7 +164,7 @@ * @return a stream on the file if it could be opened. * @exception IOException */ -public static InputStream newFileInputStream(char[] filename) { +public static InputStream newFileInputStream(String filename) { return new FileInputStream(filename); } @@ -174,7 +175,7 @@ * @return a stream on the file if it could be opened. * @exception IOException */ -public static OutputStream newFileOutputStream(char[] filename) { +public static OutputStream newFileOutputStream(String filename) { return new FileOutputStream(filename); } @@ -243,7 +244,7 @@ * @exception ProcessException * if the program cannot be executed */ -public static void exec(char[] prog) { +public static void exec(String prog) { auto proc = new Process( prog ); proc.execute; } @@ -260,7 +261,7 @@ * @exception ProcessException * if the program cannot be executed */ -public static void exec(char[][] progArray) { +public static void exec(String[] progArray) { auto proc = new Process( progArray ); proc.execute; } @@ -341,15 +342,15 @@ * @param s2 string * @return true if the two instances of class String are equal */ -public static bool equalsIgnoreCase(char[] s1, char[] s2) { - char[] s1b = new char[ s1.length ]; - char[] s2b = new char[ s1.length ]; +public static bool equalsIgnoreCase(String s1, String s2) { + String s1b = new char[ s1.length ]; + String s2b = new char[ s1.length ]; scope(exit){ delete s1b; delete s2b; } - char[] s1c = Unicode.toFold( s1, s1b ); - char[] s2c = Unicode.toFold( s2, s2b ); + String s1c = Unicode.toFold( s1, s1b ); + String s2c = Unicode.toFold( s2, s2b ); return s1c == s2c; } diff -r ff59aeb96cac -r ab60f3309436 dwt/internal/DWTEventObject.d --- a/dwt/internal/DWTEventObject.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/internal/DWTEventObject.d Mon May 05 00:12:38 2008 +0200 @@ -32,7 +32,7 @@ return source; } - public override char[] toString() { + public override String toString() { return this.classinfo.name ~ "[source=" ~ source.toString() ~ "]"; } } diff -r ff59aeb96cac -r ab60f3309436 dwt/internal/Library.d --- a/dwt/internal/Library.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/internal/Library.d Mon May 05 00:12:38 2008 +0200 @@ -13,6 +13,7 @@ module dwt.internal.Library; import tango.util.Convert; +import dwt.dwthelper.utils; // do it here, so it can be evaluated at compile time // this saves a static ctor. @@ -47,14 +48,14 @@ public static const int SWT_VERSION = .buildSWT_VERSION(MAJOR_VERSION, MINOR_VERSION); version( Windows ){ - static const char[] SEPARATOR = "\r\n"; + static const String SEPARATOR = "\r\n"; } else { static assert( false, "only windows supported for this port" ); } -static int parseVersion(char[] aVersion) { +static int parseVersion(String aVersion) { if (aVersion == null) return 0; int major = 0, minor = 0, micro = 0; int length = aVersion.length, index = 0, start = 0; @@ -101,7 +102,7 @@ return .buildSWT_VERSION(major, minor); } /+ PORTING_LEFT -static bool extract (char[] fileName, char[] mappedName) { +static bool extract (String fileName, String mappedName) { FileOutputStream os = null; InputStream is = null; File file = new File(fileName); @@ -137,7 +138,7 @@ return false; } -static bool load (char[] libName) { +static bool load (String libName) { try { if (libName.indexOf (SEPARATOR) != -1) { System.load (libName); @@ -160,7 +161,7 @@ * * @param name the name of the library to load */ -public static void loadLibrary (char[] name) { +public static void loadLibrary (String name) { loadLibrary (name, true); } @@ -176,7 +177,7 @@ * @param name the name of the library to load * @param mapName true if the name should be mapped, false otherwise */ -public static void loadLibrary (char[] name, boolean mapName) { +public static void loadLibrary (String name, boolean mapName) { /* Compute the library name and mapped name */ String libName1, libName2, mappedName1, mappedName2; diff -r ff59aeb96cac -r ab60f3309436 dwt/internal/Platform.d --- a/dwt/internal/Platform.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/internal/Platform.d Mon May 05 00:12:38 2008 +0200 @@ -1,4 +1,4 @@ -/******************************************************************************* +/******************************************************************************* * Copyright (c) 2000, 2007 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 @@ -9,9 +9,10 @@ * IBM Corporation - initial API and implementation *******************************************************************************/ module dwt.internal.Platform; +import dwt.dwthelper.utils; public class Platform { - -public static const char[] PLATFORM = "win32"; //$NON-NLS-1$ + +public static const String PLATFORM = "win32"; //$NON-NLS-1$ } diff -r ff59aeb96cac -r ab60f3309436 dwt/internal/image/FileFormat.d --- a/dwt/internal/image/FileFormat.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/internal/image/FileFormat.d Mon May 05 00:12:38 2008 +0200 @@ -32,6 +32,7 @@ import tango.core.Exception; import tango.core.Tuple; +import dwt.dwthelper.utils; /** * Abstract factory class for loading/unloading images from files or streams @@ -39,9 +40,9 @@ * */ public abstract class FileFormat { - static const char[] FORMAT_PACKAGE = "dwt.internal.image"; //$NON-NLS-1$ - static const char[] FORMAT_SUFFIX = "FileFormat"; //$NON-NLS-1$ - static const char[][] FORMATS = [ "WinBMP"[], "WinBMP", "GIF", "WinICO", "JPEG", "PNG", "TIFF", "OS2BMP" ]; //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$//$NON-NLS-5$ //$NON-NLS-6$//$NON-NLS-7$//$NON-NLS-8$ + static const String FORMAT_PACKAGE = "dwt.internal.image"; //$NON-NLS-1$ + static const String FORMAT_SUFFIX = "FileFormat"; //$NON-NLS-1$ + static const String[] FORMATS = [ "WinBMP"[], "WinBMP", "GIF", "WinICO", "JPEG", "PNG", "TIFF", "OS2BMP" ]; //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$//$NON-NLS-5$ //$NON-NLS-6$//$NON-NLS-7$//$NON-NLS-8$ alias Tuple!( WinBMPFileFormat, WinBMPFileFormat, GIFFileFormat, WinICOFileFormat, JPEGFileFormat, PNGFileFormat, TIFFFileFormat, OS2BMPFileFormat ) TFormats; LEDataInputStream inputStream; LEDataOutputStream outputStream; diff -r ff59aeb96cac -r ab60f3309436 dwt/internal/image/GIFFileFormat.d --- a/dwt/internal/image/GIFFileFormat.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/internal/image/GIFFileFormat.d Mon May 05 00:12:38 2008 +0200 @@ -23,9 +23,10 @@ import dwt.graphics.ImageLoader; import tango.core.Exception; import dwt.dwthelper.System; +import dwt.dwthelper.utils; final class GIFFileFormat : FileFormat { - char[] signature; + String signature; int screenWidth, screenHeight, backgroundPixel, bitsPerPixel, defaultDepth; int disposalMethod = 0; int delayTime = 0; @@ -61,7 +62,7 @@ byte[3] signature; stream.read(signature); stream.unread(signature); - return cast(char[])signature == "GIF"; //$NON-NLS-1$ + return cast(String)signature == "GIF"; //$NON-NLS-1$ } catch (Exception e) { return false; } @@ -77,7 +78,7 @@ byte[7] block; try { inputStream.read(signatureBytes); - signature = cast(char[])signatureBytes.dup; + signature = cast(String)signatureBytes.dup; if (signature != "GIF") //$NON-NLS-1$ DWT.error(DWT.ERROR_INVALID_IMAGE); @@ -314,11 +315,11 @@ // Read application identifier. byte[] applicationBytes = new byte[8]; inputStream.read(applicationBytes); - char[] application = cast(char[])(applicationBytes.dup); + String application = cast(String)(applicationBytes.dup); // Read authentication code. byte[] authenticationBytes = new byte[3]; inputStream.read(authenticationBytes); - char[] authentication = cast(char[])(authenticationBytes.dup); + String authentication = cast(String)(authenticationBytes.dup); // Read application data. byte[] data = new byte[0]; byte[] block = new byte[255]; diff -r ff59aeb96cac -r ab60f3309436 dwt/internal/image/JPEGDecoder.d --- a/dwt/internal/image/JPEGDecoder.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/internal/image/JPEGDecoder.d Mon May 05 00:12:38 2008 +0200 @@ -25,6 +25,7 @@ import tango.util.Convert; import Math = tango.math.Math; import dwt.dwthelper.System; +import dwt.dwthelper.utils; public class JPEGDecoder { @@ -2288,7 +2289,7 @@ DWT.error(code); } -static void error(char[] msg) { +static void error(String msg) { DWT.error(DWT.ERROR_INVALID_IMAGE, null, msg); } @@ -5833,7 +5834,7 @@ /* For now, precision must match compiled-in value... */ if (cinfo.data_precision !is BITS_IN_JSAMPLE) - error(" [data precision=" ~ to!(char[])(cinfo.data_precision) ~ "]"); + error(" [data precision=" ~ to!(String)(cinfo.data_precision) ~ "]"); // ERREXIT1(cinfo, JERR_BAD_PRECISION, cinfo.data_precision); /* Check that number of components won't exceed internal array sizes */ diff -r ff59aeb96cac -r ab60f3309436 dwt/internal/image/PngChunk.d --- a/dwt/internal/image/PngChunk.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/internal/image/PngChunk.d Mon May 05 00:12:38 2008 +0200 @@ -25,6 +25,7 @@ import tango.core.Exception; import tango.text.convert.Format; import dwt.dwthelper.System; +import dwt.dwthelper.utils; class PngChunk { byte[] reference; @@ -374,7 +375,7 @@ * Provided so that subclasses can override and add * data to the toString() call. */ -char[] contributeToString() { +String contributeToString() { return ""; } @@ -384,10 +385,10 @@ * * @return a string representation of the event */ -override public char[] toString() { - char[] buffer = Format( "{\n\tLength: {}\n\tType: {}{}\n\tCRC: {:X}\n}", +override public String toString() { + String buffer = Format( "{\n\tLength: {}\n\tType: {}{}\n\tCRC: {:X}\n}", getLength(), - cast(char[]) getTypeBytes(), + cast(String) getTypeBytes(), contributeToString(), getCRC()); return buffer; diff -r ff59aeb96cac -r ab60f3309436 dwt/internal/image/PngIhdrChunk.d --- a/dwt/internal/image/PngIhdrChunk.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/internal/image/PngIhdrChunk.d Mon May 05 00:12:38 2008 +0200 @@ -1,4 +1,4 @@ -/******************************************************************************* +/******************************************************************************* * Copyright (c) 2000, 2006 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 @@ -20,6 +20,7 @@ import dwt.internal.image.PngIhdrChunk; import dwt.internal.image.PngChunk; import tango.text.convert.Format; +import dwt.dwthelper.utils; class PngIhdrChunk : PngChunk { static const int IHDR_DATA_LENGTH = 13; @@ -271,7 +272,7 @@ } } -char[] getColorTypeString() { +String getColorTypeString() { switch (colorType) { case COLOR_TYPE_GRAYSCALE: return "Grayscale"; case COLOR_TYPE_RGB: return "RGB"; @@ -282,7 +283,7 @@ } } -char[] getFilterMethodString() { +String getFilterMethodString() { switch (filterMethod) { case FILTER_NONE: return "None"; case FILTER_SUB: return "Sub"; @@ -293,7 +294,7 @@ } } -char[] getInterlaceMethodString() { +String getInterlaceMethodString() { switch (interlaceMethod) { case INTERLACE_METHOD_NONE: return "Not Interlaced"; case INTERLACE_METHOD_ADAM7: return "Interlaced - ADAM7"; @@ -301,7 +302,7 @@ } } -override char[] contributeToString() { +override String contributeToString() { return Format( "\n\tWidth: {}\n\tHeight: {}\n\tBit Depth: {}\n\tColor Type: {}\n\tCompression Method: {}\n\tFilter Method: {}\n\tInterlace Method: {}", width, height, bitDepth, getColorTypeString(), compressionMethod, getFilterMethodString(), getInterlaceMethodString() ); } diff -r ff59aeb96cac -r ab60f3309436 dwt/internal/image/PngPlteChunk.d --- a/dwt/internal/image/PngPlteChunk.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/internal/image/PngPlteChunk.d Mon May 05 00:12:38 2008 +0200 @@ -1,4 +1,4 @@ -/******************************************************************************* +/******************************************************************************* * Copyright (c) 2000, 2006 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 @@ -21,6 +21,7 @@ import dwt.internal.image.PngIhdrChunk; import tango.text.convert.Format; +import dwt.dwthelper.utils; class PngPlteChunk : PngChunk { @@ -123,7 +124,7 @@ if (256 < paletteSize) DWT.error(DWT.ERROR_INVALID_IMAGE); } -override char[] contributeToString() { +override String contributeToString() { return Format("\n\tPalette size:{}", paletteSize ); } diff -r ff59aeb96cac -r ab60f3309436 dwt/internal/ole/win32/COM.d --- a/dwt/internal/ole/win32/COM.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/internal/ole/win32/COM.d Mon May 05 00:12:38 2008 +0200 @@ -24,13 +24,14 @@ private import dwt.internal.ole.win32.extras; private import dwt.internal.ole.win32.ifs; private import dwt.internal.ole.win32.COMAPI; +import dwt.dwthelper.utils; private alias dwt.internal.ole.win32.COMAPI COMAPI; public import dwt.internal.win32.OS; -template IIDFromStringT(char[] g) { +template IIDFromStringT(String g) { static if (g.length == 38) const GUID IIDFromStringT = IIDFromStringT!(g[1..$-1]); else static if (g.length == 36) @@ -103,7 +104,7 @@ //public static const GUID IIDIExternalConnection = IIDFromStringT!("{00000019-0000-0000-C000-000000000046}"); //$NON-NLS-1$ public static const GUID IIDIFont = IIDFromStringT!("{BEF6E002-A874-101A-8BBA-00AA00300CAB}"); //$NON-NLS-1$ //public static const GUID IIDIFontDisp = IIDFromStringT!("{BEF6E003-A874-101A-8BBA-00AA00300CAB}"); //$NON-NLS-1$ - public static const /*GUID*/ char[] IIDIHTMLDocumentEvents2 = /*IIDFromStringT!(*/"{3050F613-98B5-11CF-BB82-00AA00BDCE0B}"/*)*/; + public static const /*GUID*/ String IIDIHTMLDocumentEvents2 = /*IIDFromStringT!(*/"{3050F613-98B5-11CF-BB82-00AA00BDCE0B}"/*)*/; public static const GUID IIDIInternetSecurityManager = IIDFromStringT!("{79eac9ee-baf9-11ce-8c82-00aa004ba90b}"); //$NON-NLS-1$ //public static const GUID IIDILockBytes = IIDFromStringT!("{0000000A-0000-0000-C000-000000000046}"); //$NON-NLS-1$ //public static const GUID IIDIMalloc = IIDFromStringT!("{00000002-0000-0000-C000-000000000046}"); //$NON-NLS-1$ @@ -441,7 +442,7 @@ // alias dwt.internal.ole.win32.comapi. -// public static GUID* IIDFromString(char[] lpsz) { +// public static GUID* IIDFromString(String lpsz) { // GUID* lpiid = new GUID(); // if (COM.IIDFromString(Converter.StrToWCHARz(lpsz), lpiid) == COM.S_OK) // return lpiid; @@ -853,10 +854,10 @@ */ // BSTR is aliased to wchar* // Note : Free the "bstr" memory if freeTheString is true, default false -char[] BSTRToStr( /*BSTR*/ inout wchar* bstr, bool freeTheString = false){ +String BSTRToStr( /*BSTR*/ inout wchar* bstr, bool freeTheString = false){ if(bstr is null) return null; int size = (SysStringByteLen(bstr) + 1)/wchar.sizeof; - char[] result = WCHARzToStr(bstr, size); + String result = WCHARzToStr(bstr, size); if(freeTheString) { // free the string and set ptr to null SysFreeString(bstr); diff -r ff59aeb96cac -r ab60f3309436 dwt/layout/FillLayout.d --- a/dwt/layout/FillLayout.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/layout/FillLayout.d Mon May 05 00:12:38 2008 +0200 @@ -179,8 +179,8 @@ return true; } -char[] getName () { - char[] string = this.classinfo.name; +String getName () { + String string = this.classinfo.name; int index = string.lastIndexOf( '.'); if (index is -1 ) return string; return string[ index + 1 .. string.length ]; @@ -232,12 +232,12 @@ * * @return a string representation of the layout */ -override public char[] toString () { - char[] string = getName () ~ " {"; +override public String toString () { + String string = getName () ~ " {"; string ~= "type="~((type is DWT.VERTICAL) ? "DWT.VERTICAL" : "DWT.HORIZONTAL")~" "; - if (marginWidth !is 0) string ~= "marginWidth="~to!(char[])(marginWidth)~" "; - if (marginHeight !is 0) string ~= "marginHeight="~to!(char[])(marginHeight)~" "; - if (spacing !is 0) string ~= "spacing="~to!(char[])(spacing)~" "; + if (marginWidth !is 0) string ~= "marginWidth="~to!(String)(marginWidth)~" "; + if (marginHeight !is 0) string ~= "marginHeight="~to!(String)(marginHeight)~" "; + if (spacing !is 0) string ~= "spacing="~to!(String)(spacing)~" "; string = string.trim(); string ~= "}"; return string; diff -r ff59aeb96cac -r ab60f3309436 dwt/layout/FormAttachment.d --- a/dwt/layout/FormAttachment.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/layout/FormAttachment.d Mon May 05 00:12:38 2008 +0200 @@ -18,6 +18,7 @@ import dwt.layout.FormData; import tango.text.convert.Format; +import dwt.dwthelper.utils; /** * Instances of this class are used to define the edges of a control @@ -298,8 +299,8 @@ * * @return a string representation of the FormAttachment */ -public override char[] toString () { - char[] string = control !is null ? control.toString () : Format( "{}/{}", numerator, denominator ); +public override String toString () { + String string = control !is null ? control.toString () : Format( "{}/{}", numerator, denominator ); return Format("{{y = ({})x + {}}", string, ( offset >= 0 ? Format(")x + {}", offset ) : Format( ")x - {}", -offset))); } diff -r ff59aeb96cac -r ab60f3309436 dwt/layout/FormData.d --- a/dwt/layout/FormData.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/layout/FormData.d Mon May 05 00:12:38 2008 +0200 @@ -18,8 +18,8 @@ import dwt.widgets.Control; import dwt.layout.FormAttachment; -import tango.text.Util; import tango.util.Convert; +import dwt.dwthelper.utils; /** * Instances of this class are used to define the attachments @@ -238,10 +238,10 @@ return cacheLeft; } -char[] getName () { - char[] string = this.classinfo.name; - int index = locatePrior( string, '.'); - if (index is string.length ) return string; +String getName () { + String string = this.classinfo.name; + int index = string.lastIndexOf( '.'); + if (index is -1 ) return string; return string[ index + 1 .. string.length ]; } @@ -333,15 +333,15 @@ * * @return a string representation of the FormData object */ -override public char[] toString () { - char[] string = getName()~" {"; - if (width !is DWT.DEFAULT) string ~= "width="~to!(char[])(width)~" "; - if (height !is DWT.DEFAULT) string ~= "height="~to!(char[])(height)~" "; - if (left !is null) string ~= "left="~to!(char[])(left)~" "; - if (right !is null) string ~= "right="~to!(char[])(right)~" "; - if (top !is null) string ~= "top="~to!(char[])(top)~" "; - if (bottom !is null) string ~= "bottom="~to!(char[])(bottom)~" "; - string = trim( string ); +override public String toString () { + String string = getName()~" {"; + if (width !is DWT.DEFAULT) string ~= "width="~to!(String)(width)~" "; + if (height !is DWT.DEFAULT) string ~= "height="~to!(String)(height)~" "; + if (left !is null) string ~= "left="~to!(String)(left)~" "; + if (right !is null) string ~= "right="~to!(String)(right)~" "; + if (top !is null) string ~= "top="~to!(String)(top)~" "; + if (bottom !is null) string ~= "bottom="~to!(String)(bottom)~" "; + string = string.trim(); string ~= "}"; return string; } diff -r ff59aeb96cac -r ab60f3309436 dwt/layout/FormLayout.d --- a/dwt/layout/FormLayout.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/layout/FormLayout.d Mon May 05 00:12:38 2008 +0200 @@ -22,9 +22,9 @@ import dwt.widgets.Composite; import dwt.widgets.Scrollable; -import tango.text.Util; import tango.util.Convert; import Math = tango.math.Math; +import dwt.dwthelper.utils; /** * Instances of this class control the position and size of the @@ -260,10 +260,10 @@ return true; } -char[] getName () { - char[] string = this.classinfo.name; - int index = locatePrior( string, '.'); - if (index is string.length ) return string; +String getName () { + String string = this.classinfo.name; + int index = string.lastIndexOf('.'); + if (index is -1 ) return string; return string[ index + 1 .. string.length ]; } @@ -379,16 +379,16 @@ * * @return a string representation of the layout */ -override public char[] toString () { - char[] string = getName ()~" {"; - if (marginWidth !is 0) string ~= "marginWidth="~to!(char[])(marginWidth)~" "; - if (marginHeight !is 0) string ~= "marginHeight="~to!(char[])(marginHeight)~" "; - if (marginLeft !is 0) string ~= "marginLeft="~to!(char[])(marginLeft)~" "; - if (marginRight !is 0) string ~= "marginRight="~to!(char[])(marginRight)~" "; - if (marginTop !is 0) string ~= "marginTop="~to!(char[])(marginTop)~" "; - if (marginBottom !is 0) string ~= "marginBottom="~to!(char[])(marginBottom)~" "; - if (spacing !is 0) string ~= "spacing="~to!(char[])(spacing)~" "; - string = trim( string ); +override public String toString () { + String string = getName ()~" {"; + if (marginWidth !is 0) string ~= "marginWidth="~to!(String)(marginWidth)~" "; + if (marginHeight !is 0) string ~= "marginHeight="~to!(String)(marginHeight)~" "; + if (marginLeft !is 0) string ~= "marginLeft="~to!(String)(marginLeft)~" "; + if (marginRight !is 0) string ~= "marginRight="~to!(String)(marginRight)~" "; + if (marginTop !is 0) string ~= "marginTop="~to!(String)(marginTop)~" "; + if (marginBottom !is 0) string ~= "marginBottom="~to!(String)(marginBottom)~" "; + if (spacing !is 0) string ~= "spacing="~to!(String)(spacing)~" "; + string = string.trim(); string ~= "}"; return string; } diff -r ff59aeb96cac -r ab60f3309436 dwt/layout/GridData.d --- a/dwt/layout/GridData.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/layout/GridData.d Mon May 05 00:12:38 2008 +0200 @@ -16,8 +16,8 @@ import dwt.graphics.Point; import dwt.widgets.Control; -import tango.text.Util; import tango.util.Convert; +import dwt.dwthelper.utils; /** * GridData is the layout data object associated with @@ -503,10 +503,10 @@ currentWidth = currentHeight = -1; } -char[] getName () { - char[] string = this.classinfo.name; - int index = locatePrior( string, '.'); - if (index is string.length ) return string; +String getName () { + String string = this.classinfo.name; + int index = string.lastIndexOf('.'); + if (index is -1 ) return string; return string[ index + 1 .. string.length ]; } @@ -516,8 +516,8 @@ * * @return a string representation of the GridData object */ -override public char[] toString () { - char[] hAlign = ""; +override public String toString () { + String hAlign = ""; switch (horizontalAlignment) { case DWT.FILL: hAlign = "DWT.FILL"; break; case DWT.BEGINNING: hAlign = "DWT.BEGINNING"; break; @@ -527,9 +527,9 @@ case DWT.RIGHT: hAlign = "DWT.RIGHT"; break; case DWT.CENTER: hAlign = "DWT.CENTER"; break; case CENTER: hAlign = "GridData.CENTER"; break; - default: hAlign = "Undefined "~to!(char[])(horizontalAlignment); break; + default: hAlign = "Undefined "~to!(String)(horizontalAlignment); break; } - char[] vAlign = ""; + String vAlign = ""; switch (verticalAlignment) { case DWT.FILL: vAlign = "DWT.FILL"; break; case DWT.BEGINNING: vAlign = "DWT.BEGINNING"; break; @@ -539,22 +539,22 @@ case DWT.BOTTOM: vAlign = "DWT.BOTTOM"; break; case DWT.CENTER: vAlign = "DWT.CENTER"; break; case CENTER: vAlign = "GridData.CENTER"; break; - default: vAlign = "Undefined "~to!(char[])(verticalAlignment); break; + default: vAlign = "Undefined "~to!(String)(verticalAlignment); break; } - char[] string = getName()~" {"; - string ~= "horizontalAlignment="~to!(char[])(hAlign)~" "; - if (horizontalIndent !is 0) string ~= "horizontalIndent="~to!(char[])(horizontalIndent)~" "; - if (horizontalSpan !is 1) string ~= "horizontalSpan="~to!(char[])(horizontalSpan)~" "; - if (grabExcessHorizontalSpace) string ~= "grabExcessHorizontalSpace="~to!(char[])(grabExcessHorizontalSpace)~" "; - if (widthHint !is DWT.DEFAULT) string ~= "widthHint="~to!(char[])(widthHint)~" "; - if (minimumWidth !is 0) string ~= "minimumWidth="~to!(char[])(minimumWidth)~" "; + String string = getName()~" {"; + string ~= "horizontalAlignment="~to!(String)(hAlign)~" "; + if (horizontalIndent !is 0) string ~= "horizontalIndent="~to!(String)(horizontalIndent)~" "; + if (horizontalSpan !is 1) string ~= "horizontalSpan="~to!(String)(horizontalSpan)~" "; + if (grabExcessHorizontalSpace) string ~= "grabExcessHorizontalSpace="~to!(String)(grabExcessHorizontalSpace)~" "; + if (widthHint !is DWT.DEFAULT) string ~= "widthHint="~to!(String)(widthHint)~" "; + if (minimumWidth !is 0) string ~= "minimumWidth="~to!(String)(minimumWidth)~" "; string ~= "verticalAlignment="~vAlign~" "; - if (verticalIndent !is 0) string ~= "verticalIndent="~to!(char[])(verticalIndent)~" "; - if (verticalSpan !is 1) string ~= "verticalSpan="~to!(char[])(verticalSpan)~" "; - if (grabExcessVerticalSpace) string ~= "grabExcessVerticalSpace="~to!(char[])(grabExcessVerticalSpace)~" "; - if (heightHint !is DWT.DEFAULT) string ~= "heightHint="~to!(char[])(heightHint)~" "; - if (minimumHeight !is 0) string ~= "minimumHeight="~to!(char[])(minimumHeight)~" "; - if (exclude) string ~= "exclude="~to!(char[])(exclude)~" "; + if (verticalIndent !is 0) string ~= "verticalIndent="~to!(String)(verticalIndent)~" "; + if (verticalSpan !is 1) string ~= "verticalSpan="~to!(String)(verticalSpan)~" "; + if (grabExcessVerticalSpace) string ~= "grabExcessVerticalSpace="~to!(String)(grabExcessVerticalSpace)~" "; + if (heightHint !is DWT.DEFAULT) string ~= "heightHint="~to!(String)(heightHint)~" "; + if (minimumHeight !is 0) string ~= "minimumHeight="~to!(String)(minimumHeight)~" "; + if (exclude) string ~= "exclude="~to!(String)(exclude)~" "; string = string.trim(); string ~= "}"; return string; diff -r ff59aeb96cac -r ab60f3309436 dwt/layout/GridLayout.d --- a/dwt/layout/GridLayout.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/layout/GridLayout.d Mon May 05 00:12:38 2008 +0200 @@ -23,9 +23,9 @@ import dwt.dwthelper.System; -import tango.text.Util; import tango.util.Convert; import Math = tango.math.Math; +import dwt.dwthelper.utils; /** @@ -726,10 +726,10 @@ return new Point (totalDefaultWidth, totalDefaultHeight); } -char[] getName () { - char[] string = this.classinfo.name; - int index = locatePrior( string, '.'); - if (index is string.length ) return string; +String getName () { + String string = this.classinfo.name; + int index = string.lastIndexOf('.'); + if (index is -1 ) return string; return string[ index + 1 .. string.length ]; } @@ -739,18 +739,18 @@ * * @return a string representation of the layout */ -override public char[] toString () { - char[] string = getName ()~" {"; - if (numColumns !is 1) string ~= "numColumns="~to!(char[])(numColumns)~" "; - if (makeColumnsEqualWidth) string ~= "makeColumnsEqualWidth="~to!(char[])(makeColumnsEqualWidth)~" "; - if (marginWidth !is 0) string ~= "marginWidth="~to!(char[])(marginWidth)~" "; - if (marginHeight !is 0) string ~= "marginHeight="~to!(char[])(marginHeight)~" "; - if (marginLeft !is 0) string ~= "marginLeft="~to!(char[])(marginLeft)~" "; - if (marginRight !is 0) string ~= "marginRight="~to!(char[])(marginRight)~" "; - if (marginTop !is 0) string ~= "marginTop="~to!(char[])(marginTop)~" "; - if (marginBottom !is 0) string ~= "marginBottom="~to!(char[])(marginBottom)~" "; - if (horizontalSpacing !is 0) string ~= "horizontalSpacing="~to!(char[])(horizontalSpacing)~" "; - if (verticalSpacing !is 0) string ~= "verticalSpacing="~to!(char[])(verticalSpacing)~" "; +override public String toString () { + String string = getName ()~" {"; + if (numColumns !is 1) string ~= "numColumns="~to!(String)(numColumns)~" "; + if (makeColumnsEqualWidth) string ~= "makeColumnsEqualWidth="~to!(String)(makeColumnsEqualWidth)~" "; + if (marginWidth !is 0) string ~= "marginWidth="~to!(String)(marginWidth)~" "; + if (marginHeight !is 0) string ~= "marginHeight="~to!(String)(marginHeight)~" "; + if (marginLeft !is 0) string ~= "marginLeft="~to!(String)(marginLeft)~" "; + if (marginRight !is 0) string ~= "marginRight="~to!(String)(marginRight)~" "; + if (marginTop !is 0) string ~= "marginTop="~to!(String)(marginTop)~" "; + if (marginBottom !is 0) string ~= "marginBottom="~to!(String)(marginBottom)~" "; + if (horizontalSpacing !is 0) string ~= "horizontalSpacing="~to!(String)(horizontalSpacing)~" "; + if (verticalSpacing !is 0) string ~= "verticalSpacing="~to!(String)(verticalSpacing)~" "; string = string.trim(); string ~= "}"; return string; diff -r ff59aeb96cac -r ab60f3309436 dwt/layout/RowData.d --- a/dwt/layout/RowData.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/layout/RowData.d Mon May 05 00:12:38 2008 +0200 @@ -16,8 +16,8 @@ import dwt.graphics.Point; import dwt.widgets.Control; -import tango.text.Util; import tango.util.Convert; +import dwt.dwthelper.utils; /** * Each control controlled by a RowLayout can have its initial @@ -105,10 +105,10 @@ this (point.x, point.y); } -char[] getName () { - char[] string = this.classinfo.name; - int index = locatePrior( string, '.'); - if (index is string.length ) return string; +String getName () { + String string = this.classinfo.name; + int index = string.lastIndexOf('.'); + if (index is -1 ) return string; return string[ index + 1 .. string.length ]; } @@ -118,12 +118,12 @@ * * @return a string representation of the RowData object */ -override public char[] toString () { - char[] string = getName ()~" {"; - if (width !is DWT.DEFAULT) string ~= "width="~to!(char[])(width)~" "; - if (height !is DWT.DEFAULT) string ~= "height="~to!(char[])(height)~" "; - if (exclude) string ~= "exclude="~to!(char[])(exclude)~" "; - string = trim( string ); +override public String toString () { + String string = getName ()~" {"; + if (width !is DWT.DEFAULT) string ~= "width="~to!(String)(width)~" "; + if (height !is DWT.DEFAULT) string ~= "height="~to!(String)(height)~" "; + if (exclude) string ~= "exclude="~to!(String)(exclude)~" "; + string = string.trim(); string ~= "}"; return string; } diff -r ff59aeb96cac -r ab60f3309436 dwt/layout/RowLayout.d --- a/dwt/layout/RowLayout.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/layout/RowLayout.d Mon May 05 00:12:38 2008 +0200 @@ -19,9 +19,9 @@ import dwt.widgets.Layout; import dwt.widgets.Composite; import dwt.layout.RowData; -import tango.text.Util; import tango.util.Convert; import Math = tango.math.Math; +import dwt.dwthelper.utils; /** @@ -220,10 +220,10 @@ return true; } -char[] getName () { - char[] string = this.classinfo.name; - int index = locatePrior( string, '.'); - if (index is string.length ) return string; +String getName () { + String string = this.classinfo.name; + int index = string.lastIndexOf('.'); + if (index is -1 ) return string; return string[ index + 1 .. string.length ]; } @@ -456,21 +456,21 @@ * * @return a string representation of the layout */ -override public char[] toString () { - char[] string = getName ()~" {"; +override public String toString () { + String string = getName ()~" {"; string ~= "type="~((type !is DWT.HORIZONTAL) ? "DWT.VERTICAL" : "DWT.HORIZONTAL")~" "; - if (marginWidth !is 0) string ~= "marginWidth="~to!(char[])(marginWidth)~" "; - if (marginHeight !is 0) string ~= "marginHeight="~to!(char[])(marginHeight)~" "; - if (marginLeft !is 0) string ~= "marginLeft="~to!(char[])(marginLeft)~" "; - if (marginTop !is 0) string ~= "marginTop="~to!(char[])(marginTop)~" "; - if (marginRight !is 0) string ~= "marginRight="~to!(char[])(marginRight)~" "; - if (marginBottom !is 0) string ~= "marginBottom="~to!(char[])(marginBottom)~" "; - if (spacing !is 0) string ~= "spacing="~to!(char[])(spacing)~" "; - string ~= "wrap="~to!(char[])(wrap)~" "; - string ~= "pack="~to!(char[])(pack)~" "; - string ~= "fill="~to!(char[])(fill)~" "; - string ~= "justify="~to!(char[])(justify)~" "; - string = trim( string ); + if (marginWidth !is 0) string ~= "marginWidth="~to!(String)(marginWidth)~" "; + if (marginHeight !is 0) string ~= "marginHeight="~to!(String)(marginHeight)~" "; + if (marginLeft !is 0) string ~= "marginLeft="~to!(String)(marginLeft)~" "; + if (marginTop !is 0) string ~= "marginTop="~to!(String)(marginTop)~" "; + if (marginRight !is 0) string ~= "marginRight="~to!(String)(marginRight)~" "; + if (marginBottom !is 0) string ~= "marginBottom="~to!(String)(marginBottom)~" "; + if (spacing !is 0) string ~= "spacing="~to!(String)(spacing)~" "; + string ~= "wrap="~to!(String)(wrap)~" "; + string ~= "pack="~to!(String)(pack)~" "; + string ~= "fill="~to!(String)(fill)~" "; + string ~= "justify="~to!(String)(justify)~" "; + string = string.trim(); string ~= "}"; return string; } diff -r ff59aeb96cac -r ab60f3309436 dwt/ole/win32/OLE.d --- a/dwt/ole/win32/OLE.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/ole/win32/OLE.d Mon May 05 00:12:38 2008 +0200 @@ -38,8 +38,8 @@ public static const int E_NOINTERFACE = -2147467262; // QueryInterface did not recognize the requested interface. public static const int E_NOTIMPL = -2147467263; // Not implemented - public static const char[] IID_IUNKNOWN = "{00000000-0000-0000-C000-000000000046}"; //$NON-NLS-1$ - public static const char[] IID_IDISPATCH = "{00020400-0000-0000-C000-000000000046}"; //$NON-NLS-1$ + public static const String IID_IUNKNOWN = "{00000000-0000-0000-C000-000000000046}"; //$NON-NLS-1$ + public static const String IID_IDISPATCH = "{00020400-0000-0000-C000-000000000046}"; //$NON-NLS-1$ // Verbs that can be invoked on this client public static const int OLEIVERB_DISCARDUNDOSTATE = -6; // close the OLE object and discard the undo state @@ -269,28 +269,28 @@ public static const int CC_MPWPASCAL = 8; public static const int CC_MAX = 9; - static const char[] ERROR_NOT_IMPLEMENTED_MSG = "Required functionality not currently supported.";//$NON-NLS-1$ - static const char[] ERROR_CANNOT_CREATE_FILE_MSG = "Failed to create file.";//$NON-NLS-1$ - static const char[] ERROR_CANNOT_CREATE_OBJECT_MSG = "Failed to create Ole Client.";//$NON-NLS-1$ - static const char[] ERROR_CANNOT_OPEN_FILE_MSG = "File does not exist, is not accessible to user or does not have the correct format.";//$NON-NLS-1$ - static const char[] ERROR_INTERFACE_NOT_FOUND_MSG = "Failed to find requested interface on OLE Object.";//$NON-NLS-1$ - static const char[] ERROR_INVALID_CLASSID_MSG = "Class ID not found in registry";//$NON-NLS-1$ - static const char[] ERROR_CANNOT_ACCESS_CLASSFACTORY_MSG = "Failed to get the class factory for the specified classID";//$NON-NLS-1$ - static const char[] ERROR_CANNOT_CREATE_LICENSED_OBJECT_MSG = "Failed to create Licensed instance";//$NON-NLS-1$ - static const char[] ERROR_OUT_OF_MEMORY_MSG = "Out of Memory";//$NON-NLS-1$ - static const char[] ERROR_CANNOT_CHANGE_VARIANT_TYPE_MSG = "Failed to change Variant type";//$NON-NLS-1$ - static const char[] ERROR_INVALID_INTERFACE_ADDRESS_MSG = "Invalid address received for Ole Interface.";//$NON-NLS-1$ - static const char[] ERROR_APPLICATION_NOT_FOUND_MSG = "Unable to find Application.";//$NON-NLS-1$ - static const char[] ERROR_ACTION_NOT_PERFORMED_MSG = "Action can not be performed.";//$NON-NLS-1$ + static const String ERROR_NOT_IMPLEMENTED_MSG = "Required functionality not currently supported.";//$NON-NLS-1$ + static const String ERROR_CANNOT_CREATE_FILE_MSG = "Failed to create file.";//$NON-NLS-1$ + static const String ERROR_CANNOT_CREATE_OBJECT_MSG = "Failed to create Ole Client.";//$NON-NLS-1$ + static const String ERROR_CANNOT_OPEN_FILE_MSG = "File does not exist, is not accessible to user or does not have the correct format.";//$NON-NLS-1$ + static const String ERROR_INTERFACE_NOT_FOUND_MSG = "Failed to find requested interface on OLE Object.";//$NON-NLS-1$ + static const String ERROR_INVALID_CLASSID_MSG = "Class ID not found in registry";//$NON-NLS-1$ + static const String ERROR_CANNOT_ACCESS_CLASSFACTORY_MSG = "Failed to get the class factory for the specified classID";//$NON-NLS-1$ + static const String ERROR_CANNOT_CREATE_LICENSED_OBJECT_MSG = "Failed to create Licensed instance";//$NON-NLS-1$ + static const String ERROR_OUT_OF_MEMORY_MSG = "Out of Memory";//$NON-NLS-1$ + static const String ERROR_CANNOT_CHANGE_VARIANT_TYPE_MSG = "Failed to change Variant type";//$NON-NLS-1$ + static const String ERROR_INVALID_INTERFACE_ADDRESS_MSG = "Invalid address received for Ole Interface.";//$NON-NLS-1$ + static const String ERROR_APPLICATION_NOT_FOUND_MSG = "Unable to find Application.";//$NON-NLS-1$ + static const String ERROR_ACTION_NOT_PERFORMED_MSG = "Action can not be performed.";//$NON-NLS-1$ -public static void error (char[] file, long line, int code) { +public static void error (String file, long line, int code) { error (code, 0); } public static void error (int code) { error (code, 0); } -public static void error (char[] file, long line, int code, int hresult) { +public static void error (String file, long line, int code, int hresult) { error (code, hresult); } public static void error (int code, int hresult) { @@ -303,60 +303,60 @@ /* DWT Errors (non-fatal) */ case ERROR_CANNOT_CREATE_FILE : { - char[] msg = ERROR_CANNOT_CREATE_FILE_MSG; - if (hresult !is 0) msg ~= " result = "~to!(char[])(hresult);//$NON-NLS-1$ + String msg = ERROR_CANNOT_CREATE_FILE_MSG; + if (hresult !is 0) msg ~= " result = "~to!(String)(hresult);//$NON-NLS-1$ throw new DWTException (code, msg); } case ERROR_CANNOT_CREATE_OBJECT : { - char[] msg = ERROR_CANNOT_CREATE_OBJECT_MSG; - if (hresult !is 0) msg ~= " result = "~to!(char[])(hresult);//$NON-NLS-1$ + String msg = ERROR_CANNOT_CREATE_OBJECT_MSG; + if (hresult !is 0) msg ~= " result = "~to!(String)(hresult);//$NON-NLS-1$ throw new DWTException (code, msg);//$NON-NLS-1$ } case ERROR_CANNOT_OPEN_FILE : { - char[] msg = ERROR_CANNOT_OPEN_FILE_MSG; - if (hresult !is 0) msg ~= " result = "~to!(char[])(hresult);//$NON-NLS-1$ + String msg = ERROR_CANNOT_OPEN_FILE_MSG; + if (hresult !is 0) msg ~= " result = "~to!(String)(hresult);//$NON-NLS-1$ throw new DWTException (code, msg); } case ERROR_INTERFACE_NOT_FOUND : { - char[] msg = ERROR_INTERFACE_NOT_FOUND_MSG; - if (hresult !is 0) msg ~= " result = "~to!(char[])(hresult);//$NON-NLS-1$ + String msg = ERROR_INTERFACE_NOT_FOUND_MSG; + if (hresult !is 0) msg ~= " result = "~to!(String)(hresult);//$NON-NLS-1$ throw new DWTException (code, msg); } case ERROR_INVALID_CLASSID : { - char[] msg = ERROR_INVALID_CLASSID_MSG; - if (hresult !is 0) msg ~= " result = "~to!(char[])(hresult);//$NON-NLS-1$ + String msg = ERROR_INVALID_CLASSID_MSG; + if (hresult !is 0) msg ~= " result = "~to!(String)(hresult);//$NON-NLS-1$ throw new DWTException (code, msg); } case ERROR_CANNOT_ACCESS_CLASSFACTORY : { - char[] msg = ERROR_CANNOT_ACCESS_CLASSFACTORY_MSG; - if (hresult !is 0) msg ~= " result = "~to!(char[])(hresult);//$NON-NLS-1$ + String msg = ERROR_CANNOT_ACCESS_CLASSFACTORY_MSG; + if (hresult !is 0) msg ~= " result = "~to!(String)(hresult);//$NON-NLS-1$ throw new DWTException (code, msg); } case ERROR_CANNOT_CREATE_LICENSED_OBJECT : { - char[] msg = ERROR_CANNOT_CREATE_LICENSED_OBJECT_MSG; - if (hresult !is 0) msg ~= " result = "~to!(char[])(hresult);//$NON-NLS-1$ + String msg = ERROR_CANNOT_CREATE_LICENSED_OBJECT_MSG; + if (hresult !is 0) msg ~= " result = "~to!(String)(hresult);//$NON-NLS-1$ throw new DWTException (code, msg); } case ERROR_CANNOT_CHANGE_VARIANT_TYPE : { - char[] msg = ERROR_CANNOT_CHANGE_VARIANT_TYPE_MSG; - if (hresult !is 0) msg ~= " result = "~to!(char[])(hresult);//$NON-NLS-1$ + String msg = ERROR_CANNOT_CHANGE_VARIANT_TYPE_MSG; + if (hresult !is 0) msg ~= " result = "~to!(String)(hresult);//$NON-NLS-1$ throw new DWTException (code, msg); } case ERROR_APPLICATION_NOT_FOUND : { - char[] msg = ERROR_APPLICATION_NOT_FOUND_MSG; - if (hresult !is 0) msg ~= " result = "~to!(char[])(hresult);//$NON-NLS-1$ + String msg = ERROR_APPLICATION_NOT_FOUND_MSG; + if (hresult !is 0) msg ~= " result = "~to!(String)(hresult);//$NON-NLS-1$ throw new DWTException (code, msg); } case ERROR_ACTION_NOT_PERFORMED : { - char[] msg = ERROR_ACTION_NOT_PERFORMED_MSG; - if (hresult !is 0) msg ~= " result = "~to!(char[])(hresult);//$NON-NLS-1$ + String msg = ERROR_ACTION_NOT_PERFORMED_MSG; + if (hresult !is 0) msg ~= " result = "~to!(String)(hresult);//$NON-NLS-1$ throw new DWTException (code, msg); } /* OS Failure/Limit (fatal, may occur only on some platforms) */ case ERROR_OUT_OF_MEMORY : { - char[] msg = ERROR_ACTION_NOT_PERFORMED_MSG; - if (hresult !is 0) msg ~= " result = "~to!(char[])(hresult); //$NON-NLS-1$ + String msg = ERROR_ACTION_NOT_PERFORMED_MSG; + if (hresult !is 0) msg ~= " result = "~to!(String)(hresult); //$NON-NLS-1$ throw new DWTError (code, msg); } default: @@ -378,7 +378,7 @@ *
  • ERROR_NULL_ARGUMENT when extension is null
  • * */ -public static char[] findProgramID (char[] extension) { +public static String findProgramID (String extension) { if (extension is null) DWT.error (DWT.ERROR_NULL_ARGUMENT); if (extension.length is 0) return ""; //$NON-NLS-1$ @@ -386,7 +386,7 @@ /* Use the character encoding for the default locale */ TCHAR[] extensionKey = StrToTCHARs(0, extension, true); - char[] result = getKeyValue(extensionKey); + String result = getKeyValue(extensionKey); if (result !is null) { // look for "\NotInsertable" TCHAR[] notInsertableKey = StrToTCHARs(0, result~"\\NotInsertable", true); //$NON-NLS-1$ @@ -401,12 +401,12 @@ return ""; //$NON-NLS-1$ } -static char[] getKeyValue (TCHAR[] key) { +static String getKeyValue (TCHAR[] key) { void* [1] phkResult; if (OS.RegOpenKeyEx (cast(void*)OS.HKEY_CLASSES_ROOT, key.ptr, 0, OS.KEY_READ, phkResult.ptr) !is 0) { return null; } - char[] result = null; + String result = null; uint [1] lpcbData; if (OS.RegQueryValueEx (phkResult [0], null, null, null, null, lpcbData.ptr) is 0) { int length_ = lpcbData [0] / TCHAR.sizeof; diff -r ff59aeb96cac -r ab60f3309436 dwt/ole/win32/OleAutomation.d --- a/dwt/ole/win32/OleAutomation.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/ole/win32/OleAutomation.d Mon May 05 00:12:38 2008 +0200 @@ -102,7 +102,7 @@ */ public final class OleAutomation { private IDispatch objIDispatch; - private char[] exceptionDescription; + private String exceptionDescription; private ITypeInfo objITypeInfo; this(IDispatch idispatch) { @@ -156,23 +156,23 @@ IDispatch getAddress() { return objIDispatch; } -public char[] getHelpFile(int dispId) { +public String getHelpFile(int dispId) { if (objITypeInfo is null) return null; BSTR file; HRESULT rc = objITypeInfo.GetDocumentation(dispId, null, null, null, &file ); if (rc is OLE.S_OK) { - char[] str = WCHARzToStr( file, -1 ); + String str = WCHARzToStr( file, -1 ); COM.SysFreeString(file); return str; } return null; } -public char[] getDocumentation(int dispId) { +public String getDocumentation(int dispId) { if (objITypeInfo is null) return null; BSTR doc; HRESULT rc = objITypeInfo.GetDocumentation(dispId, null, &doc, null, null ); if (rc == OLE.S_OK) { - char[] s = WCHARzToStr(doc, -1); + String s = WCHARzToStr(doc, -1); COM.SysFreeString(doc); return s; } @@ -221,7 +221,7 @@ data.documentation = getDocumentation(funcdesc.memid); data.helpFile = getHelpFile(funcdesc.memid); - char[][] names = getNames(funcdesc.memid, funcdesc.cParams + 1); + String[] names = getNames(funcdesc.memid, funcdesc.cParams + 1); if (names.length > 0) { data.name = names[0]; } @@ -267,25 +267,25 @@ return typeattr; } -public char[] getName(int dispId) { +public String getName(int dispId) { if (objITypeInfo is null) return null; BSTR name; HRESULT rc = objITypeInfo.GetDocumentation(dispId, &name, null, null, null ); if (rc == OLE.S_OK) { - char[] s = WCHARzToStr(name, -1); + String s = WCHARzToStr(name, -1); COM.SysFreeString(name); return s; } return null; } -public char[][] getNames(int dispId, int maxSize) { - if (objITypeInfo is null) return new char[][0]; +public String[] getNames(int dispId, int maxSize) { + if (objITypeInfo is null) return new String[0]; BSTR[] names = new BSTR[maxSize]; uint count; HRESULT rc = objITypeInfo.GetNames(dispId, names.ptr, maxSize, &count); if (rc == OLE.S_OK) { - char[][] newNames = new char[][count]; + String[] newNames = new String[count]; for(int i=0; iERROR_CANNOT_CREATE_OBJECT when failed to create OLE Object * */ -public this(Composite parent, int style, char[] progId) { +public this(Composite parent, int style, String progId) { this(parent, style); try { appClsid = getClassID(progId); @@ -320,7 +320,7 @@ *
  • ERROR_CANNOT_OPEN_FILE when failed to open file * */ -public this(Composite parent, int style, char[] progId, File file) { +public this(Composite parent, int style, String progId, File file) { this(parent, style); try { if (file is null || file.isDirectory() || !file.exists()) OLE.error (__FILE__, __LINE__, OLE.ERROR_INVALID_ARGUMENT); @@ -595,7 +595,7 @@ return null; return ppvObject; } -protected GUID* getClassID(char[] clientName) { +protected GUID* getClassID(String clientName) { // create a GUID struct to hold the result GUID* guid = new GUID(); @@ -641,7 +641,7 @@ * * @return the program ID of the OLE Document or ActiveX Control */ -public char[] getProgramID(){ +public String getProgramID(){ if (appClsid !is null){ wchar* hMem; if (COM.ProgIDFromCLSID(appClsid, &hMem) is COM.S_OK) { @@ -652,7 +652,7 @@ OS.GlobalUnlock(hMem); OS.GlobalFree(hMem); - char[] result = WCHARzToStr(buffer.ptr); + String result = WCHARzToStr(buffer.ptr); // remove null terminator //int index = result.indexOf("\0"); return result;//.substring(0, index); @@ -939,7 +939,7 @@ return COM.S_OK; } if (COM.IsEqualGUID(guid, &COM.IIDIOleDocumentSite )) { - char[] progID = getProgramID(); + String progID = getProgramID(); if (!progID.startsWith("PowerPoint")) { //$NON-NLS-1$ *ppvObject = cast(void*)cast(IOleDocumentSite)iOleDocumentSite; AddRef(); @@ -1237,7 +1237,7 @@ * * @param title the name that will appear in the titlebar of the dialog */ -public void showProperties(char[] title) { +public void showProperties(String title) { // Get the Property Page information from the OLE Object ISpecifyPropertyPages objISPP; diff -r ff59aeb96cac -r ab60f3309436 dwt/ole/win32/OleControlSite.d --- a/dwt/ole/win32/OleControlSite.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/ole/win32/OleControlSite.d Mon May 05 00:12:38 2008 +0200 @@ -106,7 +106,7 @@ *
  • ERROR_CANNOT_CREATE_LICENSED_OBJECT when failed to create a licensed OLE Object * */ -public this(Composite parent, int style, char[] progId) { +public this(Composite parent, int style, String progId) { super(parent, style); try { @@ -279,7 +279,7 @@ *
  • ERROR_NULL_ARGUMENT when listener is null
  • * */ -public void addEventListener(OleAutomation automation, char[] eventSinkId, int eventID, OleListener listener) { +public void addEventListener(OleAutomation automation, String eventSinkId, int eventID, OleListener listener) { if (listener is null || automation is null || eventSinkId is null) OLE.error (__FILE__, __LINE__, DWT.ERROR_NULL_ARGUMENT); auto address = automation.getAddress(); if (address is null) return; diff -r ff59aeb96cac -r ab60f3309436 dwt/ole/win32/OleFrame.d --- a/dwt/ole/win32/OleFrame.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/ole/win32/OleFrame.d Mon May 05 00:12:38 2008 +0200 @@ -73,14 +73,14 @@ private Listener listener; - private static char[] CHECK_FOCUS = "OLE_CHECK_FOCUS"; //$NON-NLS-1$ - private static char[] HHOOK = "OLE_HHOOK"; //$NON-NLS-1$ - private static char[] HHOOKMSG = "OLE_HHOOK_MSG"; //$NON-NLS-1$ + private static String CHECK_FOCUS = "OLE_CHECK_FOCUS"; //$NON-NLS-1$ + private static String HHOOK = "OLE_HHOOK"; //$NON-NLS-1$ + private static String HHOOKMSG = "OLE_HHOOK_MSG"; //$NON-NLS-1$ private static bool ignoreNextKey; private static const short [] ACCENTS = [ cast(short)'~', '`', '\'', '^', '"']; - private static const char[] CONSUME_KEY = "org.eclipse.swt.OleFrame.ConsumeKey"; //$NON-NLS-1$ + private static const String CONSUME_KEY = "org.eclipse.swt.OleFrame.ConsumeKey"; //$NON-NLS-1$ /** * Create an OleFrame child widget using style bits diff -r ff59aeb96cac -r ab60f3309436 dwt/ole/win32/OleFunctionDescription.d --- a/dwt/ole/win32/OleFunctionDescription.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/ole/win32/OleFunctionDescription.d Mon May 05 00:12:38 2008 +0200 @@ -13,11 +13,12 @@ module dwt.ole.win32.OleFunctionDescription; import dwt.ole.win32.OleParameterDescription; +import dwt.dwthelper.utils; public class OleFunctionDescription { public int id; - public char[] name; + public String name; public OleParameterDescription[] args; public int optionalArgCount; public short returnType; @@ -25,7 +26,7 @@ public int funcKind; public short flags; public int callingConvention; - public char[] documentation; - public char[] helpFile; + public String documentation; + public String helpFile; } diff -r ff59aeb96cac -r ab60f3309436 dwt/ole/win32/OleParameterDescription.d --- a/dwt/ole/win32/OleParameterDescription.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/ole/win32/OleParameterDescription.d Mon May 05 00:12:38 2008 +0200 @@ -11,10 +11,11 @@ * Frank Benoit *******************************************************************************/ module dwt.ole.win32.OleParameterDescription; +import dwt.dwthelper.utils; public class OleParameterDescription { - public char[] name; + public String name; public short flags; public short type; } diff -r ff59aeb96cac -r ab60f3309436 dwt/ole/win32/OlePropertyDescription.d --- a/dwt/ole/win32/OlePropertyDescription.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/ole/win32/OlePropertyDescription.d Mon May 05 00:12:38 2008 +0200 @@ -11,14 +11,15 @@ * Frank Benoit *******************************************************************************/ module dwt.ole.win32.OlePropertyDescription; +import dwt.dwthelper.utils; public class OlePropertyDescription { public int id; - public char[] name; + public String name; public int type; public int flags; public int kind; - public char[] description; - public char[] helpFile; + public String description; + public String helpFile; } diff -r ff59aeb96cac -r ab60f3309436 dwt/ole/win32/Variant.d --- a/dwt/ole/win32/Variant.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/ole/win32/Variant.d Mon May 05 00:12:38 2008 +0200 @@ -25,6 +25,7 @@ import tango.util.Convert; import tango.text.convert.Format; +import dwt.dwthelper.utils; /** * @@ -49,12 +50,12 @@ private bool booleanData; private byte byteData; private short shortData; - private char charData; + private wchar charData; private int intData; private long longData; private float floatData; private double doubleData; - private char[] stringData; + private String stringData; private void* byRefPtr; private IDispatch dispatchData; private IUnknown unknownData; @@ -216,7 +217,7 @@ * @param string the Java String value that this Variant represents * */ -public this(char[] string) { +public this(String string) { type = COM.VT_BSTR; stringData = string; } @@ -448,7 +449,7 @@ * * @since 3.3 */ -public char getChar() { +public wchar getChar() { if (type is COM.VT_EMPTY) { OLE.error(OLE.ERROR_CANNOT_CHANGE_VARIANT_TYPE, -1); } @@ -739,7 +740,7 @@ *
  • ERROR_CANNOT_CHANGE_VARIANT_TYPE when type of Variant can not be coerced into a String
  • * */ -public char[] getString() { +public String getString() { if (type is COM.VT_EMPTY) { OLE.error(OLE.ERROR_CANNOT_CHANGE_VARIANT_TYPE, -1); } @@ -922,7 +923,7 @@ shortData = newShortData[0]; break; case COM.VT_UI2 : - char[1] newCharData; + wchar[1] newCharData; COM.MoveMemory(newCharData.ptr, pData + 8, 2); charData = newCharData[0]; break; @@ -1011,24 +1012,24 @@ * * @return a string representation of the Variant */ -public char[] toString () { +public String toString () { switch (type) { case COM.VT_BOOL : - return "VT_BOOL{"~to!(char[])(booleanData)~"}"; + return "VT_BOOL{"~to!(String)(booleanData)~"}"; case COM.VT_I1 : - return "VT_I1{"~to!(char[])(byteData)~"}"; + return "VT_I1{"~to!(String)(byteData)~"}"; case COM.VT_I2 : - return "VT_I2{"~to!(char[])(shortData)~"}"; + return "VT_I2{"~to!(String)(shortData)~"}"; case COM.VT_UI2 : - return "VT_UI2{"~charData~"}"; + return "VT_UI2{"~ dcharToString(charData) ~"}"; case COM.VT_I4 : - return "VT_I4{"~to!(char[])(intData)~"}"; + return "VT_I4{"~to!(String)(intData)~"}"; case COM.VT_I8 : - return "VT_I8{"~to!(char[])(longData)~"}"; + return "VT_I8{"~to!(String)(longData)~"}"; case COM.VT_R4 : - return "VT_R4{"~to!(char[])(floatData)~"}"; + return "VT_R4{"~to!(String)(floatData)~"}"; case COM.VT_R8 : - return "VT_R8{"~to!(char[])(doubleData)~"}"; + return "VT_R8{"~to!(String)(doubleData)~"}"; case COM.VT_BSTR : return "VT_BSTR{"~stringData~"}"; case COM.VT_DISPATCH : @@ -1044,6 +1045,6 @@ if ((type & COM.VT_BYREF) !is 0) { return Format("VT_BYREF|{}{{{}}",(type & ~COM.VT_BYREF), byRefPtr ); } - return "Unsupported Type "~to!(char[])(type); + return "Unsupported Type "~to!(String)(type); } } diff -r ff59aeb96cac -r ab60f3309436 dwt/opengl/GLData.d --- a/dwt/opengl/GLData.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/opengl/GLData.d Mon May 05 00:12:38 2008 +0200 @@ -1,4 +1,4 @@ -/******************************************************************************* +/******************************************************************************* * Copyright (c) 2005, 2006 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 @@ -14,13 +14,14 @@ import tango.text.Util; import tango.util.Convert; +import dwt.dwthelper.utils; /** * The GLData class is a device-independent description * of the pixel format attributes of a GL drawable. * * @see GLCanvas - * + * * @since 3.2 */ @@ -28,13 +29,13 @@ /** * Specifies a double-buffered surface. During context * creation, only double-buffered formats are considered - * when set to true. + * when set to true. */ public bool doubleBuffer; /** * Specifies a stereo surface. During context creation, - * only stereo formats are considered when set to true. + * only stereo formats are considered when set to true. */ public bool stereo; @@ -124,22 +125,22 @@ * are preferred. */ public int samples; - + /** * Returns a string containing a concise, human-readable * description of the receiver. * * @return a string representation of the data */ -override public char[] toString() { - char[] string = doubleBuffer ? "doubleBuffer," : ""; +override public String toString() { + String string = doubleBuffer ? "doubleBuffer," : ""; string ~= stereo ? "stereo," : ""; - string ~= "r:" ~ to!(char[])(redSize) ~ " g:" ~ to!(char[])(greenSize) ~ - " b:" ~ to!(char[])(blueSize) ~ " a:" ~ to!(char[])(alphaSize) ~ "," ~ - "depth:" ~ to!(char[])(depthSize) ~ ",stencil:" ~ to!(char[])(stencilSize) ~ - ",accum r:" ~ to!(char[])(accumRedSize) ~ "g:" ~ to!(char[])(accumGreenSize) ~ - "b:" ~ to!(char[])(accumBlueSize) ~ "a:" ~ to!(char[])(accumAlphaSize) ~ - ",sampleBuffers:" ~ to!(char[])(sampleBuffers) ~ ",samples:" ~ to!(char[])(samples); + string ~= "r:" ~ to!(String)(redSize) ~ " g:" ~ to!(String)(greenSize) ~ + " b:" ~ to!(String)(blueSize) ~ " a:" ~ to!(String)(alphaSize) ~ "," ~ + "depth:" ~ to!(String)(depthSize) ~ ",stencil:" ~ to!(String)(stencilSize) ~ + ",accum r:" ~ to!(String)(accumRedSize) ~ "g:" ~ to!(String)(accumGreenSize) ~ + "b:" ~ to!(String)(accumBlueSize) ~ "a:" ~ to!(String)(accumAlphaSize) ~ + ",sampleBuffers:" ~ to!(String)(sampleBuffers) ~ ",samples:" ~ to!(String)(samples); return string; } } diff -r ff59aeb96cac -r ab60f3309436 dwt/printing/PrintDialog.d --- a/dwt/printing/PrintDialog.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/printing/PrintDialog.d Mon May 05 00:12:38 2008 +0200 @@ -211,8 +211,8 @@ } protected void checkSubclass() { - char[] name = this.classinfo.name; - char[] validName = PrintDialog.classinfo.name; + String name = this.classinfo.name; + String validName = PrintDialog.classinfo.name; if (validName!=/*eq*/name) { DWT.error(DWT.ERROR_INVALID_SUBCLASS); } @@ -258,7 +258,7 @@ } } PrinterData data = null; - char[] key = "org.eclipse.swt.internal.win32.runMessagesInIdle"; //$NON-NLS-1$ + String key = "org.eclipse.swt.internal.win32.runMessagesInIdle"; //$NON-NLS-1$ Object oldValue = display.getData(key); display.setData(key, new ValueWrapperBool(true)); bool success = cast(bool)OS.PrintDlg(&pd); @@ -289,7 +289,7 @@ if (buffer[driverOffset + i] is 0) break; i++; } - char[] driver = TCHARsToStr( buffer[driverOffset .. driverOffset+i] ); + String driver = TCHARsToStr( buffer[driverOffset .. driverOffset+i] ); int deviceOffset = offsets[1]; i = 0; @@ -297,7 +297,7 @@ if (buffer[deviceOffset + i] is 0) break; i++; } - char[] device = TCHARsToStr( buffer[deviceOffset .. deviceOffset+i] ); + String device = TCHARsToStr( buffer[deviceOffset .. deviceOffset+i] ); int outputOffset = offsets[2]; i = 0; @@ -305,7 +305,7 @@ if (buffer[outputOffset + i] is 0) break; i++; } - char[] output = TCHARsToStr( buffer[outputOffset .. outputOffset+i] ); + String output = TCHARsToStr( buffer[outputOffset .. outputOffset+i] ); /* Create PrinterData object and set fields from PRINTDLG */ data = new PrinterData(driver, device); diff -r ff59aeb96cac -r ab60f3309436 dwt/printing/Printer.d --- a/dwt/printing/Printer.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/printing/Printer.d Mon May 05 00:12:38 2008 +0200 @@ -91,16 +91,16 @@ public static PrinterData[] getPrinterList() { int length = 1024; /* Use the character encoding for the default locale */ - char[] buf = new char[](length); + String buf = new String(length); int n = OS.GetProfileString( TCHARsToStr(profile), null, null, buf, length); if (n is 0) return null; - char[][] deviceNames = new char[][](5); + String[] deviceNames = new String[](5); int nameCount = 0; int index = 0; for (int i = 0; i < n; i++) { if (buf[i] is 0) { if (nameCount is deviceNames.length) { - char[][] newNames = new char[][](deviceNames.length + 5); + String[] newNames = new String[](deviceNames.length + 5); System.arraycopy(deviceNames, 0, newNames, 0, deviceNames.length); deviceNames = newNames; } @@ -111,8 +111,8 @@ } PrinterData printerList[] = new PrinterData[nameCount]; for (int p = 0; p < nameCount; p++) { - char[] device = deviceNames[p]; - char[] driver = ""; //$NON-NLS-1$ + String device = deviceNames[p]; + String driver = ""; //$NON-NLS-1$ if (OS.GetProfileString(TCHARsToStr(profile), device, null, buf, length) > 0) { int commaIndex = 0; while (buf[commaIndex] !is ',' && commaIndex < length) commaIndex++; @@ -135,10 +135,10 @@ * @since 2.1 */ public static PrinterData getDefaultPrinterData() { - char[] deviceName = null; + String deviceName = null; int length = 1024; /* Use the character encoding for the default locale */ - char[] buf = new char[](length); + String buf = new String(length); int n = OS.GetProfileString(TCHARsToStr(appName), TCHARsToStr(keyName), null, buf, length); if (n is 0) return null; int commaIndex = 0; @@ -146,7 +146,7 @@ if (commaIndex < length) { deviceName = buf[0 .. commaIndex].dup; } - char[] driver = ""; //$NON-NLS-1$ + String driver = ""; //$NON-NLS-1$ if (OS.GetProfileString(TCHARsToStr(profile), deviceName, null, buf, length) > 0) { commaIndex = 0; while (buf[commaIndex] !is ',' && commaIndex < length) commaIndex++; @@ -298,7 +298,7 @@ * @see #endPage * @see #endJob */ -public bool startJob(char[] jobName) { +public bool startJob(String jobName) { checkDevice(); DOCINFO di; di.cbSize = DOCINFO.sizeof; diff -r ff59aeb96cac -r ab60f3309436 dwt/printing/PrinterData.d --- a/dwt/printing/PrinterData.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/printing/PrinterData.d Mon May 05 00:12:38 2008 +0200 @@ -16,6 +16,7 @@ import dwt.graphics.DeviceData; import tango.text.convert.Format; +import dwt.dwthelper.utils; /** * Instances of this class are descriptions of a print job @@ -45,14 +46,14 @@ * On GTK+, this is the backend type name (eg. GtkPrintBackendCups). */ // TODO: note that this api is not finalized for GTK+ - public char[] driver; + public String driver; /** * the name of the printer * On Windows systems, this is the name of the 'device'. * On Mac OSX, X/Window systems, and GTK+, this is the printer's 'name'. */ - public char[] name; + public String name; /** * the scope of the print job, expressed as one of the following values: @@ -88,7 +89,7 @@ * the name of the file to print to if printToFile is true. * Note that this field is ignored if printToFile is false. */ - public char[] fileName; + public String fileName; /** * the number of copies to print. @@ -152,7 +153,7 @@ * @see #driver * @see #name */ - public this(char[] driver, char[] name) { + public this(String driver, String name) { this.driver = driver; this.name = name; } @@ -163,7 +164,7 @@ * * @return a string representation of the receiver */ - public char[] toString() { + public String toString() { return Format("PrinterData {{driver = {}, name = {}}", driver, name ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ } } diff -r ff59aeb96cac -r ab60f3309436 dwt/program/Program.d --- a/dwt/program/Program.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/program/Program.d Mon May 05 00:12:38 2008 +0200 @@ -26,11 +26,11 @@ * system. */ public final class Program { - char[] name; - char[] command; - char[] iconName; - char[] extension; - static const char[][] ARGUMENTS = ["%1"[], "%l", "%L"]; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + String name; + String command; + String iconName; + String extension; + static const String[] ARGUMENTS = ["%1"[], "%l", "%L"]; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ /** * Prevents uninitialized instances from being created outside the package. @@ -38,7 +38,7 @@ this () { } -static char[] assocQueryString (int assocStr, TCHAR[] key, bool expand) { +static String assocQueryString (int assocStr, TCHAR[] key, bool expand) { TCHAR[] pszOut = NewTCHARs(0, 1024); uint[1] pcchOut; pcchOut[0] = pszOut.length; @@ -77,7 +77,7 @@ *
  • ERROR_NULL_ARGUMENT when extension is null
  • * */ -public static Program findProgram (char[] extension) { +public static Program findProgram (String extension) { if (extension is null) DWT.error (DWT.ERROR_NULL_ARGUMENT); if (extension.length is 0) return null; if (extension.charAt (0) !is '.') extension = "." ~ extension; //$NON-NLS-1$ @@ -98,13 +98,13 @@ } OS.RegCloseKey (phkResult [0]); } else { - char[] command = assocQueryString (OS.ASSOCSTR_COMMAND, key, true); + String command = assocQueryString (OS.ASSOCSTR_COMMAND, key, true); if (command !is null) { - char[] name = null; + String name = null; if (name is null) name = assocQueryString (OS.ASSOCSTR_FRIENDLYDOCNAME, key, false); if (name is null) name = assocQueryString (OS.ASSOCSTR_FRIENDLYAPPNAME, key, false); if (name is null) name = ""; - char[] iconName = assocQueryString (OS.ASSOCSTR_DEFAULTICON, key, true); + String iconName = assocQueryString (OS.ASSOCSTR_DEFAULTICON, key, true); if (iconName is null) iconName = ""; program = new Program (); program.name = name; @@ -123,19 +123,19 @@ * * @return an array of extensions */ -public static char[] [] getExtensions () { - char[] [] extensions = new char[] [1024]; +public static String [] getExtensions () { + String [] extensions = new String [1024]; /* Use the character encoding for the default locale */ TCHAR[] lpName = NewTCHARs (0, 1024); uint [1] lpcName; lpcName[0] = lpName.length; FILETIME ft; int dwIndex = 0, count = 0; while (OS.RegEnumKeyEx ( cast(void*)OS.HKEY_CLASSES_ROOT, dwIndex, lpName.ptr, lpcName.ptr, null, null, null, &ft) !is OS.ERROR_NO_MORE_ITEMS) { - char[] extension = TCHARsToStr( lpName[0 .. lpcName[0] ]); + String extension = TCHARsToStr( lpName[0 .. lpcName[0] ]); lpcName [0] = lpName.length; if (extension.length > 0 && extension.charAt (0) is '.') { if (count is extensions.length) { - char[][] newExtensions = new char[][]( extensions.length + 1024 ); + String[] newExtensions = new String[]( extensions.length + 1024 ); System.arraycopy (extensions, 0, newExtensions, 0, extensions.length); extensions = newExtensions; } @@ -144,21 +144,21 @@ dwIndex++; } if (count !is extensions.length) { - char[][] newExtension = new char[][]( count ); + String[] newExtension = new String[]( count ); System.arraycopy (extensions, 0, newExtension, 0, count); extensions = newExtension; } return extensions; } -static char[] getKeyValue (char[] string, bool expand) { +static String getKeyValue (String string, bool expand) { /* Use the character encoding for the default locale */ TCHAR[] key = StrToTCHARs (0, string, true); void* [1] phkResult; if (OS.RegOpenKeyEx (cast(void*)OS.HKEY_CLASSES_ROOT, key.ptr, 0, OS.KEY_READ, phkResult.ptr) !is 0) { return null; } - char[] result = null; + String result = null; uint [1] lpcbData; if (OS.RegQueryValueEx (phkResult [0], null, null, null, null, lpcbData.ptr) is 0) { result = ""; @@ -185,25 +185,25 @@ return result; } -static Program getProgram (char[] key, char[] extension) { +static Program getProgram (String key, String extension) { /* Name */ - char[] name = getKeyValue (key, false); + String name = getKeyValue (key, false); if (name is null || name.length is 0) { name = key; } /* Command */ - char[] DEFAULT_COMMAND = "\\shell"; //$NON-NLS-1$ - char[] defaultCommand = getKeyValue (key ~ DEFAULT_COMMAND, true); + String DEFAULT_COMMAND = "\\shell"; //$NON-NLS-1$ + String defaultCommand = getKeyValue (key ~ DEFAULT_COMMAND, true); if (defaultCommand is null || defaultCommand.length is 0) defaultCommand = "open"; //$NON-NLS-1$ - char[] COMMAND = "\\shell\\" ~ defaultCommand ~ "\\command"; //$NON-NLS-1$ - char[] command = getKeyValue (key ~ COMMAND, true); + String COMMAND = "\\shell\\" ~ defaultCommand ~ "\\command"; //$NON-NLS-1$ + String command = getKeyValue (key ~ COMMAND, true); if (command is null || command.length is 0) return null; /* Icon */ - char[] DEFAULT_ICON = "\\DefaultIcon"; //$NON-NLS-1$ - char[] iconName = getKeyValue (key ~ DEFAULT_ICON, true); + String DEFAULT_ICON = "\\DefaultIcon"; //$NON-NLS-1$ + String iconName = getKeyValue (key ~ DEFAULT_ICON, true); if (iconName is null) iconName = ""; //$NON-NLS-1$ /* Program */ @@ -230,7 +230,7 @@ FILETIME ft; int dwIndex = 0, count = 0; while (OS.RegEnumKeyEx (cast(void*)OS.HKEY_CLASSES_ROOT, dwIndex, lpName.ptr, lpcName.ptr, null, null, null, &ft) !is OS.ERROR_NO_MORE_ITEMS) { - char[] path = tango.text.convert.Utf.toString ( lpName[0 .. lpcName [0]]); + String path = tango.text.convert.Utf.toString ( lpName[0 .. lpcName [0]]); lpcName [0] = lpName.length ; Program program = getProgram (path, null); if (program !is null) { @@ -265,7 +265,7 @@ *
  • ERROR_NULL_ARGUMENT when fileName is null
  • * */ -public static bool launch (char[] fileName) { +public static bool launch (String fileName) { if (fileName is null) DWT.error (DWT.ERROR_NULL_ARGUMENT); /* Use the character encoding for the default locale */ @@ -296,11 +296,11 @@ *
  • ERROR_NULL_ARGUMENT when fileName is null
  • * */ -public bool execute (char[] fileName) { +public bool execute (String fileName) { if (fileName is null) DWT.error (DWT.ERROR_NULL_ARGUMENT); int index = 0; bool append = true; - char[] prefix = command, suffix = ""; //$NON-NLS-1$ + String prefix = command, suffix = ""; //$NON-NLS-1$ while (index < ARGUMENTS.length) { int i = command.indexOf (ARGUMENTS [index]); if (i !is -1) { @@ -312,7 +312,7 @@ index++; } if (append) fileName = " \"" ~ fileName ~ "\""; - char[] commandLine = prefix ~ fileName ~ suffix; + String commandLine = prefix ~ fileName ~ suffix; auto hHeap = OS.GetProcessHeap (); /* Use the character encoding for the default locale */ TCHAR[] buffer = StrToTCHARs (0, commandLine, true); @@ -350,11 +350,11 @@ } } int nIconIndex = 0; - char[] fileName = iconName; + String fileName = iconName; int index = iconName.indexOf (','); if (index !is -1) { fileName = iconName.substring (0, index); - char[] iconIndex = iconName.substring (index + 1, iconName.length ).trim (); + String iconIndex = iconName.substring (index + 1, iconName.length ).trim (); try { nIconIndex = Integer.parseInt (iconIndex); } catch (NumberFormatException e) {} @@ -378,7 +378,7 @@ * * @return the name of the program */ -public char[] getName () { +public String getName () { return name; } @@ -421,7 +421,7 @@ * * @return a string representation of the program */ -public char[] toString () { +public String toString () { return "Program {" ~ name ~ "}"; //$NON-NLS-1$ //$NON-NLS-2$ } diff -r ff59aeb96cac -r ab60f3309436 dwt/widgets/Button.d --- a/dwt/widgets/Button.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/widgets/Button.d Mon May 05 00:12:38 2008 +0200 @@ -60,7 +60,7 @@ alias Control.windowProc windowProc; alias extern(Windows) int function( HWND, uint, uint, int ) TWindowProc; - char[] text = "", message = ""; + String text = "", message = ""; Image image, image2, disabledImage; ImageList imageList; bool ignoreMouse; @@ -282,7 +282,7 @@ } } -void _setText (char[] text) { +void _setText (String text) { int oldBits = OS.GetWindowLong (handle, OS.GWL_STYLE), newBits = oldBits; if (OS.COMCTL32_MAJOR >= 6) { newBits &= ~(OS.BS_LEFT | OS.BS_CENTER | OS.BS_RIGHT); @@ -546,7 +546,7 @@ int bits = OS.GetWindowLong (handle, OS.GWL_STYLE); bool hasImage = (bits & (OS.BS_BITMAP | OS.BS_ICON)) !is 0; if (!hasImage) { - char[] string = enabled ? text : " " ~ text ~ " "; + String string = enabled ? text : " " ~ text ~ " "; TCHAR* buffer = StrToTCHARz (getCodePage (), string); OS.SetWindowText (handle, buffer); } @@ -654,12 +654,12 @@ * * @since 3.3 */ -/*public*/ char[] getMessage () { +/*public*/ String getMessage () { checkWidget (); return message; } -override char[] getNameText () { +override String getNameText () { return getText (); } @@ -698,7 +698,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public char[] getText () { +public String getText () { checkWidget (); if ((style & DWT.ARROW) !is 0) return ""; return text; @@ -922,7 +922,7 @@ * * @since 3.3 */ -/*public*/ void setMessage (char[] message) { +/*public*/ void setMessage (String message) { checkWidget (); if (message is null) error (DWT.ERROR_NULL_ARGUMENT); this.message = message; @@ -1023,7 +1023,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public void setText (char[] string) { +public void setText (String string) { checkWidget (); if (string is null) error (DWT.ERROR_NULL_ARGUMENT); if ((style & DWT.ARROW) !is 0) return; @@ -1053,7 +1053,7 @@ return bits | OS.BS_PUSHBUTTON | OS.WS_TABSTOP; } -override char[] windowClass () { +override String windowClass () { return TCHARzToStr( ButtonClass.ptr ); } diff -r ff59aeb96cac -r ab60f3309436 dwt/widgets/Combo.d --- a/dwt/widgets/Combo.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/widgets/Combo.d Mon May 05 00:12:38 2008 +0200 @@ -184,7 +184,7 @@ * * @see #add(String,int) */ -public void add (char[] string) { +public void add (String string) { checkWidget (); if (string is null) error (DWT.ERROR_NULL_ARGUMENT); auto buffer = StrToTCHARs( getCodePage(), string, true ); @@ -217,7 +217,7 @@ * * @see #add(String) */ -public void add (char[] string, int index) { +public void add (String string, int index) { checkWidget (); if (string is null) error (DWT.ERROR_NULL_ARGUMENT); int count = OS.SendMessage (handle, OS.CB_GETCOUNT, 0, 0); @@ -342,7 +342,7 @@ if (nCode is OS.HCBT_CREATEWND) { TCHAR[128] buffer = 0; OS.GetClassName (cast(HANDLE)wParam, buffer.ptr, buffer.length ); - char[] className = TCHARzToStr(buffer.ptr); + String className = TCHARzToStr(buffer.ptr); if (className=="Edit" || className=="EDIT") { //$NON-NLS-1$ //$NON-NLS-2$ int bits = OS.GetWindowLong (cast(HANDLE)wParam, OS.GWL_STYLE); OS.SetWindowLong (cast(HANDLE)wParam, OS.GWL_STYLE, bits & ~OS.ES_NOHIDESEL); @@ -669,7 +669,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public char[] getItem (int index) { +public String getItem (int index) { checkWidget (); int length_ = OS.SendMessage (handle, OS.CB_GETLBTEXTLEN, index, 0); if (length_ !is OS.CB_ERR) { @@ -734,10 +734,10 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public char[] [] getItems () { +public String [] getItems () { checkWidget (); int count = getItemCount (); - char[] [] result = new char[] [count]; + String [] result = new String [count]; for (int i=0; iERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver * */ -public char[] getText () { +public String getText () { checkWidget (); int length_ = OS.GetWindowTextLength (handle); if (length_ is 0) return ""; @@ -955,7 +955,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public int indexOf (char[] string) { +public int indexOf (String string) { return indexOf (string, 0); } @@ -978,7 +978,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public int indexOf (char[] string, int start) { +public int indexOf (String string, int start) { checkWidget (); if (string is null) error (DWT.ERROR_NULL_ARGUMENT); @@ -1201,7 +1201,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public void remove (char[] string) { +public void remove (String string) { checkWidget (); if (string is null) error (DWT.ERROR_NULL_ARGUMENT); int index = indexOf (string, 0); @@ -1338,7 +1338,7 @@ } /* Verify the character */ - char[] oldText = ""; + String oldText = ""; int start, end; auto hwndText = OS.GetDlgItem (handle, CBID_EDIT); if (hwndText is null) return true; @@ -1378,7 +1378,7 @@ oldText = [key]; break; } - char[] newText = verifyText (oldText, start, end, event); + String newText = verifyText (oldText, start, end, event); if (newText is null) return false; if (newText is oldText) return true; TCHAR* buffer = StrToTCHARz( newText ); @@ -1505,7 +1505,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public void setItem (int index, char[] string) { +public void setItem (int index, String string) { checkWidget (); if (string is null) error (DWT.ERROR_NULL_ARGUMENT); int selection = getSelectionIndex (); @@ -1529,7 +1529,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public void setItems (char[] [] items) { +public void setItems (String [] items) { checkWidget (); if (items is null) error (DWT.ERROR_NULL_ARGUMENT); for (int i=0; iERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver * */ -public void setText (char[] string) { +public void setText (String string) { checkWidget (); if (string is null) error (DWT.ERROR_NULL_ARGUMENT); if ((style & DWT.READ_ONLY) !is 0) { @@ -1850,7 +1850,7 @@ OS.SendMessage (handle, OS.CB_LIMITTEXT, limit, 0); } -override void setToolTipText (Shell shell, char[] string) { +override void setToolTipText (Shell shell, String string) { auto hwndText = OS.GetDlgItem (handle, CBID_EDIT); auto hwndList = OS.GetDlgItem (handle, CBID_LIST); if (hwndText !is null) shell.setToolTipText (hwndText, string); @@ -1952,7 +1952,7 @@ } } -char[] verifyText (char[] string, int start, int end, Event keyEvent) { +String verifyText (String string, int start, int end, Event keyEvent) { Event event = new Event (); event.text = string; event.start = start; @@ -2006,7 +2006,7 @@ return bits | OS.CBS_DROPDOWN; } -override char[] windowClass () { +override String windowClass () { return TCHARzToStr( ComboClass ); } @@ -2076,7 +2076,7 @@ if (msg is OS.CB_SETCURSEL) { if ((style & DWT.READ_ONLY) !is 0) { if (hooks (DWT.Verify) || filters (DWT.Verify)) { - char[] oldText = getText (), newText = null; + String oldText = getText (), newText = null; if (wParam is -1) { newText = ""; } else { @@ -2272,7 +2272,7 @@ if (!hooks (DWT.Verify) && !filters (DWT.Verify)) return null; bool call = false; int start, end; - char[] newText = null; + String newText = null; switch (msg) { case OS.WM_CLEAR: case OS.WM_CUT: @@ -2318,7 +2318,7 @@ default: } if (newText !is null) { - char[] oldText = newText; + String oldText = newText; newText = verifyText (newText, start, end, null); if (newText is null) return LRESULT.ZERO; if (newText!=/*eq*/oldText) { diff -r ff59aeb96cac -r ab60f3309436 dwt/widgets/Composite.d --- a/dwt/widgets/Composite.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/widgets/Composite.d Mon May 05 00:12:38 2008 +0200 @@ -950,10 +950,10 @@ return false; } -char[] toolTipText (NMTTDISPINFO* hdr) { +String toolTipText (NMTTDISPINFO* hdr) { Shell shell = getShell (); if ((hdr.uFlags & OS.TTF_IDISHWND) is 0) { - char[] string = null; + String string = null; ToolTip toolTip = shell.findToolTip (hdr.hdr.idFrom); if (toolTip !is null) { string = toolTip.message; @@ -1564,7 +1564,7 @@ // lpnmtdi = new NMTTDISPINFOW (); // OS.MoveMemory (cast(NMTTDISPINFOW)lpnmtdi, lParam, NMTTDISPINFOW.sizeof); // } - char[] string = toolTipText (lpnmtdi); + String string = toolTipText (lpnmtdi); if (string !is null) { Shell shell = getShell (); string = Display.withCrLf (string); diff -r ff59aeb96cac -r ab60f3309436 dwt/widgets/Control.d --- a/dwt/widgets/Control.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/widgets/Control.d Mon May 05 00:12:38 2008 +0200 @@ -97,7 +97,7 @@ Composite parent; Cursor cursor; Menu menu; - char[] toolTipText_; + String toolTipText_; Object layoutData; Accessible accessible; Image backgroundImage; @@ -943,7 +943,7 @@ return new Menu [0]; } -char findMnemonic (char[] string) { +char findMnemonic (String string) { int index = 0; int length_ = string.length; do { @@ -1158,8 +1158,8 @@ return OS.GetACP (); } -char[] getClipboardText () { - char[] string = ""; +String getClipboardText () { + String string = ""; if (OS.OpenClipboard (null)) { auto hMem = OS.GetClipboardData (OS.IsUnicode ? OS.CF_UNICODETEXT : OS.CF_TEXT); if (hMem !is null) { @@ -1445,7 +1445,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public char[] getToolTipText () { +public String getToolTipText () { checkWidget (); return toolTipText_; } @@ -3080,13 +3080,13 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public void setToolTipText (char[] string) { +public void setToolTipText (String string) { checkWidget (); toolTipText_ = string; setToolTipText (getShell (), string); } -void setToolTipText (Shell shell, char[] string) { +void setToolTipText (Shell shell, String string) { shell.setToolTipText (handle, string); } @@ -3709,7 +3709,7 @@ return true; } -abstract char[] windowClass (); +abstract String windowClass (); abstract int windowProc (); @@ -4434,7 +4434,7 @@ MenuItem [] items = menu.getItems (); for (int i=0; i 0 && mnemonic is 0) { char ch = text.charAt (0); diff -r ff59aeb96cac -r ab60f3309436 dwt/widgets/CoolBar.d --- a/dwt/widgets/CoolBar.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/widgets/CoolBar.d Mon May 05 00:12:38 2008 +0200 @@ -1000,7 +1000,7 @@ return bits; } -override char[] windowClass () { +override String windowClass () { return TCHARzToStr( ReBarClass ); } diff -r ff59aeb96cac -r ab60f3309436 dwt/widgets/DateTime.d --- a/dwt/widgets/DateTime.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/widgets/DateTime.d Mon May 05 00:12:38 2008 +0200 @@ -140,7 +140,7 @@ static_this(); super (parent, checkStyle (style)); if ((this.style & DWT.SHORT) !is 0) { - char[] buffer = ((this.style & DWT.DATE) !is 0) ? getCustomShortDateFormat() : getCustomShortTimeFormat(); + String buffer = ((this.style & DWT.DATE) !is 0) ? getCustomShortDateFormat() : getCustomShortTimeFormat(); TCHAR[] lpszFormat = StrToTCHARs (0, buffer, true); OS.SendMessage (handle, OS.DTM_SETFORMAT, 0, lpszFormat.ptr); } @@ -362,7 +362,7 @@ return OS.GetSysColor (OS.COLOR_WINDOW); } -char[] getComputeSizeString () { +String getComputeSizeString () { // TODO: Not currently used but might need for WinCE if ((style & DWT.DATE) !is 0) { if ((style & DWT.SHORT) !is 0) return getCustomShortDateFormat (); @@ -376,7 +376,7 @@ return ""; } -char[] getCustomShortDateFormat () { +String getCustomShortDateFormat () { if (true) { TCHAR[] tchar = new TCHAR[80]; int size = OS.GetLocaleInfo (OS.LOCALE_USER_DEFAULT, OS.LOCALE_SYEARMONTH, tchar.ptr, 80); @@ -384,7 +384,7 @@ } //TODO: Not currently used, but may need for WinCE (or if numeric short date is required) - char[] buffer = getShortDateFormat (); + String buffer = getShortDateFormat (); int length = buffer.length; bool inQuotes = false; int start = 0, end = 0; @@ -418,8 +418,8 @@ return buffer; } -char[] getCustomShortTimeFormat () { - char[] buffer = getTimeFormat (); +String getCustomShortTimeFormat () { + String buffer = getTimeFormat (); int length = buffer.length; bool inQuotes = false; int start = 0, end = 0; @@ -440,14 +440,14 @@ return buffer; } -char[] getLongDateFormat () { +String getLongDateFormat () { //TODO: Not currently used, but may need for WinCE TCHAR tchar[80]; int size = OS.GetLocaleInfo (OS.LOCALE_USER_DEFAULT, OS.LOCALE_SLONGDATE, tchar.ptr, 80); return size > 0 ? TCHARsToStr(tchar[0..size - 1]) : "dddd, MMMM dd, yyyy"; //$NON-NLS-1$ } -char[] getShortDateFormat () { +String getShortDateFormat () { //TODO: Not currently used, but may need for WinCE TCHAR tchar[80]; //TODO: May need to OR with LOCALE_ICENTURY @@ -460,13 +460,13 @@ TCHAR tchar[80]; int size = OS.GetLocaleInfo (OS.LOCALE_USER_DEFAULT, OS.LOCALE_IDATE, tchar.ptr, 4); if (size > 0) { - char[] number = TCHARsToStr(tchar[0..size - 1]); + String number = TCHARsToStr(tchar[0..size - 1]); return Integer.parse (number); } return 0; } -char[] getTimeFormat () { +String getTimeFormat () { TCHAR tchar[80]; int size = OS.GetLocaleInfo (OS.LOCALE_USER_DEFAULT, OS.LOCALE_STIMEFORMAT, tchar.ptr, 80); return size > 0 ? TCHARsToStr(tchar[0..size - 1]) : "h:mm:ss tt"; //$NON-NLS-1$ @@ -476,7 +476,7 @@ TCHAR tchar[4]; int size = OS.GetLocaleInfo (OS.LOCALE_USER_DEFAULT, OS.LOCALE_ITIME, tchar.ptr, 4); if (size > 0) { - char[] number = TCHARsToStr(tchar[0..size - 1]); + String number = TCHARsToStr(tchar[0..size - 1]); return Integer.parse (number) !is 0; } return true; @@ -566,7 +566,7 @@ return systime.wMonth - 1; } -override char[] getNameText () { +override String getNameText () { return "DateTime"; } @@ -789,7 +789,7 @@ return bits; } -override char[] windowClass () { +override String windowClass () { return (style & DWT.CALENDAR) !is 0 ? TCHARzToStr(CalendarClass) : TCHARzToStr(DateTimeClass); } diff -r ff59aeb96cac -r ab60f3309436 dwt/widgets/Decorations.d --- a/dwt/widgets/Decorations.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/widgets/Decorations.d Mon May 05 00:12:38 2008 +0200 @@ -717,7 +717,7 @@ return swFlags is OS.SW_SHOWMINNOACTIVE; } -override char[] getNameText () { +override String getNameText () { return getText (); } @@ -749,7 +749,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public char[] getText () { +public String getText () { checkWidget (); int length = OS.GetWindowTextLength (handle); if (length is 0) return ""; @@ -1333,7 +1333,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public void setText (char[] string) { +public void setText (String string) { checkWidget (); if (string is null) error (DWT.ERROR_NULL_ARGUMENT); /* Use the character encoding for the default locale */ @@ -1607,7 +1607,7 @@ if (OS.GetParent ( cast(HWND)lParam) is handle) { TCHAR[128] buffer = 0; OS.GetClassName (cast(HWND)lParam, buffer.ptr, buffer.length ); - char[] className = TCHARzToStr( buffer.ptr ); + String className = TCHARzToStr( buffer.ptr ); if (className == Display.AWT_WINDOW_CLASS) { return LRESULT.ZERO; } diff -r ff59aeb96cac -r ab60f3309436 dwt/widgets/Dialog.d --- a/dwt/widgets/Dialog.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/widgets/Dialog.d Mon May 05 00:12:38 2008 +0200 @@ -17,6 +17,7 @@ import dwt.DWTException; import dwt.widgets.Shell; import dwt.widgets.Display; +import dwt.dwthelper.utils; /** * This class is the abstract superclass of the classes @@ -81,7 +82,7 @@ public abstract class Dialog { int style; Shell parent; - char[] title; + String title; /** * Constructs a new instance of this class given only its @@ -228,7 +229,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public char[] getText () { +public String getText () { return title; } @@ -247,7 +248,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public void setText (char[] string) { +public void setText (String string) { if (string is null) error (DWT.ERROR_NULL_ARGUMENT); title = string; } diff -r ff59aeb96cac -r ab60f3309436 dwt/widgets/DirectoryDialog.d --- a/dwt/widgets/DirectoryDialog.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/widgets/DirectoryDialog.d Mon May 05 00:12:38 2008 +0200 @@ -40,9 +40,9 @@ */ public class DirectoryDialog : Dialog { - static char[] message = ""; - static char[] filterPath = ""; //$NON-NLS-1$//$NON-NLS-2$ - static char[] directoryPath; + static String message = ""; + static String filterPath = ""; //$NON-NLS-1$//$NON-NLS-2$ + static String directoryPath; /** * Constructs a new instance of this class given only its parent. @@ -128,7 +128,7 @@ * * @see #setFilterPath */ -public char[] getFilterPath () { +public String getFilterPath () { return filterPath; } @@ -139,7 +139,7 @@ * * @return the message */ -public char[] getMessage () { +public String getMessage () { return message; } @@ -155,7 +155,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the dialog
  • * */ -public char[] open () { +public String open () { if (OS.IsWinCE) DWT.error (DWT.ERROR_NOT_IMPLEMENTED); auto hHeap = OS.GetProcessHeap (); @@ -167,7 +167,7 @@ /* Copy the message to OS memory */ TCHAR* lpszTitle; if (message.length !is 0) { - char[] string = message; + String string = message; if (string.indexOf ('&') !is -1) { int length = string.length; char [] buffer = new char [length * 2]; @@ -297,7 +297,7 @@ * * @param string the filter path */ -public void setFilterPath (char[] string) { +public void setFilterPath (String string) { filterPath = string; } @@ -312,7 +312,7 @@ *
  • ERROR_NULL_ARGUMENT - if the string is null
  • * */ -public void setMessage (char[] string) { +public void setMessage (String string) { if (string is null) error (DWT.ERROR_NULL_ARGUMENT); message = string; } diff -r ff59aeb96cac -r ab60f3309436 dwt/widgets/Display.d --- a/dwt/widgets/Display.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/widgets/Display.d Mon May 05 00:12:38 2008 +0200 @@ -152,8 +152,8 @@ int threadId; TCHAR[] windowClass_, windowShadowClass; static int WindowClassCount; - static const char[] WindowName = "SWT_Window"; //$NON-NLS-1$ - static const char[] WindowShadowName = "SWT_WindowShadow"; //$NON-NLS-1$ + static const String WindowName = "SWT_Window"; //$NON-NLS-1$ + static const String WindowShadowName = "SWT_WindowShadow"; //$NON-NLS-1$ EventTable eventTable, filterTable; /* Widget Table */ @@ -243,13 +243,13 @@ HHOOK msgHook; HWND embeddedHwnd; int embeddedProc_; - static const char[] AWT_WINDOW_CLASS = "SunAwtWindow"; + static const String AWT_WINDOW_CLASS = "SunAwtWindow"; static const short [] ACCENTS = [ cast(short) '~', '`', '\'', '^', '"']; /* Sync/Async Widget Communication */ Synchronizer synchronizer; bool runMessages = true, runMessagesInIdle = false; - static const char[] RUN_MESSAGES_IN_IDLE_KEY = "org.eclipse.swt.internal.win32.runMessagesInIdle"; //$NON-NLS-1$ + static const String RUN_MESSAGES_IN_IDLE_KEY = "org.eclipse.swt.internal.win32.runMessagesInIdle"; //$NON-NLS-1$ Thread thread; /* Display Shutdown */ @@ -311,7 +311,7 @@ /* Display Data */ Object data; - char[] [] keys; + String [] keys; Object [] values; /* Key Mappings */ @@ -422,7 +422,7 @@ int hitCount; /* Package Name */ - static const char[] PACKAGE_PREFIX = "org.eclipse.swt.widgets."; //$NON-NLS-1$ + static const String PACKAGE_PREFIX = "org.eclipse.swt.widgets."; //$NON-NLS-1$ /* * This code is intentionally commented. In order * to support CLDC, .class cannot be used because @@ -430,7 +430,7 @@ * they are targeted for CLDC. */ // static { -// char[] name = Display.class.getName (); +// String name = Display.class.getName (); // int index = name.lastIndexOf ('.'); // PACKAGE_PREFIX = name.substring (0, index + 1); // } @@ -1580,7 +1580,7 @@ //PORTING_TODO /+static bool isValidClass (Class clazz) { - char[] name = clazz.getName (); + String name = clazz.getName (); int index = name.lastIndexOf ('.'); return name.substring (0, index + 1).equals (PACKAGE_PREFIX); }+/ @@ -1610,7 +1610,7 @@ * @see #setData(String, Object) * @see #disposeExec(Runnable) */ -public Object getData (char[] key) { +public Object getData (String key) { checkDevice (); if (key is null) error (DWT.ERROR_NULL_ARGUMENT); if (key ==/*eq*/RUN_MESSAGES_IN_IDLE_KEY) { @@ -1712,7 +1712,7 @@ return _getFocusControl (); } -char[] getFontName (LOGFONT* logFont) { +String getFontName (LOGFONT* logFont) { wchar* chars; static if (OS.IsUnicode) { chars = logFont.lfFaceName.ptr; @@ -1791,7 +1791,7 @@ result = OS.RegQueryValueEx (phkResult , buffer2, null, null, lpData.ptr, &lpcbData); if (result is 0) { try { - depth = Integer.parseInt ( cast(char[]) lpData ); + depth = Integer.parseInt ( cast(String) lpData ); } catch (NumberFormatException e) {} } } @@ -2501,8 +2501,8 @@ threadId = OS.GetCurrentThreadId (); /* Use the character encoding for the default locale */ - windowClass_ = StrToTCHARs ( 0, WindowName ~ to!(char[])(WindowClassCount), true ); - windowShadowClass = StrToTCHARs ( 0, WindowShadowName ~ to!(char[])(WindowClassCount), true ); + windowClass_ = StrToTCHARs ( 0, WindowName ~ to!(String)(WindowClassCount), true ); + windowShadowClass = StrToTCHARs ( 0, WindowShadowName ~ to!(String)(WindowClassCount), true ); WindowClassCount++; /* Register the DWT window class */ @@ -3990,7 +3990,7 @@ * @see #getData(String) * @see #disposeExec(Runnable) */ -public void setData (char[] key, Object value) { +public void setData (String key, Object value) { checkDevice (); if (key is null) error (DWT.ERROR_NULL_ARGUMENT); @@ -4010,7 +4010,7 @@ keys = null; values = null; } else { - char[] [] newKeys = new char[] [keys.length - 1]; + String [] newKeys = new String [keys.length - 1]; Object [] newValues = new Object [values.length - 1]; System.arraycopy (keys, 0, newKeys, 0, index); System.arraycopy (keys, index + 1, newKeys, index, newKeys.length - index); @@ -4036,7 +4036,7 @@ return; } } - char[] [] newKeys = new char[] [keys.length + 1]; + String [] newKeys = new String [keys.length + 1]; Object [] newValues = new Object [values.length + 1]; System.arraycopy (keys, 0, newKeys, 0, keys.length); System.arraycopy (values, 0, newValues, 0, values.length); @@ -4082,7 +4082,7 @@ * * @param name the new app name or null */ -public static void setAppName (char[] name) { +public static void setAppName (String name) { /* Do nothing */ } @@ -4490,7 +4490,7 @@ return OS.DefWindowProc (hwnd, msg, wParam, lParam); } -static char[] withCrLf (char[] string) { +static String withCrLf (String string) { /* If the string is empty, return the string. */ int length_ = string.length; @@ -4535,7 +4535,7 @@ return result.toString (); } -char[] windowClass(){ +String windowClass(){ return TCHARsToStr( windowClass_ ); } diff -r ff59aeb96cac -r ab60f3309436 dwt/widgets/Event.d --- a/dwt/widgets/Event.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/widgets/Event.d Mon May 05 00:12:38 2008 +0200 @@ -19,6 +19,7 @@ import dwt.widgets.Display; import tango.text.convert.Format; +import dwt.dwthelper.utils; /** @@ -180,7 +181,7 @@ * Setting this field will change the text that is about to * be inserted or deleted. */ - public char[] text; + public String text; /** * depending on the event, a flag indicating whether the operation @@ -221,7 +222,7 @@ * * @return a string representation of the event */ -override public char[] toString () { +override public String toString () { return Format( "Event {{type={} {} time={} data={} x={} y={} width={} height={} detail={}}", type, widget, time, data, x, y, width, height, detail ); //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ } diff -r ff59aeb96cac -r ab60f3309436 dwt/widgets/ExpandBar.d --- a/dwt/widgets/ExpandBar.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/widgets/ExpandBar.d Mon May 05 00:12:38 2008 +0200 @@ -582,7 +582,7 @@ layoutItems (index + 1, true); } -override char[] windowClass () { +override String windowClass () { return display.windowClass(); } diff -r ff59aeb96cac -r ab60f3309436 dwt/widgets/ExpandItem.d --- a/dwt/widgets/ExpandItem.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/widgets/ExpandItem.d Mon May 05 00:12:38 2008 +0200 @@ -497,7 +497,7 @@ } } -override public void setText (char[] string) { +override public void setText (String string) { super.setText (string); redraw (true); } diff -r ff59aeb96cac -r ab60f3309436 dwt/widgets/FileDialog.d --- a/dwt/widgets/FileDialog.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/widgets/FileDialog.d Mon May 05 00:12:38 2008 +0200 @@ -39,11 +39,11 @@ *

    */ public class FileDialog : Dialog { - char[] [] filterNames; - char[] [] filterExtensions; - char[] [] fileNames; - char[] filterPath = "", fileName = ""; - static final char[] FILTER = "*.*"; + String [] filterNames; + String [] filterExtensions; + String [] fileNames; + String filterPath = "", fileName = ""; + static final String FILTER = "*.*"; static int BUFFER_SIZE = 1024 * 32; static bool USE_HOOK; @@ -100,7 +100,7 @@ * * @return the relative path of the file */ -public char[] getFileName () { +public String getFileName () { return fileName; } @@ -110,7 +110,7 @@ * * @return the relative paths of the files */ -public char[] [] getFileNames () { +public String [] getFileNames () { return fileNames; } @@ -120,7 +120,7 @@ * * @return the file extensions filter */ -public char[] [] getFilterExtensions () { +public String [] getFilterExtensions () { return filterExtensions; } @@ -130,7 +130,7 @@ * * @return the list of filter names */ -public char[] [] getFilterNames () { +public String [] getFilterNames () { return filterNames; } @@ -143,7 +143,7 @@ * * @see #setFilterExtensions */ -public char[] getFilterPath () { +public String getFilterPath () { return filterPath; } @@ -188,7 +188,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the dialog
  • * */ -public char[] open () { +public String open () { auto hHeap = OS.GetProcessHeap (); /* Get the owner HWND for the dialog */ @@ -204,11 +204,11 @@ OS.MoveMemory (lpstrTitle, buffer3.ptr, byteCount3); /* Compute filters and copy into lpstrFilter */ - char[] strFilter = ""; + String strFilter = ""; if (filterNames is null) filterNames = null; if (filterExtensions is null) filterExtensions = null; for (int i=0; i 0) fileName = fileNames [0]; - char[] separator = ""; + String separator = ""; int length_ = filterPath.length; if (length_ > 0 && filterPath[length_ - 1] !is '\\') { separator = "\\"; } fullPath = filterPath ~ separator ~ fileName; if (count < fileNames.length) { - char[] [] newFileNames = new char[][]( count ); + String [] newFileNames = new String[]( count ); System.arraycopy (fileNames, 0, newFileNames, 0, count); fileNames = newFileNames; } @@ -437,7 +437,7 @@ * * @param string the file name */ -public void setFileName (char[] string) { +public void setFileName (String string) { fileName = string; } @@ -456,7 +456,7 @@ * @see #setFilterNames to specify the user-friendly * names corresponding to the extensions */ -public void setFilterExtensions (char[] [] extensions) { +public void setFilterExtensions (String [] extensions) { filterExtensions = extensions; } @@ -474,7 +474,7 @@ * * @see #setFilterExtensions */ -public void setFilterNames (char[] [] names) { +public void setFilterNames (String [] names) { filterNames = names; } @@ -495,7 +495,7 @@ * * @see #setFilterExtensions */ -public void setFilterPath (char[] string) { +public void setFilterPath (String string) { filterPath = string; } diff -r ff59aeb96cac -r ab60f3309436 dwt/widgets/Group.d --- a/dwt/widgets/Group.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/widgets/Group.d Mon May 05 00:12:38 2008 +0200 @@ -49,7 +49,7 @@ alias Composite.computeSize computeSize; alias Composite.windowProc windowProc; - char[] text = ""; + String text = ""; static const int CLIENT_INSET = 3; private static /+const+/ WNDPROC GroupProc; static if( OS.IsWinCE ){ @@ -187,7 +187,7 @@ * the work around must run all the time to stop the preferred * size from changing when a group is enabled and disabled. */ - char[] string = text; + String string = text; if ((style & DWT.RIGHT_TO_LEFT) !is 0) { if (OS.COMCTL32_MAJOR < 6 || !OS.IsAppThemed ()) { string = " " ~ string ~ " "; @@ -245,7 +245,7 @@ */ if ((style & DWT.RIGHT_TO_LEFT) !is 0) { if (OS.COMCTL32_MAJOR < 6 || !OS.IsAppThemed ()) { - char[] string = enabled || text.length is 0 ? text : " " ~ text ~ " "; + String string = enabled || text.length is 0 ? text : " " ~ text ~ " "; TCHAR* buffer = StrToTCHARz (/+getCodePage (),+/ string); OS.SetWindowText (handle, buffer); } @@ -271,7 +271,7 @@ return new Rectangle (x, y, width, height); } -override char[] getNameText () { +override String getNameText () { return getText (); } @@ -287,7 +287,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public char[] getText () { +public String getText () { checkWidget (); return text; } @@ -339,7 +339,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public void setText (char[] string) { +public void setText (String string) { checkWidget (); if (string is null) error (DWT.ERROR_NULL_ARGUMENT); text = string; @@ -374,7 +374,7 @@ return super.widgetStyle () | OS.BS_GROUPBOX | OS.WS_CLIPCHILDREN | OS.WS_CLIPSIBLINGS; } -override char[] windowClass () { +override String windowClass () { return TCHARsToStr( GroupClass ); } diff -r ff59aeb96cac -r ab60f3309436 dwt/widgets/Item.d --- a/dwt/widgets/Item.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/widgets/Item.d Mon May 05 00:12:38 2008 +0200 @@ -16,6 +16,7 @@ import dwt.widgets.Widget; import dwt.DWT; import dwt.graphics.Image; +import dwt.dwthelper.utils; /** * This class is the abstract superclass of all non-windowed @@ -30,7 +31,7 @@ */ public abstract class Item : Widget { - char[] text; + String text; Image image; /** @@ -119,7 +120,7 @@ return image; } -override char[] getNameText () { +override String getNameText () { return getText (); } @@ -134,7 +135,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public char[] getText () { +public String getText () { checkWidget(); return text; } @@ -178,7 +179,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public void setText (char[] string) { +public void setText (String string) { checkWidget (); if (string is null) error (DWT.ERROR_NULL_ARGUMENT); text = string; diff -r ff59aeb96cac -r ab60f3309436 dwt/widgets/Label.d --- a/dwt/widgets/Label.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/widgets/Label.d Mon May 05 00:12:38 2008 +0200 @@ -56,7 +56,7 @@ alias Control.computeSize computeSize; alias Control.windowProc windowProc; - char[] text = ""; + String text = ""; Image image; static const int MARGIN = 4; static const bool IMAGE_AND_TEXT = false; @@ -249,7 +249,7 @@ return image; } -override char[] getNameText () { +override String getNameText () { return getText (); } @@ -265,7 +265,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public char[] getText () { +public String getText () { checkWidget (); if ((style & DWT.SEPARATOR) !is 0) return ""; return text; @@ -392,7 +392,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public void setText (char[] string) { +public void setText (String string) { checkWidget (); if (string is null) error (DWT.ERROR_NULL_ARGUMENT); // DWT extensions allow null argument @@ -453,7 +453,7 @@ return bits | OS.SS_LEFTNOWORDWRAP; } -override char[] windowClass () { +override String windowClass () { return TCHARsToStr( LabelClass ); } diff -r ff59aeb96cac -r ab60f3309436 dwt/widgets/Link.d --- a/dwt/widgets/Link.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/widgets/Link.d Mon May 05 00:12:38 2008 +0200 @@ -65,12 +65,12 @@ alias Control.computeSize computeSize; alias Control.windowProc windowProc; - char[] text; + String text; TextLayout layout; Color linkColor, disabledColor; Point [] offsets; Point selection; - char[] [] ids; + String [] ids; int [] mnemonics; int focusIndex, mouseDownIndex; HFONT font; @@ -226,7 +226,7 @@ } disabledColor = Color.win32_new (display, OS.GetSysColor (OS.COLOR_GRAYTEXT)); offsets = new Point [0]; - ids = new char[] [0]; + ids = new String [0]; mnemonics = new int [0]; selection = new Point (-1, -1); focusIndex = mouseDownIndex = -1; @@ -351,7 +351,7 @@ }); } -override char[] getNameText () { +override String getNameText () { return getText (); } @@ -395,15 +395,15 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public char[] getText () { +public String getText () { checkWidget (); return text; } -char[] parse (char[] string) { +String parse (String string) { int length_ = string.length; offsets = new Point [length_ / 4]; - ids = new char[] [length_ / 4]; + ids = new String [length_ / 4]; mnemonics = new int [length_ / 4 + 1]; StringBuffer result = new StringBuffer (); char [] buffer = new char [length_]; @@ -537,7 +537,7 @@ Point [] newOffsets = new Point [linkIndex]; System.arraycopy (offsets, 0, newOffsets, 0, linkIndex); offsets = newOffsets; - char[] [] newIDs = new char[] [linkIndex]; + String [] newIDs = new String [linkIndex]; System.arraycopy (ids, 0, newIDs, 0, linkIndex); ids = newIDs; int [] newMnemonics = new int [linkIndex + 1]; @@ -626,7 +626,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public void setText (char[] string) { +public void setText (String string) { checkWidget (); if (string is null) error (DWT.ERROR_NULL_ARGUMENT); if (string==/*eq*/text) return; @@ -679,7 +679,7 @@ return bits | OS.WS_TABSTOP; } -override char[] windowClass () { +override String windowClass () { return OS.COMCTL32_MAJOR >= 6 ? TCHARsToStr(LinkClass) : display.windowClass(); } diff -r ff59aeb96cac -r ab60f3309436 dwt/widgets/List.d --- a/dwt/widgets/List.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/widgets/List.d Mon May 05 00:12:38 2008 +0200 @@ -118,7 +118,7 @@ * * @see #add(String,int) */ -public void add (char[] string) { +public void add (String string) { checkWidget (); if (string is null) error (DWT.ERROR_NULL_ARGUMENT); TCHAR* buffer = StrToTCHARz ( getCodePage (), string); @@ -150,7 +150,7 @@ * * @see #add(String) */ -public void add (char[] string, int index) { +public void add (String string, int index) { checkWidget (); if (string is null) error (DWT.ERROR_NULL_ARGUMENT); if (index is -1) error (DWT.ERROR_INVALID_RANGE); @@ -425,7 +425,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public char[] getItem (int index) { +public String getItem (int index) { checkWidget (); int length_ = OS.SendMessage (handle, OS.LB_GETTEXTLEN, index, 0); if (length_ !is OS.LB_ERR) { @@ -490,10 +490,10 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public char[] [] getItems () { +public String [] getItems () { checkWidget (); int count = getItemCount (); - char[] [] result = new char[] [count]; + String [] result = new String [count]; for (int i=0; iERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver * */ -public char[] [] getSelection () { +public String [] getSelection () { checkWidget (); int [] indices = getSelectionIndices (); - char[] [] result = new char[] [indices.length]; + String [] result = new String [indices.length]; for (int i=0; iERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver * */ -public int indexOf (char[] string) { +public int indexOf (String string) { return indexOf (string, 0); } @@ -665,7 +665,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public int indexOf (char[] string, int start) { +public int indexOf (String string, int start) { checkWidget (); if (string is null) error (DWT.ERROR_NULL_ARGUMENT); @@ -920,7 +920,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public void remove (char[] string) { +public void remove (String string) { checkWidget (); if (string is null) error (DWT.ERROR_NULL_ARGUMENT); int index = indexOf (string, 0); @@ -1172,7 +1172,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public void setItem (int index, char[] string) { +public void setItem (int index, String string) { checkWidget (); if (string is null) error (DWT.ERROR_NULL_ARGUMENT); int topIndex = getTopIndex (); @@ -1197,7 +1197,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public void setItems (char[] [] items) { +public void setItems (String [] items) { checkWidget (); if (items is null) error (DWT.ERROR_NULL_ARGUMENT); for (int i=0; i 1)) return; int focusIndex = -1; for (int i=length-1; i>=0; --i) { - char[] string = items [i]; + String string = items [i]; int index = 0; if (string !is null) { int localFocus = -1; @@ -1524,7 +1524,7 @@ return bits; } -override char[] windowClass () { +override String windowClass () { return TCHARsToStr( ListClass ); } diff -r ff59aeb96cac -r ab60f3309436 dwt/widgets/Menu.d --- a/dwt/widgets/Menu.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/widgets/Menu.d Mon May 05 00:12:38 2008 +0200 @@ -879,8 +879,8 @@ return OS.GetMenuItemCount (handle); } -override char[] getNameText () { - char[] result = ""; +override String getNameText () { + String result = ""; MenuItem [] items = getItems (); int length_ = items.length; if (length_ > 0) { diff -r ff59aeb96cac -r ab60f3309436 dwt/widgets/MenuItem.d --- a/dwt/widgets/MenuItem.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/widgets/MenuItem.d Mon May 05 00:12:38 2008 +0200 @@ -463,7 +463,7 @@ return menu; } -override char[] getNameText () { +override String getNameText () { if ((style & DWT.SEPARATOR) !is 0) return "|"; return super.getNameText (); } @@ -1043,7 +1043,7 @@ * * @see #setAccelerator */ -override public void setText (char[] string) { +override public void setText (String string) { checkWidget (); if (string is null) error (DWT.ERROR_NULL_ARGUMENT); if ((style & DWT.SEPARATOR) !is 0) return; diff -r ff59aeb96cac -r ab60f3309436 dwt/widgets/MessageBox.d --- a/dwt/widgets/MessageBox.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/widgets/MessageBox.d Mon May 05 00:12:38 2008 +0200 @@ -19,6 +19,7 @@ import dwt.widgets.Dialog; import dwt.widgets.Shell; import dwt.widgets.Display; +import dwt.dwthelper.utils; /** * Instances of this class are used to inform or warn the user. @@ -41,7 +42,7 @@ *

    */ public class MessageBox : Dialog { - char[] message = ""; + String message = ""; private bool allowNullParent = false; /** @@ -123,7 +124,7 @@ * * @return the message */ -public char[] getMessage () { +public String getMessage () { return message; } @@ -264,7 +265,7 @@ *
  • ERROR_NULL_ARGUMENT - if the string is null
  • * */ -public void setMessage (char[] string) { +public void setMessage (String string) { if (string is null) error (DWT.ERROR_NULL_ARGUMENT); message = string; } @@ -272,7 +273,7 @@ /++ + DWT extension +/ -public static int showMessageBox(char[] str, char[] title, Shell shell, int style) { +public static int showMessageBox(String str, String title, Shell shell, int style) { MessageBox msgBox = (shell is null ) ? new MessageBox( style ) : new MessageBox(shell, style); msgBox.setMessage(str); if(title !is null){ @@ -282,18 +283,18 @@ } /// DWT extension -public static int showInfo(char[] str, char[] title = null, Shell shell = null) { +public static int showInfo(String str, String title = null, Shell shell = null) { return showMessageBox( str, title, shell, DWT.OK | DWT.ICON_INFORMATION ); } /// DWT extension alias showInfo showInformation; /// DWT extension -public static int showWarning(char[] str, char[] title = null, Shell shell = null) { +public static int showWarning(String str, String title = null, Shell shell = null) { return showMessageBox( str, title, shell, DWT.OK | DWT.ICON_WARNING ); } /// DWT extension -public static int showError(char[] str, char[] title = null, Shell shell = null) { +public static int showError(String str, String title = null, Shell shell = null) { return showMessageBox( str, title, shell, DWT.OK | DWT.ICON_ERROR ); } diff -r ff59aeb96cac -r ab60f3309436 dwt/widgets/ProgressBar.d --- a/dwt/widgets/ProgressBar.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/widgets/ProgressBar.d Mon May 05 00:12:38 2008 +0200 @@ -314,7 +314,7 @@ return bits; } -override char[] windowClass () { +override String windowClass () { return TCHARsToStr( ProgressBarClass ); } diff -r ff59aeb96cac -r ab60f3309436 dwt/widgets/Sash.d --- a/dwt/widgets/Sash.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/widgets/Sash.d Mon May 05 00:12:38 2008 +0200 @@ -189,7 +189,7 @@ eventTable.unhook (DWT.DefaultSelection,listener); } -override char[] windowClass () { +override String windowClass () { return display.windowClass(); } diff -r ff59aeb96cac -r ab60f3309436 dwt/widgets/Scale.d --- a/dwt/widgets/Scale.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/widgets/Scale.d Mon May 05 00:12:38 2008 +0200 @@ -443,7 +443,7 @@ return bits | OS.TBS_VERT; } -override char[] windowClass () { +override String windowClass () { return TCHARsToStr(TrackBarClass); } diff -r ff59aeb96cac -r ab60f3309436 dwt/widgets/Scrollable.d --- a/dwt/widgets/Scrollable.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/widgets/Scrollable.d Mon May 05 00:12:38 2008 +0200 @@ -250,7 +250,7 @@ return bits; } -override char[] windowClass () { +override String windowClass () { return display.windowClass(); } diff -r ff59aeb96cac -r ab60f3309436 dwt/widgets/Shell.d --- a/dwt/widgets/Shell.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/widgets/Shell.d Mon May 05 00:12:38 2008 +0200 @@ -148,7 +148,7 @@ int minWidth = DWT.DEFAULT, minHeight = DWT.DEFAULT; HBRUSH [] brushes; bool showWithParent; - char[] toolTitle, balloonTitle; + String toolTitle, balloonTitle; HICON toolIcon; HICON balloonIcon; WNDPROC windowProc_; @@ -801,7 +801,7 @@ void fixShell (Shell newShell, Control control) { if (this is newShell) return; if (control is lastActive) setActiveControl (null); - char[] toolTipText = control.toolTipText_; + String toolTipText = control.toolTipText_; if (toolTipText !is null) { control.setToolTipText (this, null); control.setToolTipText (newShell, toolTipText); @@ -1502,7 +1502,7 @@ this.region = region; } -void setToolTipText (HWND hwnd, char[] text) { +void setToolTipText (HWND hwnd, String text) { static if (OS.IsWinCE) return; TOOLINFO lpti; lpti.cbSize = TOOLINFO.sizeof; @@ -1555,7 +1555,7 @@ lpnmtdi.lpszText = lpstrTip; } -void setToolTipTitle (HWND hwndToolTip, char[] text, HICON icon) { +void setToolTipTitle (HWND hwndToolTip, String text, HICON icon) { /* * Bug in Windows. For some reason, when TTM_SETTITLE * is used to set the title of a tool tip, Windows leaks @@ -1766,7 +1766,7 @@ return bits; } -override char[] windowClass () { +override String windowClass () { static if (OS.IsSP) return DialogClass; if ((style & DWT.TOOL) !is 0) { int trim = DWT.TITLE | DWT.CLOSE | DWT.MIN | DWT.MAX | DWT.BORDER | DWT.RESIZE; diff -r ff59aeb96cac -r ab60f3309436 dwt/widgets/Slider.d --- a/dwt/widgets/Slider.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/widgets/Slider.d Mon May 05 00:12:38 2008 +0200 @@ -643,7 +643,7 @@ return bits | OS.SBS_VERT; } -override char[] windowClass () { +override String windowClass () { return TCHARsToStr(ScrollBarClass); } diff -r ff59aeb96cac -r ab60f3309436 dwt/widgets/Spinner.d --- a/dwt/widgets/Spinner.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/widgets/Spinner.d Mon May 05 00:12:38 2008 +0200 @@ -313,7 +313,7 @@ RECT rect; int max; OS.SendMessage (hwndUpDown , OS.UDM_GETRANGE32, null, &max); - char[] string = .toString( max ); + String string = .toString( max ); if (digits > 0) { StringBuffer buffer = new StringBuffer (); buffer.append (string); @@ -451,7 +451,7 @@ return digits; } -char[] getDecimalSeparator () { +String getDecimalSeparator () { TCHAR[] tchar = NewTCHARs (getCodePage (), 4); int size = OS.GetLocaleInfo (OS.LOCALE_USER_DEFAULT, OS.LOCALE_SDECIMAL, tchar.ptr, 4); return size !is 0 ? TCHARsToStr( tchar[0 .. size-1] ) : "."; @@ -548,15 +548,15 @@ int length_ = OS.GetWindowTextLength (hwndText); TCHAR[] buffer = NewTCHARs (getCodePage (), length_ + 1); OS.GetWindowText (hwndText, buffer.ptr, length_ + 1); - char[] string = TCHARsToStr( buffer[ 0 .. length_] ); + String string = TCHARsToStr( buffer[ 0 .. length_] ); try { int value; if (digits > 0) { - char[] decimalSeparator = getDecimalSeparator (); + String decimalSeparator = getDecimalSeparator (); int index = string.indexOf (decimalSeparator); if (index !is -1) { - char[] wholePart = string.substring (0, index); - char[] decimalPart = string.substring (index + 1); + String wholePart = string.substring (0, index); + String decimalPart = string.substring (index + 1); if (decimalPart.length > digits) { decimalPart = decimalPart.substring (0, digits); } else { @@ -733,7 +733,7 @@ } /* Verify the character */ - char[] oldText = ""; + String oldText = ""; int start, end; OS.SendMessage (hwndText, OS.EM_GETSEL, &start, &end); switch (key) { @@ -771,7 +771,7 @@ oldText = [key]; break; } - char[] newText = verifyText (oldText, start, end, event); + String newText = verifyText (oldText, start, end, event); if (newText is null) return false; if (newText is oldText) return true; TCHAR* buffer = StrToTCHARz (getCodePage (), newText); @@ -963,9 +963,9 @@ OS.SendMessage (hwndUpDown , OS.IsWinCE ? OS.UDM_SETPOS : OS.UDM_SETPOS32, 0, value); } if (setText) { - char[] string = .toString( value ); + String string = .toString( value ); if (digits > 0) { - char[] decimalSeparator = getDecimalSeparator (); + String decimalSeparator = getDecimalSeparator (); int index = string.length - digits; StringBuffer buffer = new StringBuffer (); if (index > 0) { @@ -991,7 +991,7 @@ if (notify) postEvent (DWT.Selection); } -override void setToolTipText (Shell shell, char[] string) { +override void setToolTipText (Shell shell, String string) { shell.setToolTipText (hwndText, string); shell.setToolTipText (hwndUpDown, string); } @@ -1047,7 +1047,7 @@ OS.SetWindowLong (hwndUpDown, OS.GWL_WNDPROC, cast(int) UpDownProc); } -char[] verifyText (char[] string, int start, int end, Event keyEvent) { +String verifyText (String string, int start, int end, Event keyEvent) { Event event = new Event (); event.text = string; event.start = start; @@ -1059,7 +1059,7 @@ } int index = 0; if (digits > 0) { - char[] decimalSeparator = getDecimalSeparator (); + String decimalSeparator = getDecimalSeparator (); index = string.indexOf (decimalSeparator); if (index !is -1) { string = string.substring (0, index) ~ string.substring (index + 1); @@ -1206,7 +1206,7 @@ // if (!hooks (DWT.Verify) && !filters (DWT.Verify)) return null; bool call = false; int start, end; - char[] newText = null; + String newText = null; switch (msg) { case OS.WM_CLEAR: case OS.WM_CUT: @@ -1243,7 +1243,7 @@ default: } if (newText !is null) { - char[] oldText = newText; + String oldText = newText; newText = verifyText (newText, start, end, null); if (newText is null) return LRESULT.ZERO; if ( newText !=/*eq*/ oldText ) { diff -r ff59aeb96cac -r ab60f3309436 dwt/widgets/TabFolder.d --- a/dwt/widgets/TabFolder.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/widgets/TabFolder.d Mon May 05 00:12:38 2008 +0200 @@ -725,7 +725,7 @@ } } -override char[] toolTipText (NMTTDISPINFO* hdr) { +override String toolTipText (NMTTDISPINFO* hdr) { if ((hdr.uFlags & OS.TTF_IDISHWND) !is 0) { return null; } @@ -773,7 +773,7 @@ return bits | OS.TCS_TABS | OS.TCS_TOOLTIPS; } -override char[] windowClass () { +override String windowClass () { return TCHARsToStr( TabFolderClass ); } diff -r ff59aeb96cac -r ab60f3309436 dwt/widgets/TabItem.d --- a/dwt/widgets/TabItem.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/widgets/TabItem.d Mon May 05 00:12:38 2008 +0200 @@ -41,7 +41,7 @@ public class TabItem : Item { TabFolder parent; Control control; - char[] toolTipText; + String toolTipText; /** * Constructs a new instance of this class given its parent @@ -117,7 +117,7 @@ parent.createItem (this, index); } -void _setText (int index, char[] string) { +void _setText (int index, String string) { /* * Bug in Windows. In version 6.00 of COMCTL32.DLL, tab * items with an image and a label that includes '&' cause @@ -202,7 +202,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public char[] getToolTipText () { +public String getToolTipText () { checkWidget(); return toolTipText; } @@ -311,7 +311,7 @@ * * */ -override public void setText (char[] string) { +override public void setText (String string) { checkWidget(); if (string is null) error (DWT.ERROR_NULL_ARGUMENT); if (string ==/*eq*/text ) return; @@ -332,7 +332,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public void setToolTipText (char[] string) { +public void setToolTipText (String string) { checkWidget(); toolTipText = string; } diff -r ff59aeb96cac -r ab60f3309436 dwt/widgets/Table.d --- a/dwt/widgets/Table.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/widgets/Table.d Mon May 05 00:12:38 2008 +0200 @@ -1337,9 +1337,9 @@ for (int i=0; iERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver * */ -public char[] getText (int index) { +public String getText (int index) { checkWidget(); if (!parent.checkData (this, true)) error (DWT.ERROR_WIDGET_DISPOSED); if (index is 0) return getText (); if (strings !is null) { if (0 <= index && index < strings.length) { - char[] string = strings [index]; + String string = strings [index]; return string !is null ? string : ""; } } @@ -1166,11 +1166,11 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public void setText (char[] [] strings) { +public void setText (String [] strings) { checkWidget(); if (strings is null) error (DWT.ERROR_NULL_ARGUMENT); for (int i=0; iERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver * */ -public void setText (int index, char[] string) { +public void setText (int index, String string) { checkWidget(); if (string is null) error (DWT.ERROR_NULL_ARGUMENT); if (index is 0) { @@ -1199,7 +1199,7 @@ int count = Math.max (1, parent.getColumnCount ()); if (0 > index || index > count - 1) return; if (strings is null && index !is 0) { - strings = new char[][] (count); + strings = new String[] (count); strings [0] = text; } if (strings !is null) { @@ -1236,7 +1236,7 @@ redraw (index, true, false); } -override public void setText (char[] string) { +override public void setText (String string) { checkWidget(); setText (0, string); } diff -r ff59aeb96cac -r ab60f3309436 dwt/widgets/Text.d --- a/dwt/widgets/Text.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/widgets/Text.d Mon May 05 00:12:38 2008 +0200 @@ -59,7 +59,7 @@ int tabs, oldStart, oldEnd; bool doubleClick, ignoreModify, ignoreVerify, ignoreCharacter; - char[] message; + String message; /** * The maximum number of characters that can be entered @@ -80,7 +80,7 @@ * is queried and from the widget, it will be delimited using * this delimiter. */ - public static const char[] DELIMITER = "\r\n"; + public static const String DELIMITER = "\r\n"; /* * This code is intentionally commented. @@ -282,7 +282,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public void append (char[] string) { +public void append (String string) { checkWidget (); if (string is null) error (DWT.ERROR_NULL_ARGUMENT); string = Display.withCrLf (string); @@ -811,7 +811,7 @@ * * @see #DELIMITER */ -public char[] getLineDelimiter () { +public String getLineDelimiter () { checkWidget (); return DELIMITER; } @@ -876,7 +876,7 @@ * * @since 3.3 */ -public char[] getMessage () { +public String getMessage () { checkWidget (); return message; } @@ -963,7 +963,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public char[] getSelectionText () { +public String getSelectionText () { checkWidget (); int length = OS.GetWindowTextLength (handle); if (length is 0) return ""; @@ -1023,7 +1023,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public char[] getText () { +public String getText () { checkWidget (); int length_ = OS.GetWindowTextLength (handle); if (length_ is 0) return ""; @@ -1050,7 +1050,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public char[] getText (int start, int end) { +public String getText (int start, int end) { checkWidget (); if (!(start <= end && 0 <= end)) return ""; int length = OS.GetWindowTextLength (handle); @@ -1155,7 +1155,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public void insert (char[] string) { +public void insert (String string) { checkWidget (); if (string is null) error (DWT.ERROR_NULL_ARGUMENT); string = Display.withCrLf (string); @@ -1188,7 +1188,7 @@ int cp = getCodePage (); int wcsTotal = 0, mbcsTotal = 0; char [] buffer = new char [128]; - char[] delimiter = getLineDelimiter(); + String delimiter = getLineDelimiter(); int delimiterSize = delimiter.length; int count = OS.SendMessageA (handle, OS.EM_GETLINECOUNT, 0, 0); for (int line=0; lineERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver * */ -public void setText (char[] string) { +public void setText (String string) { checkWidget (); if (string is null) error (DWT.ERROR_NULL_ARGUMENT); string = Display.withCrLf (string); @@ -1919,7 +1919,7 @@ OS.SendMessage (handle, OS.EM_SCROLLCARET, 0, 0); } -char[] verifyText (char[] string, int start, int end, Event keyEvent) { +String verifyText (String string, int start, int end, Event keyEvent) { if (ignoreVerify) return string; Event event = new Event (); event.text = string; @@ -1951,7 +1951,7 @@ int cp = getCodePage (); int wcsTotal = 0, mbcsTotal = 0; char [] buffer = new char [128]; - char[] delimiter = getLineDelimiter (); + String delimiter = getLineDelimiter (); int delimiterSize = delimiter.length; int count = OS.SendMessageA (handle, OS.EM_GETLINECOUNT, 0, 0); for (int line=0; lineERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver * */ -public char[] getToolTipText () { +public String getToolTipText () { checkWidget(); return toolTipText; } @@ -768,7 +768,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -override public void setText (char[] string) { +override public void setText (String string) { checkWidget(); if (string is null) error (DWT.ERROR_NULL_ARGUMENT); if ((style & DWT.SEPARATOR) !is 0) return; @@ -818,7 +818,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public void setToolTipText (char[] string) { +public void setToolTipText (String string) { checkWidget(); toolTipText = string; } diff -r ff59aeb96cac -r ab60f3309436 dwt/widgets/ToolTip.d --- a/dwt/widgets/ToolTip.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/widgets/ToolTip.d Mon May 05 00:12:38 2008 +0200 @@ -52,7 +52,7 @@ public class ToolTip : Widget { Shell parent; TrayItem item; - char[] text = "", message = ""; + String text = "", message = ""; int id, x, y; bool autoHide = true, hasLocation, visible; static const int TIMER_ID = 100; @@ -165,7 +165,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public char[] getMessage () { +public String getMessage () { checkWidget(); return message; } @@ -196,7 +196,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public char[] getText () { +public String getText () { checkWidget(); return text; } @@ -402,7 +402,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public void setMessage (char[] string) { +public void setMessage (String string) { checkWidget (); if (string is null) error (DWT.ERROR_NULL_ARGUMENT); message = string; @@ -422,7 +422,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public void setText (char[] string) { +public void setText (String string) { checkWidget (); if (string is null) error (DWT.ERROR_NULL_ARGUMENT); text = string; diff -r ff59aeb96cac -r ab60f3309436 dwt/widgets/TrayItem.d --- a/dwt/widgets/TrayItem.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/widgets/TrayItem.d Mon May 05 00:12:38 2008 +0200 @@ -51,7 +51,7 @@ int id; Image image2; ToolTip toolTip; - char[] toolTipText; + String toolTipText; bool visible = true; /** @@ -216,7 +216,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public char[] getToolTipText () { +public String getToolTipText () { checkWidget (); return toolTipText; } @@ -465,7 +465,7 @@ *
  • ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
  • * */ -public void setToolTipText (char[] value) { +public void setToolTipText (String value) { checkWidget (); toolTipText = value; NOTIFYICONDATA iconData; diff -r ff59aeb96cac -r ab60f3309436 dwt/widgets/Tree.d --- a/dwt/widgets/Tree.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/widgets/Tree.d Mon May 05 00:12:38 2008 +0200 @@ -829,11 +829,11 @@ * all text drawing for empty rectangles. */ if (rect.left < rect.right) { - char[] string = null; + String string = null; if (index is 0) { string = item.text; } else { - char[] [] strings = item.strings; + String [] strings = item.strings; if (strings !is null) string = strings [index]; } if (string !is null) { @@ -1817,7 +1817,7 @@ } int CompareProc (int lParam1, int lParam2, int lParamSort) { TreeItem item1 = items [lParam1], item2 = items [lParam2]; - char[] text1 = item1.getText (lParamSort), text2 = item2.getText (lParamSort); + String text1 = item1.getText (lParamSort), text2 = item2.getText (lParamSort); return sortDirection is DWT.UP ? ( text1 < text2 ) : ( text2 < text1 ); } @@ -1964,9 +1964,9 @@ for (int i=0; i index || index > count - 1) return; if (strings is null && index !is 0) { - strings = new char[] [count]; + strings = new String [count]; strings [0] = text; } if (strings !is null) { @@ -1835,7 +1835,7 @@ } } -override public void setText (char[] string) { +override public void setText (String string) { checkWidget(); setText (0, string); } diff -r ff59aeb96cac -r ab60f3309436 dwt/widgets/Widget.d --- a/dwt/widgets/Widget.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/widgets/Widget.d Mon May 05 00:12:38 2008 +0200 @@ -474,7 +474,7 @@ return null; } -char [] fixMnemonic (char[] string) { +char [] fixMnemonic (String string) { char [] buffer = string.dup; int i = 0, j = 0; while (i < buffer.length) { @@ -543,13 +543,13 @@ * * @see #setData(String, Object) */ -public Object getData (char[] key) { +public Object getData (String key) { checkWidget(); if (key is null) error (DWT.ERROR_NULL_ARGUMENT); if ((state & KEYED_DATA) !is 0) { Object [] table = (cast(ArrayWrapperObject) data).array; for (int i=1; i 0) && (str[index] !is '.')) {} return str[index + 1 .. $ ]; @@ -604,7 +604,7 @@ * * @see #toString */ -char[] getNameText () { +String getNameText () { return ""; //$NON-NLS-1$ } @@ -1089,7 +1089,7 @@ * * @see #getData(String) */ -public void setData (char[] key, Object value) { +public void setData (String key, Object value) { checkWidget(); if (key.length is 0) error (DWT.ERROR_NULL_ARGUMENT); int index = 1; @@ -1097,7 +1097,7 @@ if ((state & KEYED_DATA) !is 0) { table = (cast(ArrayWrapperObject) data).array; while (index < table.length) { - char[] tablekey = (cast(ArrayWrapperString)table[index]).array; + String tablekey = (cast(ArrayWrapperString)table[index]).array; if (key ==/*eq*/ tablekey ) break; index += 2; } @@ -1296,8 +1296,8 @@ * * @return a string representation of the receiver */ -override public char[] toString () { - char[] string = "*Disposed*"; //$NON-NLS-1$ +override public String toString () { + String string = "*Disposed*"; //$NON-NLS-1$ if (!isDisposed ()) { string = "*Wrong Thread*"; //$NON-NLS-1$ if (isValidThread ()) string = getNameText ();