void SeparatorTextureControl::updateVisible()
	{
		mHorizontalSelectorControl->setVisible(false);
		mVerticalSelectorControl->setVisible(false);

		if (getCurrentSeparator() != nullptr)
		{
			MyGUI::Align corner = getCurrentSeparator()->getCorner();

			if (getCurrentSeparator()->getPropertySet()->getPropertyValue("Visible") == "True")
			{
				if (corner.isTop() || corner.isBottom())
					mHorizontalSelectorControl->setVisible(true);
				else
					mVerticalSelectorControl->setVisible(true);
			}
		}
	}
	void SeparatorTextureControl::updatePosition()
	{
		if (getCurrentSeparator() != nullptr)
		{
			MyGUI::UString value = getCurrentSeparator()->getPropertySet()->getPropertyValue("Offset");
			MyGUI::Align corner = getCurrentSeparator()->getCorner();

			int offset = 0;
			if (MyGUI::utility::parseComplex(value, offset))
			{
				if (corner.isTop())
					mHorizontalSelectorControl->setCoord(MyGUI::IntCoord(0, offset, mTextureRegion.width, 1));
				else if (corner.isLeft())
					mVerticalSelectorControl->setCoord(MyGUI::IntCoord(offset, 0, 1, mTextureRegion.height));
				else if (corner.isBottom())
					mHorizontalSelectorControl->setCoord(MyGUI::IntCoord(0, mTextureRegion.height - offset, mTextureRegion.width, 1));
				else if (corner.isRight())
					mVerticalSelectorControl->setCoord(MyGUI::IntCoord(mTextureRegion.width - offset, 0, 1, mTextureRegion.height));
			}
		}
	}
	void SeparatorTextureControl::notifyChangePosition()
	{
		if (getCurrentSeparator() != nullptr)
		{
			MyGUI::Align corner = getCurrentSeparator()->getCorner();

			if (corner.isTop())
				getCurrentSeparator()->getPropertySet()->setPropertyValue("Offset",
					MyGUI::utility::toString(mHorizontalSelectorControl->getPosition().top), mTypeName);
			else if (corner.isLeft())
				getCurrentSeparator()->getPropertySet()->setPropertyValue("Offset",
					MyGUI::utility::toString(mVerticalSelectorControl->getPosition().left), mTypeName);
			else if (corner.isBottom())
				getCurrentSeparator()->getPropertySet()->setPropertyValue("Offset",
					MyGUI::utility::toString(mTextureRegion.height - mHorizontalSelectorControl->getPosition().top), mTypeName);
			else if (corner.isRight())
				getCurrentSeparator()->getPropertySet()->setPropertyValue("Offset",
					MyGUI::utility::toString(mTextureRegion.width -  mVerticalSelectorControl->getPosition().left), mTypeName);
		}
	}
Exemplo n.º 4
0
	void SeparatorPropertyControl::updateSeparatorProperties()
	{
		SeparatorItem* separator = getCurrentSeparator();
		mPropertyVisibleControl->setProperty(separator != nullptr ? separator->getPropertySet()->getChild("Visible") : nullptr);
		mPropertyPositionControl->setProperty(separator != nullptr ? separator->getPropertySet()->getChild("Offset") : nullptr);
	}