Exemplo n.º 1
0
bool EditOptions::getScreenCoord(char const * const tag, int &val)
    {
    OovString str = getValue(tag);
    bool got = false;
    if(str.length() > 0)
        {
        if(str.getInt(0, 100000, val))
            {
            got = true;
            }
        }
    return got;
    }
Exemplo n.º 2
0
void Editor::gotoLineDialog()
    {
    Dialog dialog(GTK_DIALOG(Builder::getBuilder()->getWidget("GoToLineDialog")));
    int ret = dialog.run(true);
    if(ret)
        {
        FileEditView *view = mEditFiles.getEditView();
        GtkEntry *entry = GTK_ENTRY(Builder::getBuilder()->getWidget("LineNumberEntry"));
        OovString lineNumStr = gtk_entry_get_text(entry);
        int lineNum;
        if(lineNumStr.getInt(0, INT_MAX, lineNum))
            {
            view->gotoLine(lineNum);
            }
        Gui::setText(entry, "");
        }
    }
Exemplo n.º 3
0
gboolean Editor::onIdle(gpointer data)
    {
    if(mDebugOut.length())
        {
        GtkTextView *view = GTK_TEXT_VIEW(ControlWindow::getTabView(
            ControlWindow::CT_Control));
        Gui::appendText(view, mDebugOut);
        Gui::scrollToCursor(view);
        mDebugOut.clear();
        }
    eDebuggerChangeStatus dbgStatus = mDebugger.getChangeStatus();
    if(dbgStatus != DCS_None)
        {
        idleDebugStatusChange(dbgStatus);
        }
    getEditFiles().onIdle();
    OovIpcMsg msg;
    if(mEditorIpc.getMessage(msg))
        {
        OovString cmd = msg.getArg(0);
        if(cmd[0] == EC_ViewFile)
            {
            OovString fn = msg.getArg(1);
            OovString lineNumStr = msg.getArg(2);
            int lineNum = 1;
            size_t pos = lineNumStr.findSpace();
            if(pos != std::string::npos)
                {
                lineNumStr = lineNumStr.substr(0, pos);
                }
            if(lineNumStr.getInt(0, INT_MAX, lineNum))
                {
                }
            gEditor->getEditFiles().viewModule(fn, lineNum);
            }
        }
    sleepMs(5);
    return true;
    }