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(); }
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); } };