- Timestamp:
- 03/15/08 18:21:19 (9 months ago)
- Files:
-
- trunk/src/language/d/CodeBlock.d (modified) (3 diffs)
- trunk/src/leds/CodeEdit.d (modified) (1 diff)
- trunk/src/leds/CodeView.d (modified) (50 diffs)
- trunk/src/leds/GotoLineDialog.d (modified) (6 diffs)
- trunk/src/leds/LanguageD.d (modified) (1 diff)
- trunk/src/leds/Leds.d (modified) (2 diffs)
- trunk/src/leds/ProjectTarget.d (modified) (1 diff)
- trunk/src/leds/Scintilla.d (modified) (1 diff)
- trunk/src/leds/SimpleCodeEdit.d (modified) (3 diffs)
- trunk/src/leds/SourceViewEdit.d (modified) (19 diffs)
- trunk/src/leds/SystemConsole.d (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/src/language/d/CodeBlock.d
r242 r270 2 2 3 3 //debug=messages; 4 debug=typeElement; 4 5 5 6 import language.d.Element; … … 132 133 debug(messages)writefln("getAutoCompleteList:: foreach on %d elements", elements.length); 133 134 foreach (e;elements) { 134 writefln("testing %s", e.classinfo.name);135 debug(messages)writefln("testing %s", e.classinfo.name); 135 136 if (cast(Definition)e) { 136 137 //debug(messages)writefln("testing %s against %s", start,(cast(Definition)e).name); … … 355 356 { 356 357 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); 358 359 if (std.string.find(match,'[') > -1) { 359 360 return new BaseType(this,match); trunk/src/leds/CodeEdit.d
r265 r270 314 314 315 315 int lineFromPosition(int position); 316 317 int getLineAtY(int y); 316 318 317 319 int markerLineFromHandle(int key); trunk/src/leds/CodeView.d
r267 r270 20 20 * Code folding by Alan Knowles 21 21 */ 22 22 23 23 module leds.CodeView; 24 24 … … 27 27 //debug=autoComments; 28 28 //debug=flow; 29 //debug=getFileMTime; 30 //debug=elements; 31 debug=editKey; 32 //debug=editCharAdded; 29 33 30 34 private: 31 35 32 36 private import leds.FileView; 33 //////// 37 34 38 private import leds.CodeEdit; 35 39 … … 72 76 import parser.FormatD; 73 77 */ 78 79 private import leds.SourceViewEdit; 80 74 81 75 82 import leds.SystemConsole; … … 106 113 private import language.d.Directory; 107 114 private import language.d.CodeBlock; 108 115 109 116 110 117 /** … … 153 160 CodeEdit codeEdit; 154 161 155 String[int] errors; 162 String[int] errors; /// error from the markerHandle 156 163 157 164 bool autoIndent = true; … … 175 182 176 183 String braceCharacters; 184 185 int[][int] lineMarkers; /// makers from the line 186 177 187 178 188 public: … … 191 201 braceCharacters = new String("()[]{}"); 192 202 super(workspace, fileName); 193 writefln("calling getFileMTime 1");203 debug(getFileMTime)writefln("calling getFileMTime 1"); 194 204 modifiedTime = getFileMTime(this.fileName); 195 writefln("calling getFileMTime 1");205 debug(getFileMTime)writefln("calling getFileMTime 1"); 196 206 this.project = project; 197 207 … … 216 226 codeEdit.setPopupMenu(popupMenu); 217 227 //codeEdit.addOnExpose(&exposeCallback); 218 writefln("CodeView.this exit");228 debug(flow)writefln("CodeView.this exit"); 219 229 } 220 230 … … 265 275 } 266 276 return language; 277 267 278 } 268 279 … … 343 354 reloadFile(false); 344 355 } 345 writefln("calling getFileMTime 2");356 debug(getFileMTime)writefln("calling getFileMTime 2"); 346 357 modifiedTime = getFileMTime(fileName); 347 writefln("calling getFileMTime 2");358 debug(getFileMTime)writefln("calling getFileMTime 2"); 348 359 asking = false; 349 360 } … … 487 498 { 488 499 reloadFile(false); 489 writefln("calling getFileMTime 3");500 debug(getFileMTime)writefln("calling getFileMTime 3"); 490 501 modifiedTime = getFileMTime(fileName); 491 writefln("calling getFileMTime 3");502 debug(getFileMTime)writefln("calling getFileMTime 3"); 492 503 } 493 504 } … … 516 527 else 517 528 { 518 writefln("calling getFileMTime 4");529 debug(getFileMTime)writefln("calling getFileMTime 4"); 519 530 modifiedTime = getFileMTime(fileName); 520 writefln("calling getFileMTime 4");531 debug(getFileMTime)writefln("calling getFileMTime 4"); 521 532 } 522 533 } … … 547 558 { 548 559 input = new String(cast(char[])FileBuffer.read(fileName)); 549 writefln("calling getFileMTime 5");560 debug(getFileMTime)writefln("calling getFileMTime 5"); 550 561 modifiedTime = getFileMTime(fileName); 551 writefln("calling getFileMTime 5");562 debug(getFileMTime)writefln("calling getFileMTime 5"); 552 563 } 553 564 catch ( Exception e) … … 582 593 { 583 594 bool needReload = false; 584 writefln("calling getFileMTime 6");595 debug(getFileMTime)writefln("calling getFileMTime 6"); 585 596 if ( modifiedTime != getFileMTime(fileName) ) 586 597 { 587 writefln("calling getFileMTime 6");598 debug(getFileMTime)writefln("calling getFileMTime 6.1"); 588 599 needReload = PopupBox.yesNo(workspace, 589 600 "\""~fileName.toString()~"\"\nwas modified outsize leds!\nReload?", … … 592 603 saveFile(fileName); 593 604 } 594 writefln("calling getFileMTime 6");605 debug(getFileMTime)writefln("calling getFileMTime 6.2"); 595 606 return needReload; 596 607 } … … 605 616 { 606 617 bool okToModify = true; 607 writefln("calling getFileMTime 7");618 debug(getFileMTime)writefln("calling getFileMTime 7"); 608 619 if ( modifiedTime != getFileMTime(fileName) ) 609 620 { 610 writefln("calling getFileMTime 7");621 debug(getFileMTime)writefln("calling getFileMTime 7"); 611 622 okToModify = PopupBox.yesNo(workspace, 612 623 "\""~fileName.toString() … … 614 625 "leds - Light Editor for D"); 615 626 } 616 writefln("calling getFileMTime 7");627 debug(getFileMTime)writefln("calling getFileMTime 7"); 617 628 return okToModify; 618 629 } … … 805 816 FileBuffer.write(fileName,cast(byte[])buf.toBytes()); 806 817 debug(saveFile)writefln("CodeView.saveField 2 written to file"); 807 writefln("calling getFileMTime 8");818 debug(getFileMTime)writefln("calling getFileMTime 8"); 808 819 modifiedTime = getFileMTime(fileName); 809 writefln("calling getFileMTime 8");820 debug(getFileMTime)writefln("calling getFileMTime 8"); 810 821 codeEdit.setSavePoint(); 811 822 debug(saveFile)writefln("CodeView.saveField 3"); … … 903 914 errorLines.length = 0; 904 915 errors = null; 916 lineMarkers = null; 905 917 if ( project !is null ) 906 918 { … … 976 988 errors[markHandle] = message; 977 989 errorLines ~= lineNumber; 990 int[] markers; 991 if ( lineNumber in lineMarkers ) 992 { 993 markers = lineMarkers[lineNumber]; 994 } 995 markers ~= markHandle; 996 lineMarkers[lineNumber] = markers; 978 997 //workspace.restoreBottomPane(); 979 998 } … … 1381 1400 body 1382 1401 { 1383 writefln("gotoElement 1");1402 debug(elements)writefln("gotoElement 1"); 1384 1403 if ( elementName is null || elementName.length == 0 ) 1385 1404 { 1386 writefln("gotoElement 2");1405 debug(elements)writefln("gotoElement 2"); 1387 1406 return false; 1388 1407 } 1389 writefln("gotoElement 3");1408 debug(elements)writefln("gotoElement 3"); 1390 1409 Language lang = this.getLanguageHandler(); 1391 writefln("gotoElement 4");1410 debug(elements)writefln("gotoElement 4"); 1392 1411 1393 1412 String[] fileandNum = lang.getElementLocation(elementName, lineNumber); 1394 writefln("gotoElement 5");1413 debug(elements)writefln("gotoElement 5"); 1395 1414 if (!fileandNum.length) 1396 1415 { 1397 writefln("gotoElement 6");1416 debug(elements)writefln("gotoElement 6"); 1398 1417 return false; 1399 1418 } 1400 writefln("gotoElement 7");1419 debug(elements)writefln("gotoElement 7"); 1401 1420 std.stdio.writefln("goto: " ~ fileandNum[0] ~ " :: " ~ fileandNum[1]); 1402 1421 int toLine = atoi(fileandNum[1].toString().ptr); 1403 1422 1404 writefln("gotoElement 8");1423 debug(elements)writefln("gotoElement 8"); 1405 1424 CodeView cv = cast(CodeView)workspace.openFile(fileandNum[0]); 1406 1425 if ( cv is null) 1407 1426 { 1408 writefln("gotoElement 9");1427 debug(elements)writefln("gotoElement 9"); 1409 1428 return false; 1410 1429 } 1411 1430 cv.gotoLine(toLine+1); 1412 writefln("gotoElement 10");1431 debug(elements)writefln("gotoElement 10"); 1413 1432 return true; 1414 1433 … … 1589 1608 int mouseButtonPress(GdkEventButton * eventButton, Widget widget) 1590 1609 { 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 1593 1624 if (eventButton.button != 1) 1594 1625 { … … 1624 1655 void openModule(MenuItem item) 1625 1656 { 1626 writefln("openModule 0.0");1657 debug(elements)writefln("openModule 0.0"); 1627 1658 String token = codeEdit.getSelected(); 1628 1659 if ( token.length == 0 ) … … 1632 1663 } 1633 1664 1634 writefln("openModule 0.1");1665 debug(elements)writefln("openModule 0.1"); 1635 1666 String[] fileandNum = getLanguageHandler().getElementLocation( 1636 1667 token, codeEdit.getCurrLine()); … … 1642 1673 CodeBlock container = sourceModule.getContainerForLine(getLineNumber()); 1643 1674 1644 writefln("openModule 0.2");1675 debug(elements)writefln("openModule 0.2"); 1645 1676 if (!container) 1646 1677 { 1647 1678 popupTip("no container found?"); 1648 writefln("openModule 0.3");1679 debug(elements)writefln("openModule 0.3"); 1649 1680 return; 1650 1681 } … … 1652 1683 String[] bits = token.split("."); 1653 1684 1654 writefln("openModule 0.4");1685 debug(elements)writefln("openModule 0.4"); 1655 1686 if (bits.length < 2) 1656 1687 { 1657 writefln("openModule 0.5");1688 debug(elements)writefln("openModule 0.5"); 1658 1689 // simple single entity. 1659 1690 Element[] types; … … 1661 1692 if (types.length > 0 ) 1662 1693 { 1663 writefln("openModule 0.6");1694 debug(elements)writefln("openModule 0.6"); 1664 1695 popupTip(types[0].getHelp()); 1665 1696 // char[] str = ""; … … 1673 1704 else 1674 1705 { 1675 writefln("openModule 0.7");1706 debug(elements)writefln("openModule 0.7"); 1676 1707 popupTip("no types found"); 1677 1708 } … … 1680 1711 else 1681 1712 { 1682 writefln("openModule 1");1713 debug(elements)writefln("openModule 1"); 1683 1714 Element lookupwith = null; 1684 1715 1685 1716 for(int i=0;i< bits.length-1; i++) 1686 1717 { 1687 writefln("openModule 2");1718 debug(elements)writefln("openModule 2"); 1688 1719 Element type = null; 1689 1720 if (!lookupwith) … … 1699 1730 { 1700 1731 debug(messages)writefln("cant find defintion of item named %s" , bits[i]); 1701 writefln("openModule 3");1732 debug(elements)writefln("openModule 3"); 1702 1733 return; 1703 1734 } … … 1710 1741 { 1711 1742 debug(messages)writefln("cant find defintion of type %s" , type.returnType); 1712 writefln("openModule 4");1743 debug(elements)writefln("openModule 4"); 1713 1744 return; 1714 1745 } … … 1721 1752 //debug(messages)writefln("got %d elements", list.length); 1722 1753 1723 writefln("openModule 5");1754 debug(elements)writefln("openModule 5"); 1724 1755 if ( !token.length || !cast(CodeBlock)lookupwith ) 1725 1756 { … … 1732 1763 //codeview.getWorkspace().getSystemConsole.print(de.getHelp()); 1733 1764 } 1734 writefln("openModule 6");1765 debug(elements)writefln("openModule 6"); 1735 1766 return; 1736 1767 } 1737 writefln("openModule 7");1768 debug(elements)writefln("openModule 7"); 1738 1769 return; 1739 1770 } … … 1743 1774 // last item was a '.' 1744 1775 1745 writefln("openModule 8");1776 debug(elements)writefln("openModule 8"); 1746 1777 if ( types ) 1747 1778 { 1748 writefln("openModule 9");1779 debug(elements)writefln("openModule 9"); 1749 1780 char[] str = ""; 1750 1781 foreach( type ; types ) … … 1761 1792 if ( fileandNum.length == 0) 1762 1793 { 1763 writefln("openModule 5");1794 debug(elements)writefln("openModule 5"); 1764 1795 return false; 1765 1796 } … … 2086 2117 public String getLeftRight(String text, int pos, int direction, String extraChars=null) 2087 2118 { 2119 //writefln("getLeftRight entry"); 2088 2120 String id; 2089 2121 int start = pos + ((direction <0) ? - 1 : 0); 2090 2122 char c = '\0'; 2123 //writefln("getLeftRight 1"); 2091 2124 2092 2125 while ( … … 2101 2134 ) 2102 2135 { 2136 //writefln("getLeftRight 2"); 2103 2137 start += direction; 2104 2138 } 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); 2108 2144 2109 2145 return direction > 0 ? text[pos..start]: text[start+1..pos]; 2110 2146 } 2147 //writefln("getLeftRight exit"); 2111 2148 2112 2149 return new String(); … … 2162 2199 bool userShortCuts() 2163 2200 { 2201 writefln("userShortCuts entry"); 2164 2202 bool processed = false; 2203 writefln("userShortCuts 1"); 2165 2204 int pos = codeEdit.getCurrentPos(); 2205 writefln("userShortCuts 2"); 2166 2206 String stringPrint = new String(); 2207 writefln("userShortCuts 3"); 2167 2208 String leftID = getLeftId(new String("?")); 2209 writefln("userShortCuts 4"); 2168 2210 2169 2211 if ( leftID.endsWith("?s") ) … … 2233 2275 } 2234 2276 } 2277 writefln("userShortCuts entry processed = %s", processed); 2235 2278 return processed; 2236 2279 } … … 2381 2424 } 2382 2425 2426 2427 2383 2428 /** 2384 2429 * Looks for the user defined completions and inserts on the current position … … 2388 2433 { 2389 2434 writefln("CodeView.fireAutoCompletion entry"); 2390 if ( userShortCuts() ) { 2435 if ( userShortCuts() ) 2436 { 2437 writefln("CodeView.fireAutoCompletion 1"); 2391 2438 return; 2392 2439 } 2393 if (codeEdit.isAutoCompletionActive()) { 2440 writefln("CodeView.fireAutoCompletion 2"); 2441 if (codeEdit.isAutoCompletionActive()) 2442 { 2443 writefln("CodeView.fireAutoCompletion 3"); 2394 2444 return; 2395 2445 } 2396 2446 2447 writefln("CodeView.fireAutoCompletion 4"); 2397 2448 String start = new String(); 2398 2449 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? 2400 2453 //writefln("Show auto completion?"); 2454 writefln("CodeView.fireAutoCompletion 6"); 2401 2455 codeEdit.showAutoCompletion(start.length, list); 2402 2456 } 2403 2457 writefln("CodeView.fireAutoCompletion exit"); 2404 2458 } 2405 2459 … … 2829 2883 2830 2884 case ';': 2831 writefln("editCharAdded 1");2885 debug(editCharAdded)writefln("editCharAdded 1"); 2832 2886 if ( Leds.leds.getPropValue("smartSemiColon",true) ) 2833 2887 { 2834 writefln("editCharAdded 2");2888 debug(editCharAdded)writefln("editCharAdded 2"); 2835 2889 if ( smartSemiColonLine != codeEdit.getCurrLine() ) 2836 2890 { 2837 writefln("editCharAdded 3");2891 debug(editCharAdded)writefln("editCharAdded 3"); 2838 2892 smartSemiColonLine = codeEdit.getCurrLine(); 2839 2893 … … 2841 2895 if ( ! line.endsWith(";") ) 2842 2896 { 2843 writefln("editCharAdded 4");2897 debug(editCharAdded)writefln("editCharAdded 4"); 2844 2898 codeEdit.deleteBack(); 2845 2899 codeEdit.lineEnd(); … … 2876 2930 bool editKey(int ch, int modifiers) 2877 2931 { 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 ); 2879 2933 //printf("CodeView.editKey SCN_MODIFIERS %X\n", modifiers ); 2880 2934 int chConverted; … … 2899 2953 bool editMarginClick(int margin, int position) 2900 2954 { 2955 writefln("editMarginClick entry"); 2901 2956 switch ( margin ) 2902 2957 { … … 2924 2979 } 2925 2980 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 2926 3019 bool marginClickMarkers(int position) 2927 3020 { 3021 writefln("marginClickMarkers entry"); 2928 3022 int lineNumber = codeEdit.lineFromPosition(position); 3023 writefln("marginClickMarkers lineNumber = %s", lineNumber); 2929 3024 2930 3025 bool found = false; … … 2935 3030 { 2936 3031 int markerLine = codeEdit.markerLineFromHandle(keys[i]); 3032 writefln("\tmarkerLine = %s", markerLine); 2937 3033 found = lineNumber == markerLine; 2938 3034 if ( !found) i++; … … 2943 3039 { 2944 3040 // workspace.getSystemConsole().append(errors[keys[i]]~"\n"); 3041 writefln("marginClickMarkers popup %s", errors[keys[i]]); 2945 3042 codeEdit.callTipShow(position, errors[keys[i]]); 2946 3043 } … … 2992 3089 { 2993 3090 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); 2995 3092 return false; 2996 3093 } … … 3056 3153 } 3057 3154 break; 3058 3155 3156 // case CodeCommend.GOTO_LINE: 3157 // break; 3158 3059 3159 default: 3060 3160 processed = false; trunk/src/leds/GotoLineDialog.d
r230 r270 26 26 private import gtk.Window; 27 27 private import gtk.SpinButton; 28 private import gtk.Entry; 28 29 private import gtk.Label; 29 30 private import gtk.TreeView; … … 45 46 private: 46 47 SpinButton spin; 47 48 Button gotoButton; 48 49 /** the workspace here this dialog belongs */ 49 50 Workspace workspace; … … 78 79 this.maxLines = maxLines; 79 80 spin.setAdjustment(new Adjustment(spin.getValue(), 1, maxLines, 1, 10, 10)); 81 spin.grabFocus(); 82 spin.selectRegion(0, 20); 80 83 rangeLabel.setText("goto line [1,"~Str.toString(maxLines)~"]"); 81 84 show(); … … 136 139 137 140 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 139 145 rangeLabel = new Label("goto line [1,"~Str.toString(maxLines)~"]"); 140 146 … … 144 150 Table table = new Table(1,2,true); 145 151 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); 148 154 149 button = new Button("_Cancel",&gotoLineCancel);155 Button button = new Button("_Cancel",&gotoLineCancel); 150 156 table.attach(button,1,2,0,1,AttachOptions.EXPAND,AttachOptions.EXPAND,2,2); 151 157 … … 159 165 hide(); 160 166 } 167 168 void gotoLineOK(Entry entry) 169 { 170 hide(); 171 gotoButton.grabFocus(); 172 workspace.gotoLine(spin.getValueAsInt); 173 } 161 174 162 175 void gotoLineOK(Button button) trunk/src/leds/LanguageD.d
r264 r270 572 572 phobos.replace("/", "\\"); 573 573 } 574 575 writefln("phobos is not: %s", phobos); 576 574 577 if (phobos.length == 0 || !Path.exists(phobos)) 575 578 { trunk/src/leds/Leds.d
r266 r270 21 21 22 22 //debug=startup; 23 24 23 25 24 version(linux) private import std.c.linux.linux; … … 844 843 return leds.exitCode; 845 844 } 845 846 public static void mainThreads() 847 { 848 gdkThreadsEnter(); 849 GtkD.main(); 850 gdkThreadsLeave(); 851 } trunk/src/leds/ProjectTarget.d
r251 r270 416 416 case "versionTags": 417 417 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()); 419 419 break; 420 420 trunk/src/leds/Scintilla.d
r269 r270 2508 2508 } 2509 2509 2510 int getLineAtY(int y) 2511 { 2512 // TODO 2513 return 0; 2514 } 2515 2510 2516 int markerLineFromHandle(int key) 2511 2517 { trunk/src/leds/SimpleCodeEdit.d
r265 r270 26 26 private import gdk.Event; 27 27 private import leds.CodeEdit; 28 29 private import gtk.Window; 30 private import gtk.Label; 31 28 32 29 33 private import std.stdio; … … 741 745 } 742 746 747 int getLineAtY(int y) 748 { 749 int lineTop; 750 view.getLineAtY(iter, y, &lineTop); 751 return lineTop; 752 } 753 754 755 743 756 int markerLineFromHandle(int key) 744 757 { … … 756 769 void callTipShow(int position, String message) 757 770 { 771 Window window = new Window(""); 772 window.add(new Label(message.toString())); 773 window.showAll(); 758 774 } 759 775 trunk/src/leds/SourceViewEdit.d
r269 r270 25 25 //{; 26 26 27 27 28 private import leds.CodeEdit; 28 29 … … 33 34 private import gsv.SourceView; 34 35 private import gsv.SourceBuffer; 35 private import gsv.SourceMark er;36 private import gsv.SourceMark; 36 37 private import gsv.SourceLanguage; 37 private import gsv.SourceLanguage sManager;38 private import gsv.SourceLanguageManager; 38 39 39 40 private import gsvc.gsvtypes; … … 45 46 private import gtk.TextIter; 46 47 48 private import gtk.Window; 49 private import gtk.Label; 50 51 47 52 48 53 private import dool.String; … … 59 64 private import gtk.Widget; 60 65 61 private import gsv.SourceLanguage;62 private import gsv.SourceLanguagesManager;63 66 private import glib.ListSG; 64 67 … … 67 70 68 71 private import glib.ListSG; 72 private import glib.Str; 69 73 70 74 /** … … 89 93 static void loadLanguages() 90 94 { 91 SourceLanguage sManager slm = new SourceLanguagesManager();92 ListSG list = slm.getAvailableLanguages();95 SourceLanguageManager slm = new SourceLanguageManager(); 96 char[][] ids = Str.toStringArray(slm.getLanguageIds()); 93 97 94 98 //writefln("%s available languages", list.length()); 95 99 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")); 108 106 109 107 } … … 126 124 debug(flow)writefln("Setting language to D"); 127 125 buffer.setLanguage(dLang); 128 buffer.setHighlight (true);126 buffer.setHighlightSyntax(true); 129 127 } 130 128 131 129 view.setAutoIndent(true); 132 view.setShowLineMark ers(true);130 view.setShowLineMarks(true); 133 131 view.setHighlightCurrentLine(true); 134 view.setSmartHomeEnd( true);135 buffer.set CheckBrackets(true);136 137 view.setTab sWidth(4);132 view.setSmartHomeEnd(SourceSmartHomeEndType.AFTER); 133 buffer.setHighlightMatchingBrackets(true); 134 135 view.setTabWidth(4); 138 136 139 137 debug(flow)writefln("sourceViewEdit.this exit"); 140 138 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()); 143 142 144 143 } … … 604 603 buffer.getStartIter(iter); 605 604 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); 616 607 } 617 608 … … 623 614 { 624 615 buffer.getIterAtLine(iter, lineNumber); 625 SourceMark er sm = buffer.createMarker("test", "test", iter);616 SourceMark sm = buffer.createSourceMark(null, "test", iter); 626 617 return cast(int) cast(void*)sm; 627 618 //return -1; … … 643 634 int getTabWidth() 644 635 { 645 return view.getTab sWidth();636 return view.getTabWidth(); 646 637 } 647 638 … … 658 649 int getLinePosition(int lineNumber) 659 650 { 660 return -1; 651 iter.setLine(lineNumber); 652 return iter.getOffset(); 661 653 } 662 654 … … 740 732 void gotoLine(int lineNumber, bool useAlign=false) 741 733 { 742 writefln("SourceViewEdit.gotoLine 1");734 //writefln("SourceViewEdit.gotoLine 1"); 743 735 insertIter(); // make sure we have a valid iter 744 736 iter.setLine(lineNumber); 745 writefln("SourceViewEdit.gotoLine 2");737 //writefln("SourceViewEdit.gotoLine 2"); 746 738 buffer.placeCursor(iter); 747 writefln("SourceViewEdit.gotoLine 3");739
