void Window::onPreferredSize(PreferredSizeEvent& ev) { Widget* manager = getManager(); if (m_isDesktop) { Rect cpos = manager->getChildrenBounds(); ev.setPreferredSize(cpos.w, cpos.h); } else { Size maxSize(0, 0); Size reqSize; UI_FOREACH_WIDGET(getChildren(), it) { Widget* child = *it; if (!child->isDecorative()) { reqSize = child->getPreferredSize(); maxSize.w = MAX(maxSize.w, reqSize.w); maxSize.h = MAX(maxSize.h, reqSize.h); } } if (hasText()) maxSize.w = MAX(maxSize.w, jwidget_get_text_length(this)); ev.setPreferredSize(this->border_width.l + maxSize.w + this->border_width.r, this->border_width.t + maxSize.h + this->border_width.b); }
void onPreferredSize(PreferredSizeEvent& ev) override { ListItem::onPreferredSize(ev); if (m_image) { gfx::Size sz = ev.getPreferredSize(); ev.setPreferredSize( sz.w + 4 + m_image->width(), MAX(sz.h, m_image->height())); } }
void SearchEntry::onPreferredSize(PreferredSizeEvent& ev) { Entry::onPreferredSize(ev); Size sz = ev.getPreferredSize(); SkinTheme* theme = static_cast<SkinTheme*>(getTheme()); auto icon = theme->parts.iconSearch()->getBitmap(0); sz.h = MAX(sz.h, icon->height()+border().height()); ev.setPreferredSize(sz); }
void View::onPreferredSize(PreferredSizeEvent& ev) { Size viewSize = m_viewport.getPreferredSize(); viewSize.w += this->border_width.l + this->border_width.r; viewSize.h += this->border_width.t + this->border_width.b; ev.setPreferredSize(viewSize); }
void TextBox::onPreferredSize(PreferredSizeEvent& ev) { int w = 0; int h = 0; // TODO is it necessary? //w = widget->border_width.l + widget->border_width.r; //h = widget->border_width.t + widget->border_width.b; _ji_theme_textbox_draw(NULL, this, &w, &h, 0, 0); if (this->getAlign() & JI_WORDWRAP) { View* view = View::getView(this); int width, min = w; if (view) { width = view->getViewportBounds().w; } else { width = jrect_w(this->rc); } w = MAX(min, width); _ji_theme_textbox_draw(NULL, this, &w, &h, 0, 0); w = min; } ev.setPreferredSize(gfx::Size(w, h)); }
void ToolBar::onPreferredSize(PreferredSizeEvent& ev) { Size iconsize = getToolIconSize(this); iconsize.w += this->border_width.l + this->border_width.r; iconsize.h += this->border_width.t + this->border_width.b; ev.setPreferredSize(iconsize); }
void ComboBox::onPreferredSize(PreferredSizeEvent& ev) { Size sz(m_maxItemSize.w + (::GetSystemMetrics(SM_CXEDGE)*4 + ::GetSystemMetrics(SM_CXVSCROLL)), m_maxItemSize.h + (::GetSystemMetrics(SM_CYEDGE)*4)); ev.setPreferredSize(sz); }
void ColorButton::onPreferredSize(PreferredSizeEvent& ev) { gfx::Rect box; jwidget_get_texticon_info(this, &box, NULL, NULL, 0, 0, 0); box.w = 64; ev.setPreferredSize(box.w + border_width.l + border_width.r, box.h + border_width.t + border_width.b); }
void ColorButton::onPreferredSize(PreferredSizeEvent& ev) { gfx::Rect box; getTextIconInfo(&box); box.w = 64*guiscale(); ev.setPreferredSize(box.w + border_width.l + border_width.r, box.h + border_width.t + border_width.b); }
void ImageView::onPreferredSize(PreferredSizeEvent& ev) { gfx::Rect box; getTextIconInfo(&box, NULL, NULL, getAlign(), m_bmp->w, m_bmp->h); ev.setPreferredSize(gfx::Size(border_width.l + box.w + border_width.r, border_width.t + box.h + border_width.b)); }
void ColorButton::onPreferredSize(PreferredSizeEvent& ev) { gfx::Rect box; getTextIconInfo(&box); box.w = 64*guiscale(); ev.setPreferredSize(box.w + border().width(), box.h + border().height()); }
void ImageView::onPreferredSize(PreferredSizeEvent& ev) { struct jrect box, text, icon; jwidget_get_texticon_info(this, &box, &text, &icon, getAlign(), m_bmp->w, m_bmp->h); ev.setPreferredSize(gfx::Size(border_width.l + jrect_w(&box) + border_width.r, border_width.t + jrect_h(&box) + border_width.b)); }
void ImageView::onPreferredSize(PreferredSizeEvent& ev) { gfx::Rect box; getTextIconInfo(&box, NULL, NULL, getAlign(), m_sur->width(), m_sur->height()); ev.setPreferredSize( gfx::Size( box.w + border().width(), box.h + border().height())); }
void Tabs::onPreferredSize(PreferredSizeEvent& ev) { SkinTheme* theme = static_cast<SkinTheme*>(this->getTheme()); gfx::Size reqsize(0, theme->get_part(PART_TAB_BOTTOM_NORMAL)->height()); if (!m_list_of_tabs.empty()) { reqsize.h += theme->get_part(PART_TAB_FILLER)->height(); } ev.setPreferredSize(reqsize); }
void ColorButton::onPreferredSize(PreferredSizeEvent& ev) { struct jrect box; jwidget_get_texticon_info(this, &box, NULL, NULL, 0, 0, 0); box.x2 = box.x1+64; ev.setPreferredSize(jrect_w(&box) + border_width.l + border_width.r, jrect_h(&box) + border_width.t + border_width.b); }
void IntEntry::onPreferredSize(PreferredSizeEvent& ev) { int min_w = getFont()->textLength(m_slider.convertValueToText(m_min)); int max_w = getFont()->textLength(m_slider.convertValueToText(m_max)); int w = MAX(min_w, max_w) + getFont()->charWidth('%'); int h = getTextHeight(); w += border().width(); h += border().height(); ev.setPreferredSize(w, h); }
void Slider::onPreferredSize(PreferredSizeEvent& ev) { int min_w = getFont()->textLength(convertValueToText(m_min)); int max_w = getFont()->textLength(convertValueToText(m_max)); int w = MAX(min_w, max_w); int h = getTextHeight(); w += border().width(); h += border().height(); ev.setPreferredSize(w, h); }
/** Adds space for the non-client size. @see getNonClientSize */ void TabBase::onPreferredSize(PreferredSizeEvent& ev) { Size ncSize = getNonClientSize(); if (ev.fitInWidth() || ev.fitInHeight()) { ev.setPreferredSize(max_value(0, ev.fitInWidth() - ncSize.w), max_value(0, ev.fitInHeight() - ncSize.h)); } Widget::onPreferredSize(ev); ev.setPreferredSize(ev.getPreferredSize() + ncSize); }
void Label::onPreferredSize(PreferredSizeEvent& ev) { gfx::Size sz(0, 0); if (hasText()) { // Labels are not UIString sz.w = getFont()->textLength(getText().c_str()); sz.h = getTextHeight(); } sz.w += border().width(); sz.h += border().height(); ev.setPreferredSize(sz); }
void ToolBar::ToolStrip::onPreferredSize(PreferredSizeEvent& ev) { ToolBox* toolbox = App::instance()->getToolBox(); int c = 0; for (ToolIterator it = toolbox->begin(); it != toolbox->end(); ++it) { Tool* tool = *it; if (tool->getGroup() == m_group) { ++c; } } Size iconsize = getToolIconSize(this); ev.setPreferredSize(Size(iconsize.w * c, iconsize.h)); }
void ListBox::onPreferredSize(PreferredSizeEvent& ev) { // TODO HTHEME stuff Size sz(2*::GetSystemMetrics(SM_CXEDGE), 2*::GetSystemMetrics(SM_CYEDGE)); int i, n = getItemCount(); Rect rc; for (i=0; i<n; ++i) { rc = getItemBounds(i); sz = Size(max_value(sz.w, rc.w), sz.h+rc.h); } ev.setPreferredSize(sz); }
void Grid::onPreferredSize(PreferredSizeEvent& ev) { int w, h; w = h = 0; calculateSize(); // Calculate the total sumStripSize(m_colstrip, w); sumStripSize(m_rowstrip, h); w += this->border_width.l + this->border_width.r; h += this->border_width.t + this->border_width.b; ev.setPreferredSize(Size(w, h)); }
void onPreferredSize(PreferredSizeEvent& ev) override { SkinTheme* theme = static_cast<SkinTheme*>(getTheme()); Style* style = theme->styles.newsItem(); Style* styleDetail = theme->styles.newsItemDetail(); Style::State state; gfx::Size sz1 = style->preferredSize(getText().c_str(), state); gfx::Size sz2, sz2fourlines; if (!m_desc.empty()) { View* view = View::getView(getParent()); sz2 = styleDetail->preferredSize(m_desc.c_str(), state, (view ? view->getViewportBounds().w: 0)); sz2fourlines = styleDetail->preferredSize("\n\n\n", state); } ev.setPreferredSize(gfx::Size(0, MIN(sz1.h+sz2fourlines.h, sz1.h+sz2.h))); }
void Entry::onPreferredSize(PreferredSizeEvent& ev) { int w = + border_width.l + getFont()->charWidth('w') * MIN(m_maxsize, 6) + 2*jguiscale() + border_width.r; w = MIN(w, ui::display_w()/2); int h = + border_width.t + getFont()->height() + border_width.b; ev.setPreferredSize(w, h); }
void FileList::onPreferredSize(PreferredSizeEvent& ev) { if (!m_req_valid) { gfx::Size reqSize(0, 0); // rows for (FileItemList::iterator it=m_list.begin(); it!=m_list.end(); ++it) { IFileItem* fi = *it; gfx::Size itemSize = getFileItemSize(fi); reqSize.w = MAX(reqSize.w, itemSize.w); reqSize.h += itemSize.h; } m_req_valid = true; m_req_w = reqSize.w; m_req_h = reqSize.h; } ev.setPreferredSize(Size(m_req_w, m_req_h)); }
void BandedDockArea::onPreferredSize(PreferredSizeEvent& ev) { std::vector<BandInfo>::iterator it; // int count = 0; Size sz; for (it =m_bandInfo.begin(); it!=m_bandInfo.end(); ++it) { if (isHorizontal()) sz.h += it->size; else sz.w += it->size; // count++; } ev.setPreferredSize(sz); // return sz// + (2*max_value(count-1, 0)) // ; }
void AppMenuItem::onPreferredSize(PreferredSizeEvent& ev) { gfx::Size size(0, 0); if (hasText()) { size.w = + getTextWidth() + (inBar() ? this->childSpacing()/4: this->childSpacing()) + border().width(); size.h = + getTextHeight() + border().height(); if (m_key && !m_key->accels().empty()) { size.w += Graphics::measureUIStringLength( m_key->accels().front().toString().c_str(), getFont()); } } ev.setPreferredSize(size); }
void ComboBox::onPreferredSize(PreferredSizeEvent& ev) { Size reqSize(0, 0); Size entrySize = m_entry->getPreferredSize(); // Get the text-length of every item and put in 'w' the maximum value ListItems::iterator it, end = m_items.end(); for (it = m_items.begin(); it != end; ++it) { int item_w = 2*jguiscale()+ getFont()->textLength((*it)->getText().c_str())+ 10*jguiscale(); reqSize.w = MAX(reqSize.w, item_w); } reqSize.w += entrySize.w; reqSize.h += entrySize.h; Size buttonSize = m_button->getPreferredSize(); reqSize.w += buttonSize.w; reqSize.h = MAX(reqSize.h, buttonSize.h); ev.setPreferredSize(reqSize); }
void Notifications::onPreferredSize(PreferredSizeEvent& ev) { ev.setPreferredSize(gfx::Size(16, 10)*guiscale()); // TODO hard-coded flag size }
void ColorSliders:: onPreferredSize(PreferredSizeEvent& ev) { ev.setPreferredSize(m_grid.getPreferredSize()); }