*
* Main frame header file
*
- * Nicolas Boichat, April 2004
+ * Nicolas Boichat, July 2004
*
+ * Version $Id$
*/
/*
- Copyright (C) 2004 Kern Sibbald and John Walker
+ Bacula® - The Network Backup Solution
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License
- as published by the Free Software Foundation; either version 2
- of the License, or (at your option) any later version.
+ Copyright (C) 2004-2006 Free Software Foundation Europe e.V.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ The main author of Bacula is Kern Sibbald, with contributions from
+ many others, a complete list can be found in the file AUTHORS.
+ This program is Free Software; you can redistribute it and/or
+ modify it under the terms of version three of the GNU Affero General Public
+ License as published by the Free Software Foundation and included
+ in the file LICENSE.
- You should have received a copy of the GNU General Public License
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ 02110-1301, USA.
+
+ Bacula® is a registered trademark of Kern Sibbald.
+ The licensor of Bacula is the Free Software Foundation Europe
+ (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+ Switzerland, email:ftf@fsfeurope.org.
+*/
#ifndef WXBMAINFRAME_H
#define WXBMAINFRAME_H
#include "wxbutils.h"
+#include "wxbhistorytextctrl.h"
+
WX_DEFINE_ARRAY(wxbDataParser*, wxbDataParsers);
// ----------------------------------------------------------------------------
// wxbThreadEvent - Event used by wxbTHREAD_EVENT
// ----------------------------------------------------------------------------
+DECLARE_LOCAL_EVENT_TYPE(wxbTHREAD_EVENT, -1)
+
class wxbThreadEvent: public wxEvent {
public:
wxbThreadEvent(int id);
/* 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);
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 */
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
-