/** * ******************************************************************************************* * * <p>Saving and recalling state */ @Override public void onSaveInstanceState(Bundle savedInstanceState) { super.onSaveInstanceState(savedInstanceState); savedInstanceState.putCharSequence("irbOutput", irbOutput.getText()); irbInput.onSaveInstanceState(savedInstanceState); savedInstanceState.putInt("tab", tabs.getCurrentTab()); }
@Override public void onRestoreInstanceState(Bundle savedInstanceState) { super.onRestoreInstanceState(savedInstanceState); if (savedInstanceState.containsKey("irbOutput")) irbOutput.setText(savedInstanceState.getCharSequence("irbOutput")); irbInput.onRestoreInstanceState(savedInstanceState); if (savedInstanceState.containsKey("tab")) tabs.setCurrentTab(savedInstanceState.getInt("tab")); }
private void irbSetUp() { tabs.addTab( tabs.newTabSpec("tag1").setContent(R.id.tab1).setIndicator(getString(R.string.IRB_Tab))); irbInput = (HistoryEditText) findViewById(R.id.irb_edittext); irbOutput = (TextView) findViewById(R.id.irb_textview); irbOutput.setMovementMethod(new android.text.method.ScrollingMovementMethod()); currentIrbOutput = irbOutput; irbInput.setLineListener( new HistoryEditText.LineListener() { public void onNewLine(String rubyCode) { irbOutput.append(rubyCode + "\n"); String inspected = Script.execute(rubyCode); irbOutput.append("=> " + inspected + "\n"); irbOutput.append(">> "); irbInput.setText(""); } }); }
/* Called when a menu item clicked */ @Override public boolean onMenuItemSelected(int featureId, MenuItem item) { switch (item.getItemId()) { case SAVE_MENU: saveEditorScript(); return true; case RUN_MENU: runEditorScript(); return true; case NEW_MENU: editScript(Script.UNTITLED_RB, true); return true; case HISTORY_MENU: editScript(new Script(Script.UNTITLED_RB, irbInput.getHistoryString()), true); return true; case RESCAN_MENU: scanScripts(); tabs.setCurrentTab(SCRIPTS_TAB); return true; } return super.onMenuItemSelected(featureId, item); }