本文整理汇总了C++中Text::SetStyle方法的典型用法代码示例。如果您正苦于以下问题:C++ Text::SetStyle方法的具体用法?C++ Text::SetStyle怎么用?C++ Text::SetStyle使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Text
的用法示例。
在下文中一共展示了Text::SetStyle方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SetFilters
void FileSelector::SetFilters(const Vector<String>& filters, unsigned defaultIndex)
{
if (filters.Empty())
return;
ignoreEvents_ = true;
filters_ = filters;
filterList_->RemoveAllItems();
for (unsigned i = 0; i < filters_.Size(); ++i)
{
Text* filterText = new Text(context_);
filterList_->AddItem(filterText);
filterText->SetText(filters_[i]);
filterText->SetStyle("FileSelectorFilterText");
}
if (defaultIndex > filters.Size())
defaultIndex = 0;
filterList_->SetSelection(defaultIndex);
ignoreEvents_ = false;
if (GetFilter() != lastUsedFilter_)
RefreshFiles();
}
示例2: lua_new_text
static int lua_new_text (lua_State *L) {
size_t st;
const char* name = luaL_checklstring(L, 2, &st);
double x = luaL_checknumber(L, 3);
double y = luaL_checknumber(L, 4);
double w = luaL_checknumber(L, 5);
double h = luaL_checknumber(L, 6);
Style* style = 0;
if (lua_type(L, 7)!=LUA_TNIL){
style = lua_checklstyle(L, 7);
}
const char* text = luaL_checklstring(L, 8, &st);
Box** c = (Box**)lua_newuserdata(L, sizeof(Box*));
luaL_getmetatable(L, "layout");
lua_setmetatable(L, -2);
Text *e = new Text(name, x, y, w, h);
if (style) e->SetStyle(style);
e->text = text;
*c = static_cast<Box*>(e);
return 1;
}
示例3: SetNumBufferedRows
void Console::SetNumBufferedRows(unsigned rows)
{
if (rows < displayedRows_)
return;
rowContainer_->DisableLayoutUpdate();
int delta = rowContainer_->GetNumItems() - rows;
if (delta > 0)
{
// We have more, remove oldest rows first
for (int i = 0; i < delta; ++i)
rowContainer_->RemoveItem((unsigned)0);
}
else
{
// We have less, add more rows at the top
for (int i = 0; i > delta; --i)
{
Text* text = new Text(context_);
// If style is already set, apply here to ensure proper height of the console when
// amount of rows is changed
if (background_->GetDefaultStyle())
text->SetStyle("ConsoleText");
rowContainer_->InsertItem(0, text);
}
}
rowContainer_->EnsureItemVisibility(rowContainer_->GetItem(rowContainer_->GetNumItems() - 1));
rowContainer_->EnableLayoutUpdate();
rowContainer_->UpdateLayout();
UpdateElements();
}
示例4: CreateDraggableFish
void HelloGUI::CreateDraggableFish()
{
ResourceCache* cache = GetSubsystem<ResourceCache>();
Graphics* graphics = GetSubsystem<Graphics>();
// Create a draggable Fish button
Button* draggableFish = new Button(context_);
draggableFish->SetTexture(cache->GetResource<Texture2D>("Textures/UrhoDecal.dds")); // Set texture
draggableFish->SetBlendMode(BLEND_ADD);
draggableFish->SetSize(128, 128);
draggableFish->SetPosition((graphics->GetWidth() - draggableFish->GetWidth()) / 2, 200);
draggableFish->SetName("Fish");
uiRoot_->AddChild(draggableFish);
// Add a tooltip to Fish button
ToolTip* toolTip = new ToolTip(context_);
draggableFish->AddChild(toolTip);
toolTip->SetPosition(IntVector2(draggableFish->GetWidth() + 5, draggableFish->GetWidth() / 2)); // slightly offset from close button
BorderImage* textHolder = new BorderImage(context_);
toolTip->AddChild(textHolder);
textHolder->SetStyle("ToolTipBorderImage");
Text* toolTipText = new Text(context_);
textHolder->AddChild(toolTipText);
toolTipText->SetStyle("ToolTipText");
toolTipText->SetText("Please drag me!");
// Subscribe draggableFish to Drag Events (in order to make it draggable)
// See "Event list" in documentation's Main Page for reference on available Events and their eventData
SubscribeToEvent(draggableFish, E_DRAGBEGIN, HANDLER(HelloGUI, HandleDragBegin));
SubscribeToEvent(draggableFish, E_DRAGMOVE, HANDLER(HelloGUI, HandleDragMove));
SubscribeToEvent(draggableFish, E_DRAGEND, HANDLER(HelloGUI, HandleDragEnd));
}
示例5: RefreshFiles
void FileSelector::RefreshFiles()
{
FileSystem* fileSystem = GetSubsystem<FileSystem>();
ignoreEvents_ = true;
fileList_->RemoveAllItems();
fileEntries_.Clear();
Vector<String> directories;
Vector<String> files;
fileSystem->ScanDir(directories, path_, "*", SCAN_DIRS, false);
fileSystem->ScanDir(files, path_, GetFilter(), SCAN_FILES, false);
fileEntries_.Reserve(directories.Size() + files.Size());
for (unsigned i = 0; i < directories.Size(); ++i)
{
FileSelectorEntry newEntry;
newEntry.name_ = directories[i];
newEntry.directory_ = true;
fileEntries_.Push(newEntry);
}
for (unsigned i = 0; i < files.Size(); ++i)
{
FileSelectorEntry newEntry;
newEntry.name_ = files[i];
newEntry.directory_ = false;
fileEntries_.Push(newEntry);
}
// Sort and add to the list view
// While items are being added, disable layout update for performance optimization
Sort(fileEntries_.Begin(), fileEntries_.End(), CompareEntries);
UIElement* listContent = fileList_->GetContentElement();
listContent->DisableLayoutUpdate();
for (unsigned i = 0; i < fileEntries_.Size(); ++i)
{
String displayName;
if (fileEntries_[i].directory_)
displayName = "<DIR> " + fileEntries_[i].name_;
else
displayName = fileEntries_[i].name_;
Text* entryText = new Text(context_);
fileList_->AddItem(entryText);
entryText->SetText(displayName);
entryText->SetStyle("FileSelectorListText");
}
listContent->EnableLayoutUpdate();
listContent->UpdateLayout();
ignoreEvents_ = false;
// Clear filename from the previous dir so that there is no confusion
SetFileName(String::EMPTY);
lastUsedFilter_ = GetFilter();
}
示例6: PopulateInterpreter
bool Console::PopulateInterpreter()
{
interpreters_->RemoveAllItems();
EventReceiverGroup* group = context_->GetEventReceivers(E_CONSOLECOMMAND);
if (!group || group->receivers_.Empty())
return false;
Vector<String> names;
for (unsigned i = 0; i < group->receivers_.Size(); ++i)
{
Object* receiver = group->receivers_[i];
if (receiver)
names.Push(receiver->GetTypeName());
}
Sort(names.Begin(), names.End());
unsigned selection = M_MAX_UNSIGNED;
for (unsigned i = 0; i < names.Size(); ++i)
{
const String& name = names[i];
if (name == commandInterpreter_)
selection = i;
Text* text = new Text(context_);
text->SetStyle("ConsoleText");
text->SetText(name);
interpreters_->AddItem(text);
}
const IntRect& border = interpreters_->GetPopup()->GetLayoutBorder();
interpreters_->SetMaxWidth(interpreters_->GetListView()->GetContentElement()->GetWidth() + border.left_ + border.right_);
bool enabled = interpreters_->GetNumItems() > 1;
interpreters_->SetEnabled(enabled);
interpreters_->SetFocusMode(enabled ? FM_FOCUSABLE_DEFOCUSABLE : FM_NOTFOCUSABLE);
if (selection == M_MAX_UNSIGNED)
{
selection = 0;
commandInterpreter_ = names[selection];
}
interpreters_->SetSelection(selection);
return true;
}
示例7: HandlePostUpdate
void Console::HandlePostUpdate(StringHash eventType, VariantMap& eventData)
{
if (!rowContainer_->GetNumChildren())
return;
rowContainer_->DisableLayoutUpdate();
for (unsigned i = 0; i < pendingRows_.Size(); ++i)
{
rowContainer_->RemoveChildAtIndex(0);
Text* text = rowContainer_->CreateChild<Text>();
text->SetText(pendingRows_[i].second_);
// Make error message highlight
text->SetStyle(pendingRows_[i].first_ == LOG_ERROR ? "ConsoleHighlightedText" : "ConsoleText");
}
pendingRows_.Clear();
rowContainer_->EnableLayoutUpdate();
rowContainer_->UpdateLayout();
}
示例8: HandlePostUpdate
void Console::HandlePostUpdate(StringHash eventType, VariantMap& eventData)
{
// Ensure UI-elements are not detached
if (!background_->GetParent())
{
UI* ui = GetSubsystem<UI>();
UIElement* uiRoot = ui->GetRoot();
uiRoot->AddChild(background_);
uiRoot->AddChild(closeButton_);
}
if (!rowContainer_->GetNumItems() || pendingRows_.Empty())
return;
printing_ = true;
rowContainer_->DisableLayoutUpdate();
Text* text = nullptr;
for (unsigned i = 0; i < pendingRows_.Size(); ++i)
{
rowContainer_->RemoveItem((unsigned)0);
text = new Text(context_);
text->SetText(pendingRows_[i].second_);
// Highlight console messages based on their type
text->SetStyle(logStyles[pendingRows_[i].first_]);
rowContainer_->AddItem(text);
}
pendingRows_.Clear();
rowContainer_->EnsureItemVisibility(text);
rowContainer_->EnableLayoutUpdate();
rowContainer_->UpdateLayout();
UpdateElements(); // May need to readjust the height due to scrollbar visibility changes
printing_ = false;
}
示例9: CreateGUI
void UIDrag::CreateGUI()
{
ResourceCache* cache = GetSubsystem<ResourceCache>();
UI* ui = GetSubsystem<UI>();
UIElement* root = ui->GetRoot();
// Load the style sheet from xml
root->SetDefaultStyle(cache->GetResource<XMLFile>("UI/DefaultStyle.xml"));
for (int i=0; i < 10; i++)
{
Button* b = new Button(context_);
root->AddChild(b);
// Reference a style from the style sheet loaded earlier:
b->SetStyle("Button");
b->SetSize(300, 100);
b->SetPosition(IntVector2(50*i, 50*i));
if (i % 2 == 0)
b->AddTag("SomeTag");
SubscribeToEvent(b, E_DRAGMOVE, URHO3D_HANDLER(UIDrag, HandleDragMove));
SubscribeToEvent(b, E_DRAGBEGIN, URHO3D_HANDLER(UIDrag, HandleDragBegin));
SubscribeToEvent(b, E_DRAGCANCEL, URHO3D_HANDLER(UIDrag, HandleDragCancel));
SubscribeToEvent(b, E_DRAGEND, URHO3D_HANDLER(UIDrag, HandleDragEnd));
{
Text* t = new Text(context_);
b->AddChild(t);
t->SetStyle("Text");
t->SetHorizontalAlignment(HA_CENTER);
t->SetVerticalAlignment(VA_CENTER);
t->SetName("Text");
}
{
Text* t = new Text(context_);
b->AddChild(t);
t->SetStyle("Text");
t->SetName("Event Touch");
t->SetHorizontalAlignment(HA_CENTER);
t->SetVerticalAlignment(VA_BOTTOM);
}
{
Text* t = new Text(context_);
b->AddChild(t);
t->SetStyle("Text");
t->SetName("Num Touch");
t->SetHorizontalAlignment(HA_CENTER);
t->SetVerticalAlignment(VA_TOP);
}
}
for (int i = 0; i < 10; i++)
{
Text* t = new Text(context_);
root->AddChild(t);
t->SetStyle("Text");
t->SetName("Touch "+ String(i));
t->SetVisible(false);
}
}