Changeset 264

Show
Ignore:
Timestamp:
10/12/07 23:36:41 (1 year ago)
Author:
Ant
Message:

independence from editor component(scintilla or other)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/leds/BrowserView.d

    r253 r264  
    606606                    //if ( window.getWidth()+cellX+4 > treeView.getWidth() ) 
    607607                    { 
    608                         window.show(); 
     608                        window.showAll(); 
    609609                        window.move(event.xRoot-cellX + 4, event.yRoot-cellY + 3); 
    610610                    } 
  • trunk/src/leds/CodeEdit.d

    r253 r264  
    2424     
    2525private import dool.String; 
     26 
     27private import leds.Scintilla;  // TODO to be removed transition for Scintilla independence 
     28 
    2629     
    2730public: 
     
    4346public interface CodeEdit 
    4447{ 
     48 
     49    public: 
     50    static final int MARK_SHORTARROW = leds.Scintilla.SC_MARK_SHORTARROW; 
     51     
     52      
    4553    public: 
    4654    //void addCodeEditListener(CodeEditListener listener); 
  • trunk/src/leds/CodeView.d

    r258 r264  
    2828 
    2929private import leds.FileView; 
    30    
     30////////   
    3131private import leds.CodeEdit; 
    3232     
     
    5353import leds.Workspace;  
    5454import leds.BrowserView;  
    55 import leds.SimpleCodeEdit;  
    5655 
    5756import leds.Language;  
     
    7776import leds.WrapGtk; 
    7877 
    79 import leds.Scintilla; 
    80 import leds.SimpleCodeEdit; 
    81 version(SourceView) import leds.SourceViewEdit; 
     78private import leds.CodeEditFactory; 
     79 
    8280private import gtk.Widget; 
    8381private import gtk.Menu; 
     
    199197        this.project = project; 
    200198     
    201         version(Win32) 
    202         { 
    203             codeEdit = new Scintilla(); 
    204     //      codeEdit = new SimpleCodeEdit(); 
    205         } 
    206         else 
    207         { 
    208             if ( Leds.leds.editorType == "internal" ) 
    209             { 
    210                 codeEdit = new SimpleCodeEdit(); 
    211             } 
    212             else if ( Leds.leds.editorType == "textView" ) 
    213             { 
    214                 codeEdit = new SimpleCodeEdit(); 
    215             } 
    216             else if ( Leds.leds.editorType == "sv" ) 
    217             { 
    218                  
    219                 version(SourceView) codeEdit = new SourceViewEdit(); 
    220             } 
    221             else 
    222             { 
    223                 codeEdit = new Scintilla(); 
    224             } 
    225         } 
     199        codeEdit = CodeEditFactory.getCodeEdit(); 
     200 
    226201        codeEdit.getWidget().setSizeRequest(1,1); 
    227202        if (this.getLanguageHandler()) { 
     
    773748    bool allowClose(bool askUser) 
    774749    { 
    775         writefln("CodeView.allowClose 1"); 
    776750        bool allow = true; 
    777751        if ( !userAllowClose && getModified() ) 
    778752        { 
    779         writefln("CodeView.allowClose 2"); 
    780753            ResponseType responce = PopupBox.yesNoCancel( 
    781754                workspace, 
     
    792765             
    793766        } 
    794         writefln("CodeView.allowClose 3"); 
    795767        userAllowClose = allow; 
    796         writefln("CodeView.allowClose 4"); 
    797768        return allow; 
    798769    } 
     
    914885    public void clearErrors() 
    915886    { 
    916         codeEdit.markerDeleteAll(SC_MARK_SHORTARROW); 
     887        codeEdit.markerDeleteAll(CodeEdit.MARK_SHORTARROW); 
    917888        errorLines.length = 0; 
    918889        errors = null; 
     
    980951    public void markError(int lineNumber, String message, int color = 0x3333FF) 
    981952    { 
    982         codeEdit.markerSetBack(SC_MARK_SHORTARROW,color); 
    983         int markHandle = codeEdit.markAdd(lineNumber-1, SC_MARK_SHORTARROW); 
     953        codeEdit.markerSetBack(CodeEdit.MARK_SHORTARROW,color); 
     954        int markHandle = codeEdit.markAdd(lineNumber-1, CodeEdit.MARK_SHORTARROW); 
    984955        //errors[lineNumber] = line; 
    985956        int pos = message.find("):"); 
     
    27612732    bool editUpdateUI() 
    27622733    { 
    2763         printf("CodeView.editUpdateUI \n" ); 
     2734        //printf("CodeView.editUpdateUI \n" ); 
    27642735        userAllowClose = false; 
    27652736        if (!inChange ) 
     
    28902861    bool editKey(int ch, int modifiers) 
    28912862    { 
    2892         //printf("CodeView.editKey SCN_KEY %d -- %X\n", ch,ch ); 
     2863        printf("CodeView.editKey SCN_KEY %c %d -- %X\n", ch, ch,ch ); 
    28932864        //printf("CodeView.editKey SCN_MODIFIERS %X\n", modifiers ); 
    28942865        int chConverted; 
     
    30643035                } 
    30653036                break; 
     3037            case CodeCommand.IMPORT: 
     3038                if ( project !is null && languageHandler !is null) 
     3039                { 
     3040                    languageHandler.addImports(project, getText()); 
     3041                } 
     3042                break; 
     3043                 
    30663044            default: 
    30673045                processed = false; 
  • trunk/src/leds/KeyMap.d

    r36 r264  
    3535    COMMENT_OUT, 
    3636    UNCOMMENT, 
    37     CODE_LOOKUP 
     37    CODE_LOOKUP, 
     38    IMPORT 
    3839} 
    3940 
     
    5455    "commentOut", 
    5556    "uncomment", 
    56     "codeLookup" 
     57    "codeLookup", 
     58    "import" 
    5759]; 
    5860 
     
    7375    "Comment out", 
    7476    "Uncommnet", 
    75     "Code lookup Key" 
     77    "Code lookup Key", 
     78    "Generate imports" 
    7679]; 
    7780 
     
    9295    "o", 
    9396    "O",  
    94     " " 
     97    " ", 
     98    "i" 
    9599]; 
    96100 
  • trunk/src/leds/Language.d

    r242 r264  
    2929    import leds.CodeView; 
    3030    import leds.CodeEdit; 
    31     import leds.Scintilla; 
    3231    import leds.Workspace; 
    3332    import leds.FileView; 
    3433    import leds.BrowserView; 
     34    import leds.Project; 
    3535    import property.Properties; 
    3636 
     
    136136        return true; 
    137137    } 
    138     /** 
    139      * setup all the options for scintilla to render language correctly. 
    140      * @param scintilla  
    141      */ 
    142     void setLex(Scintilla scintilla) 
    143     { 
    144          
    145     } 
     138     
    146139    /** 
    147140     * show help in help bar giving autocompletion or just a string. 
     
    157150    void setLex(CodeEdit codeEdit)  
    158151    { 
    159         if (cast(Scintilla) codeEdit is null) { 
    160             return; 
    161         } 
    162          
    163         this.setLex(cast(Scintilla) codeEdit); 
    164       
    165152    } 
    166153      
     
    296283    } 
    297284     
     285    public char[] addImports(Project project, String sourceCode) 
     286    { 
     287        return null; 
     288    } 
    298289 
    299290} 
  • trunk/src/leds/LanguageD.d

    r255 r264  
    13961396        */ 
    13971397    } 
     1398     
     1399    public char[] addImports(Project project, String sourceCode) 
     1400    { 
     1401        Element element = getCachedModule(true); 
     1402        listElements(element); 
     1403        //element.dumpChildren(true); 
     1404        return null; 
     1405    } 
     1406 
     1407    private void listElements(Element element, char[] tab="") 
     1408    { 
     1409        foreach ( Element el ; element.elements ) 
     1410        { 
     1411            writefln("%sel(%s).type = %s", tab, el.name, el.returnType); 
     1412            listElements(el, tab~"    "); 
     1413        } 
     1414    } 
     1415     
    13981416} 
    13991417 
  • trunk/src/leds/Leds.d

    r249 r264  
    816816    else 
    817817    { 
    818         //Duit.initMultiThread(args); 
     818        //GtkD.initMultiThread(args); 
    819819        GtkD.init(args); 
    820820    } 
     
    838838        debug(startup) writefln("Leds.main 4"); 
    839839        GtkD.main(); 
     840        //GtkD.mainThreads(); 
    840841        debug(startup) writefln("Leds.main 5"); 
    841842    } 
  • trunk/src/leds/Project.d

    r258 r264  
    782782                super(usePhobos, project, target); 
    783783            } else { 
    784                 super(project, target); 
     784                super(true, project, target); 
    785785            } 
    786786        } 
  • trunk/src/leds/Scintilla.d

    r261 r264  
    1818 
    1919module leds.Scintilla; 
    20  
    2120private import gtk.Container; 
    2221private import gtk.Widget; 
  • trunk/src/leds/SourceViewEdit.d

    r254 r264  
    1919module leds.SourceViewEdit; 
    2020 
    21 debug = flow; 
     21//debug = flow; 
     22//debug = todo; 
    2223 
    2324//version(linux) 
     
    375376    { 
    376377        insertIter(); 
    377         printf("SourceViewEdit.getCurrLine getCurrLine = %d\n", iter.getLine()); 
     378        //printf("SourceViewEdit.getCurrLine getCurrLine = %d\n", iter.getLine()); 
    378379        return iter.getLine(); 
    379380    } 
     
    461462            TextMark markSel = buffer.getMark("selection_bound"); 
    462463             
    463             writefln("find positions %s %s", iterStart.getOffset(), iterEnd.getOffset()); 
     464            //writefln("find positions %s %s", iterStart.getOffset(), iterEnd.getOffset()); 
    464465             
    465466            buffer.moveMark(mark, iterStart); 
     
    824825    { 
    825826        iter.setOffset(position); 
    826         printf("SourceViewEdit.lineFromPosition = %d posiion=%d\n", iter.getLine(), position); 
     827        //printf("SourceViewEdit.lineFromPosition = %d posiion=%d\n", iter.getLine(), position); 
    827828        return iter.getLine(); 
    828829    } 
     
    830831    int markerLineFromHandle(int key) 
    831832    { 
    832         writefln("SourceViewEdit.markerLineFromHandle TODO"); 
     833        debug(todo)writefln("SourceViewEdit.markerLineFromHandle TODO"); 
    833834        return -1; 
    834835    } 
     
    836837    void setWhiteSpaceFor(Color color) 
    837838    { 
    838         writefln("SourceViewEdit.setWhiteSpaceFor TODO"); 
     839        debug(todo)writefln("SourceViewEdit.setWhiteSpaceFor TODO"); 
    839840    } 
    840841     
    841842    void setWhiteSpaceBack(Color color) 
    842843    { 
    843         writefln("SourceViewEdit.setWhiteSpaceBack TODO"); 
     844        debug(todo)writefln("SourceViewEdit.setWhiteSpaceBack TODO"); 
    844845    } 
    845846 
    846847    void callTipShow(int position, String message) 
    847848    { 
    848         writefln("SourceViewEdit.callTipShow TODO"); 
     849        debug(todo)writefln("SourceViewEdit.callTipShow TODO"); 
    849850    } 
    850851     
    851852    bool isAutoCompletionActive() 
    852853    { 
    853         writefln("SourceViewEdit.isAutoCompletionActive TODO"); 
     854        debug(todo)writefln("SourceViewEdit.isAutoCompletionActive TODO"); 
    854855        return false; 
    855856    } 
     
    860861    void showAutoCompletion(int start, String[] list) 
    861862    { 
    862         writefln("SourceViewEdit.showAutoCompletion TODO"); 
     863        debug(todo)writefln("SourceViewEdit.showAutoCompletion TODO"); 
    863864        Menu popupMenu = new Menu(); 
    864865        foreach ( String str ; list ) 
     
    866867            writefln("\t%s",str); 
    867868            //popupMenu.append(new MenuItem(str.toString,&autoInsert)); 
    868             popupMenu.append(new MenuItem(&autoInsert, str.toString, str.toString)); 
     869            popupMenu.append( 
     870                    new MenuItem(&autoInsert, str.toString, str.toString[start..str.length]) 
     871                    ); 
    869872        } 
    870873        popupMenu.showAll(); 
     
    879882    void showUserList(int start, String[] list) 
    880883    { 
    881         writefln("SourceViewEdit.showUserList TODO"); 
     884        debug(todo)writefln("SourceViewEdit.showUserList TODO"); 
    882885    } 
    883886 
    884887    void setCodePage(int codePage) 
    885888    { 
    886         writefln("SourceViewEdit.setCodePage TODO"); 
     889        debug(todo)writefln("SourceViewEdit.setCodePage TODO"); 
    887890    } 
    888891     
    889892    void setCodePage(String codeID ) 
    890893    { 
    891         writefln("SourceViewEdit.setCodePage TODO"); 
     894        debug(todo)writefln("SourceViewEdit.setCodePage TODO"); 
    892895    } 
    893896     
    894897    int getCodePage() 
    895898    { 
    896         writefln("SourceViewEdit.getCodePage TODO"); 
     899        debug(todo)writefln("SourceViewEdit.getCodePage TODO"); 
    897900        return 0; 
    898901    } 
  • trunk/src/leds/SystemConsole.d

    r230 r264  
    5151private import gtk.TextIter; 
    5252 
     53private import gdk.Threads; 
     54 
    5355     
    5456private import dool.Queue; 
    5557     
     58 
     59private import gobject.ObjectG; 
     60private import gtkc.gobjecttypes; 
     61 
    5662 
    5763/** 
     
    148154        { 
    149155            executing = state; 
     156            writefln("SystemConsole.setExecuting 1"); 
     157            //gdkThreadsEnter(); 
    150158            workspace.refreshDockableLabel(this); 
     159            //gdkThreadsLeave(); 
    151160        } 
    152161    } 
     
    293302        if ( textView !is null ) 
    294303        { 
     304            writefln("SystemConsole.append 1"); 
     305            //gdkThreadsEnter(); 
    295306            textView.appendText(text); 
     307            //gdkThreadsLeave(); 
    296308        } 
    297309    } 
     
    381393        Spawn spawn = new Spawn(commArgs); 
    382394             
    383        //version(Win32) 
     395//     version(Win32) 
    384396        { 
    385397            int result = spawn.commandLineSync( 
     
    392404//      else 
    393405//      { 
    394 //          int result = spawn.execAsyncWithPipes( 
    395 //                          &childEnd, 
    396 //                          &appendOutputLine,  
    397 //                          &appendErrorLine 
    398 //                      ); 
    399 //          Path.chdir(oldDir); 
     406//          if ( async ) 
     407//          { 
     408//              int result = spawn.execAsyncWithPipes( 
     409//                              &childEnd, 
     410//                              &appendOutputLine,  
     411//                              &appendErrorLine 
     412//                          ); 
     413//              Path.chdir(oldDir); 
     414//          } 
     415//          else 
     416//          { 
     417//              int result = spawn.commandLineSync( 
     418//                              &childEnd, 
     419//                              &appendOutputLine,  
     420//                              &appendErrorLine 
     421//                          ); 
     422//              Path.chdir(oldDir); 
     423//          } 
    400424//      } 
    401425    } 
     426 
     427     
    402428 
    403429    /** 
     
    408434     * Returns: false 
    409435     */ 
    410     bool childEnd(Spawn spawn) 
     436    synchronized bool childEnd(Spawn spawn) 
    411437    { 
    412438        this.exitStatus = spawn.exitStatus; 
     
    414440        writefln("SystemConsole.childEnd (calling queue) for %s", getTabName()); 
    415441        childQueue.push(spawn); 
     442        //CallBackIdle(&childQueue.push, spawn); 
    416443 
    417444        if ( allowBeep && Leds.leds.getPropValue("beepOnCommandEnd", true) ) 
     
    428455        } 
    429456         
     457        writefln("SystemConsole.childEnd (calling queue) for %s (done)", getTabName()); 
    430458        return false; 
    431459    } 
  • trunk/src/leds/TrashUI.d

    r230 r264  
    5151private import gtkc.gtktypes; 
    5252private import gtkc.gobjecttypes; 
     53 
     54private import gobject.ObjectG; 
     55 
     56 
    5357 
    5458/** 
  • trunk/src/leds/Workspace.d

    r253 r264  
    710710        mtb.addOnClicked(&runButtonClicked); 
    711711 
     712        mtb = new MenuToolButton(StockID.APPLY); 
     713        toolbar.insert(mtb); 
     714        mtb.setTooltip("Debug last selected target", ""); 
     715        mtb.setArrowTooltip("Select the target to debug", ""); 
     716        mtb.setMenu(new Menu()); 
     717        mtb.addOnShowMenu(&toolButtonDebugMenu); 
     718        mtb.addOnClicked(&debugButtonClicked); 
     719 
    712720        //addButton(StockID.STOP,"nothing for now (stop)","toolbar.stop"); 
    713721 
     
    971979            toolButton.setMenu(popupMenu); 
    972980        } 
    973          
    974     } 
    975  
     981    } 
     982 
     983    public void debugButtonClicked(ToolButton toolButton) 
     984    { 
     985        if ( !repeatCommand(prevRunCommand) ) 
     986        { 
     987            runCodeView(); 
     988        } 
     989    } 
     990     
     991    public void toolButtonDebugMenu(MenuToolButton toolButton) 
     992    { 
     993        Menu menu = null; 
     994        Project project = getProjectView().getCurrentProject(); 
     995        if ( project  !is  null ) 
     996        { 
     997            //project.selectAndRunTarget(event); 
     998            menu = project.getRunMenu(); 
     999        } 
     1000        if ( menu !is null ) 
     1001        { 
     1002            toolButton.setMenu(menu); 
     1003        } 
     1004        else 
     1005        { 
     1006            Menu popupMenu = new Menu();; 
     1007            MenuItem item = new MenuItem("No Project Seleced"); 
     1008            popupMenu.append(item); 
     1009            popupMenu.append(new SeparatorMenuItem()); 
     1010            popupMenu.append(new MenuItem("cancel")); 
     1011            popupMenu.showAll(); 
     1012 
     1013            toolButton.setMenu(popupMenu); 
     1014        } 
     1015    } 
    9761016    // todo add a list a recent run and make commands to the run and make drop down menus 
    9771017     
  • trunk/src/property/PropertiesUI.d

    r242 r264  
    6666private import gtk.Alignment; 
    6767     
    68  
    6968private import glib.Str; 
    7069 
     
    7271private import gtkc.gdktypes; 
    7372private import gdk.Event; 
     73 
     74private import gobject.ObjectG; 
     75private import gtkc.gobjecttypes; 
    7476 
    7577 
  • trunk/src/property/PropsUI.d

    r242 r264  
    5555private import gtkc.gtktypes; 
    5656 
     57private import gobject.ObjectG; 
     58private import gtkc.gobjecttypes; 
     59 
     60 
    5761/** 
    5862 * Defines a visual interface for on Props