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; }
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, ""); } }
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; }