Mercurial > octave
annotate libgui/src/color-picker.cc @ 21203:710e700cdd7f
maint: Clean up naming and indentation of #ifdef blocks in libgui
Rename guard #ifdef names to use octave_ namespace prefix and file name.
Indent #ifdef blocks.
* Backend.cc, Backend.h, BaseControl.cc, BaseControl.h, ButtonControl.cc,
ButtonControl.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, MouseModeActionGroup.cc, MouseModeActionGroup.h, Object.cc,
Object.h, ObjectFactory.cc, ObjectFactory.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, TextControl.cc,
TextControl.h, TextEdit.cc, TextEdit.h, ToggleButtonControl.cc,
ToggleButtonControl.h, ToggleTool.cc, ToggleTool.h, ToolBar.cc, ToolBar.h,
ToolBarButton.cc, ToolBarButton.h, __init_qt__.cc, __init_qt__.h,
annotation-dialog.cc, annotation-dialog.h, gl-select.cc, gl-select.h,
color-picker.cc, color-picker.h, dialog.cc, documentation-dock-widget.cc,
documentation-dock-widget.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, history-dock-widget.cc, history-dock-widget.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, octave-qscintilla.cc,
octave-txt-lexer.cc, main-window.cc, octave-cmd.cc, octave-dock-widget.cc,
octave-gui.cc, octave-interpreter.cc, octave-interpreter.h, octave-qt-link.cc,
octave-qt-link.h, parser.cc, webinfo.cc, resource-manager.cc,
resource-manager.h, settings-dialog.cc, settings-dialog.h, shortcut-manager.cc,
shortcut-manager.h, terminal-dock-widget.cc, terminal-dock-widget.h,
thread-manager.cc, welcome-wizard.cc, welcome-wizard.h, workspace-model.cc,
workspace-view.cc:
Clean up naming and indentation of #ifdef blocks in libgui.
author | Rik <rik@octave.org> |
---|---|
date | Sat, 06 Feb 2016 07:32:37 -0800 |
parents | 4197fc428c7d |
children | 40de9f8f23a6 |
rev | line source |
---|---|
16402
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
1 // |
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
2 // This class provides a simple color picker based on tQColorButton |
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
3 // by Harald Jedele, 23.03.01, GPL version 2 or any later version. |
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
4 // |
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
5 // Copyright (C) FZI Forschungszentrum Informatik Karlsruhe |
19697
4197fc428c7d
maint: Update copyright notices for 2015.
John W. Eaton <jwe@octave.org>
parents:
17921
diff
changeset
|
6 // Copyright (C) 2013-2015 Torsten |
16402
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
7 // |
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
8 // This file is part of Octave. |
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
9 // |
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
10 // Octave is free software; you can redistribute it and/or modify it |
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
11 // under the terms of the GNU General Public License as published by the |
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
12 // Free Software Foundation; either version 3 of the License, or (at your |
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
13 // option) any later version. |
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
14 // |
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
15 // Octave is distributed in the hope that it will be useful, but WITHOUT |
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
16 // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
17 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
18 // for more details. |
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
19 // |
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
20 // You should have received a copy of the GNU General Public License |
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
21 // along with Octave; see the file COPYING. If not, see |
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
22 // <http://www.gnu.org/licenses/>. |
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
23 // |
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
24 |
16768 | 25 // Author: Torsten <ttl@justmail.de> |
26 | |
17921
2a4acd6548c6
include config.h in more files in libgui
John W. Eaton <jwe@octave.org>
parents:
17790
diff
changeset
|
27 #ifdef HAVE_CONFIG_H |
21203
710e700cdd7f
maint: Clean up naming and indentation of #ifdef blocks in libgui
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
28 # include <config.h> |
17921
2a4acd6548c6
include config.h in more files in libgui
John W. Eaton <jwe@octave.org>
parents:
17790
diff
changeset
|
29 #endif |
2a4acd6548c6
include config.h in more files in libgui
John W. Eaton <jwe@octave.org>
parents:
17790
diff
changeset
|
30 |
16402
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
31 #include "color-picker.h" |
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
32 |
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
33 // constuctor with initial color as parameter |
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
34 color_picker::color_picker (QColor old_color, QWidget* p) : QPushButton (p) |
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
35 { |
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
36 _color = old_color; |
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
37 setFlat (true); |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
16768
diff
changeset
|
38 setFocusPolicy (Qt::NoFocus); // no focus, would changes the color |
16402
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
39 update_button (); |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
16768
diff
changeset
|
40 connect (this, SIGNAL (clicked ()), SLOT (select_color ())); |
16402
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
41 } |
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
42 |
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
43 // slot for bitton clicked: selct a new color using QColorDialog |
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
44 void |
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
45 color_picker::select_color () |
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
46 { |
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
47 QColor new_color = QColorDialog::getColor (_color); |
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
48 if (new_color.isValid () && new_color != _color) |
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
49 { |
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
50 _color = new_color; |
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
51 update_button (); |
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
52 } |
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
53 } |
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
54 |
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
55 // draw the button with the actual color (using a stylesheet) |
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
56 void color_picker::update_button () |
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
57 { |
16621
2df11dd7a589
draw border around color picker swatches
John W. Eaton <jwe@octave.org>
parents:
16610
diff
changeset
|
58 // Is this the right place to look for a "foreground" color that would |
2df11dd7a589
draw border around color picker swatches
John W. Eaton <jwe@octave.org>
parents:
16610
diff
changeset
|
59 // provide a reasonable border for the color swatches? |
2df11dd7a589
draw border around color picker swatches
John W. Eaton <jwe@octave.org>
parents:
16610
diff
changeset
|
60 QWidget *p = parentWidget (); |
2df11dd7a589
draw border around color picker swatches
John W. Eaton <jwe@octave.org>
parents:
16610
diff
changeset
|
61 |
2df11dd7a589
draw border around color picker swatches
John W. Eaton <jwe@octave.org>
parents:
16610
diff
changeset
|
62 QString bordercolor |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
16768
diff
changeset
|
63 = p ? p->palette ().text ().color ().name () : QString ("#000000"); |
16621
2df11dd7a589
draw border around color picker swatches
John W. Eaton <jwe@octave.org>
parents:
16610
diff
changeset
|
64 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
16768
diff
changeset
|
65 QString css = QString ("background-color: %1; border: 1px solid %2;") |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
16768
diff
changeset
|
66 .arg (_color.name ()) |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
16768
diff
changeset
|
67 .arg (bordercolor); |
16621
2df11dd7a589
draw border around color picker swatches
John W. Eaton <jwe@octave.org>
parents:
16610
diff
changeset
|
68 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
16768
diff
changeset
|
69 setStyleSheet (css); |
16402
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
70 repaint (); |
7fa90eb41240
gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
71 } |