예제 #1
0
void nuiComboBox::ReparentTree(nuiTreeNode* pTree)
{
  NGL_ASSERT(pTree);
  nuiWidgetPtr pWidget = pTree->GetElement();
  NGL_ASSERT(pWidget);

  pWidget->SetLayout(nuiRect(0.f,0.f, GetRect().GetWidth()-mHandleWidth, GetRect().GetHeight()));

  if (pWidget->GetParent() != this)
  {
    AddChild(pWidget);
    pWidget->InvalidateLayout();
  }

  if (GetSelectedWidget() == pWidget)
  {
    if (!pWidget->IsVisible())
      pWidget->SetVisible(true);
  }
  else 
  {
    if (pWidget->IsVisible())
      pWidget->SetVisible(false);
  }

  uint32 count = pTree->GetChildrenCount();
  for (uint32 i = 0; i < count; i++)
  {
    nuiTreeNode* pNode = dynamic_cast<nuiTreeNode*>(pTree->GetChild(i));
    NGL_ASSERT(pNode);
    ReparentTree(pNode);
  }
}
예제 #2
0
bool nuiComboBox::Draw(nuiDrawContext* pContext)
{
  nuiWidget* pWidget = GetSelectedWidget();
  if (pWidget)
  {
    NGL_ASSERT(pWidget->GetParent() == this);
    DrawChild(pContext, pWidget);
  }
  
  return true;
}
예제 #3
0
void ResourceEditWindow::OnPaintChildren(const PaintProps &paint_props)
{
	TBWindow::OnPaintChildren(paint_props);

	// Paint the selection of the selected widget
	if (TBWidget *selected_widget = GetSelectedWidget())
	{
		TBRect widget_rect(0, 0, selected_widget->GetRect().w, selected_widget->GetRect().h);
		selected_widget->ConvertToRoot(widget_rect.x, widget_rect.y);
		ConvertFromRoot(widget_rect.x, widget_rect.y);
		g_renderer->DrawRect(widget_rect, TBColor(255, 205, 0));
	}
}
예제 #4
0
 const std::string& GetPort() { return ((GameInfoBox*)GetSelectedWidget())->port; }
예제 #5
0
 const std::string& GetAddress() { return ((GameInfoBox*)GetSelectedWidget())->ip_address; }