forked from eranif/codelite
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcodedesigner.h
89 lines (69 loc) · 2.12 KB
/
codedesigner.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#ifndef __CodeDesigner__
#define __CodeDesigner__
#include "plugin.h"
#include "codedesigneritemdlg.h"
#include <wx/ipc.h>
#include <wx/list.h>
class CDServer;
class CDConnection;
class CodeDesigner : public IPlugin
{
public:
CodeDesigner(IManager *manager);
~CodeDesigner();
IManager* GetManager() { return m_mgr; }
void RetagWorkspace();
bool AddFilesToWorkspace(wxArrayString& paths, CDConnection *connectio );
//--------------------------------------------
//Abstract methods
//--------------------------------------------
virtual clToolBar *CreateToolBar(wxWindow *parent);
virtual void CreatePluginMenu(wxMenu *pluginsMenu);
virtual void HookPopupMenu(wxMenu *menu, MenuType type);
virtual void UnHookPopupMenu(wxMenu *menu, MenuType type);
virtual void UnPlug();
protected:
bool m_addFileMenu;
wxMenuItem* m_separatorItem;
CDServer *m_Server;
wxMenu *CreatePopupMenu();
void DoLaunchCD(const wxString &file);
void DoCreateCDProject(CDItemInfo &info);
wxString GetCDPath();
void StartServer();
void OnSettings(wxCommandEvent &e);
void OnOpenFile(wxCommandEvent &e);
void OnOpenWithCD(wxCommandEvent &e);
void OnUpdateOpenWithCD(wxUpdateUIEvent &e);
void OnCDTerminated(wxCommandEvent &e);
void OnNewSCH(wxCommandEvent &e);
void OnNewHSCH(wxCommandEvent &e);
void OnNewCD(wxCommandEvent &e);
void OnPokeData(wxCommandEvent &e);
};
class CDServer;
class CDConnection : public wxConnection
{
public:
CDConnection(CDServer *server);
virtual ~CDConnection();
virtual bool OnPoke(const wxString& topic, const wxString& item, wxChar *data, int size, wxIPCFormat format);
virtual bool OnDisconnect();
void SetTreeFolder(const wxString& TreeFolder) {this->m_TreeFolder = TreeFolder;}
const wxString& GetTreeFolder() const {return m_TreeFolder;}
protected:
CDServer *m_Server;
wxString m_TreeFolder;
};
WX_DECLARE_LIST(CDConnection, ConnectionList);
class CDServer : public wxServer
{
public:
CDServer();
virtual ~CDServer();
void Disconnect(CDConnection *connection);
virtual wxConnectionBase *OnAcceptConnection(const wxString& topic);
protected:
ConnectionList m_Connections;
};
#endif //CodeDesigner