]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/wx-console/wxbmainframe.h
- wxbHistoryTextCtrl : Created a new text control that keep an history
[bacula/bacula] / bacula / src / wx-console / wxbmainframe.h
index d3ac94994e1f613421903e9c28b4c18a1b631f37..9cdcc000057e84fa2b6cbccf6106ec4ff494cdd3 100644 (file)
@@ -2,7 +2,7 @@
  *
  *   Main frame header file
  *
- *    Nicolas Boichat, April 2004
+ *    Nicolas Boichat, July 2004
  *
  */
 /*
 #include <wx/tokenzr.h>
 #include <wx/notebook.h>
 
-//#include "bacula.h"
-//#include "console_conf.h"
+#include <wx/dynarray.h>
 
 #include "console_thread.h"
 
-#include "wxbpanel.h"
+#include "wxbutils.h"
+
+#include "wxbhistorytextctrl.h"
+
+WX_DEFINE_ARRAY(wxbDataParser*, wxbDataParsers);
 
 // ----------------------------------------------------------------------------
 // wxbPrintObject - Used by wxbThreadEvent to contain data sent by director
@@ -93,6 +96,10 @@ public:
    /* 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);
 
@@ -113,24 +120,43 @@ public:
 
    /*
     *  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 */
+   wxbHistoryTextCtrl *typeCtrl; /* wxbHistoryTextCtrl for console user input */
+   wxButton *sendButton; /* wxButton used to send data */
 
-   wxbPanel **panels; /* panels array, contained in the notebook, and which need to receive console communication */
+   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 */
-
-   static wxbMainFrame *frame; /* this */
+   wxbPromptParser* promptparser; /* prompt parser catching uncatched questions */
 
+   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()
 };