A short overview about Code::Blocks architecture

From CodeBlocks

Jump to: navigation, search

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:

Image:Codeblocks.jpg

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();

Personal tools