Пример #1
0
/*--------------------------------------------------------------------------*/
char *TerminalGetString(char *prompt)
{
    if (InitTerm)
    {
        InitializeTerminal();
        InitTerm = FALSE;
    }

    newLine();

    setCurrentPrompt(prompt);

    /* print the prompt */
    displayPrompt();

    /* initialize history search */
    setSearchedTokenInScilabHistory(NULL);

    for (;;)
    {
        unsigned char cur_char = TerminalGetchar();

        if (cur_char <= 0)
        {
            return NULL;
        }

        /* http://bugzilla.scilab.org/show_bug.cgi?id=1052 */
        if (ismenu () == 1)
        {
            /* Abort current line */
            return NULL;
        }

        if ( (cur_char == CR_1) || (cur_char == CR_2) )
        {
            if ( isHistorySearch() )
            {
                putLineSearchedHistory();
            }
            else
            {
                char *line = getCurrentLine();
                TerminalPutc('\n');
                appendLineToScilabHistory(line);
                return line;
            }
        }
        else
        {
            TerminalPutc(cur_char);
            addCharacterCurrentLine(cur_char);
        }
    }
    return NULL;
}
Пример #2
0
/*------------------------------------------------------------------------*/
HistoryManager* HistoryManager::getInstance()
{
    if (m_pHM == NULL)
    {
        m_pHM = new HistoryManager();

        /* add date & time @ begin session */
        char *commentbeginsession = getCommentDateSession(FALSE);
        if (commentbeginsession)
        {
            appendLineToScilabHistory(commentbeginsession);
            FREE(commentbeginsession);
            commentbeginsession = NULL;
        }

        m_pHM->setToken("");

    }
    return m_pHM;
}
Пример #3
0
SWIGEXPORT jboolean JNICALL Java_org_scilab_modules_history_1manager_HistoryManagementJNI_appendLineToScilabHistory(JNIEnv *jenv, jclass jcls, jstring jarg1) {
  jboolean jresult = 0 ;
  char *arg1 = (char *) 0 ;
  BOOL result;
  
  (void)jenv;
  (void)jcls;
  arg1 = 0;
  if (jarg1) {
    arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
    if (!arg1) return 0;
  }
  result = appendLineToScilabHistory(arg1);
  {
    if (result) jresult = JNI_TRUE   ;
    else  jresult = JNI_FALSE   ;
  }
  if (arg1) (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
  return jresult;
}