ROOT_Application  2.0
C++ Core modules and GUIStock
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Data Structures
Controller.h File Reference

Base class for controllers of the graphical application. More...

#include <iostream>
#include <list>
#include <vector>
Include dependency graph for Controller.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  ControllerBase
 
class  ListController< T >
 
class  ControllerFrame< T >
 see remark below, much easier if composition than derivation in the case of ListController, same for parent_controller as member <U> easily extends to View as well ( ListView possible ), but strong coupling again More...
 
class  NullType
 
class  ControllerFrame< NullType >
 

Detailed Description

Base class for controllers of the graphical application.

\ Define : ControllerBase, ListController and ControllerFrame.

Implement a recursive design for controller, with a list of sub-controllers.\ Like a composite frame, could find a specific controller through the hierarchy.

The list is implemented as a template to allow either specific or base class controller management.\ Use multiple inheritance for this.\ Really allow flexibility in this case because all final classes derive from a base class ControllerBase and can be stored in a stl:list or array, and still can be specialized to avoid (minimize) cast operation.

Todo:

Include observer pattern ( need test and is really necessary ?? )

Define a specialization for classes without sub-controllers. Will solve (minimize) problems with pure virtual functions of ControllerBase.

First test on 15/03/2013, seems promising design

Do not reference to Frame here, but could be associated to a base class View ( ROOT or other )

Last modified

Id:
Controller.h 501 2014-10-09 17:34:50Z martinml

Definition in file Controller.h.