Mercurial > octave
diff libgui/graphics/BaseControl.cc @ 31648:29d734430e5f stable
maint: Re-indent code after switch to using namespace macros.
* BaseControl.cc, BaseControl.h, ButtonControl.cc, ButtonControl.h,
ButtonGroup.cc, ButtonGroup.h, Canvas.cc, Canvas.h,
CheckBoxControl.cc, CheckBoxControl.h, Container.cc, Container.h,
ContextMenu.cc, ContextMenu.h, EditControl.cc, EditControl.h,
Figure.cc, Figure.h, FigureWindow.cc, FigureWindow.h, GLCanvas.cc,
GLCanvas.h, GenericEventNotify.h, KeyMap.cc, KeyMap.h,
ListBoxControl.cc, ListBoxControl.h, Logger.cc, Logger.h, Menu.cc,
Menu.h, MenuContainer.h, Object.cc, Object.h, ObjectProxy.cc,
ObjectProxy.h, Panel.cc, Panel.h, PopupMenuControl.cc,
PopupMenuControl.h, PushButtonControl.cc, PushButtonControl.h,
PushTool.cc, PushTool.h, QtHandlesUtils.cc, QtHandlesUtils.h,
RadioButtonControl.cc, RadioButtonControl.h, SliderControl.cc,
SliderControl.h, Table.cc, Table.h, TextControl.cc, TextControl.h,
TextEdit.cc, TextEdit.h, ToggleButtonControl.cc,
ToggleButtonControl.h, ToggleTool.cc, ToggleTool.h, ToolBar.cc,
ToolBar.h, ToolBarButton.cc, ToolBarButton.h, annotation-dialog.cc,
annotation-dialog.h, gl-select.cc, gl-select.h, qopengl-functions.h,
qt-graphics-toolkit.cc, qt-graphics-toolkit.h, module.mk, QTerminal.h,
color-picker.cc, color-picker.h, command-widget.cc, command-widget.h,
community-news.cc, community-news.h, dialog.cc, dialog.h,
documentation-bookmarks.cc, documentation-bookmarks.h,
documentation-dock-widget.cc, documentation-dock-widget.h,
documentation.cc, documentation.h, dw-main-window.cc,
dw-main-window.h, external-editor-interface.cc,
external-editor-interface.h, files-dock-widget.cc,
files-dock-widget.h, find-files-dialog.cc, find-files-dialog.h,
find-files-model.cc, find-files-model.h, graphics-init.cc,
graphics-init.h, gui-settings.cc, gui-settings.h, gui-utils.cc,
gui-utils.h, history-dock-widget.cc, history-dock-widget.h,
interpreter-qobject.cc, interpreter-qobject.h, led-indicator.cc,
led-indicator.h, file-editor-interface.h, file-editor-tab.cc,
file-editor-tab.h, file-editor.cc, file-editor.h, find-dialog.cc,
find-dialog.h, marker.cc, marker.h, octave-qscintilla.cc,
octave-qscintilla.h, octave-txt-lexer.cc, octave-txt-lexer.h,
main-window.cc, main-window.h, news-reader.cc, news-reader.h,
octave-dock-widget.cc, octave-dock-widget.h, octave-qobject.cc,
octave-qobject.h, qt-application.cc, qt-application.h,
qt-interpreter-events.cc, qt-interpreter-events.h, qt-utils.h,
release-notes.cc, release-notes.h, resource-manager.cc,
resource-manager.h, set-path-dialog.cc, set-path-dialog.h,
set-path-model.cc, set-path-model.h, settings-dialog.cc,
settings-dialog.h, shortcut-manager.cc, shortcut-manager.h,
tab-bar.cc, tab-bar.h, terminal-dock-widget.cc,
terminal-dock-widget.h, variable-editor-model.cc,
variable-editor-model.h, variable-editor.cc, variable-editor.h,
welcome-wizard.cc, welcome-wizard.h, workspace-model.cc,
workspace-model.h, workspace-view.cc, workspace-view.h:
Re-indent code after switch to using namespace macros.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 06 Dec 2022 14:53:00 -0500 |
parents | c6d54dd31a7e |
children | deb553ac2c54 597f3ee61a48 |
line wrap: on
line diff
--- a/libgui/graphics/BaseControl.cc Tue Dec 06 14:37:51 2022 -0500 +++ b/libgui/graphics/BaseControl.cc Tue Dec 06 14:53:00 2022 -0500 @@ -41,302 +41,302 @@ OCTAVE_BEGIN_NAMESPACE(octave) - static void - updatePalette (const uicontrol::properties& props, QWidget *w) - { - QPalette p = w->palette (); +static void +updatePalette (const uicontrol::properties& props, QWidget *w) +{ + QPalette p = w->palette (); - if (props.style_is ("edit") - || props.style_is ("listbox")) - { - Matrix bg_color = props.get_backgroundcolor_rgb (); - // Matlab compatibility: Default color is ignored, and rendered as - // white ([1.0, 1.0, 1.0]). See bug #58261. - if (bg_color(0) == bg_color(1) && bg_color(0) == bg_color(2) - && (std::abs (bg_color(1) - 0.94) < .005)) - bg_color.fill (1.0); + if (props.style_is ("edit") + || props.style_is ("listbox")) + { + Matrix bg_color = props.get_backgroundcolor_rgb (); + // Matlab compatibility: Default color is ignored, and rendered as + // white ([1.0, 1.0, 1.0]). See bug #58261. + if (bg_color(0) == bg_color(1) && bg_color(0) == bg_color(2) + && (std::abs (bg_color(1) - 0.94) < .005)) + bg_color.fill (1.0); - p.setColor (QPalette::Active, QPalette::Base, - Utils::fromRgb (bg_color)); - p.setColor (QPalette::Inactive, QPalette::Base, - Utils::fromRgb (bg_color)); - p.setColor (QPalette::Active, QPalette::Text, - Utils::fromRgb (props.get_foregroundcolor_rgb ())); - p.setColor (QPalette::Inactive, QPalette::Text, - Utils::fromRgb (props.get_foregroundcolor_rgb ())); - } - else if (props.style_is ("popupmenu")) - { - // popupmenu (QComboBox) is a listbox with a button. - // This requires setting colors for both. - QColor bcol = Utils::fromRgb (props.get_backgroundcolor_rgb ()); - QColor fcol = Utils::fromRgb (props.get_foregroundcolor_rgb ()); - QString qss = QString (":enabled { background: %1 none;\n" - "color: %2; }") - .arg(bcol.name ()).arg (fcol.name ()); - w->setStyleSheet(qss); - return; - } - else if (props.style_is ("radiobutton") - || props.style_is ("checkbox")) - { - p.setColor (QPalette::Active, QPalette::Button, - Utils::fromRgb (props.get_backgroundcolor_rgb ())); - p.setColor (QPalette::Inactive, QPalette::Button, - Utils::fromRgb (props.get_backgroundcolor_rgb ())); - p.setColor (QPalette::Active, QPalette::WindowText, - Utils::fromRgb (props.get_foregroundcolor_rgb ())); - p.setColor (QPalette::Inactive, QPalette::WindowText, - Utils::fromRgb (props.get_foregroundcolor_rgb ())); - } - else if (props.style_is ("pushbutton") - || props.style_is ("togglebutton")) - { - QColor bcol = Utils::fromRgb (props.get_backgroundcolor_rgb ()); - QColor fcol = Utils::fromRgb (props.get_foregroundcolor_rgb ()); - QString qss = QString (":enabled { background: %1 none;\n" - "color: %2; }") - .arg(bcol.name ()).arg (fcol.name ()); - w->setStyleSheet(qss); - return; - } - else - { - p.setColor (QPalette::Active, QPalette::Window, - Utils::fromRgb (props.get_backgroundcolor_rgb ())); - p.setColor (QPalette::Inactive, QPalette::Window, - Utils::fromRgb (props.get_backgroundcolor_rgb ())); - p.setColor (QPalette::Active, QPalette::WindowText, - Utils::fromRgb (props.get_foregroundcolor_rgb ())); - p.setColor (QPalette::Inactive, QPalette::WindowText, - Utils::fromRgb (props.get_foregroundcolor_rgb ())); - } + p.setColor (QPalette::Active, QPalette::Base, + Utils::fromRgb (bg_color)); + p.setColor (QPalette::Inactive, QPalette::Base, + Utils::fromRgb (bg_color)); + p.setColor (QPalette::Active, QPalette::Text, + Utils::fromRgb (props.get_foregroundcolor_rgb ())); + p.setColor (QPalette::Inactive, QPalette::Text, + Utils::fromRgb (props.get_foregroundcolor_rgb ())); + } + else if (props.style_is ("popupmenu")) + { + // popupmenu (QComboBox) is a listbox with a button. + // This requires setting colors for both. + QColor bcol = Utils::fromRgb (props.get_backgroundcolor_rgb ()); + QColor fcol = Utils::fromRgb (props.get_foregroundcolor_rgb ()); + QString qss = QString (":enabled { background: %1 none;\n" + "color: %2; }") + .arg(bcol.name ()).arg (fcol.name ()); + w->setStyleSheet(qss); + return; + } + else if (props.style_is ("radiobutton") + || props.style_is ("checkbox")) + { + p.setColor (QPalette::Active, QPalette::Button, + Utils::fromRgb (props.get_backgroundcolor_rgb ())); + p.setColor (QPalette::Inactive, QPalette::Button, + Utils::fromRgb (props.get_backgroundcolor_rgb ())); + p.setColor (QPalette::Active, QPalette::WindowText, + Utils::fromRgb (props.get_foregroundcolor_rgb ())); + p.setColor (QPalette::Inactive, QPalette::WindowText, + Utils::fromRgb (props.get_foregroundcolor_rgb ())); + } + else if (props.style_is ("pushbutton") + || props.style_is ("togglebutton")) + { + QColor bcol = Utils::fromRgb (props.get_backgroundcolor_rgb ()); + QColor fcol = Utils::fromRgb (props.get_foregroundcolor_rgb ()); + QString qss = QString (":enabled { background: %1 none;\n" + "color: %2; }") + .arg(bcol.name ()).arg (fcol.name ()); + w->setStyleSheet(qss); + return; + } + else + { + p.setColor (QPalette::Active, QPalette::Window, + Utils::fromRgb (props.get_backgroundcolor_rgb ())); + p.setColor (QPalette::Inactive, QPalette::Window, + Utils::fromRgb (props.get_backgroundcolor_rgb ())); + p.setColor (QPalette::Active, QPalette::WindowText, + Utils::fromRgb (props.get_foregroundcolor_rgb ())); + p.setColor (QPalette::Inactive, QPalette::WindowText, + Utils::fromRgb (props.get_foregroundcolor_rgb ())); + } - w->setPalette (p); - } + w->setPalette (p); +} - BaseControl::BaseControl (octave::base_qobject& oct_qobj, - octave::interpreter& interp, - const graphics_object& go, QWidget *w) - : Object (oct_qobj, interp, go, w), m_normalizedFont (false), - m_keyPressHandlerDefined (false) - { - qObject ()->setObjectName ("UIControl"); - init (w); - } +BaseControl::BaseControl (octave::base_qobject& oct_qobj, + octave::interpreter& interp, + const graphics_object& go, QWidget *w) + : Object (oct_qobj, interp, go, w), m_normalizedFont (false), + m_keyPressHandlerDefined (false) +{ + qObject ()->setObjectName ("UIControl"); + init (w); +} + +void +BaseControl::init (QWidget *w, bool callBase) +{ + if (callBase) + Object::init (w, callBase); + + uicontrol::properties& up = properties<uicontrol> (); - void - BaseControl::init (QWidget *w, bool callBase) - { - if (callBase) - Object::init (w, callBase); + Matrix bb = up.get_boundingbox (false); + w->setGeometry (octave::math::round (bb(0)), octave::math::round (bb(1)), + octave::math::round (bb(2)), octave::math::round (bb(3))); + w->setFont (Utils::computeFont<uicontrol> (up, bb(3))); + updatePalette (up, w); + if (up.enable_is ("inactive")) + w->blockSignals (true); + else + w->setEnabled (up.enable_is ("on")); + w->setToolTip (Utils::fromStdString (up.get_tooltipstring ())); + w->setVisible (up.is_visible ()); + m_keyPressHandlerDefined = ! up.get_keypressfcn ().isempty (); - uicontrol::properties& up = properties<uicontrol> (); + w->installEventFilter (this); - Matrix bb = up.get_boundingbox (false); - w->setGeometry (octave::math::round (bb(0)), octave::math::round (bb(1)), - octave::math::round (bb(2)), octave::math::round (bb(3))); - w->setFont (Utils::computeFont<uicontrol> (up, bb(3))); - updatePalette (up, w); - if (up.enable_is ("inactive")) - w->blockSignals (true); - else - w->setEnabled (up.enable_is ("on")); - w->setToolTip (Utils::fromStdString (up.get_tooltipstring ())); - w->setVisible (up.is_visible ()); - m_keyPressHandlerDefined = ! up.get_keypressfcn ().isempty (); + m_normalizedFont = up.fontunits_is ("normalized"); +} + +BaseControl::~BaseControl (void) +{ } + +void +BaseControl::redraw (void) +{ + update (uicontrol::properties::ID_POSITION); +} + +void +BaseControl::update (int pId) +{ + uicontrol::properties& up = properties<uicontrol> (); + QWidget *w = qWidget<QWidget> (); - w->installEventFilter (this); + switch (pId) + { + case uicontrol::properties::ID_POSITION: + { + Matrix bb = up.get_boundingbox (false); + w->setGeometry (octave::math::round (bb(0)), octave::math::round (bb(1)), + octave::math::round (bb(2)), octave::math::round (bb(3))); + } + break; - m_normalizedFont = up.fontunits_is ("normalized"); - } - - BaseControl::~BaseControl (void) - { } + case uicontrol::properties::ID_FONTNAME: + case uicontrol::properties::ID_FONTSIZE: + case uicontrol::properties::ID_FONTWEIGHT: + case uicontrol::properties::ID_FONTANGLE: + w->setFont (Utils::computeFont<uicontrol> (up)); + break; - void - BaseControl::redraw (void) - { - update (uicontrol::properties::ID_POSITION); - } + case uicontrol::properties::ID_FONTUNITS: + // FIXME: We shouldn't have to do anything, octave should update + // the "fontsize" property automatically to the new units. + // Hence the actual font used shouldn't change. + m_normalizedFont = up.fontunits_is ("normalized"); + break; - void - BaseControl::update (int pId) - { - uicontrol::properties& up = properties<uicontrol> (); - QWidget *w = qWidget<QWidget> (); + case uicontrol::properties::ID_BACKGROUNDCOLOR: + case uicontrol::properties::ID_FOREGROUNDCOLOR: + updatePalette (up, w); + break; - switch (pId) - { - case uicontrol::properties::ID_POSITION: + case uicontrol::properties::ID_ENABLE: + if (up.enable_is ("inactive")) + { + w->blockSignals (true); + w->setEnabled (true); + } + else { - Matrix bb = up.get_boundingbox (false); - w->setGeometry (octave::math::round (bb(0)), octave::math::round (bb(1)), - octave::math::round (bb(2)), octave::math::round (bb(3))); + w->blockSignals (false); + w->setEnabled (up.enable_is ("on")); } - break; + break; + + case uicontrol::properties::ID_TOOLTIPSTRING: + w->setToolTip (Utils::fromStdString (up.get_tooltipstring ())); + break; - case uicontrol::properties::ID_FONTNAME: - case uicontrol::properties::ID_FONTSIZE: - case uicontrol::properties::ID_FONTWEIGHT: - case uicontrol::properties::ID_FONTANGLE: - w->setFont (Utils::computeFont<uicontrol> (up)); - break; + case base_properties::ID_VISIBLE: + w->setVisible (up.is_visible ()); + break; + + case uicontrol::properties::ID_KEYPRESSFCN: + m_keyPressHandlerDefined = ! up.get_keypressfcn ().isempty (); + break; + + case uicontrol::properties::ID___FOCUS__: + if (up.is___focus__ ()) + w->setFocus (); + else + w->clearFocus (); + break; - case uicontrol::properties::ID_FONTUNITS: - // FIXME: We shouldn't have to do anything, octave should update - // the "fontsize" property automatically to the new units. - // Hence the actual font used shouldn't change. - m_normalizedFont = up.fontunits_is ("normalized"); - break; + default: + break; + } +} + +bool +BaseControl::eventFilter (QObject *watched, QEvent *xevent) +{ + gh_manager& gh_mgr = m_interpreter.get_gh_manager (); - case uicontrol::properties::ID_BACKGROUNDCOLOR: - case uicontrol::properties::ID_FOREGROUNDCOLOR: - updatePalette (up, w); - break; + switch (xevent->type ()) + { + case QEvent::Resize: + if (m_normalizedFont) + { + octave::autolock guard (gh_mgr.graphics_lock ()); - case uicontrol::properties::ID_ENABLE: - if (up.enable_is ("inactive")) + qWidget<QWidget> ()->setFont (Utils::computeFont<uicontrol> + (properties<uicontrol> ())); + } + break; + + case QEvent::MouseButtonPress: + { + octave::autolock guard (gh_mgr.graphics_lock ()); + + QMouseEvent *m = dynamic_cast<QMouseEvent *> (xevent); + graphics_object go = object (); + uicontrol::properties& up = Utils::properties<uicontrol> (go); + graphics_object fig = go.get_ancestor ("figure"); + if (fig) { - w->blockSignals (true); - w->setEnabled (true); - } - else - { - w->blockSignals (false); - w->setEnabled (up.enable_is ("on")); - } - break; + emit gh_set_event (fig.get_handle (), "currentobject", + m_handle.value (), false); - case uicontrol::properties::ID_TOOLTIPSTRING: - w->setToolTip (Utils::fromStdString (up.get_tooltipstring ())); - break; - - case base_properties::ID_VISIBLE: - w->setVisible (up.is_visible ()); - break; - - case uicontrol::properties::ID_KEYPRESSFCN: - m_keyPressHandlerDefined = ! up.get_keypressfcn ().isempty (); - break; + if (m->button () != Qt::LeftButton || ! up.enable_is ("on")) + { + emit gh_set_event (fig.get_handle (), "selectiontype", + Utils::figureSelectionType (m), false); + emit gh_set_event (fig.get_handle (), "currentpoint", + Utils::figureCurrentPoint (fig, m), + false); + emit gh_callback_event (fig.get_handle (), + "windowbuttondownfcn"); + emit gh_callback_event (m_handle, "buttondownfcn"); - case uicontrol::properties::ID___FOCUS__: - if (up.is___focus__ ()) - w->setFocus (); - else - w->clearFocus (); - break; - - default: - break; + if (m->button () == Qt::RightButton) + ContextMenu::executeAt (m_interpreter, up, m->globalPos ()); + } + else + { + if (up.style_is ("listbox")) + emit gh_set_event (fig.get_handle (), "selectiontype", + Utils::figureSelectionType (m), + false); + else + emit gh_set_event (fig.get_handle (), "selectiontype", + octave_value ("normal"), false); + } + } } - } + break; - bool - BaseControl::eventFilter (QObject *watched, QEvent *xevent) - { - gh_manager& gh_mgr = m_interpreter.get_gh_manager (); - - switch (xevent->type ()) - { - case QEvent::Resize: - if (m_normalizedFont) - { - octave::autolock guard (gh_mgr.graphics_lock ()); - - qWidget<QWidget> ()->setFont (Utils::computeFont<uicontrol> - (properties<uicontrol> ())); - } - break; - - case QEvent::MouseButtonPress: + case QEvent::MouseMove: + if (qWidget<QWidget> ()->hasMouseTracking ()) { octave::autolock guard (gh_mgr.graphics_lock ()); QMouseEvent *m = dynamic_cast<QMouseEvent *> (xevent); graphics_object go = object (); - uicontrol::properties& up = Utils::properties<uicontrol> (go); graphics_object fig = go.get_ancestor ("figure"); + if (fig) { - emit gh_set_event (fig.get_handle (), "currentobject", - m_handle.value (), false); - - if (m->button () != Qt::LeftButton || ! up.enable_is ("on")) - { - emit gh_set_event (fig.get_handle (), "selectiontype", - Utils::figureSelectionType (m), false); - emit gh_set_event (fig.get_handle (), "currentpoint", - Utils::figureCurrentPoint (fig, m), - false); - emit gh_callback_event (fig.get_handle (), - "windowbuttondownfcn"); - emit gh_callback_event (m_handle, "buttondownfcn"); - - if (m->button () == Qt::RightButton) - ContextMenu::executeAt (m_interpreter, up, m->globalPos ()); - } - else - { - if (up.style_is ("listbox")) - emit gh_set_event (fig.get_handle (), "selectiontype", - Utils::figureSelectionType (m), - false); - else - emit gh_set_event (fig.get_handle (), "selectiontype", - octave_value ("normal"), false); - } + emit gh_set_event (fig.get_handle (), "currentpoint", + Utils::figureCurrentPoint (fig, m), false); + emit gh_callback_event (fig.get_handle (), + "windowbuttonmotionfcn"); } } - break; - - case QEvent::MouseMove: - if (qWidget<QWidget> ()->hasMouseTracking ()) - { - octave::autolock guard (gh_mgr.graphics_lock ()); + break; - QMouseEvent *m = dynamic_cast<QMouseEvent *> (xevent); - graphics_object go = object (); - graphics_object fig = go.get_ancestor ("figure"); + case QEvent::KeyPress: + if (m_keyPressHandlerDefined) + { + octave::autolock guard (gh_mgr.graphics_lock ()); - if (fig) - { - emit gh_set_event (fig.get_handle (), "currentpoint", - Utils::figureCurrentPoint (fig, m), false); - emit gh_callback_event (fig.get_handle (), - "windowbuttonmotionfcn"); - } - } - break; + octave_scalar_map keyData = + Utils::makeKeyEventStruct (dynamic_cast<QKeyEvent *> (xevent)); + graphics_object fig = object ().get_ancestor ("figure"); - case QEvent::KeyPress: - if (m_keyPressHandlerDefined) - { - octave::autolock guard (gh_mgr.graphics_lock ()); + emit gh_set_event (fig.get_handle (), "currentcharacter", + keyData.getfield ("Character"), false); + emit gh_callback_event (m_handle, "keypressfcn", keyData); + } + break; - octave_scalar_map keyData = - Utils::makeKeyEventStruct (dynamic_cast<QKeyEvent *> (xevent)); - graphics_object fig = object ().get_ancestor ("figure"); - - emit gh_set_event (fig.get_handle (), "currentcharacter", - keyData.getfield ("Character"), false); - emit gh_callback_event (m_handle, "keypressfcn", keyData); - } - break; + case QEvent::FocusIn: + emit gh_set_event (m_handle, "__focus__", "on", false); + break; - case QEvent::FocusIn: - emit gh_set_event (m_handle, "__focus__", "on", false); - break; + case QEvent::FocusOut: + emit gh_set_event (m_handle, "__focus__", "off", false); + break; - case QEvent::FocusOut: - emit gh_set_event (m_handle, "__focus__", "off", false); - break; + default: + break; + } - default: - break; - } - - return Object::eventFilter (watched, xevent); - } + return Object::eventFilter (watched, xevent); +} OCTAVE_END_NAMESPACE(octave)