Changeset 270 for trunk

Show
Ignore:
Timestamp:
03/15/08 18:21:19 (9 months ago)
Author:
Ant
Message:

option -sv (GtkSourceView?) corrections

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/language/d/CodeBlock.d

    r242 r270  
    22 
    33//debug=messages; 
     4debug=typeElement; 
    45 
    56import language.d.Element; 
     
    132133        debug(messages)writefln("getAutoCompleteList:: foreach on %d elements", elements.length); 
    133134        foreach (e;elements) { 
    134             writefln("testing %s", e.classinfo.name); 
     135            debug(messages)writefln("testing %s", e.classinfo.name); 
    135136            if (cast(Definition)e) { 
    136137                //debug(messages)writefln("testing %s against %s", start,(cast(Definition)e).name); 
     
    355356    { 
    356357         
    357         writefln("CodeBlock::getTypeElement:testing %s against %s", match,this.name ? this.name : this.classinfo.name); 
     358        debug(messages)writefln("CodeBlock::getTypeElement:testing %s against %s", match,this.name ? this.name : this.classinfo.name); 
    358359        if (std.string.find(match,'[') > -1) { 
    359360            return new BaseType(this,match); 
  • trunk/src/leds/CodeEdit.d

    r265 r270  
    314314     
    315315    int lineFromPosition(int position); 
     316     
     317    int getLineAtY(int y); 
    316318     
    317319    int markerLineFromHandle(int key); 
  • trunk/src/leds/CodeView.d

    r267 r270  
    2020 * Code folding by Alan Knowles 
    2121 */ 
    22   
     22 
    2323module leds.CodeView; 
    2424 
     
    2727//debug=autoComments; 
    2828//debug=flow; 
     29//debug=getFileMTime; 
     30//debug=elements; 
     31debug=editKey; 
     32//debug=editCharAdded; 
    2933 
    3034private: 
    3135 
    3236private import leds.FileView; 
    33 ////////     
     37 
    3438private import leds.CodeEdit; 
    3539     
     
    7276import parser.FormatD;  
    7377*/ 
     78 
     79private import leds.SourceViewEdit; 
     80 
    7481 
    7582import leds.SystemConsole; 
     
    106113private import language.d.Directory; 
    107114private import language.d.CodeBlock; 
    108      
     115 
    109116 
    110117/** 
     
    153160    CodeEdit codeEdit; 
    154161 
    155     String[int] errors; 
     162    String[int] errors;        /// error from the markerHandle 
    156163 
    157164    bool autoIndent = true; 
     
    175182     
    176183    String braceCharacters; 
     184 
     185    int[][int] lineMarkers; /// makers from the line 
     186     
    177187     
    178188    public: 
     
    191201        braceCharacters = new String("()[]{}"); 
    192202        super(workspace, fileName); 
    193         writefln("calling getFileMTime 1"); 
     203        debug(getFileMTime)writefln("calling getFileMTime 1"); 
    194204        modifiedTime = getFileMTime(this.fileName); 
    195         writefln("calling getFileMTime 1"); 
     205        debug(getFileMTime)writefln("calling getFileMTime 1"); 
    196206        this.project = project; 
    197207     
     
    216226        codeEdit.setPopupMenu(popupMenu); 
    217227        //codeEdit.addOnExpose(&exposeCallback); 
    218         writefln("CodeView.this exit"); 
     228        debug(flow)writefln("CodeView.this exit"); 
    219229    } 
    220230 
     
    265275        } 
    266276        return language; 
     277 
    267278    } 
    268279 
     
    343354                    reloadFile(false); 
    344355                } 
    345         writefln("calling getFileMTime 2"); 
     356               debug(getFileMTime)writefln("calling getFileMTime 2"); 
    346357                modifiedTime = getFileMTime(fileName); 
    347         writefln("calling getFileMTime 2"); 
     358               debug(getFileMTime)writefln("calling getFileMTime 2"); 
    348359                asking = false; 
    349360            } 
     
    487498        { 
    488499            reloadFile(false); 
    489         writefln("calling getFileMTime 3"); 
     500           debug(getFileMTime)writefln("calling getFileMTime 3"); 
    490501            modifiedTime = getFileMTime(fileName); 
    491         writefln("calling getFileMTime 3"); 
     502           debug(getFileMTime)writefln("calling getFileMTime 3"); 
    492503        } 
    493504    } 
     
    516527        else 
    517528        { 
    518         writefln("calling getFileMTime 4"); 
     529           debug(getFileMTime)writefln("calling getFileMTime 4"); 
    519530            modifiedTime = getFileMTime(fileName); 
    520         writefln("calling getFileMTime 4"); 
     531           debug(getFileMTime)writefln("calling getFileMTime 4"); 
    521532        } 
    522533    } 
     
    547558        { 
    548559            input = new String(cast(char[])FileBuffer.read(fileName)); 
    549         writefln("calling getFileMTime 5"); 
     560           debug(getFileMTime)writefln("calling getFileMTime 5"); 
    550561            modifiedTime = getFileMTime(fileName); 
    551         writefln("calling getFileMTime 5"); 
     562           debug(getFileMTime)writefln("calling getFileMTime 5"); 
    552563        } 
    553564        catch ( Exception e) 
     
    582593    { 
    583594        bool needReload = false; 
    584         writefln("calling getFileMTime 6"); 
     595        debug(getFileMTime)writefln("calling getFileMTime 6"); 
    585596        if ( modifiedTime != getFileMTime(fileName) ) 
    586597        { 
    587         writefln("calling getFileMTime 6"); 
     598           debug(getFileMTime)writefln("calling getFileMTime 6.1"); 
    588599            needReload = PopupBox.yesNo(workspace,  
    589600                "\""~fileName.toString()~"\"\nwas modified outsize leds!\nReload?", 
     
    592603            saveFile(fileName); 
    593604        } 
    594         writefln("calling getFileMTime 6"); 
     605        debug(getFileMTime)writefln("calling getFileMTime 6.2"); 
    595606        return needReload; 
    596607    } 
     
    605616    { 
    606617        bool okToModify = true; 
    607         writefln("calling getFileMTime 7"); 
     618        debug(getFileMTime)writefln("calling getFileMTime 7"); 
    608619        if ( modifiedTime != getFileMTime(fileName) ) 
    609620        { 
    610         writefln("calling getFileMTime 7"); 
     621           debug(getFileMTime)writefln("calling getFileMTime 7"); 
    611622            okToModify = PopupBox.yesNo(workspace, 
    612623                "\""~fileName.toString() 
     
    614625                "leds - Light Editor for D"); 
    615626        } 
    616         writefln("calling getFileMTime 7"); 
     627        debug(getFileMTime)writefln("calling getFileMTime 7"); 
    617628        return okToModify; 
    618629    } 
     
    805816            FileBuffer.write(fileName,cast(byte[])buf.toBytes()); 
    806817            debug(saveFile)writefln("CodeView.saveField 2 written to file"); 
    807         writefln("calling getFileMTime 8"); 
     818           debug(getFileMTime)writefln("calling getFileMTime 8"); 
    808819            modifiedTime = getFileMTime(fileName); 
    809         writefln("calling getFileMTime 8"); 
     820           debug(getFileMTime)writefln("calling getFileMTime 8"); 
    810821            codeEdit.setSavePoint(); 
    811822            debug(saveFile)writefln("CodeView.saveField 3"); 
     
    903914        errorLines.length = 0; 
    904915        errors = null; 
     916        lineMarkers = null; 
    905917        if ( project !is null ) 
    906918        { 
     
    976988        errors[markHandle] = message; 
    977989        errorLines ~= lineNumber; 
     990        int[] markers; 
     991        if ( lineNumber in lineMarkers ) 
     992        { 
     993            markers = lineMarkers[lineNumber]; 
     994        } 
     995        markers ~= markHandle; 
     996        lineMarkers[lineNumber] = markers; 
    978997        //workspace.restoreBottomPane(); 
    979998    } 
     
    13811400    body 
    13821401    { 
    1383         writefln("gotoElement 1"); 
     1402        debug(elements)writefln("gotoElement 1"); 
    13841403        if ( elementName is null || elementName.length == 0 ) 
    13851404        { 
    1386         writefln("gotoElement 2"); 
     1405           debug(elements)writefln("gotoElement 2"); 
    13871406            return false; 
    13881407        } 
    1389         writefln("gotoElement 3"); 
     1408        debug(elements)writefln("gotoElement 3"); 
    13901409        Language lang = this.getLanguageHandler(); 
    1391         writefln("gotoElement 4"); 
     1410        debug(elements)writefln("gotoElement 4"); 
    13921411         
    13931412        String[] fileandNum = lang.getElementLocation(elementName, lineNumber); 
    1394         writefln("gotoElement 5"); 
     1413        debug(elements)writefln("gotoElement 5"); 
    13951414        if (!fileandNum.length)  
    13961415        { 
    1397         writefln("gotoElement 6"); 
     1416           debug(elements)writefln("gotoElement 6"); 
    13981417            return false; 
    13991418        } 
    1400         writefln("gotoElement 7"); 
     1419        debug(elements)writefln("gotoElement 7"); 
    14011420        std.stdio.writefln("goto: " ~ fileandNum[0] ~ " :: " ~ fileandNum[1]); 
    14021421        int toLine  = atoi(fileandNum[1].toString().ptr); 
    14031422         
    1404         writefln("gotoElement 8"); 
     1423        debug(elements)writefln("gotoElement 8"); 
    14051424        CodeView cv = cast(CodeView)workspace.openFile(fileandNum[0]); 
    14061425        if ( cv is null)  
    14071426        { 
    1408         writefln("gotoElement 9"); 
     1427           debug(elements)writefln("gotoElement 9"); 
    14091428            return false; 
    14101429        } 
    14111430        cv.gotoLine(toLine+1); 
    1412         writefln("gotoElement 10"); 
     1431        debug(elements)writefln("gotoElement 10"); 
    14131432        return true; 
    14141433         
     
    15891608    int mouseButtonPress(GdkEventButton * eventButton, Widget widget) 
    15901609    { 
    1591          
    1592         //printf("mouse pressed on CodeView with button %d and time %d\n",eventButton.button,eventButton.time); 
     1610        int lineNumber = codeEdit.getLineAtY(cast(int)eventButton.y)/17;    // TODO 17? 
     1611         
     1612//      printf("mouse pressed on CodeView with button %d and time %d \n",eventButton.button,eventButton.time); 
     1613        writefln("mouse pressed on CodeView with button %s and time %s @%s,%s",eventButton.button,eventButton.time, eventButton.x, eventButton.y); 
     1614        writefln("getLineAtY() = %s", lineNumber); 
     1615         
     1616        // click on marker? 
     1617        int markerID = codeEdit.markerGet(lineNumber); 
     1618        writefln("markerID = %s", markerID); 
     1619        if ( markerID != 0 && cast(SourceViewEdit)codeEdit ) 
     1620        { 
     1621            marginClickMarkersForSourceView(lineNumber); 
     1622        } 
     1623         
    15931624        if (eventButton.button != 1)  
    15941625        { 
     
    16241655    void openModule(MenuItem item) 
    16251656    { 
    1626         writefln("openModule 0.0"); 
     1657        debug(elements)writefln("openModule 0.0"); 
    16271658        String token = codeEdit.getSelected(); 
    16281659        if ( token.length == 0 )  
     
    16321663        } 
    16331664         
    1634         writefln("openModule 0.1"); 
     1665        debug(elements)writefln("openModule 0.1"); 
    16351666        String[] fileandNum = getLanguageHandler().getElementLocation( 
    16361667                                                    token, codeEdit.getCurrLine()); 
     
    16421673        CodeBlock container =   sourceModule.getContainerForLine(getLineNumber()); 
    16431674         
    1644         writefln("openModule 0.2"); 
     1675        debug(elements)writefln("openModule 0.2"); 
    16451676        if (!container)  
    16461677        { 
    16471678            popupTip("no container found?"); 
    1648         writefln("openModule 0.3"); 
     1679           debug(elements)writefln("openModule 0.3"); 
    16491680            return; 
    16501681        } 
     
    16521683        String[] bits = token.split("."); 
    16531684         
    1654         writefln("openModule 0.4"); 
     1685        debug(elements)writefln("openModule 0.4"); 
    16551686        if (bits.length < 2)  
    16561687        { 
    1657         writefln("openModule 0.5"); 
     1688           debug(elements)writefln("openModule 0.5"); 
    16581689            // simple single entity. 
    16591690            Element[] types; 
     
    16611692            if (types.length > 0 ) 
    16621693            { 
    1663         writefln("openModule 0.6"); 
     1694               debug(elements)writefln("openModule 0.6"); 
    16641695                popupTip(types[0].getHelp()); 
    16651696//              char[] str = ""; 
     
    16731704            else 
    16741705            { 
    1675         writefln("openModule 0.7"); 
     1706               debug(elements)writefln("openModule 0.7"); 
    16761707                popupTip("no types found"); 
    16771708            } 
     
    16801711        else 
    16811712        { 
    1682             writefln("openModule 1"); 
     1713            debug(elements)writefln("openModule 1"); 
    16831714            Element lookupwith = null; 
    16841715             
    16851716            for(int i=0;i< bits.length-1; i++)  
    16861717            { 
    1687             writefln("openModule 2"); 
     1718               debug(elements)writefln("openModule 2"); 
    16881719                Element type = null; 
    16891720                if (!lookupwith)  
     
    16991730                { 
    17001731                    debug(messages)writefln("cant find defintion of item named %s" , bits[i]); 
    1701             writefln("openModule 3"); 
     1732                   debug(elements)writefln("openModule 3"); 
    17021733                    return; 
    17031734                } 
     
    17101741                { 
    17111742                    debug(messages)writefln("cant find defintion of type %s" , type.returnType); 
    1712             writefln("openModule 4"); 
     1743                   debug(elements)writefln("openModule 4"); 
    17131744                    return; 
    17141745                } 
     
    17211752            //debug(messages)writefln("got %d elements", list.length); 
    17221753             
    1723             writefln("openModule 5"); 
     1754            debug(elements)writefln("openModule 5"); 
    17241755            if ( !token.length || !cast(CodeBlock)lookupwith )  
    17251756            {  
     
    17321763                        //codeview.getWorkspace().getSystemConsole.print(de.getHelp()); 
    17331764                    } 
    1734             writefln("openModule 6"); 
     1765                   debug(elements)writefln("openModule 6"); 
    17351766                    return; 
    17361767                } 
    1737             writefln("openModule 7"); 
     1768               debug(elements)writefln("openModule 7"); 
    17381769                return; 
    17391770            } 
     
    17431774            // last item was a '.' 
    17441775             
    1745             writefln("openModule 8"); 
     1776            debug(elements)writefln("openModule 8"); 
    17461777            if ( types )  
    17471778            { 
    1748             writefln("openModule 9"); 
     1779               debug(elements)writefln("openModule 9"); 
    17491780                char[] str = ""; 
    17501781                foreach( type ; types )  
     
    17611792        if ( fileandNum.length == 0)  
    17621793        { 
    1763             writefln("openModule 5"); 
     1794            debug(elements)writefln("openModule 5"); 
    17641795            return false; 
    17651796        } 
     
    20862117    public String getLeftRight(String text, int pos, int direction, String extraChars=null) 
    20872118    { 
     2119        //writefln("getLeftRight entry"); 
    20882120        String id; 
    20892121        int start = pos + ((direction <0) ?  - 1 : 0); 
    20902122        char c = '\0'; 
     2123        //writefln("getLeftRight 1"); 
    20912124      
    20922125        while ( 
     
    21012134        ) 
    21022135        { 
     2136            //writefln("getLeftRight 2"); 
    21032137            start += direction; 
    21042138        } 
    2105  
    2106         if ( start >= -1 && start <= text.length ) 
    2107         { 
     2139        //writefln("getLeftRight 3"); 
     2140 
     2141        if ( start >= -1 && text.length > 0 && start < text.length ) 
     2142        { 
     2143            //writefln("getLeftRight 4 %s %s ",start,text); 
    21082144             
    21092145            return direction > 0 ? text[pos..start]: text[start+1..pos]; 
    21102146        } 
     2147        //writefln("getLeftRight exit"); 
    21112148         
    21122149        return new String(); 
     
    21622199    bool userShortCuts() 
    21632200    { 
     2201        writefln("userShortCuts entry"); 
    21642202        bool processed = false; 
     2203        writefln("userShortCuts 1"); 
    21652204        int pos = codeEdit.getCurrentPos(); 
     2205        writefln("userShortCuts 2"); 
    21662206        String stringPrint = new String(); 
     2207        writefln("userShortCuts 3"); 
    21672208        String leftID = getLeftId(new String("?")); 
     2209        writefln("userShortCuts 4"); 
    21682210 
    21692211        if ( leftID.endsWith("?s") ) 
     
    22332275            } 
    22342276        } 
     2277        writefln("userShortCuts entry processed = %s", processed); 
    22352278        return processed; 
    22362279    } 
     
    23812424    } 
    23822425     
     2426     
     2427     
    23832428    /** 
    23842429     * Looks for the user defined completions and inserts on the current position 
     
    23882433    { 
    23892434        writefln("CodeView.fireAutoCompletion entry"); 
    2390         if ( userShortCuts() ) { 
     2435        if ( userShortCuts() )  
     2436        { 
     2437        writefln("CodeView.fireAutoCompletion 1"); 
    23912438            return; 
    23922439        } 
    2393         if (codeEdit.isAutoCompletionActive()) { 
     2440        writefln("CodeView.fireAutoCompletion 2"); 
     2441        if (codeEdit.isAutoCompletionActive())  
     2442        { 
     2443        writefln("CodeView.fireAutoCompletion 3"); 
    23942444            return; 
    23952445        } 
    23962446         
     2447        writefln("CodeView.fireAutoCompletion 4"); 
    23972448        String start = new String(); 
    23982449        String[] list = this.getLanguageHandler().getLookupList(start); 
    2399         if ((list.length > 0) && start.length) { // is testing for empty start a good idea? 
     2450        writefln("CodeView.fireAutoCompletion 5"); 
     2451        if ((list.length > 0) && start.length)  
     2452        { // is testing for empty start a good idea? 
    24002453            //writefln("Show auto completion?"); 
     2454            writefln("CodeView.fireAutoCompletion 6"); 
    24012455            codeEdit.showAutoCompletion(start.length, list); 
    24022456        } 
    2403          
     2457        writefln("CodeView.fireAutoCompletion exit"); 
    24042458    } 
    24052459     
     
    28292883             
    28302884            case ';': 
    2831                 writefln("editCharAdded 1"); 
     2885                debug(editCharAdded)writefln("editCharAdded 1"); 
    28322886                if ( Leds.leds.getPropValue("smartSemiColon",true) ) 
    28332887                { 
    2834                 writefln("editCharAdded 2"); 
     2888                   debug(editCharAdded)writefln("editCharAdded 2"); 
    28352889                    if ( smartSemiColonLine != codeEdit.getCurrLine() ) 
    28362890                    { 
    2837                 writefln("editCharAdded 3"); 
     2891                       debug(editCharAdded)writefln("editCharAdded 3"); 
    28382892                        smartSemiColonLine = codeEdit.getCurrLine(); 
    28392893                         
     
    28412895                        if ( ! line.endsWith(";") ) 
    28422896                        { 
    2843                 writefln("editCharAdded 4"); 
     2897                           debug(editCharAdded)writefln("editCharAdded 4"); 
    28442898                            codeEdit.deleteBack(); 
    28452899                            codeEdit.lineEnd(); 
     
    28762930    bool editKey(int ch, int modifiers) 
    28772931    { 
    2878         printf("CodeView.editKey SCN_KEY %c %d -- %X\n", ch, ch,ch ); 
     2932        debug(editKey)printf("CodeView.editKey SCN_KEY %c %d -- %X\n", ch, ch,ch ); 
    28792933        //printf("CodeView.editKey SCN_MODIFIERS %X\n", modifiers ); 
    28802934        int chConverted; 
     
    28992953    bool editMarginClick(int margin, int position) 
    29002954    { 
     2955        writefln("editMarginClick entry"); 
    29012956        switch ( margin ) 
    29022957        { 
     
    29242979    } 
    29252980  
     2981    /** 
     2982     * new for SourceView - we don't wont to mess with existing scintilla code 
     2983     */ 
     2984    bool marginClickMarkersForSourceView(int lineNumber) 
     2985    { 
     2986        lineNumber += 1; 
     2987        writefln("marginClickMarkersForSourceView entry"); 
     2988        writefln("marginClickMarkersForSourceView lineNumber = %s",lineNumber); 
     2989        foreach ( int key ; lineMarkers.keys ) 
     2990        { 
     2991            writefln("\tmarkerd line = %s", key); 
     2992        } 
     2993        if ( lineNumber in lineMarkers ) 
     2994        { 
     2995            writefln("marginClickMarkersForSourceView 1"); 
     2996            String[] errorList; 
     2997            String message = new String(); 
     2998            int[] markers = lineMarkers[lineNumber]; 
     2999            writefln("marginClickMarkersForSourceView 2"); 
     3000            if ( markers !is null ) 
     3001            { 
     3002                writefln("marginClickMarkersForSourceView 3"); 
     3003                foreach ( int m ; markers ) 
     3004                { 
     3005                    writefln("marginClickMarkersForSourceView 4"); 
     3006                    message ~= "\n" ~ errors[m]; 
     3007                    errorList ~= "   " ~ errors[m]; 
     3008                } 
     3009                if ( message.length() > 0 ) 
     3010                { 
     3011                    //codeEdit.callTipShow(codeEdit.getLinePosition(lineNumber), message); 
     3012                    (cast(SourceViewEdit)codeEdit).showErrorsList(errorList); 
     3013                } 
     3014            } 
     3015        } 
     3016        return false; 
     3017    } 
     3018  
    29263019    bool marginClickMarkers(int position) 
    29273020    { 
     3021        writefln("marginClickMarkers entry"); 
    29283022        int lineNumber = codeEdit.lineFromPosition(position); 
     3023        writefln("marginClickMarkers lineNumber = %s", lineNumber); 
    29293024  
    29303025        bool found = false; 
     
    29353030        { 
    29363031            int markerLine = codeEdit.markerLineFromHandle(keys[i]); 
     3032            writefln("\tmarkerLine = %s", markerLine); 
    29373033            found = lineNumber == markerLine; 
    29383034            if ( !found) i++; 
     
    29433039            { 
    29443040//              workspace.getSystemConsole().append(errors[keys[i]]~"\n"); 
     3041                writefln("marginClickMarkers popup %s", errors[keys[i]]); 
    29453042                codeEdit.callTipShow(position, errors[keys[i]]); 
    29463043            } 
     
    29923089    { 
    29933090        printf("seems this never gets called============================================\n"); 
    2994         printf("%d %d CodeView.codeEditCallback.UserListSelection\n", ch, code); 
     3091        printf("%d %d CodeView.codeEditCallback.editUserListSelection\n", ch, code); 
    29953092        return false; 
    29963093    } 
     
    30563153                } 
    30573154                break; 
    3058                  
     3155             
     3156//          case CodeCommend.GOTO_LINE: 
     3157//              break; 
     3158             
    30593159            default: 
    30603160                processed = false; 
  • trunk/src/leds/GotoLineDialog.d

    r230 r270  
    2626private import gtk.Window; 
    2727private import gtk.SpinButton; 
     28private import gtk.Entry; 
    2829private import gtk.Label; 
    2930private import gtk.TreeView; 
     
    4546    private:     
    4647    SpinButton spin; 
    47      
     48    Button gotoButton; 
    4849    /** the workspace here this dialog belongs */ 
    4950    Workspace workspace; 
     
    7879        this.maxLines = maxLines; 
    7980        spin.setAdjustment(new Adjustment(spin.getValue(), 1, maxLines, 1, 10, 10)); 
     81        spin.grabFocus(); 
     82        spin.selectRegion(0, 20); 
    8083        rangeLabel.setText("goto line [1,"~Str.toString(maxLines)~"]"); 
    8184        show(); 
     
    136139         
    137140        spin = new SpinButton(new Adjustment(1, 1, maxLines, 1, 10, 10),1,0); 
    138          
     141        //spin.addOnActivate(dlg, connectFlags); 
     142        spin.addOnActivate(&gotoLineOK); 
     143        spin.selectRegion(0, 20); 
     144 
    139145        rangeLabel = new Label("goto line [1,"~Str.toString(maxLines)~"]"); 
    140146         
     
    144150        Table table = new Table(1,2,true); 
    145151         
    146         Button button = new Button("_Goto", &gotoLineOK); 
    147         table.attach(button,0,1,0,1,AttachOptions.EXPAND,AttachOptions.EXPAND,2,2); 
     152        gotoButton = new Button("_Goto", &gotoLineOK); 
     153        table.attach(gotoButton,0,1,0,1,AttachOptions.EXPAND,AttachOptions.EXPAND,2,2); 
    148154 
    149         button = new Button("_Cancel",&gotoLineCancel); 
     155        Button button = new Button("_Cancel",&gotoLineCancel); 
    150156        table.attach(button,1,2,0,1,AttachOptions.EXPAND,AttachOptions.EXPAND,2,2); 
    151157 
     
    159165        hide(); 
    160166    } 
     167 
     168    void gotoLineOK(Entry entry) 
     169    { 
     170        hide(); 
     171        gotoButton.grabFocus(); 
     172        workspace.gotoLine(spin.getValueAsInt); 
     173    } 
    161174     
    162175    void gotoLineOK(Button button) 
  • trunk/src/leds/LanguageD.d

    r264 r270  
    572572            phobos.replace("/", "\\"); 
    573573        } 
     574         
     575        writefln("phobos is not: %s", phobos); 
     576         
    574577        if (phobos.length == 0 || !Path.exists(phobos)) 
    575578        { 
  • trunk/src/leds/Leds.d

    r266 r270  
    2121 
    2222//debug=startup; 
    23  
    2423 
    2524version(linux) private import std.c.linux.linux; 
     
    844843    return leds.exitCode; 
    845844} 
     845 
     846public static void mainThreads() 
     847{ 
     848    gdkThreadsEnter(); 
     849    GtkD.main(); 
     850    gdkThreadsLeave(); 
     851} 
  • trunk/src/leds/ProjectTarget.d

    r251 r270  
    416416                    case "versionTags": 
    417417                        target.versionTags ~= getWords(tokens); 
    418                         printf("ProjectTarget.setTargets versionTags %.*s \n", String.join(target.versionTags,"<+>").toString()); 
     418                        //printf("ProjectTarget.setTargets versionTags %.*s \n", String.join(target.versionTags,"<+>").toString()); 
    419419                        break; 
    420420                         
  • trunk/src/leds/Scintilla.d

    r269 r270  
    25082508    } 
    25092509     
     2510    int getLineAtY(int y) 
     2511    { 
     2512        // TODO 
     2513        return 0; 
     2514    } 
     2515     
    25102516    int markerLineFromHandle(int key) 
    25112517    { 
  • trunk/src/leds/SimpleCodeEdit.d

    r265 r270  
    2626private import gdk.Event; 
    2727private import leds.CodeEdit; 
     28 
     29private import gtk.Window; 
     30private import gtk.Label; 
     31 
    2832 
    2933private import std.stdio; 
     
    741745    } 
    742746     
     747    int getLineAtY(int y) 
     748    { 
     749        int lineTop; 
     750        view.getLineAtY(iter, y, &lineTop); 
     751        return lineTop; 
     752    } 
     753     
     754 
     755     
    743756    int markerLineFromHandle(int key) 
    744757    { 
     
    756769    void callTipShow(int position, String message) 
    757770    { 
     771        Window window = new Window(""); 
     772        window.add(new Label(message.toString())); 
     773        window.showAll(); 
    758774    } 
    759775     
  • trunk/src/leds/SourceViewEdit.d

    r269 r270  
    2525//{; 
    2626 
     27 
    2728private import leds.CodeEdit; 
    2829 
     
    3334private import gsv.SourceView; 
    3435private import gsv.SourceBuffer; 
    35 private import gsv.SourceMarker
     36private import gsv.SourceMark
    3637private import gsv.SourceLanguage; 
    37 private import gsv.SourceLanguagesManager; 
     38private import gsv.SourceLanguageManager; 
    3839 
    3940private import gsvc.gsvtypes; 
     
    4546private import gtk.TextIter; 
    4647     
     48private import gtk.Window; 
     49private import gtk.Label; 
     50 
     51 
    4752 
    4853private import dool.String; 
     
    5964private import gtk.Widget; 
    6065 
    61 private import gsv.SourceLanguage; 
    62 private import gsv.SourceLanguagesManager; 
    6366private import glib.ListSG; 
    6467 
     
    6770 
    6871private import glib.ListSG; 
     72private import glib.Str; 
    6973 
    7074/** 
     
    8993    static void loadLanguages() 
    9094    { 
    91         SourceLanguagesManager slm = new SourceLanguagesManager(); 
    92         ListSG list = slm.getAvailableLanguages(); 
     95        SourceLanguageManager slm = new SourceLanguageManager(); 
     96        char[][] ids = Str.toStringArray(slm.getLanguageIds()); 
    9397         
    9498        //writefln("%s available languages", list.length()); 
    9599         
    96          
    97         for(int i=0 ; i<list.length() ; i++ ) 
    98         { 
    99             SourceLanguage sl = new SourceLanguage(cast(GtkSourceLanguage*)list.nthData(i)); 
    100             char[] name = sl.gtkSourceLanguageGetName(); 
    101             if ( "D" == name ) 
    102             { 
    103                 dLang = sl; 
    104             } 
    105             //writefln("\t[%s] %s", i, name); 
    106         } 
    107  
     100//      foreach ( char[] id ; ids ) 
     101//      { 
     102//          writefln("id = %s", id); 
     103//      } 
     104         
     105        dLang = new SourceLanguage(slm.getLanguage("d")); 
    108106         
    109107    } 
     
    126124            debug(flow)writefln("Setting language to D"); 
    127125            buffer.setLanguage(dLang); 
    128             buffer.setHighlight(true); 
     126            buffer.setHighlightSyntax(true); 
    129127        } 
    130128         
    131129        view.setAutoIndent(true); 
    132         view.setShowLineMarkers(true); 
     130        view.setShowLineMarks(true); 
    133131        view.setHighlightCurrentLine(true); 
    134         view.setSmartHomeEnd(true); 
    135         buffer.setCheckBrackets(true); 
    136          
    137         view.setTabsWidth(4); 
     132        view.setSmartHomeEnd(SourceSmartHomeEndType.AFTER); 
     133        buffer.setHighlightMatchingBrackets(true); 
     134         
     135        view.setTabWidth(4); 
    138136         
    139137        debug(flow)writefln("sourceViewEdit.this exit"); 
    140138         
    141         Pixbuf pixbuf = new Pixbuf(Pixmaps.closeInactive_xpm); 
    142         view.setMarkerPixbuf("test", pixbuf.getPixbufStruct()); 
     139        //Pixbuf pixbuf = new Pixbuf(Pixmaps.closeInactive_xpm); 
     140        Pixbuf pixbuf = new Pixbuf(Pixmaps.red_xpm); 
     141        view.setMarkCategoryPixbuf("test", pixbuf.getPixbufStruct()); 
    143142         
    144143    } 
     
    604603        buffer.getStartIter(iter); 
    605604        buffer.getEndIter(iter1); 
    606         ListSG list = buffer.getMarkersInRegion(iter, iter1); 
    607         if ( list !is null ) 
    608         { 
    609             for ( int i = 0 ; i < list.length() ; i++) 
    610             { 
    611                 printf("Delete marker %d, %X\n", i, list.nthData(i)); 
    612                 buffer.deleteMarker(new SourceMarker(cast(GtkSourceMarker*)list.nthData(i))); 
    613             } 
    614         } 
    615          
     605        //writefln("markerDeleteAll"); 
     606        buffer.removeSourceMarks(iter, iter1, null); 
    616607    } 
    617608     
     
    623614    { 
    624615        buffer.getIterAtLine(iter, lineNumber); 
    625         SourceMarker sm = buffer.createMarker("test", "test", iter); 
     616        SourceMark sm = buffer.createSourceMark(null, "test", iter); 
    626617        return cast(int) cast(void*)sm; 
    627618        //return -1; 
     
    643634    int getTabWidth() 
    644635    { 
    645         return view.getTabsWidth(); 
     636        return view.getTabWidth(); 
    646637    } 
    647638     
     
    658649    int getLinePosition(int lineNumber) 
    659650    { 
    660         return -1; 
     651        iter.setLine(lineNumber); 
     652        return iter.getOffset(); 
    661653    } 
    662654     
     
    740732    void gotoLine(int lineNumber, bool useAlign=false) 
    741733    { 
    742         writefln("SourceViewEdit.gotoLine 1"); 
     734        //writefln("SourceViewEdit.gotoLine 1"); 
    743735        insertIter();   // make sure we have a valid iter 
    744736        iter.setLine(lineNumber); 
    745         writefln("SourceViewEdit.gotoLine 2"); 
     737        //writefln("SourceViewEdit.gotoLine 2"); 
    746738        buffer.placeCursor(iter); 
    747         writefln("SourceViewEdit.gotoLine 3"); 
     739