]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
Issue 0021328: EDF 1920 PARAVIS: Missing drop down menu in the calculator
authorvsr <vsr@opencascade.com>
Fri, 22 Jul 2011 11:36:41 +0000 (11:36 +0000)
committervsr <vsr@opencascade.com>
Fri, 22 Jul 2011 11:36:41 +0000 (11:36 +0000)
src/Style/Style_Salome.cxx

index 5c248bab1ea530d03da15a832890558d8b6f4319..cf4d24942d22a92e4d9e6c7b97f89f5274163cad 100644 (file)
@@ -796,7 +796,7 @@ void Style_Salome::drawControl( ControlElement ce, const QStyleOption* opt,
         break;
       }
     case CE_PushButtonBevel:
-      if ( qstyleoption_cast<const QStyleOptionButton *>(opt) ) {
+      if ( const QStyleOptionButton *btn = qstyleoption_cast<const QStyleOptionButton *>(opt) ) {
         double aRad = model()->widgetRounding( Style_Model::ButtonRadius );
         bool aStateOn = opt->state & ( State_Sunken | State_On );
         bool isAutoRaising = model()->widgetEffect() == Style_Model::AutoRaiseEffect;
@@ -819,6 +819,12 @@ void Style_Salome::drawControl( ControlElement ce, const QStyleOption* opt,
         else
           Style_Tools::shadowRect( p, r, aRad, -1, SHADOW, Style_Tools::All, top, bottom,
                                    aBrdTopCol, aBrdBotCol, antialized, true, aStateOn );
+       if (btn->features & QStyleOptionButton::HasMenu) {
+         int mbi = pixelMetric(PM_MenuButtonIndicator, btn, w);
+         QStyleOptionButton newBtn = *btn;
+         newBtn.rect = QRect(r.right() - mbi-2, r.height()/2 - mbi/2, mbi, mbi);
+         drawPrimitive(PE_IndicatorArrowDown, &newBtn, p, w);
+       }
         break;
       }
       case CE_DockWidgetTitle: