sizer->SetSizeHints( this );
this->SetSize(size);
EnableConsole(false);
+
+ lockedbyconsole = false;
}
/*
void wxbMainFrame::OnEnter(wxCommandEvent& WXUNUSED(event))
{
+ lockedbyconsole = true;
+ DisablePanels();
wxString str = typeCtrl->GetValue() + "\n";
Send(str);
}
*/
void wxbMainFrame::Print(wxString str, int status)
{
+ if (lockedbyconsole) {
+ EnableConsole(false);
+ }
+
if (status == CS_TERMINATED) {
SetStatusText("Console thread terminated.");
ct = NULL;
}
if (status == CS_END) {
+ if (lockedbyconsole) {
+ EnablePanels();
+ lockedbyconsole = false;
+ }
str = "#";
}
}
consoleCtrl->AppendText(str);
if (status == CS_PROMPT) {
+ if (lockedbyconsole) {
+ EnableConsole(true);
+ }
consoleCtrl->AppendText("<P>");
}
*/
void wxbMainFrame::Send(wxString str)
{
- ct->Write((const char*)str);
- typeCtrl->SetValue("");
- consoleCtrl->SetDefaultStyle(wxTextAttr(*wxRED));
- consoleCtrl->AppendText(str);
- consoleCtrl->ScrollLines(3);
+ if (ct != NULL) {
+ ct->Write((const char*)str);
+ typeCtrl->SetValue("");
+ consoleCtrl->SetDefaultStyle(wxTextAttr(*wxRED));
+ consoleCtrl->AppendText(str);
+ consoleCtrl->ScrollLines(3);
+ }
/* if ((consoleCtrl->GetNumberOfLines()-1) > nlines) {
nlines = consoleCtrl->GetNumberOfLines()-1;
/* Enable or disable console typing */
void wxbMainFrame::EnableConsole(bool enable) {
typeCtrl->Enable(enable);
- typeCtrl->SetFocus();
+ if (enable) {
+ typeCtrl->SetFocus();
+ }
}
/*