+ return(Instance.InExecuteCommand(object,type,text));
+}
+
+bool CommandManager::ExecuteCommandConst(const Base *object,unsigned int type,std::string text)
+{
+ return(Instance.InExecuteCommandConst(object,type,text));
+}
+
+const CommandManager *CommandManager::GetInstance()
+{
+ return &Instance;
+}
+
+//-----------------------------------------------------------------------------
+// Protected
+void CommandManager::InClearCommand(void)
+{
+ CommandHT::iterator it;
+ for(it=CommandList.begin();it!=CommandList.end();++it)
+ {
+ if( it->second )
+ it->second->Delete();
+ }
+}
+
+void CommandManager::InSetCommand(const Base *object,unsigned int type,Command *command)
+{
+ CommandKey key = CommandKey(object,type);
+ Command *cmd = CommandList[key];
+ if( cmd != command )