5 #define YUILogComponent "gtk"
14 YGLabel (YWidget *parent,
const std::string &text,
bool heading,
bool outputField)
15 : YLabel (NULL, text, heading, outputField),
16 YGWidget (
this, parent, GTK_TYPE_LABEL, NULL)
19 gtk_widget_set_halign (getWidget(), GTK_ALIGN_START);
20 gtk_widget_set_valign (getWidget(), GTK_ALIGN_CENTER);
23 gtk_label_set_selectable (GTK_LABEL (getWidget()), TRUE);
24 gtk_label_set_single_line_mode (GTK_LABEL (getWidget()), TRUE);
25 YGUtils::setWidgetFont (getWidget(), PANGO_STYLE_ITALIC, PANGO_WEIGHT_NORMAL,
29 YGUtils::setWidgetFont (getWidget(), PANGO_STYLE_NORMAL, PANGO_WEIGHT_BOLD,
34 virtual void setText (
const std::string &label)
36 YLabel::setText (label);
37 gtk_label_set_label (GTK_LABEL (getWidget()), label.c_str());
38 std::string::size_type i = label.find (
'\n', 0);
39 if (isOutputField()) {
40 if (i != std::string::npos) {
41 std::string l (label, 0, i);
42 gtk_label_set_label (GTK_LABEL (getWidget()), l.c_str());
46 bool selectable = i != std::string::npos && i != label.size()-1;
47 gtk_label_set_selectable (GTK_LABEL (getWidget()), selectable);
51 YGWIDGET_IMPL_COMMON (YLabel)
52 YGWIDGET_IMPL_USE_BOLD (YLabel)
55 YLabel *YGWidgetFactory::createLabel (YWidget *parent,
56 const std::string &text,
bool heading,
bool outputField)
57 {
return new YGLabel (parent, text, heading, outputField); }