Skip to content

Commit 709df77

Browse files
committed
support input data when debug
1 parent e112953 commit 709df77

File tree

2 files changed

+36
-23
lines changed

2 files changed

+36
-23
lines changed

libCompiler/src/main/java/com/duy/pascal/frontend/activities/AbstractExecActivity.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,6 @@ public boolean keyPressed() {
246246
return getConsoleView().isKeyPressed();
247247
}
248248

249-
250249
@Override
251250
protected void onDestroy() {
252251
DLog.d(TAG, "onDestroy() called");

libCompiler/src/main/java/com/duy/pascal/frontend/debug/activities/DebugActivity.java

Lines changed: 36 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,15 @@
3232
import android.support.v4.widget.DrawerLayout;
3333
import android.support.v7.app.ActionBarDrawerToggle;
3434
import android.support.v7.app.AlertDialog;
35+
import android.support.v7.widget.AppCompatEditText;
3536
import android.support.v7.widget.Toolbar;
3637
import android.util.Log;
3738
import android.view.Gravity;
3839
import android.view.LayoutInflater;
3940
import android.view.Menu;
4041
import android.view.MenuItem;
4142
import android.view.View;
43+
import android.view.ViewGroup;
4244
import android.view.animation.AlphaAnimation;
4345
import android.view.animation.Animation;
4446
import android.view.inputmethod.InputMethodManager;
@@ -51,6 +53,7 @@
5153
import com.duy.pascal.backend.ast.runtime_value.VariableContext;
5254
import com.duy.pascal.backend.ast.runtime_value.value.AssignableValue;
5355
import com.duy.pascal.backend.ast.runtime_value.value.RuntimeValue;
56+
import com.duy.pascal.backend.builtin_libraries.io.IOLib;
5457
import com.duy.pascal.backend.debugable.DebugListener;
5558
import com.duy.pascal.backend.linenumber.LineInfo;
5659
import com.duy.pascal.frontend.R;
@@ -91,6 +94,8 @@ public void run() {
9194

9295
}
9396
};
97+
98+
9499
private FragmentFrame mFameFragment;
95100
private DrawerLayout drawerLayout;
96101

@@ -413,28 +418,6 @@ private void resumeProgram() {
413418
}
414419

415420
private void addWatchVariable() {
416-
// final AppCompatEditText edittext = new AppCompatEditText(this);
417-
// edittext.setHint(R.string.var_name);
418-
// AlertDialog.Builder builder = new AlertDialog.Builder(this);
419-
// builder.setTitle(R.string.add_watch)
420-
// .setView(edittext)
421-
// .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
422-
// public void onClick(DialogInterface dialog, int id) {
423-
// String name = edittext.getText().toString();
424-
// if (!name.isEmpty()) {
425-
// mVariableWatcherView.addVariable(new VariableItem(name));
426-
// }
427-
// dialog.cancel();
428-
// }
429-
// })
430-
// .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
431-
// public void onClick(DialogInterface dialog, int id) {
432-
// dialog.cancel();
433-
// }
434-
// });
435-
// alertDialog = builder.create();
436-
// alertDialog.show();
437-
438421
}
439422

440423

@@ -467,5 +450,36 @@ public void onFunctionCall(String name) {
467450

468451
}
469452

453+
@Override
454+
public synchronized void startInput(final IOLib lock) {
455+
this.mLock = lock;
456+
showDialogInput();
457+
}
470458

459+
private void showDialogInput() {
460+
runOnUiThread(new Runnable() {
461+
@Override
462+
public void run() {
463+
AlertDialog.Builder builder = new AlertDialog.Builder(DebugActivity.this);
464+
final AppCompatEditText editText = new AppCompatEditText(DebugActivity.this);
465+
editText.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
466+
ViewGroup.LayoutParams.WRAP_CONTENT));
467+
builder.setView(editText);
468+
builder.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
469+
@Override
470+
public void onClick(DialogInterface dialog, int which) {
471+
if (mLock instanceof IOLib) {
472+
((IOLib) mLock).setInputBuffer(editText.getText().toString());
473+
}
474+
mConsoleView.writeString(editText.getText().toString());
475+
dialog.cancel();
476+
}
477+
});
478+
builder.setTitle("Read/readln");
479+
alertDialog = builder.create();
480+
alertDialog.setCanceledOnTouchOutside(false);
481+
alertDialog.show();
482+
}
483+
});
484+
}
471485
}

0 commit comments

Comments
 (0)