[yast-commit] r43547 - in /trunk/gtk/src: YGLayout.cc YGUtils.cc YGUtils.h YGWidget.cc
Author: rpmcruz Date: Fri Jan 11 03:11:41 2008 New Revision: 43547 URL: http://svn.opensuse.org/viewcvs/yast?rev=43547&view=rev Log: Some changing on alignment... Modified: trunk/gtk/src/YGLayout.cc trunk/gtk/src/YGUtils.cc trunk/gtk/src/YGUtils.h trunk/gtk/src/YGWidget.cc Modified: trunk/gtk/src/YGLayout.cc URL: http://svn.opensuse.org/viewcvs/yast/trunk/gtk/src/YGLayout.cc?rev=43547&r1=43546&r2=43547&view=diff ============================================================================== --- trunk/gtk/src/YGLayout.cc (original) +++ trunk/gtk/src/YGLayout.cc Fri Jan 11 03:11:41 2008 @@ -144,19 +144,32 @@ void setAlignment (YAlignmentType halign, YAlignmentType valign) { - bool hstretch = halign == YAlignUnchanged || stretchable (YD_HORIZ); - bool vstretch = valign == YAlignUnchanged || stretchable (YD_VERT); + struct inner { + // helper -- converts YWidget YAlignmentType to Gtk's align float + static float yToGtkAlign (YAlignmentType align) + { + switch (align) { + case YAlignBegin: return 0.0; + default: + case YAlignCenter: return 0.5; + case YAlignEnd: return 1.0; + } + } + }; - GValue xalign, yalign, xscale, yscale; - xalign = YGUtils::floatToGValue (yToGtkAlign (halign)); - yalign = YGUtils::floatToGValue (yToGtkAlign (valign)); - xscale = YGUtils::floatToGValue (hstretch ? 1 : 0); - yscale = YGUtils::floatToGValue (vstretch ? 1 : 0); - - g_object_set_property (G_OBJECT (getWidget()), "xalign", &xalign); - g_object_set_property (G_OBJECT (getWidget()), "yalign", &yalign); - g_object_set_property (G_OBJECT (getWidget()), "xscale", &xscale); - g_object_set_property (G_OBJECT (getWidget()), "yscale", &yscale); + float xalign, yalign, xscale, yscale; + xalign = inner::yToGtkAlign (halign); + yalign = inner::yToGtkAlign (valign); + xscale = (halign == YAlignUnchanged) ? 1 : 0; + yscale = (valign == YAlignUnchanged) ? 1 : 0; + if (hasChildren()) { + // special case: child has stretch opt + if (firstChild()->stretchable (YD_HORIZ)) + xscale = 1; + if (firstChild()->stretchable (YD_VERT)) + yscale = 1; + } + gtk_alignment_set (GTK_ALIGNMENT (getWidget()), xalign, yalign, xscale, yscale); } void setPadding (int top, int bottom, int left, int right) @@ -237,18 +250,6 @@ str += inner::alignLabel (alignment (YD_VERT)); return str; } - -private: - // helper -- converts YWidget YAlignmentType to Gtk's align float - static float yToGtkAlign (YAlignmentType align) - { - switch (align) { - case YAlignBegin: return 0.0; - default: - case YAlignCenter: return 0.5; - case YAlignEnd: return 1.0; - } - } }; YAlignment *YGWidgetFactory::createAlignment (YWidget *parent, YAlignmentType halign, Modified: trunk/gtk/src/YGUtils.cc URL: http://svn.opensuse.org/viewcvs/yast/trunk/gtk/src/YGUtils.cc?rev=43547&r1=43546&r2=43547&view=diff ============================================================================== --- trunk/gtk/src/YGUtils.cc (original) +++ trunk/gtk/src/YGUtils.cc Fri Jan 11 03:11:41 2008 @@ -460,14 +460,6 @@ return parts; } -GValue YGUtils::floatToGValue (float num) -{ - GValue value = { 0 }; - g_value_init (&value, G_TYPE_FLOAT); - g_value_set_float (&value, num); - return value; -} - GdkPixbuf *YGUtils::loadPixbuf (const string &filename) { GdkPixbuf *pixbuf = NULL; Modified: trunk/gtk/src/YGUtils.h URL: http://svn.opensuse.org/viewcvs/yast/trunk/gtk/src/YGUtils.h?rev=43547&r1=43546&r2=43547&view=diff ============================================================================== --- trunk/gtk/src/YGUtils.h (original) +++ trunk/gtk/src/YGUtils.h Fri Jan 11 03:11:41 2008 @@ -56,9 +56,6 @@ eg: splitString ("Office/Writer", '/') => { "Office", "Writer" } */ std::list std::string splitString (const std::string &str, char separator); - /* Converts stuff to GValues */ - GValue floatToGValue (float num); - GdkPixbuf *loadPixbuf (const std::string &fileneme); /* Tries to make sense out of the string, applying some stock icon to the button. */ Modified: trunk/gtk/src/YGWidget.cc URL: http://svn.opensuse.org/viewcvs/yast/trunk/gtk/src/YGWidget.cc?rev=43547&r1=43546&r2=43547&view=diff ============================================================================== --- trunk/gtk/src/YGWidget.cc (original) +++ trunk/gtk/src/YGWidget.cc Fri Jan 11 03:11:41 2008 @@ -64,7 +64,7 @@ YGWidget *YGWidget::get (YWidget *ywidget) { - g_assert (ywidget->widgetRep() != NULL); + //g_assert (ywidget->widgetRep() != NULL); return (YGWidget *) ywidget->widgetRep(); } -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org
participants (1)
-
rpmcruz@svn.opensuse.org