35#ifndef ANA_WINDOW_WINFACTORY
36#define ANA_WINDOW_WINFACTORY
39#include <cartobase/object/object.h>
77 bool visibleinCtrlWin=
false );
79 bool visibleinCtrlWin=
false );
81 static std::set<std::string>
types();
82 static const std::map<std::string, int> &
typeID() {
return(
TypeID ); }
83 static const std::map<int, std::string> &
typeNames()
85 static const std::map<int, carto::rc_ptr<AWindowCreator> > &
creators()
98 static std::map<std::string, int>
TypeID;
99 static std::map<int, carto::rc_ptr<AWindowCreator> >
Creators;
AWindowCreatorFunc(AWindowFactory::WinCreator func)
virtual AWindow * operator()(void *dock, carto::Object) const
virtual ~AWindowCreatorFunc()
Virtual functor for AWindowFactory.
virtual ~AWindowCreator()
virtual AWindow * operator()(void *dock, carto::Object) const =0
Window creator: (string) type -> new window.
static std::map< std::string, int > TypeID
static std::set< std::string > types()
static AWindow * createWindow(const std::string &type, void *dock=0, carto::Object params=carto::none())
static void unregisterType(const std::string &type)
AWindow *(* WinCreator)(void *dock, carto::Object)
static std::set< int > CtrlWinVisibleTypes
static AWindow * createSagittal(void *, carto::Object)
friend class StaticInitializers
static std::map< int, carto::rc_ptr< AWindowCreator > > Creators
static int registerType(const std::string &type, AWindowCreator *c, bool visibleinCtrlWin=false)
static AWindow * create3D(void *, carto::Object)
static bool exist(int type)
static bool exist(const std::string &type)
static int typeID(const std::string &type)
static std::string typeString(int type, int subtype=0)
static const std::map< int, std::string > & typeNames()
static int registerType(const std::string &type, WinCreator creator, bool visibleinCtrlWin=false)
static std::map< int, std::string > TypeNames
static AWindow * createCoronal(void *, carto::Object)
static const std::map< std::string, int > & typeID()
static bool hasControlWindowButton(int type)
static const std::map< int, carto::rc_ptr< AWindowCreator > > & creators()
static AWindow * createAxial(void *, carto::Object)
static AWindow * createWindow(int type, void *dock=0, carto::Object params=carto::none())
static void setHasControlWindowButton(int type, bool visible)
static void applyCommonOptions(AWindow *win, carto::Object params)
Abstract base class Anatomist window.