#ifndef MANAGER_H
#define MANAGER_H
#include <wx/event.h>
#include "settings.h"
#include "sdk_events.h"
// forward decls
class wxFrame;
class wxNotebook;
class ProjectManager;
class EditorManager;
class MessageManager;
class PluginManager;
class ToolsManager;
class MacrosManager;
class PersonalityManager;
class wxMenu;
class wxMenuBar;
class wxToolBar;
/*
* No description
*/
/// Reads a wxString from a non-unicode file. File must be open. File is closed automatically.
bool DLLIMPORT cbRead(wxFile& file,wxString& st);
const wxString DLLIMPORT cbRead(wxFile& file);
/// Writes a wxString to a non-unicode file. File must be open. File is closed automatically.
bool DLLIMPORT cbWrite(wxFile& file, const wxString& buff);
class DLLIMPORT Manager
{
public:
static Manager* Get(wxFrame* appWindow = 0L, wxNotebook* prjNB = 0L, wxWindow* clientWin = 0L);
static void Free();
wxFrame* GetAppWindow();
wxNotebook* GetNotebook();
wxWindow* GetClientWindow();
bool ProcessEvent(CodeBlocksEvent& event);
ProjectManager* GetProjectManager();
EditorManager* GetEditorManager();
MessageManager* GetMessageManager();
PluginManager* GetPluginManager();
ToolsManager* GetToolsManager();
MacrosManager* GetMacrosManager();
PersonalityManager* GetPersonalityManager();
static bool isappShutingDown();
// stupid typo ;-P
static bool isappShuttingDown();
// Gets a notebook panel with the specified name
wxWindow* GetNotebookPage(const wxString &name, long style = wxTAB_TRAVERSAL | wxCLIP_CHILDREN,bool issplit=false);
/////// XML Resource functions ///////
// Inits XML Resource system
static void Initxrc(bool force=false);
// Loads XRC file(s) using data_path
static void Loadxrc(wxString relpath);
// Loads Menubar from XRC
static wxMenuBar* LoadMenuBar(wxString resid,bool createonfailure=false);
// Loads Menu from XRC
static wxMenu* LoadMenu(wxString menu_id,bool createonfailure=false);
// Loads ToolBar from XRC
static wxToolBar *LoadToolBar(wxFrame *parent,wxString resid,bool defaultsmall=true);
// Loads ToolBarAddOn from XRC into existing Toolbar
static void AddonToolBar(wxToolBar* toolBar,wxString resid);
static bool isToolBar16x16(wxToolBar* toolBar);
private:
Manager(wxFrame* appWindow, wxNotebook* notebook, wxWindow* clientWin = 0L);
~Manager();
bool SendEventTo(wxEvtHandler* handler, CodeBlocksEvent& event);
void OnMenu(wxCommandEvent& event);
wxFrame* m_pAppWindow;
wxNotebook* m_pNotebook;
wxWindow* m_pClientWin;
};
#endif // MANAGER_H
syntax highlighted by Code2HTML, v. 0.9.1