annotate libgui/src/color-picker.cc @ 16581:fa4a035e0cf4

Add octave_link uiputfile implementation * libgui/src/dialog.cc, libgui/src/dialog.h (FileDialog::FileDialog): Change bool multiselect to QString multimode, add mode option of 'create' and set options accordingly. (QUIWidgetCreator::signal_filedialog): Change bool multiselect to QString multimode. (QUIWidgetCreator::create_filedialog): Change bool multiselect to QString multimode. * libgui/src/main-window.cc, libgui/src/main-window.h (main_window::connect_uiwidget_links): update bool multiselect to QString multimode. (main_window::handle_create_filedialog): update bool multiselect to QString multimode. * libgui/src/octave-qt-link.h (octave_qt_link::do_file_dialog): update bool multiselect to std::string multimode. * libinterp/interpfcn/octave-link.h (octave_link::do_file_dialog): update bool multiselect to std::string multimode. (octave_link::file_dialog): update bool multiselect to std::string multimode. * scripts/plot/uiputfile.m (uiputfile): update to call __octave_link_file_dialog__ if octave_link is present.
author John Donoghue <john.donoghue@ieee.org>
date Sun, 28 Apr 2013 17:00:00 -0400
parents 7fa90eb41240
children a1f613e5066d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
7fa90eb41240 gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff changeset
6 // Copyright (C) 2013 Torsten <ttl@justmail.de>
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
7fa90eb41240 gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff changeset
25 #include "color-picker.h"
7fa90eb41240 gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff changeset
26
7fa90eb41240 gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff changeset
27 // constuctor with initial color as parameter
7fa90eb41240 gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff changeset
28 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
29 {
7fa90eb41240 gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff changeset
30 _color = old_color;
7fa90eb41240 gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff changeset
31 setFlat (true);
7fa90eb41240 gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff changeset
32 update_button ();
7fa90eb41240 gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff changeset
33 connect(this, SIGNAL (clicked ()), SLOT (select_color ()));
7fa90eb41240 gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff changeset
34 }
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 // 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
37 void
7fa90eb41240 gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff changeset
38 color_picker::select_color ()
7fa90eb41240 gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff changeset
39 {
7fa90eb41240 gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff changeset
40 QColor new_color = QColorDialog::getColor (_color);
7fa90eb41240 gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff changeset
41 if (new_color.isValid () && new_color != _color)
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 _color = new_color;
7fa90eb41240 gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff changeset
44 update_button ();
7fa90eb41240 gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff changeset
45 }
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
7fa90eb41240 gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff changeset
48 // 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
49 void color_picker::update_button ()
7fa90eb41240 gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff changeset
50 {
7fa90eb41240 gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff changeset
51 QString css = QString("background-color: %1; border: none;" )
7fa90eb41240 gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff changeset
52 .arg(_color.name());
7fa90eb41240 gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff changeset
53 setStyleSheet(css);
7fa90eb41240 gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff changeset
54 repaint ();
7fa90eb41240 gui: individually configurable styles of the editor lexers
Torsten <ttl@justmail.de>
parents:
diff changeset
55 }