Difference between revisions of "A short overview about Code::Blocks architecture"

From Code::Blocks
m (Correction to 'cursiv (sic) font' => italic font. Cursive means like handwriting (connected letters))
 
(One intermediate revision by one other user not shown)
Line 8: Line 8:
 
[[Image:Codeblocks.jpg]]
 
[[Image:Codeblocks.jpg]]
  
The words with cursiv font are classes in C::B. The '''''cbProject''''' itself manages different targets '''''ProjectBuildTargets''''' and different files '''''ProjectFiles'''''.
+
The words with ''italic'' font are classes in C::B. The '''''cbProject''''' itself manages different targets '''''ProjectBuildTargets''''' and different files '''''ProjectFiles'''''.
  
 
== Messages ==
 
== Messages ==
Line 23: Line 23:
  
 
''ProjectManager* prjmgr = Manager::Get()->GetProjectManager();''
 
''ProjectManager* prjmgr = Manager::Get()->GetProjectManager();''
 +
 +
== See also ==
 +
 +
* [[Source hierarchy|Explanation of source hierarchy]]

Latest revision as of 01:21, 14 May 2013

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:

Codeblocks.jpg

The words with italic 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.

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

See also