Esempio n. 1
0
void GuiChat::historiqueHaut()
{
	CEGUI::Editbox* editbox = static_cast<CEGUI::Editbox*>(chatWindow->getChild("Editbox"));
	d_historyPos = ceguimax(d_historyPos - 1, -1);
	if (d_historyPos >= 0)
	{
		editbox->setText(d_history[d_historyPos]);
		editbox->setCaretIndex(static_cast<size_t>(-1));
	}
	else
	{
		editbox->setText("");
	}

	editbox->activate();
}
Esempio n. 2
0
void GuiChat::historiqueBas()
{
	CEGUI::Editbox* editbox = static_cast<CEGUI::Editbox*>(chatWindow->getChild("Editbox"));
	d_historyPos = ceguimin(d_historyPos + 1, static_cast<int>(d_history.size()));
	if (d_historyPos < static_cast<int>(d_history.size()))
	{
		editbox->setText(d_history[d_historyPos]);
		editbox->setCaretIndex(static_cast<size_t>(-1));
	}
	else
	{
		editbox->setText("");
	}

	editbox->activate();
}
	void ControllerUI::PasteFromClipboard(::CEGUI::Window* EditBox)
	{
		if (!EditBox || !::System::Windows::Forms::Clipboard::ContainsText())
			return;

		// get text from clipboard
		::System::String^ clipText = ::System::Windows::Forms::Clipboard::GetText(
			::System::Windows::Forms::TextDataFormat::Text);
		
		// no text
		if (!clipText || clipText->Length == 0)
			return;
		
		// get possibly typed instances we process
		CEGUI::Editbox* box				= dynamic_cast<CEGUI::Editbox*>(EditBox);
		CEGUI::MultiLineEditbox* mlbox	= dynamic_cast<CEGUI::MultiLineEditbox*>(EditBox);
		
		// type of Editbox
		if (box && !box->isReadOnly())
		{					
			// replace newline characters
			clipText = clipText->Replace(
				::System::Environment::NewLine, ::System::String::Empty);

			// get caretindex
			size_t caretindex = box->getCaretIndex();

			// insert new text
			box->insertText(StringConvert::CLRToCEGUI(clipText), caretindex);

			// set caret at the end of inserted text
			box->setCaretIndex(caretindex + clipText->Length);
		}

		// type of MultiLineEditbox
		else if (mlbox && !mlbox->isReadOnly())
		{
			// get caretindex
			size_t caretindex = mlbox->getCaretIndex();

			// insert new text
			mlbox->insertText(StringConvert::CLRToCEGUI(clipText), caretindex);

			// set caret at the end of inserted text
			mlbox->setCaretIndex(caretindex + clipText->Length);
		}
	};