MyGUI
3.2.1
|
00001 /* 00002 * This source file is part of MyGUI. For the latest info, see http://mygui.info/ 00003 * Distributed under the MIT License 00004 * (See accompanying file COPYING.MIT or copy at http://opensource.org/licenses/MIT) 00005 */ 00006 00007 #include "MyGUI_Precompiled.h" 00008 #include "MyGUI_MultiListItem.h" 00009 #include "MyGUI_MultiListBox.h" 00010 00011 namespace MyGUI 00012 { 00013 00014 MultiListItem::MultiListItem() 00015 { 00016 } 00017 00018 void MultiListItem::initialiseOverride() 00019 { 00020 Base::initialiseOverride(); 00021 } 00022 00023 void MultiListItem::shutdownOverride() 00024 { 00025 Base::shutdownOverride(); 00026 } 00027 00028 void MultiListItem::setCaption(const UString& _value) 00029 { 00030 MultiListBox* owner = getOwner(); 00031 if (owner != nullptr) 00032 owner->setColumnName(this, _value); 00033 else 00034 Base::setCaption(_value); 00035 } 00036 00037 const UString& MultiListItem::getCaption() 00038 { 00039 MultiListBox* owner = getOwner(); 00040 if (owner != nullptr) 00041 return owner->getColumnName(this); 00042 00043 return Base::getCaption(); 00044 } 00045 00046 void MultiListItem::setItemResizingPolicy(ResizingPolicy _value) 00047 { 00048 MultiListBox* owner = getOwner(); 00049 if (owner != nullptr) 00050 owner->setColumnResizingPolicy(this, _value); 00051 } 00052 00053 void MultiListItem::setItemWidth(int _value) 00054 { 00055 MultiListBox* owner = getOwner(); 00056 if (owner != nullptr) 00057 owner->setColumnWidth(this, _value); 00058 } 00059 00060 void MultiListItem::setPropertyOverride(const std::string& _key, const std::string& _value) 00061 { 00063 if (_key == "ItemResizingPolicy") 00064 setItemResizingPolicy(ResizingPolicy::parse(_value)); 00065 00067 else if (_key == "ItemWidth") 00068 setItemWidth(utility::parseValue<int>(_value)); 00069 00070 else 00071 { 00072 Base::setPropertyOverride(_key, _value); 00073 return; 00074 } 00075 00076 eventChangeProperty(this, _key, _value); 00077 } 00078 00079 MultiListBox* MultiListItem::getOwner() 00080 { 00081 if (getParent() != nullptr) 00082 { 00083 if (getParent()->isType<MultiListBox>()) 00084 return getParent()->castType<MultiListBox>(); 00085 else if ((getParent()->getParent() != nullptr) && (getParent()->getParent()->getClientWidget() == getParent())) 00086 { 00087 if (getParent()->getParent()->isType<MultiListBox>()) 00088 return getParent()->getParent()->castType<MultiListBox>(); 00089 } 00090 } 00091 00092 return nullptr; 00093 } 00094 00095 } // namespace MyGUI