Difference between revisions of "A short overview about Code::Blocks architecture"
Line 4: | Line 4: | ||
== Introduction == | == Introduction == | ||
− | C::B keeps projects | + | C::B keeps projects '''''cbProject''''' in a workspace '''''cbWorkspace'''''. This workspace can have more than one project. This is managed by the '''''ProjectManager'''''. Here a short overview: |
[[Image:Codeblocks.jpg]] | [[Image:Codeblocks.jpg]] | ||
− | The words with cursiv font are classes in C::B. The '''''cbProject''''' itself manages different targets | + | The words with cursiv font are classes in C::B. The '''''cbProject''''' itself manages different targets '''''ProjectBuildTargets''''' and different files '''''ProjectFiles'''''. |
+ | |||
+ | == Messages == | ||
+ | |||
+ | C::B has a message window where you can see all kind of messages. This messages are managed by '''''MessageManager'''''. | ||
+ | |||
+ | [[Image:messages.jpg]] | ||
+ | |||
+ | If you want to put some messages on this windows you should use that manager. | ||
+ | |||
+ | == Access to the managers == | ||
+ | |||
+ | All managers in C::B can accessed by the '''''Manager''''' class. For example if you want to access to the ProjectManager you should use the Manager::Get() method: | ||
+ | |||
+ | ''ProjectManager* prjmgr = Manager::Get()->GetProjectManager();'' |
Revision as of 15:54, 24 November 2006
The following are guidelines about the architecture of Code::Blocks. Anyone writing code or a patch for Code::Blocks, should read this to understand how Code::Blocks works.
Introduction
C::B keeps projects cbProject in a workspace cbWorkspace. This workspace can have more than one project. This is managed by the ProjectManager. Here a short overview:
The words with cursiv font are classes in C::B. The cbProject itself manages different targets ProjectBuildTargets and different files ProjectFiles.
Messages
C::B has a message window where you can see all kind of messages. This messages are managed by MessageManager.
If you want to put some messages on this windows you should use that manager.
Access to the managers
All managers in C::B can accessed by the Manager class. For example if you want to access to the ProjectManager you should use the Manager::Get() method:
ProjectManager* prjmgr = Manager::Get()->GetProjectManager();