Mercurial > octave
view libgui/graphics/BaseControl.h @ 28248:aee0f20c8029
Implement "gray" when uicontrol radiobutton/checkbox are disabled (bug #57128)
* BaseControl.cc (updatePalette): Call setColor() with additional argument of
"QPalette::Active" and again with "QPalette::Inactive" so that colors are set
only for specific roles.
* CheckBoxControl.h (CheckBoxControl): Declare new private member function
update().
* CheckBoxControl.cc (CheckBoxControl): Check for "Enable" property value of
"inactive" and call setCheckable (false) if found.
* CheckBoxControl.cc (update): New function to intercept and handle change to
"Enable" property before forwarding to BaseControl.
* RadioButtonControl.cc (RadioButtonControl): Check for "Enable" property value
of "inactive" and call setCheckable (false) if found.
* RadioButtonControl.cc (update): New function to intercept and handle change
to "Enable" property before forwarding to BaseControl.
author | Rik <rik@octave.org> |
---|---|
date | Sun, 26 Apr 2020 18:15:30 -0700 |
parents | bd51beb6205e |
children | 0a5b15007766 |
line wrap: on
line source
//////////////////////////////////////////////////////////////////////// // // Copyright (C) 2011-2020 The Octave Project Developers // // See the file COPYRIGHT.md in the top-level directory of this // distribution or <https://octave.org/copyright/>. // // This file is part of Octave. // // Octave is free software: you can redistribute it and/or modify it // under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // Octave is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Octave; see the file COPYING. If not, see // <https://www.gnu.org/licenses/>. // //////////////////////////////////////////////////////////////////////// #if ! defined (octave_BaseControl_h) #define octave_BaseControl_h 1 #include "Object.h" class QEvent; class QObject; namespace octave { class base_qobject; class interpreter; } namespace QtHandles { class BaseControl : public Object { public: BaseControl (octave::base_qobject& oct_qobj, octave::interpreter& interp, const graphics_object& go, QWidget *w); ~BaseControl (void); Container * innerContainer (void) { return nullptr; } bool eventFilter (QObject *watched, QEvent *e); protected: void init (QWidget *w, bool callBase = false); void redraw (void); void update (int pId); private: bool m_normalizedFont; bool m_keyPressHandlerDefined; }; } #endif