Show
Ignore:
Timestamp:
05/04/08 18:12:38 (7 months ago)
Author:
Frank Benoit <benoit@tionex.de>
branch:
default
Message:

reverted the char[] to String and use the an alias.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • dwt/custom/StyledText.d

    r197 r212  
    149149 
    150150    static const char TAB = '\t'; 
    151     static const char[] PlatformLineDelimiter = tango.io.FileConst.FileConst.NewlineString; 
     151    static const String PlatformLineDelimiter = tango.io.FileConst.FileConst.NewlineString; 
    152152    static const int BIDI_CARET_WIDTH = 3; 
    153153    static const int DEFAULT_WIDTH  = 64; 
     
    230230    const static bool IS_CARBON, IS_GTK, IS_MOTIF; 
    231231    static this(){ 
    232         char[] platform = DWT.getPlatform(); 
     232        String platform = DWT.getPlatform(); 
    233233        IS_CARBON = ("carbon" == platform); 
    234234        IS_GTK    = ("gtk"    == platform); 
     
    314314            StyledTextContent content = printerRenderer.content; 
    315315            for (int i = 0; i < lineCount; i++) { 
    316                 char[] line = content.getLine(i); 
     316                String line = content.getLine(i); 
    317317                int lineOffset = content.getOffsetAtLine(i); 
    318318                StyledTextEvent event = styledText.getLineBackgroundData(lineOffset, line); 
     
    602602     */ 
    603603    void printDecoration(int page, bool header, TextLayout layout) { 
    604         char[] text = header ? printOptions.header : printOptions.footer; 
     604        String text = header ? printOptions.header : printOptions.footer; 
    605605        if (text is null) return; 
    606606        int lastSegmentIndex = 0; 
    607607        for (int i = 0; i < 3; i++) { 
    608608            int segmentIndex = tango.text.Util.locatePattern( text, StyledTextPrintOptions.SEPARATOR, lastSegmentIndex); 
    609             char[] segment; 
     609            String segment; 
    610610            if (segmentIndex is text.length ) { 
    611611                segment = text[ lastSegmentIndex .. $ ].dup; 
     
    629629     * @param header true = print the header, false = print the footer 
    630630     */ 
    631     void printDecorationSegment(char[] segment, int alignment, int page, bool header, TextLayout layout) { 
     631    void printDecorationSegment(String segment, int alignment, int page, bool header, TextLayout layout) { 
    632632        int pageIndex = tango.text.Util.locatePattern( segment, StyledTextPrintOptions.PAGE_TAG ); 
    633633        if (pageIndex !is segment.length ) { 
     
    677677            printLayout.setAscent(metrics.getAscent() + metrics.getDescent()); 
    678678            printLayout.setDescent(metrics.getDescent()); 
    679             printLayout.setText( to!(char[])(index) ); 
     679            printLayout.setText( to!(String)(index) ); 
    680680            int paintX = x - printMargin - printLayout.getBounds().width; 
    681681            printLayout.draw(gc, paintX, y); 
     
    690690     */ 
    691691    public void run() { 
    692         char[] jobName = printOptions.jobName; 
     692        String jobName = printOptions.jobName; 
    693693        if (jobName is null) { 
    694694            jobName = "Printing"; 
     
    805805     */ 
    806806    void setUnicode() { 
    807 //         const char[] Win95 = "windows 95"; 
    808 //         const char[] Win98 = "windows 98"; 
    809 //         const char[] WinME = "windows me"; 
    810 //         const char[] WinNT = "windows nt"; 
    811 //         char[] osName = System.getProperty("os.name").toLowerCase(); 
    812 //         char[] osVersion = System.getProperty("os.version"); 
     807//         const String Win95 = "windows 95"; 
     808//         const String Win98 = "windows 98"; 
     809//         const String WinME = "windows me"; 
     810//         const String WinNT = "windows nt"; 
     811//         String osName = System.getProperty("os.name").toLowerCase(); 
     812//         String osVersion = System.getProperty("os.version"); 
    813813//         int majorVersion = 0; 
    814814// 
     
    840840     * @param end end offset of segment 
    841841     */ 
    842     void write(char[] string, int start, int end) { 
     842    void write(String string, int start, int end) { 
    843843        wchar[] wstring = tango.text.convert.Utf.toString16( string[ start .. end ] ); 
    844844        start = 0; 
     
    853853                } 
    854854                write("\\u"); 
    855                 write( to!(char[])( cast(short)ch )); 
     855                write( to!(String)( cast(short)ch )); 
    856856                write(' ');                     // control word delimiter 
    857857                start = index + 1; 
     
    882882        // specify code page, necessary for copy to work in bidi 
    883883        // systems that don't support Unicode RTF. 
    884         // PORTING_TODO: char[] cpg = System.getProperty("file.encoding").toLowerCase(); 
    885         char[] cpg = "UTF16"; 
     884        // PORTING_TODO: String cpg = System.getProperty("file.encoding").toLowerCase(); 
     885        String cpg = "UTF16"; 
    886886        /+ 
    887887        if (cpg.startsWith("cp") || cpg.startsWith("ms")) { 
     
    935935     * </ul> 
    936936     */ 
    937     public override void writeLine(char[] line, int lineOffset) { 
     937    public override void writeLine(String line, int lineOffset) { 
    938938        if (isClosed()) { 
    939939            DWT.error(DWT.ERROR_IO); 
     
    972972     * </ul> 
    973973     */ 
    974     public override void writeLineDelimiter(char[] lineDelimiter) { 
     974    public override void writeLineDelimiter(String lineDelimiter) { 
    975975        if (isClosed()) { 
    976976            DWT.error(DWT.ERROR_IO); 
     
    997997     *  May be null. 
    998998     */ 
    999     void writeStyledLine(char[] line, int lineOffset, int ranges[], StyleRange[] styles, Color lineBackground, int indent, int alignment, bool justify) { 
     999    void writeStyledLine(String line, int lineOffset, int ranges[], StyleRange[] styles, Color lineBackground, int indent, int alignment, bool justify) { 
    10001000        int lineLength = line.length; 
    10011001        int startOffset = getStart(); 
     
    11751175     * @return the string 
    11761176     */ 
    1177     public override char[] toString() { 
     1177    public override String toString() { 
    11781178        return buffer.toString(); 
    11791179    } 
     
    11811181     * Appends the given string to the data. 
    11821182     */ 
    1183     void write(char[] string) { 
     1183    void write(String string) { 
    11841184        buffer.append(string); 
    11851185    } 
     
    11931193     * @param offset offset in the existing data to insert "string" at. 
    11941194     */ 
    1195     void write(char[] string, int offset) { 
     1195    void write(String string, int offset) { 
    11961196        if (offset < 0 || offset > buffer.length()) { 
    11971197            return; 
     
    12241224     * </ul> 
    12251225     */ 
    1226     public void writeLine(char[] line, int lineOffset) { 
     1226    public void writeLine(String line, int lineOffset) { 
    12271227        if (isClosed_) { 
    12281228            DWT.error(DWT.ERROR_IO); 
     
    12511251     * </ul> 
    12521252     */ 
    1253     public void writeLineDelimiter(char[] lineDelimiter) { 
     1253    public void writeLineDelimiter(String lineDelimiter) { 
    12541254        if (isClosed_) { 
    12551255            DWT.error(DWT.ERROR_IO); 
     
    15681568 * 
    15691569 * @param string the string to be appended 
    1570  * @see #replaceTextRange(int,int,char[]
     1570 * @see #replaceTextRange(int,int,String
    15711571 * @exception DWTException <ul> 
    15721572 *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li> 
     
    15771577 * </ul> 
    15781578 */ 
    1579 public void append(char[] string) { 
     1579public void append(String string) { 
    15801580    checkWidget(); 
    15811581    if (string is null) { 
     
    18921892 *  has the DWT.SINGLE style. 
    18931893 */ 
    1894 char[] getModelDelimitedText(char[] text) { 
     1894String getModelDelimitedText(String text) { 
    18951895    int length = text.length; 
    18961896    if (length is 0) { 
     
    19011901    int i = 0; 
    19021902    StringBuffer convertedText = new StringBuffer(length); 
    1903     char[] delimiter = getLineDelimiter(); 
     1903    String delimiter = getLineDelimiter(); 
    19041904    while (i < length) { 
    19051905        if (crIndex !is -1) { 
     
    22562256        int lineIndex = content.getLineAtOffset(event.end); 
    22572257        int lineOffset = content.getOffsetAtLine(lineIndex); 
    2258         char[] line = content.getLine(lineIndex); 
     2258        String line = content.getLine(lineIndex); 
    22592259        // replace character at caret offset if the caret is not at the 
    22602260        // end of the line 
     
    32473247Rectangle getBoundsAtOffset(int offset) { 
    32483248    int lineIndex = content.getLineAtOffset(offset); 
    3249     char[] line = content.getLine(lineIndex); 
     3249    String line = content.getLine(lineIndex); 
    32503250    Rectangle bounds; 
    32513251    if (line.length !is 0) { 
     
    35753575 * @return line background data for the given line. 
    35763576 */ 
    3577 StyledTextEvent getLineBackgroundData(int lineOffset, char[] line) { 
     3577StyledTextEvent getLineBackgroundData(int lineOffset, String line) { 
    35783578    return sendLineEvent(LineGetBackground, lineOffset, line); 
    35793579} 
     
    36163616 * </ul> 
    36173617 */ 
    3618 public char[] getLineDelimiter() { 
     3618public String getLineDelimiter() { 
    36193619    checkWidget(); 
    36203620    return content.getLineDelimiter(); 
     
    37543754 *  line start and end after line end 
    37553755 */ 
    3756 StyledTextEvent getLineStyleData(int lineOffset, char[] line) { 
     3756StyledTextEvent getLineStyleData(int lineOffset, String line) { 
    37573757    return sendLineEvent(LineGetStyle, lineOffset, line); 
    37583758} 
     
    39163916    int y = point.y - getLinePixel(lineIndex); 
    39173917    int offsetInLine = layout.getOffset(x, y, trailing); 
    3918     char[] line = content.getLine(lineIndex); 
     3918    String line = content.getLine(lineIndex); 
    39193919    if (offsetInLine !is line.length - 1) { 
    39203920        offsetInLine = Math.min(line.length, offsetInLine + trailing[0]); 
     
    39543954            caretAlignment = PREVIOUS_OFFSET_TRAILING; 
    39553955        } else { 
    3956             char[] line = content.getLine(lineIndex); 
     3956            String line = content.getLine(lineIndex); 
    39573957            int level; 
    39583958            int offset = offsetInLine; 
     
    40244024 *  delimiter to separate lines as written by the specified TextWriter. 
    40254025 */ 
    4026 char[] getPlatformDelimitedText(TextWriter writer) { 
     4026String getPlatformDelimitedText(TextWriter writer) { 
    40274027    int end = writer.getStart() + writer.getCharCount(); 
    40284028    int startLine = content.getLineAtOffset(writer.getStart()); 
    40294029    int endLine = content.getLineAtOffset(end); 
    4030     char[] endLineText = content.getLine(endLine); 
     4030    String endLineText = content.getLine(endLine); 
    40314031    int endLineOffset = content.getOffsetAtLine(endLine); 
    40324032 
     
    42174217 * </ul> 
    42184218 */ 
    4219 public char[] getSelectionText() { 
     4219public String getSelectionText() { 
    42204220    checkWidget(); 
    42214221    return content.getTextRange(selection.x, selection.y - selection.x); 
     
    42494249 * </ul> 
    42504250 */ 
    4251 int [] getBidiSegments(int lineOffset, char[] line) { 
     4251int [] getBidiSegments(int lineOffset, String line) { 
    42524252    if (!isBidi()) return null; 
    42534253    if (!isListening(LineGetSegments)) { 
     
    42864286 * Supports deprecated setBidiColoring API. Remove when API is removed. 
    42874287 */ 
    4288 int [] getBidiSegmentsCompatibility(char[] line, int lineOffset) { 
     4288int [] getBidiSegmentsCompatibility(String line, int lineOffset) { 
    42894289    int lineLength = line.length; 
    42904290    if (!bidiColoring) { 
     
    45404540 * </ul> 
    45414541 */ 
    4542 public char[] getText() { 
     4542public String getText() { 
    45434543    checkWidget(); 
    45444544    return content.getTextRange(0, getCharCount()); 
     
    45474547 * Returns the widget content between the two offsets. 
    45484548 * 
    4549  * @param start offset of the first character in the returned char[] 
     4549 * @param start offset of the first character in the returned String 
    45504550 * @param end offset of the last character in the returned String 
    45514551 * @return widget content starting at start and ending at end 
     
    45594559 * </ul> 
    45604560 */ 
    4561 public char[] getText(int start, int end) { 
     4561public String getText(int start, int end) { 
    45624562    checkWidget(); 
    45634563    int contentLength = getCharCount(); 
     
    46014601                rect = layout.getBounds(start - lineOffset, end - lineOffset); 
    46024602            } else if (i is lineStart) { 
    4603                 char[] line = content.getLine(i); 
     4603                String line = content.getLine(i); 
    46044604                rect = layout.getBounds(start - lineOffset, line.length); 
    46054605            } else if (i is lineEnd) { 
     
    46344634 * </ul> 
    46354635 */ 
    4636 public char[] getTextRange(int start, int length) { 
     4636public String getTextRange(int start, int length) { 
    46374637    checkWidget(); 
    46384638    int contentLength = getCharCount(); 
     
    47314731    int caretLine = getCaretLine(); 
    47324732    int lineOffset = content.getOffsetAtLine(caretLine); 
    4733     char[] line = content.getLine(caretLine); 
     4733    String line = content.getLine(caretLine); 
    47344734    int offset = caretOffset - lineOffset; 
    47354735    int lineLength = line.length; 
     
    47614761int getWordNext (int offset, int movement) { 
    47624762    int newOffset, lineOffset; 
    4763     char[] lineText; 
     4763    String lineText; 
    47644764    if (offset >= getCharCount()) { 
    47654765        newOffset = offset; 
     
    47844784int getWordPrevious(int offset, int movement) { 
    47854785    int newOffset, lineOffset; 
    4786     char[] lineText; 
     4786    String lineText; 
    47874787    if (offset <= 0) { 
    47884788        newOffset = 0; 
     
    47954795        lineText = content.getLine(lineIndex); 
    47964796        if (offset is lineOffset) { 
    4797             char[] nextLineText = content.getLine(lineIndex - 1); 
     4797            String nextLineText = content.getLine(lineIndex - 1); 
    47984798            int nextLineOffset = content.getOffsetAtLine(lineIndex - 1); 
    47994799            newOffset = nextLineOffset + nextLineText.length; 
     
    48264826Point getPointAtOffset(int offset) { 
    48274827    int lineIndex = content.getLineAtOffset(offset); 
    4828     char[] line = content.getLine(lineIndex); 
     4828    String line = content.getLine(lineIndex); 
    48294829    int lineOffset = content.getOffsetAtLine(lineIndex); 
    48304830    int offsetInLine = offset - lineOffset; 
     
    48684868 * 
    48694869 * @param string the string 
    4870  * @see #replaceTextRange(int,int,char[]
     4870 * @see #replaceTextRange(int,int,String
    48714871 * @exception DWTException <ul> 
    48724872 *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li> 
     
    48774877 * </ul> 
    48784878 */ 
    4879 public void insert(char[] string) { 
     4879public void insert(String string) { 
    48804880    checkWidget(); 
    48814881    if (string is null) { 
     
    52115211    if (event.button is 2) { 
    52125212        auto o = cast(ArrayWrapperString)getClipboardContent(DND.SELECTION_CLIPBOARD); 
    5213         char[] text = o.array; 
     5213        String text = o.array; 
    52145214        if (text !is null && text.length > 0) { 
    52155215            // position cursor 
     
    55275527    accessible.addAccessibleListener(new class() AccessibleAdapter { 
    55285528        public void getName (AccessibleEvent e) { 
    5529             char[] name = null; 
     5529            String name = null; 
    55305530            Label label = getAssociatedLabel (); 
    55315531            if (label !is null) { 
     
    55385538        } 
    55395539        public void getKeyboardShortcut(AccessibleEvent e) { 
    5540             char[] shortcut = null; 
     5540            String shortcut = null; 
    55415541            Label label = getAssociatedLabel (); 
    55425542            if (label !is null) { 
    5543                 char[] text = label.getText (); 
     5543                String text = label.getText (); 
    55445544                if (text !is null) { 
    55455545                    dchar mnemonic = _findMnemonic (text); 
     
    56015601    return null; 
    56025602} 
    5603 char[] stripMnemonic (char[] string) { 
     5603String stripMnemonic (String string) { 
    56045604    int index = 0; 
    56055605    int length_ = string.length; 
     
    56195619 * characters in the given string, return '\0'. 
    56205620 */ 
    5621 dchar _findMnemonic (char[] string) { 
     5621dchar _findMnemonic (String string) { 
    56225622    if (string is null) return '\0'; 
    56235623    int index = 0; 
     
    59195919public void paste(){ 
    59205920    checkWidget(); 
    5921     char[] text = (cast(ArrayWrapperString) getClipboardContent(DND.CLIPBOARD)).array; 
     5921    String text = (cast(ArrayWrapperString) getClipboardContent(DND.CLIPBOARD)).array; 
    59225922    if (text !is null && text.length > 0) { 
    59235923        Event event = new Event(); 
     
    63966396 * </ul> 
    63976397 */ 
    6398 public void replaceTextRange(int start, int length, char[] text) { 
     6398public void replaceTextRange(int start, int length, String text) { 
    63996399    checkWidget(); 
    64006400    if (text is null) { 
     
    66396639 *  for the given line. 
    66406640 */ 
    6641 StyledTextEvent sendLineEvent(int eventType, int lineOffset, char[] line) { 
     6641StyledTextEvent sendLineEvent(int eventType, int lineOffset, String line) { 
    66426642    StyledTextEvent event = null; 
    66436643    if (isListening(eventType)) { 
     
    66766676    notifyListeners(DWT.Selection, event); 
    66776677} 
    6678 int sendWordBoundaryEvent(int eventType, int movement, int offset, int newOffset, char[] lineText, int lineOffset) { 
     6678int sendWordBoundaryEvent(int eventType, int movement, int offset, int newOffset, String lineText, int lineOffset) { 
    66796679    if (isListening(eventType)) { 
    66806680        StyledTextEvent event = new StyledTextEvent(content); 
     
    68756875    TextTransfer plainTextTransfer = TextTransfer.getInstance(); 
    68766876    TextWriter plainTextWriter = new TextWriter(start, length); 
    6877     char[] plainText = getPlatformDelimitedText(plainTextWriter); 
     6877    String plainText = getPlatformDelimitedText(plainTextWriter); 
    68786878    Object[] data; 
    68796879    Transfer[] types; 
     
    68846884        RTFTransfer rtfTransfer = RTFTransfer.getInstance(); 
    68856885        RTFWriter rtfWriter = new RTFWriter(start, length); 
    6886         char[] rtfText = getPlatformDelimitedText(rtfWriter); 
     6886        String rtfText = getPlatformDelimitedText(rtfWriter); 
    68876887        data = [ cast(Object) new ArrayWrapperString(rtfText), new ArrayWrapperString(plainText) ]; 
    68886888        types = [ cast(Transfer)rtfTransfer, plainTextTransfer]; 
     
    80358035 * </ul> 
    80368036 */ 
    8037 public void setText(char[] text) { 
     8037public void setText(String text) { 
    80388038    checkWidget(); 
    80398039    if (text is null) {