*
* Main frame header file
*
- * Nicolas Boichat, April 2004
+ * Nicolas Boichat, July 2004
*
+ * Version $Id$
*/
/*
Copyright (C) 2004 Kern Sibbald and John Walker
#include "wxbutils.h"
+#include "wxbhistorytextctrl.h"
+
WX_DEFINE_ARRAY(wxbDataParser*, wxbDataParsers);
// ----------------------------------------------------------------------------
wxString str;
int status;
wxbPrintObject(wxString str, int status): wxObject() {
- this->str = str;
- this->status = status;
+ this->str = str;
+ this->status = status;
}
wxbPrintObject(const wxbPrintObject& pe) {
- this->str = pe.str;
- this->status = pe.status;
+ this->str = pe.str;
+ this->status = pe.status;
}
};
/* event handlers (these functions should _not_ be virtual) */
void OnQuit(wxCommandEvent& event);
void OnAbout(wxCommandEvent& event);
+ void OnChangeConfig(wxCommandEvent& event);
+ void OnEditConfig(wxCommandEvent& event);
+ void OnConnect(wxCommandEvent& event);
+ void OnDisconnect(wxCommandEvent& event);
void OnEnter(wxCommandEvent& event);
void OnPrint(wxbThreadEvent& event);
/* Enable and disable panels */
void EnablePanels();
void DisablePanels(void* except = NULL);
-
+
void EnableConsole(bool enable = true);
/*
/*
* Starts the thread interacting with the director
+ * If config is not empty, uses this config file.
*/
- void StartConsoleThread();
-
+ void StartConsoleThread(const wxString& config);
+
/* Register a new wxbDataParser */
void Register(wxbDataParser* dp);
-
+
/* Unregister a wxbDataParser */
void Unregister(wxbDataParser* dp);
+ console_thread* ct; /* thread interacting with the director */
+
private:
/* private constructor, singleton */
wxbMainFrame(const wxString& title, const wxPoint& pos, const wxSize& size, long style);
~wxbMainFrame();
+ static wxbMainFrame *frame; /* this */
+
+ wxMenu *menuFile;
+
wxNotebook *notebook; /* main notebook */
- wxTextCtrl *typeCtrl; /* wxTextCtrl for console user input */
wxTextCtrl *consoleCtrl; /* wxTextCtrl containing graphical console */
+ wxStaticText *helpCtrl; /* wxStaticText showing help messages */
+ wxbHistoryTextCtrl *typeCtrl; /* wxbHistoryTextCtrl for console user input */
+ wxButton *sendButton; /* wxButton used to send data */
wxbPanel **panels; /* panels array, contained in the notebook */
wxbDataParsers parsers; /* Data parsers, which need to receive director informations */
- console_thread* ct; /* thread interacting with the director */
+ wxbPromptParser* promptparser; /* prompt parser catching uncatched questions */
- static wxbMainFrame *frame; /* this */
+ bool lockedbyconsole; /* true if the panels have been locked by something typed in the console */
+
+ wxString configfile; /* configfile used */
+
+ wxString consoleBuffer; /* Buffer used to print in the console line by line */
// any class wishing to process wxWindows events must use this macro
DECLARE_EVENT_TABLE()
};
#endif // WXBMAINFRAME_H
-