void FontDemo::retrieveLoadedFontNames(bool areEditable) { FontManager& fontManager(FontManager::getSingleton()); FontManager::FontIterator fi = fontManager.getIterator(); while (!fi.isAtEnd()) { CEGUI::Font& font(fontManager.get(fi.getCurrentKey())); if(d_fontNameOptions.find(font.getName()) == d_fontNameOptions.end()) { d_fontNameOptions[font.getName()] = areEditable; } ++fi; } }
VOID CDataPool::InsertBasePropertyList(CEGUI::Window* pWindow) { CRightPropList* pList = GetRightPropList(); StringVector vec; //位置相关 pList->CreateRootItem("PropertyPos","窗口位置大小相关","窗口位置大小相关集合"); pList->InsertEditItem("UnifiedXPosition", "位置X{rx, ax}","",OTES_NORMAL,"UnifiedXPosition","PropertyPos"); pList->InsertEditItem("UnifiedYPosition", "位置Y{ry, ay}","",OTES_NORMAL,"UnifiedYPosition","PropertyPos"); pList->InsertEditItem("UnifiedWidth", "宽度{rw, aw}","",OTES_NORMAL,"UnifiedWidth","PropertyPos"); pList->InsertEditItem("UnifiedHeight", "高度{rh, ah}","",OTES_NORMAL,"UnifiedHeight","PropertyPos"); pList->InsertEditItem("UnifiedMaxSize", "窗口最大尺寸{{rw,aw},{rh,ah}}","",OTES_NORMAL,"UnifiedMaxSize","PropertyPos"); pList->InsertEditItem("UnifiedMinSize", "窗口最小尺寸{{rw,aw},{rh,ah}}","",OTES_NORMAL,"UnifiedMinSize","PropertyPos"); vec.push_back(""); vec.push_back("Relative"); vec.push_back("Absolute"); vec.push_back("Inherited"); pList->InsertComboItem("MetricsMode", "相对模式(Relative)随窗口变化自动缩放,绝对模式(Absolute),位置不会随父窗口变化而变化",vec, OTCS_NORMAL, "MetricsMode", "PropertyPos"); //重要的设置 pList->CreateRootItem("ImportantSet","重要设置","重要设置相关集合"); pList->InsertEditItem("Name", "窗口Alpha","",OTES_NORMAL,"Name","ImportantSet"); pList->InsertEditItem("Text", "窗口显示的文本","",OTES_NORMAL,"Text","ImportantSet"); pList->InsertEditItem("Tooltip", "窗口Tooltip","",OTES_NORMAL,"Tooltip","ImportantSet"); pList->InsertEditItem("ID", "窗口ID","",OTES_NORMAL,"ID","ImportantSet"); pList->InsertEditItem("Alpha", "窗口Alpha","",OTES_NORMAL,"Alpha","ImportantSet"); FontManager::FontIterator it = FontManager::getSingleton().getIterator(); vec.clear(); vec.push_back(""); while ( !it.isAtEnd() ) { vec.push_back(it.getCurrentKey().c_str()); ++it; } pList->InsertComboItem("Font", "窗口Font",vec, OTCS_NORMAL, "Font", "ImportantSet"); vec.clear(); vec.push_back(""); vec.push_back("True"); vec.push_back("False"); pList->InsertComboItem("ClippedByParent", "是否被父窗口裁剪",vec, OTCS_NORMAL, "ClippedByParent", "ImportantSet"); pList->InsertComboItem("Disabled", "是否Disable窗口",vec, OTCS_NORMAL, "Disabled", "ImportantSet"); pList->InsertComboItem("Visible", "是否Disable窗口",vec, OTCS_NORMAL, "Visible", "ImportantSet"); pList->InsertComboItem("RiseOnClick", "鼠标单击后是否将窗口提升到最高层",vec, OTCS_NORMAL, "RiseOnClick", "ImportantSet"); //鼠标镂空 pList->CreateRootItem("HollowMode","鼠标镂空相关","鼠标镂空相关集合"); vec.clear(); vec.push_back(""); vec.push_back("True"); vec.push_back("False"); pList->InsertComboItem("MouseHollow", "所有鼠标操作都镂空",vec, OTCS_NORMAL, "MouseHollow", "HollowMode"); pList->InsertComboItem("MouseMoveHollow", "镂空鼠标移动操作",vec, OTCS_NORMAL, "MouseMoveHollow", "HollowMode"); pList->InsertComboItem("MouseLButtonHollow", "镂空鼠标左键操作",vec, OTCS_NORMAL, "MouseLButtonHollow", "HollowMode"); pList->InsertComboItem("MouseRButtonHollow", "镂空鼠标右键操作",vec, OTCS_NORMAL, "MouseRButtonHollow", "HollowMode"); //对齐方式 pList->CreateRootItem("PropertyAlignmentMode","对齐方式相关","对齐方式相关集合"); vec.clear(); vec.push_back(""); vec.push_back("Centre"); vec.push_back("Bottom"); vec.push_back("Top"); pList->InsertComboItem("VerticalAlignment", "窗口竖直对齐方式",vec, OTCS_NORMAL, "VerticalAlignment", "PropertyAlignmentMode"); vec.clear(); vec.push_back(""); vec.push_back("Centre"); vec.push_back("Right"); vec.push_back("Left"); pList->InsertComboItem("HorizontalAlignment", "窗口水平对齐方式",vec, OTCS_NORMAL, "HorizontalAlignment", "PropertyAlignmentMode"); //Hook模式 pList->CreateRootItem("HookingMode","Hook模式","Hook模式集合"); pList->InsertEditItem("HookPosition", "Hook的位置","",OTES_NORMAL,"HookPosition","HookingMode"); vec.clear(); vec.push_back(""); vec.push_back("None"); vec.push_back("Left"); vec.push_back("Right"); vec.push_back("Top"); vec.push_back("Bottom"); vec.push_back("LeftTop"); vec.push_back("LeftBottom"); vec.push_back("RightTop"); vec.push_back("RightBottom"); vec.push_back("Center"); pList->InsertComboItem("HookMode", "定位到窗口的某个位置",vec, OTCS_NORMAL, "HookMode", "HookingMode"); vec.clear(); vec.push_back(""); vec.push_back("Relative"); vec.push_back("Absolute"); vec.push_back("Inherited"); pList->InsertComboItem("ZoomMode", "缩放模式Absolute和Relative",vec, OTCS_NORMAL, "ZoomMode", "HookingMode"); //调用脚本添加基本属性 //创建父窗口 pList->CreateRootItem("OtherSets","其他属性","其他属性集合"); vec.clear(); vec.push_back(""); vec.push_back("True"); vec.push_back("False"); pList->InsertComboItem("MouseButtonDownAutoRepeat", "鼠标事件是否自动重复",vec, OTCS_NORMAL, "MouseButtonDownAutoRepeat", "OtherSets"); pList->InsertEditItem("AutoRepeatDelay", "重复延迟时间","",OTES_NORMAL,"AutoRepeatDelay","OtherSets"); pList->InsertEditItem("AutoRepeatRate", "重复延迟时间","",OTES_NORMAL,"AutoRepeatRate","OtherSets"); pList->InsertEditItem("MouseCursorImage", "图片作为鼠标(set:setname image:imagename)","",OTES_NORMAL,"MouseCursorImage","OtherSets"); //调用脚本处理 m_scriptModule.DoString("getBasePropList('OtherSets')"); pList->ExpandAllItems(); }