GNU Octave
7.1.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
octave-dock-widget.h
Go to the documentation of this file.
1
////////////////////////////////////////////////////////////////////////
2
//
3
// Copyright (C) 2012-2022 The Octave Project Developers
4
//
5
// See the file COPYRIGHT.md in the top-level directory of this
6
// distribution or <https://octave.org/copyright/>.
7
//
8
// This file is part of Octave.
9
//
10
// Octave is free software: you can redistribute it and/or modify it
11
// under the terms of the GNU General Public License as published by
12
// the Free Software Foundation, either version 3 of the License, or
13
// (at your option) any later version.
14
//
15
// Octave is distributed in the hope that it will be useful, but
16
// WITHOUT ANY WARRANTY; without even the implied warranty of
17
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
// GNU General Public License for more details.
19
//
20
// You should have received a copy of the GNU General Public License
21
// along with Octave; see the file COPYING. If not, see
22
// <https://www.gnu.org/licenses/>.
23
//
24
////////////////////////////////////////////////////////////////////////
25
26
#if ! defined (octave_octave_dock_widget_h)
27
#define octave_octave_dock_widget_h 1
28
29
#include <QDockWidget>
30
#include <QIcon>
31
#include <QMouseEvent>
32
#include <QToolButton>
33
34
#include "
gui-settings.h
"
35
#include "
qt-interpreter-events.h
"
36
37
namespace
octave
38
{
39
class
base_qobject;
40
class
main_window;
41
42
// The few decoration items common to both main window and variable editor.
43
44
class
label_dock_widget
:
public
QDockWidget
45
{
46
Q_OBJECT
47
48
public
:
49
50
label_dock_widget
(
QWidget
*p,
base_qobject
& oct_qobj);
51
52
~label_dock_widget
(
void
) =
default
;
53
54
// set_title() uses the custom title bar while setWindowTitle() uses
55
// the default title bar (with style sheets)
56
void
set_title
(
const
QString&);
57
58
protected
slots:
59
60
//! Slots to handle copy & paste.
61
//!@{
62
virtual
void
copyClipboard
(
void
) { }
63
virtual
void
pasteClipboard
(
void
) { }
64
virtual
void
selectAll
(
void
) { }
65
//!@}
66
67
//! Slot to handle undo.
68
69
virtual
void
do_undo
(
void
) { }
70
71
protected
:
72
73
base_qobject
&
m_octave_qobj
;
74
75
int
m_icon_size
;
76
QWidget
*
m_title_widget
;
77
QToolButton
*
m_dock_button
;
78
QToolButton
*
m_close_button
;
79
QAction *
m_dock_action
;
80
QAction *
m_close_action
;
81
82
QAbstractButton *
m_default_float_button
;
83
QAbstractButton *
m_default_close_button
;
84
};
85
86
class
octave_dock_widget
:
public
label_dock_widget
87
{
88
Q_OBJECT
89
90
public
:
91
92
octave_dock_widget
(
const
QString& obj_name,
QWidget
*p,
93
base_qobject
& oct_qobj);
94
95
~octave_dock_widget
(
void
) =
default
;
96
97
void
set_predecessor_widget
(
octave_dock_widget
*prev_widget);
98
99
void
set_main_window
(
main_window
*mw);
100
101
void
set_adopted
(
bool
adopted
=
true
) {
m_adopted
=
adopted
; }
102
bool
adopted
(
void
)
const
{
return
m_adopted
; }
103
104
signals:
105
106
//! Custom signal that tells whether a user has clicked away that dock
107
//! widget, i.e. the active dock widget has changed.
108
109
void
active_changed
(
bool
active);
110
111
void
queue_make_window
(
bool
widget_was_dragged);
112
113
void
queue_make_widget
(
void
);
114
115
protected
:
116
117
virtual
void
closeEvent
(QCloseEvent *e);
118
119
QWidget
*
focusWidget
(
void
);
120
121
bool
event
(QEvent *
event
);
122
123
public
slots:
124
125
virtual
void
activate
(
void
);
126
127
virtual
void
handle_visibility
(
bool
visible);
128
129
virtual
void
notice_settings
(
const
gui_settings
*) { }
130
131
virtual
void
save_settings
(
void
);
132
133
void
init_window_menu_entry
(
void
);
134
135
void
handle_settings
(
const
gui_settings
*);
136
137
void
handle_active_dock_changed
(
octave_dock_widget
*,
octave_dock_widget
*);
138
139
void
moveEvent
(QMoveEvent *
event
);
140
141
void
resizeEvent
(QResizeEvent *
event
);
142
143
void
make_window
(
bool
widget_was_dragged =
false
);
144
145
void
make_widget
(
bool
not_used =
false
);
146
147
void
default_dock
(
bool
not_used =
false
);
148
149
protected
slots:
150
151
virtual
void
toplevel_change
(
bool
);
152
153
//! Event filter for double clicks into the window decoration elements.
154
155
bool
eventFilter
(
QObject
*obj, QEvent *e);
156
157
private
slots:
158
159
void
change_visibility
(
bool
);
160
161
private
:
162
163
void
set_style
(
bool
active);
164
void
set_focus_predecessor
(
void
);
165
void
store_geometry
(
void
);
166
167
//! Stores the parent, since we are reparenting to 0.
168
169
main_window
*
m_main_window
;
170
171
bool
m_adopted
;
172
bool
m_custom_style
;
173
bool
m_focus_follows_mouse
;
174
int
m_title_3d
;
175
QColor
m_bg_color
;
176
QColor
m_bg_color_active
;
177
QColor
m_fg_color
;
178
QColor
m_fg_color_active
;
179
QString
m_icon_color
;
180
QString
m_icon_color_active
;
181
octave_dock_widget
*
m_predecessor_widget
;
182
QRect
m_recent_float_geom
;
183
QRect
m_recent_dock_geom
;
184
bool
m_waiting_for_mouse_button_release
;
185
};
186
}
187
188
#endif
QDockWidget
QObject
QToolButton
QWidget
octave::base_qobject
Base class for Octave interfaces that use Qt.
Definition:
octave-qobject.h:99
octave::gui_settings
Definition:
gui-settings.h:36
octave::label_dock_widget
Definition:
octave-dock-widget.h:45
octave::label_dock_widget::m_dock_action
QAction * m_dock_action
Definition:
octave-dock-widget.h:79
octave::label_dock_widget::m_icon_size
int m_icon_size
Definition:
octave-dock-widget.h:75
octave::label_dock_widget::m_default_close_button
QAbstractButton * m_default_close_button
Definition:
octave-dock-widget.h:83
octave::label_dock_widget::m_default_float_button
QAbstractButton * m_default_float_button
Definition:
octave-dock-widget.h:82
octave::label_dock_widget::selectAll
virtual void selectAll(void)
Slots to handle copy & paste.
Definition:
octave-dock-widget.h:64
octave::label_dock_widget::m_title_widget
QWidget * m_title_widget
Definition:
octave-dock-widget.h:76
octave::label_dock_widget::m_close_button
QToolButton * m_close_button
Definition:
octave-dock-widget.h:78
octave::label_dock_widget::label_dock_widget
label_dock_widget(QWidget *p, base_qobject &oct_qobj)
Definition:
octave-dock-widget.cc:50
octave::label_dock_widget::copyClipboard
virtual void copyClipboard(void)
Slots to handle copy & paste.
Definition:
octave-dock-widget.h:62
octave::label_dock_widget::do_undo
virtual void do_undo(void)
Slot to handle undo.
Definition:
octave-dock-widget.h:69
octave::label_dock_widget::pasteClipboard
virtual void pasteClipboard(void)
Slots to handle copy & paste.
Definition:
octave-dock-widget.h:63
octave::label_dock_widget::set_title
void set_title(const QString &)
Definition:
octave-dock-widget.cc:124
octave::label_dock_widget::~label_dock_widget
~label_dock_widget(void)=default
octave::label_dock_widget::m_octave_qobj
base_qobject & m_octave_qobj
Definition:
octave-dock-widget.h:73
octave::label_dock_widget::m_close_action
QAction * m_close_action
Definition:
octave-dock-widget.h:80
octave::label_dock_widget::m_dock_button
QToolButton * m_dock_button
Definition:
octave-dock-widget.h:77
octave::main_window
Represents the main window.
Definition:
main-window.h:73
octave::octave_dock_widget
Definition:
octave-dock-widget.h:87
octave::octave_dock_widget::adopted
bool adopted(void) const
Definition:
octave-dock-widget.h:102
octave::octave_dock_widget::event
bool event(QEvent *event)
Definition:
octave-dock-widget.cc:449
octave::octave_dock_widget::~octave_dock_widget
~octave_dock_widget(void)=default
octave::octave_dock_widget::m_waiting_for_mouse_button_release
bool m_waiting_for_mouse_button_release
Definition:
octave-dock-widget.h:184
octave::octave_dock_widget::m_custom_style
bool m_custom_style
Definition:
octave-dock-widget.h:172
octave::octave_dock_widget::queue_make_window
void queue_make_window(bool widget_was_dragged)
octave::octave_dock_widget::set_main_window
void set_main_window(main_window *mw)
Definition:
octave-dock-widget.cc:408
octave::octave_dock_widget::handle_settings
void handle_settings(const gui_settings *)
Definition:
octave-dock-widget.cc:470
octave::octave_dock_widget::change_visibility
void change_visibility(bool)
Definition:
octave-dock-widget.cc:666
octave::octave_dock_widget::m_focus_follows_mouse
bool m_focus_follows_mouse
Definition:
octave-dock-widget.h:173
octave::octave_dock_widget::handle_active_dock_changed
void handle_active_dock_changed(octave_dock_widget *, octave_dock_widget *)
Definition:
octave-dock-widget.cc:574
octave::octave_dock_widget::make_window
void make_window(bool widget_was_dragged=false)
Definition:
octave-dock-widget.cc:267
octave::octave_dock_widget::m_title_3d
int m_title_3d
Definition:
octave-dock-widget.h:174
octave::octave_dock_widget::m_predecessor_widget
octave_dock_widget * m_predecessor_widget
Definition:
octave-dock-widget.h:181
octave::octave_dock_widget::eventFilter
bool eventFilter(QObject *obj, QEvent *e)
Event filter for double clicks into the window decoration elements.
Definition:
octave-dock-widget.cc:616
octave::octave_dock_widget::m_main_window
main_window * m_main_window
Stores the parent, since we are reparenting to 0.
Definition:
octave-dock-widget.h:169
octave::octave_dock_widget::toplevel_change
virtual void toplevel_change(bool)
Definition:
octave-dock-widget.cc:693
octave::octave_dock_widget::make_widget
void make_widget(bool not_used=false)
Definition:
octave-dock-widget.cc:338
octave::octave_dock_widget::set_predecessor_widget
void set_predecessor_widget(octave_dock_widget *prev_widget)
Definition:
octave-dock-widget.cc:402
octave::octave_dock_widget::store_geometry
void store_geometry(void)
Definition:
octave-dock-widget.cc:635
octave::octave_dock_widget::active_changed
void active_changed(bool active)
Custom signal that tells whether a user has clicked away that dock widget, i.e.
octave::octave_dock_widget::m_bg_color_active
QColor m_bg_color_active
Definition:
octave-dock-widget.h:176
octave::octave_dock_widget::m_fg_color
QColor m_fg_color
Definition:
octave-dock-widget.h:177
octave::octave_dock_widget::m_bg_color
QColor m_bg_color
Definition:
octave-dock-widget.h:175
octave::octave_dock_widget::resizeEvent
void resizeEvent(QResizeEvent *event)
Definition:
octave-dock-widget.cc:657
octave::octave_dock_widget::moveEvent
void moveEvent(QMoveEvent *event)
Definition:
octave-dock-widget.cc:649
octave::octave_dock_widget::queue_make_widget
void queue_make_widget(void)
octave::octave_dock_widget::closeEvent
virtual void closeEvent(QCloseEvent *e)
Definition:
octave-dock-widget.cc:430
octave::octave_dock_widget::activate
virtual void activate(void)
Definition:
octave-dock-widget.cc:672
octave::octave_dock_widget::m_recent_float_geom
QRect m_recent_float_geom
Definition:
octave-dock-widget.h:182
octave::octave_dock_widget::set_adopted
void set_adopted(bool adopted=true)
Definition:
octave-dock-widget.h:101
octave::octave_dock_widget::m_recent_dock_geom
QRect m_recent_dock_geom
Definition:
octave-dock-widget.h:183
octave::octave_dock_widget::set_focus_predecessor
void set_focus_predecessor(void)
Definition:
octave-dock-widget.cc:832
octave::octave_dock_widget::save_settings
virtual void save_settings(void)
Definition:
octave-dock-widget.cc:591
octave::octave_dock_widget::m_fg_color_active
QColor m_fg_color_active
Definition:
octave-dock-widget.h:178
octave::octave_dock_widget::m_icon_color_active
QString m_icon_color_active
Definition:
octave-dock-widget.h:180
octave::octave_dock_widget::init_window_menu_entry
void init_window_menu_entry(void)
Definition:
octave-dock-widget.cc:260
octave::octave_dock_widget::set_style
void set_style(bool active)
Definition:
octave-dock-widget.cc:734
octave::octave_dock_widget::m_icon_color
QString m_icon_color
Definition:
octave-dock-widget.h:179
octave::octave_dock_widget::m_adopted
bool m_adopted
Definition:
octave-dock-widget.h:171
octave::octave_dock_widget::focusWidget
QWidget * focusWidget(void)
Definition:
octave-dock-widget.cc:441
octave::octave_dock_widget::octave_dock_widget
octave_dock_widget(const QString &obj_name, QWidget *p, base_qobject &oct_qobj)
Definition:
octave-dock-widget.cc:189
octave::octave_dock_widget::handle_visibility
virtual void handle_visibility(bool visible)
Definition:
octave-dock-widget.cc:682
octave::octave_dock_widget::default_dock
void default_dock(bool not_used=false)
Definition:
octave-dock-widget.cc:395
octave::octave_dock_widget::notice_settings
virtual void notice_settings(const gui_settings *)
Definition:
octave-dock-widget.h:129
gui-settings.h
octave
Definition:
idx-vector.cc:46
qt-interpreter-events.h
libgui
src
octave-dock-widget.h
Generated on Sun Jun 26 2022 01:27:28 for GNU Octave by
1.9.4