33 #include <QApplication>
35 #include <QFileDialog>
36 #include <QHeaderView>
43 #include <QStackedWidget>
48 #include <QToolButton>
49 #include <QVBoxLayout>
51 #include "builtin-defun-decls.h"
70 static QSignalMapper *
74 list <<
"plot" <<
"bar" <<
"stem" <<
"stairs" <<
"area" <<
"pie" <<
"hist";
76 QSignalMapper *plot_mapper =
new QSignalMapper (menu);
78 for (
int i = 0; i < list.size(); ++i)
79 plot_mapper->setMapping
80 (menu->addAction (list.at (i), plot_mapper, SLOT (map ())), list.at (i));
92 , m_waiting_for_mouse_move (false)
93 , m_waiting_for_mouse_button_release (false)
96 setFocusPolicy (Qt::StrongFocus);
97 setAttribute (Qt::WA_DeleteOnClose);
103 connect (
this, &variable_dock_widget::topLevelChanged,
106 #define DOCKED_FULLSCREEN_BUTTON_TOOLTIP "Fullscreen undock"
107 #define UNDOCKED_FULLSCREEN_BUTTON_TOOLTIP "Fullscreen"
115 QHBoxLayout *h_layout =
m_title_widget->findChild<QHBoxLayout *> ();
118 =
new QAction (rmgr.icon (
"view-fullscreen",
false),
"",
this);
122 fullscreen_button->setFocusPolicy (Qt::NoFocus);
124 QString css_button = QString (
"QToolButton {background: transparent; border: 0px;}");
125 fullscreen_button->setStyleSheet (css_button);
132 if (first !=
nullptr)
133 index = h_layout->indexOf (first);
134 h_layout->insertWidget (index, fullscreen_button);
138 m_frame->setFrameStyle (QFrame::Box | QFrame::Sunken);
139 m_frame->setAttribute (Qt::WA_TransparentForMouseEvents);
160 setFloating (! isFloating ());
176 +
"widget-dock.png"));
179 setWindowFlags (Qt::Window);
180 setWindowTitle (tr (
"Variable Editor: ") + objectName ());
187 #if (QT_VERSION >= 0x050302) && (QT_VERSION <= QTBUG_44813_FIX_VERSION)
188 m_waiting_for_mouse_move =
true;
194 +
"widget-undock.png"));
200 #if (QT_VERSION >= 0x050302) && (QT_VERSION <= QTBUG_44813_FIX_VERSION)
201 m_waiting_for_mouse_move =
false;
202 m_waiting_for_mouse_button_release =
false;
226 QScreen *pscreen = QGuiApplication::primaryScreen ();
227 QRect rect (0, 0, 0, 0);
228 rect = pscreen->availableGeometry ();
247 #undef DOCKED_FULLSCREEN_BUTTON_TOOLTIP
248 #undef UNDOCKED_FULLSCREEN_BUTTON_TOOLTIP
254 QDockWidget::closeEvent (e);
260 octave_unused_parameter (now);
268 if (titleBarWidget () !=
nullptr)
270 QLabel *label = titleBarWidget ()->findChild<
QLabel *> ();
271 if (label !=
nullptr)
273 label->setBackgroundRole (QPalette::Highlight);
274 label->setStyleSheet (
"background-color: palette(highlight); color: palette(highlightedText);");
280 else if (old == focusWidget())
282 if (titleBarWidget () !=
nullptr)
284 QLabel *label = titleBarWidget ()->findChild<
QLabel *> ();
285 if (label !=
nullptr)
287 label->setBackgroundRole (QPalette::NoRole);
288 label->setStyleSheet (
";");
301 #if (QT_VERSION >= 0x050302) && (QT_VERSION <= QTBUG_44813_FIX_VERSION)
304 variable_dock_widget::event (QEvent *event)
308 if (event->type () == QEvent::MouseButtonPress)
310 m_waiting_for_mouse_move =
false;
311 m_waiting_for_mouse_button_release =
false;
313 if (event->type () == QEvent::MouseMove && m_waiting_for_mouse_move)
315 m_waiting_for_mouse_move =
false;
316 m_waiting_for_mouse_button_release =
true;
318 if (event->type () == QEvent::MouseButtonRelease
319 && m_waiting_for_mouse_button_release)
321 m_waiting_for_mouse_button_release =
false;
322 bool retval = QDockWidget::event (event);
328 return QDockWidget::event (event);
338 m_waiting_for_mouse_move =
false;
339 m_waiting_for_mouse_button_release =
false;
346 m_waiting_for_mouse_move =
false;
347 m_waiting_for_mouse_button_release =
false;
372 setFocusPolicy (Qt::StrongFocus);
385 viewer->setLineWrapMode (QTextEdit::NoWrap);
386 viewer->setReadOnly (
true);
417 if (model !=
nullptr)
418 m_disp_view->setPlainText (model->data (QModelIndex ()).toString ());
434 QString name = objectName ();
438 if (name.endsWith (
')') || name.endsWith (
'}'))
440 name.remove ( QRegExp (
"[({][^({]*[)}]$)") );
465 QPointer<variable_editor_stack> this_ves (
this);
476 if (this_ves.isNull ())
494 QString file_ext =
"txt";
509 opts = QFileDialog::DontUseNativeDialog;
511 QString name = objectName ();
513 = QFileDialog::getSaveFileName (
this,
514 tr (
"Save Variable %1 As").arg (name),
515 QString (
"./%1.%2").arg (name).arg (file_ext),
516 0, 0, QFileDialog::Option (opts));
528 std::list<octave_value> str_list
542 :
QTableView (p), m_octave_qobj (oct_qobj), m_var_model (nullptr)
545 setContextMenuPolicy (Qt::CustomContextMenu);
546 setSelectionMode (QAbstractItemView::ContiguousSelection);
548 horizontalHeader ()->setContextMenuPolicy (Qt::CustomContextMenu);
549 verticalHeader ()->setContextMenuPolicy (Qt::CustomContextMenu);
551 setHorizontalScrollMode (QAbstractItemView::ScrollPerPixel);
552 setVerticalScrollMode (QAbstractItemView::ScrollPerPixel);
554 verticalHeader ()->setSectionResizeMode (QHeaderView::Interactive);
560 QTableView::setModel (model);
562 horizontalHeader ()->setSectionResizeMode (QHeaderView::Interactive);
571 QFontMetrics fm (font ());
574 horizontalHeader ()->setDefaultSectionSize (
w);
581 QItemSelectionModel *sel = selectionModel ();
584 if (! sel->hasSelection ())
596 for (
const auto& idx : indices)
598 from_row =
std::min (from_row, idx.row ());
599 to_row =
std::max (to_row, idx.row ());
600 from_col =
std::min (from_col, idx.column ());
601 to_col =
std::max (to_col, idx.column ());
605 vect << from_row + 1 << to_row + 1 << from_col + 1 << to_col + 1;
618 if (
range.isEmpty ())
634 QString variable = QString (
"%1(%2:%3,%4:%5)")
636 .arg (
range.at (0)).arg (s1)
637 .arg (
range.at (2)).arg (s2);
642 command = QString (
"unnamed = %1;").arg (variable);
644 command = QString (
"figure (); %1 (%2); title ('%2');")
645 .arg (cmd).arg (variable);
652 const QString& qualifier_string)
656 menu->addAction (rmgr.
icon (
"edit-cut"),
657 tr (
"Cut") + qualifier_string,
660 menu->addAction (rmgr.
icon (
"edit-copy"),
661 tr (
"Copy") + qualifier_string,
664 menu->addAction (rmgr.
icon (
"edit-paste"),
668 menu->addSeparator ();
670 menu->addAction (rmgr.
icon (
"edit-delete"),
671 tr (
"Clear") + qualifier_string,
674 menu->addAction (rmgr.
icon (
"edit-delete"),
675 tr (
"Delete") + qualifier_string,
678 menu->addAction (rmgr.
icon (
"document-new"),
679 tr (
"Variable from Selection"),
686 QModelIndex index = indexAt (qpos);
688 if (index.isValid ())
697 menu->addAction (tr (
"Transpose"),
700 QItemSelectionModel *sel = selectionModel ();
704 if (! indices.isEmpty ())
706 menu->addSeparator ();
710 connect (plot_mapper, SIGNAL (mapped (
const QString&)),
714 menu->exec (mapToGlobal (qpos));
721 int index = horizontalHeader ()->logicalIndexAt (pt);
723 if (index < 0 || index > model ()->columnCount ())
728 bool nothingSelected = coords.isEmpty ();
730 bool whole_columns_selected
733 : (coords[0] == 1 && coords[1] == model ()->rowCount ()));
735 bool current_column_selected
736 = nothingSelected ? false : (coords[2] <= index+1 && coords[3] > index);
738 int column_selection_count
739 = nothingSelected ? 0 : (coords[3] - coords[2] + 1);
741 if (! whole_columns_selected || ! current_column_selected)
743 selectColumn (index);
744 column_selection_count = 1;
747 QString column_string
748 = column_selection_count > 1 ? tr (
" columns") : tr (
" column");
754 menu->addSeparator ();
758 connect (plot_mapper, SIGNAL (mapped (
const QString&)),
762 menupos.setY (horizontalHeader ()->height ());
764 menu->exec (mapToGlobal (menupos));
770 int index = verticalHeader ()->logicalIndexAt (pt);
772 if (index < 0 || index > model ()->columnCount ())
777 bool nothingSelected = coords.isEmpty ();
779 bool whole_rows_selected
782 : (coords[2] == 1 && coords[3] == model ()->columnCount ()));
784 bool current_row_selected
785 = (nothingSelected ? false : (coords[0] <= index+1 && coords[1] > index));
787 int rowselection_count = nothingSelected ? 0 : (coords[3] - coords[2] + 1);
789 if (! whole_rows_selected || ! current_row_selected)
792 rowselection_count = 1;
795 QString row_string = rowselection_count > 1 ? tr (
" rows") : tr (
" row");
801 menu->addSeparator ();
805 connect (plot_mapper, SIGNAL (mapped (
const QString&)),
809 menupos.setX (verticalHeader ()->width ());
815 menu->exec (mapToGlobal (menupos));
841 QAbstractItemModel *
mod = model ();
844 if (coords.isEmpty ())
847 bool whole_columns_selected
848 = coords[0] == 1 && coords[1] ==
mod->rowCount ();
850 bool whole_rows_selected
851 = coords[2] == 1 && coords[3] ==
mod->columnCount ();
855 if (whole_columns_selected == whole_rows_selected)
858 if (whole_rows_selected)
859 mod->removeRows (coords[0], coords[1] - coords[0]);
861 if (whole_columns_selected)
862 mod->removeColumns (coords[2], coords[3] - coords[2]);
874 QItemSelectionModel *sel = selectionModel ();
879 for (
const auto& idx : indices)
897 QItemSelectionModel *sel = selectionModel ();
899 std::sort (indices.begin (), indices.end ());
901 if (indices.isEmpty ())
907 QAbstractItemModel *
mod = model ();
908 QModelIndex previous = indices.first ();
909 QString copy =
mod->data (previous).toString ();
910 indices.removeFirst ();
911 for (
auto idx : indices)
913 copy.push_back (previous.row () != idx.row () ?
'\n' :
'\t');
914 copy.append (
mod->data (idx).toString ());
918 QClipboard *clipboard = QApplication::clipboard ();
919 clipboard->setText (copy);
928 QAbstractItemModel *
mod = model ();
929 QItemSelectionModel *sel = selectionModel ();
932 QClipboard *clipboard = QApplication::clipboard ();
933 QString text = clipboard->text ();
937 QPoint tabsize = QPoint (
mod->rowCount (),
mod->columnCount ());
939 if (indices.isEmpty ())
941 start = QPoint (0, 0);
944 else if (indices.size () == 1)
946 start = QPoint (indices[0].row (), indices[0].column ());
954 for (
int i = 0; i < indices.size (); i++)
956 if (indices[i].column () < start.y ())
957 start.setY (indices[i].column ());
959 if (indices[i].column () > end.y ())
960 end.setY (indices[i].column ());
962 if (indices[i].row () < start.x ())
963 start.setX (indices[i].column ());
965 if (indices[i].row () > end.x ())
966 end.setX (indices[i].column ());
973 QStringList rows = text.split (
'\n');
974 for (
const auto& row : rows)
976 if (rownum > end.x () - start.x ())
979 QStringList cols = row.split (
'\t');
983 for (
const auto& col : cols)
987 if (colnum > end.y () - start.y () )
990 mod->setData (
mod->index (rownum + start.x (),
991 colnum + start.y ()),
1005 if (action == QAbstractSlider::SliderSingleStepAdd
1006 || action == QAbstractSlider::SliderPageStepAdd
1007 || action == QAbstractSlider::SliderToMaximum
1008 || action == QAbstractSlider::SliderMove)
1012 QScrollBar *sb = horizontalScrollBar ();
1014 if (sb && sb->value () == sb->maximum ())
1027 if (action == QAbstractSlider::SliderSingleStepAdd
1028 || action == QAbstractSlider::SliderPageStepAdd
1029 || action == QAbstractSlider::SliderToMaximum
1030 || action == QAbstractSlider::SliderMove)
1034 QScrollBar *sb = verticalScrollBar ();
1036 if (sb && sb->value () == sb->maximum ())
1051 installEventFilter (
this);
1056 if (ev->type () == QEvent::HoverEnter)
1058 else if (ev->type () == QEvent::MouseButtonPress)
1061 return QToolButton::eventFilter (obj, ev);
1067 installEventFilter (
this);
1073 if (ev->type () == QEvent::MouseButtonRelease && isDown ())
1078 QAction *action = defaultAction ();
1079 if (action !=
nullptr)
1080 action->activate (QAction::Trigger);
1091 installEventFilter (
this);
1096 if (ev->type () == QEvent::MouseButtonRelease && underMouse ())
1101 return QMenu::eventFilter (obj, ev);
1109 m_tool_bar (new QToolBar (m_main)),
1110 m_default_width (30),
1111 m_default_height (100),
1112 m_add_font_height (0),
1113 m_use_terminal_font (true),
1114 m_alternate_rows (true),
1119 m_current_focus_vname (
""),
1120 m_hovered_focus_vname (
""),
1121 m_plot_mapper (nullptr),
1122 m_focus_widget (nullptr),
1123 m_focus_widget_vdw (nullptr)
1126 setStatusTip (tr (
"Edit variables."));
1127 setAttribute (Qt::WA_AlwaysShowToolTips);
1129 m_main->setParent (
this);
1131 #if (QT_VERSION < 0x050601) || (QT_VERSION >= 0x050701)
1132 m_main->setDockOptions (QMainWindow::AnimatedDocks |
1133 QMainWindow::AllowNestedDocks |
1134 QMainWindow::VerticalTabs);
1136 m_main->setDockNestingEnabled (
true);
1153 QMdiArea *central_mdiarea =
new QMdiArea (
m_main);
1154 central_mdiarea->setMinimumSize (QSize (0, 0));
1155 central_mdiarea->setMaximumSize (QSize (0, 0));
1156 central_mdiarea->resize (QSize (0, 0));
1157 m_main->setCentralWidget (central_mdiarea);
1167 octave_dock_widget::focusInEvent (ev);
1188 if (any_qdw !=
nullptr)
1191 any_qdw->setFocus ();
1228 if (
m_main->focusWidget () !=
nullptr)
1230 QFocusEvent
event (QEvent::FocusOut, Qt::OtherFocusReason);
1231 QApplication::sendEvent (
m_main->focusWidget (), &
event);
1235 m_main->parentWidget ()->show ();
1236 existing_qdw->show ();
1237 existing_qdw->raise ();
1238 existing_qdw->activateWindow ();
1240 existing_qdw->setFocus ();
1248 page->setObjectName (name);
1249 m_main->addDockWidget (Qt::LeftDockWidgetArea, page);
1256 connect (
this, &variable_editor::visibilityChanged,
1257 page, &variable_dock_widget::setVisible);
1260 connect (page, &variable_dock_widget::destroyed,
1266 #if (QT_VERSION >= 0x050302) && (QT_VERSION <= QTBUG_44813_FIX_VERSION)
1267 connect (page, SIGNAL (queue_unfloat_float ()),
1268 page, SLOT (unfloat_float ()), Qt::QueuedConnection);
1269 connect (page, SIGNAL (queue_float ()),
1270 page, SLOT (refloat ()), Qt::QueuedConnection);
1276 stack->setObjectName (name);
1277 page->setWidget (stack);
1278 page->setFocusProxy (stack);
1293 stack, [=] () { stack->
save (); });
1297 edit_view->setObjectName (name);
1298 edit_view->setFont (
m_font);
1305 edit_view, SLOT (selected_command_requested (
const QString&)));
1307 stack, SLOT (
save (
const QString&)));
1319 connect (edit_view->horizontalHeader (),
1320 &QHeaderView::customContextMenuRequested,
1322 connect (edit_view->verticalHeader (),
1323 &QHeaderView::customContextMenuRequested,
1325 connect (edit_view, &variable_editor_view::customContextMenuRequested,
1327 connect (edit_view->horizontalScrollBar (), &QScrollBar::actionTriggered,
1329 connect (edit_view->verticalScrollBar (), &QScrollBar::actionTriggered,
1337 connect (model, &variable_editor_model::dataChanged,
1344 edit_view->setModel (model);
1345 connect (edit_view, &variable_editor_view::doubleClicked,
1362 if (page->titleBarWidget () !=
nullptr)
1364 QLabel *existing_ql = page->titleBarWidget ()->findChild<
QLabel *> ();
1368 connect (model, SIGNAL (description_changed (
const QString&)),
1369 existing_ql, SLOT (setText (
const QString&)));
1370 existing_ql->setMargin (2);
1385 page->activateWindow ();
1393 QWidget *parent = parentWidget ();
1399 QVariant this_value (
reinterpret_cast<quintptr
> (
this));
1401 for (
auto *tbar : barlist)
1403 for (
int i = 0; i < tbar->count (); i++)
1405 if (tbar->tabData (i) == this_value)
1407 tbar->setCurrentIndex (i);
1455 m_font = QFont (font_name, font_size);
1457 QFontMetrics fm (
m_font);
1476 size_idx = (size_idx > 0) - (size_idx < 0) + 1;
1478 QStyle *st = style ();
1480 m_tool_bar->setIconSize (QSize (icon_size, icon_size));
1510 if (vdwlist.isEmpty ())
1514 QFocusEvent ev (QEvent::FocusIn);
1526 QWidget *current = QApplication::focusWidget ();
1529 if (current !=
nullptr)
1532 for (
int i = 0; i < vdwlist.size (); i++)
1535 if (vdw->isAncestorOf (current))
1555 if (tofocus !=
nullptr)
1562 QApplication::setActiveWindow(tofocus->window());
1563 tofocus->activateWindow ();
1564 tofocus->setFocus (Qt::OtherFocusReason);
1621 m_stylesheet +=
"QTableView::item:selected{ background-color: "
1626 m_stylesheet +=
"QTableView::item:alternate{ background-color: "
1629 m_stylesheet +=
"QTableView::item:alternate:selected{ background-color: "
1634 for (
int i = 0; i < viewlist.size (); i++)
1650 const QString& text,
1654 QAction *action =
new QAction (icon, text,
this);
1655 connect(action, SIGNAL (triggered ()), receiver, member);
1657 button->setDefaultAction (action);
1658 button->setText (text);
1659 button->setToolTip (text);
1660 button->setIcon (icon);
1669 m_tool_bar->setAllowedAreas (Qt::TopToolBarArea);
1671 m_tool_bar->setObjectName (
"VariableEditorToolBar");
1673 m_tool_bar->setWindowTitle (tr (
"Variable Editor Toolbar"));
1678 this, SLOT (
save ()));
1680 m_save_action->setShortcutContext (Qt::WidgetWithChildrenShortcut);
1683 QAction *action =
new QAction (rmgr.
icon (
"document-save-as"), tr (
"Save in format ..."),
m_tool_bar);
1686 save_tool_button->setDefaultAction (action);
1688 save_tool_button->setText (tr (
"Save in format ..."));
1689 save_tool_button->setToolTip (tr(
"Save variable to a file in different format"));
1690 save_tool_button->setIcon (rmgr.
icon (
"document-save-as"));
1691 save_tool_button->setPopupMode (QToolButton::InstantPopup);
1694 save_menu->setTitle (tr (
"Save in format ..."));
1695 save_menu->setSeparatorsCollapsible (
false);
1704 save_tool_button->setMenu (save_menu);
1711 action->setStatusTip(tr(
"Cut data to clipboard"));
1715 action->setStatusTip(tr(
"Copy data to clipboard"));
1719 action->setStatusTip(tr(
"Paste clipboard into variable data"));
1727 action =
new QAction (rmgr.
icon (
"plot-xy-curve"), tr (
"Plot"),
m_tool_bar);
1728 action->setToolTip (tr (
"Plot Selected Data"));
1730 plot_tool_button->setDefaultAction (action);
1732 plot_tool_button->setText (tr (
"Plot"));
1733 plot_tool_button->setToolTip (tr (
"Plot selected data"));
1734 plot_tool_button->setIcon (rmgr.
icon (
"plot-xy-curve"));
1736 plot_tool_button->setPopupMode (QToolButton::InstantPopup);
1739 plot_menu->setTitle (tr (
"Plot"));
1740 plot_menu->setSeparatorsCollapsible (
false);
1744 plot_tool_button->setMenu (plot_menu);
1752 action->setStatusTip(tr(
"Go one level up in variable hierarchy"));
1759 , Qt::FindDirectChildrenOnly
1761 for (
int i = 0; i < hbuttonlist.size (); i++)
1771 , Qt::FindDirectChildrenOnly
1773 for (
int i = 0; i < rfbuttonlist.size (); i++)
1782 for (
int i = 0; i < menulist.size (); i++)
1788 m_tool_bar->setAttribute(Qt::WA_ShowWithoutActivating);
charNDArray max(char d, const charNDArray &m)
charNDArray min(char d, const charNDArray &m)
Base class for Octave interfaces that use Qt.
resource_manager & get_resource_manager(void)
shortcut_manager & get_shortcut_manager(void)
void notice_settings(const gui_settings *)
gui_settings * get_settings(void) const
QIcon icon(const QString &icon_name, bool octave_only=false, const QString &icon_alt_name=QString())
void set_shortcut(QAction *action, const sc_pref &scpref, bool enable=true)
int display_rows(void) const
int display_columns(void) const
octave_idx_type data_rows(void) const
void set_editable_signal(bool)
int column_width(void) const
void maybe_resize_rows(int rows)
void edit_variable_signal(const QString &name, const octave_value &val)
void interpreter_event(const fcn_callback &fcn)
void update_data_cache(void)
void update_data(const octave_value &val)
void double_click(const QModelIndex &idx)
octave_idx_type data_columns(void) const
bool clear_content(const QModelIndex &idx)
void maybe_resize_columns(int cols)
variable_editor_view * edit_view(void)
void save(const QString &format=QString())
base_qobject & m_octave_qobj
variable_editor_stack(QWidget *p, base_qobject &oct_qobj)
void interpreter_event(const fcn_callback &fcn)
void do_save_signal(const QString &format, const QString &save_opts)
void set_editable(bool editable)
QTextEdit * make_disp_view(QWidget *parent)
variable_editor_view * m_edit_view
void do_save(const QString &format, const QString &save_opts)
void edit_variable_signal(const QString &name, const octave_value &val)
void createVariable(void)
void command_signal(const QString &cmd)
variable_editor_model * m_var_model
variable_editor_view(QWidget *p, base_qobject &oct_qobj)
void createColumnMenu(const QPoint &pt)
base_qobject & m_octave_qobj
void delete_selected(void)
QList< int > range_selected(void)
void add_edit_actions(QMenu *menu, const QString &qualifier_string)
void setModel(QAbstractItemModel *model)
void handle_horizontal_scroll_action(int action)
void transposeContent(void)
void pasteClipboard(void)
void handle_vertical_scroll_action(int action)
void createContextMenu(const QPoint &pt)
void selected_command_requested(const QString &cmd)
void createRowMenu(const QPoint &pt)
variable_dock_widget * m_focus_widget_vdw
void paste_clipboard_signal(void)
void record_hovered_focus_variable(void)
void level_up_signal(void)
QString m_current_focus_vname
void callUpdate(const QModelIndex &, const QModelIndex &)
QAction * add_tool_bar_button(const QIcon &icon, const QString &text, const QObject *receiver, const char *member)
void closeEvent(QCloseEvent *)
void variable_focused(const QString &name)
variable_editor(QWidget *parent, base_qobject &oct_qobj)
void notice_settings(const gui_settings *)
void pasteClipboard(void)
void copy_clipboard_signal(void)
QList< QColor > m_table_colors
QSignalMapper * m_save_mapper
void focusInEvent(QFocusEvent *ev)
void construct_tool_bar(void)
void variable_destroyed(QObject *obj)
QString m_hovered_focus_vname
void delete_selected_signal(void)
void restore_hovered_focus_variable(void)
void interpreter_event(const fcn_callback &fcn)
QSignalMapper * m_plot_mapper
void command_signal(const QString &cmd)
void refresh_signal(void)
void edit_variable(const QString &name, const octave_value &val)
void clear_content_signal(void)
OCTAVE_BEGIN_NAMESPACE(octave) static octave_value daspk_fcn
const gui_pref cs_font_size("terminal/fontSize", QVariant(10))
const gui_pref cs_font("terminal/fontName", QVariant())
const gui_pref global_mono_font("monospace_font", global_font_family)
const QStyle::PixelMetric global_icon_sizes[3]
const QStringList global_icon_paths
const gui_pref global_use_native_dialogs("use_native_file_dialogs", QVariant(true))
const gui_pref global_icon_size("toolbar_icon_size", QVariant(0))
const sc_pref sc_edit_file_save(sc_edit_file+":save", QKeySequence::Save)
const gui_pref ve_color_mode("variable_editor/color_mode", QVariant(0))
const int ve_colors_count
const QStringList ve_save_formats
const gui_pref ve_column_width("variable_editor/column_width", QVariant(100))
const gui_pref ve_use_terminal_font("variable_editor/use_terminal_font", QVariant(true))
const gui_pref ve_font_size("variable_editor/font_size", QVariant(10))
const gui_pref ve_alternate_rows("variable_editor/alternate_rows", QVariant(false))
const gui_pref ve_font_name("variable_editor/font_name", QVariant())
const QStringList ve_save_formats_ext
const gui_pref ve_colors[2 *ve_colors_count]
const gui_pref ve_row_height("variable_editor/row_height", QVariant(10))
OCTAVE_EXPORT octave_value_list Fsave(octave::interpreter &interp, const octave_value_list &args, int nargout)
OCTAVE_EXPORT octave_value_list Fsave_default_options(octave::interpreter &interp, const octave_value_list &args, int nargout)
std::complex< double > w(std::complex< double > z, double relerr=0)
QString fromStdString(const std::string &s)
return octave_value(v1.char_array_value() . concat(v2.char_array_value(), ra_idx),((a1.is_sq_string()||a2.is_sq_string()) ? '\'' :'"'))
octave_value_list ovl(const OV_Args &... args)
Construct an octave_value_list with less typing.
static std::string format_string("short")
int qt_fontmetrics_horizontal_advance(const QFontMetrics &fm, QChar ch)
std::size_t format(std::ostream &os, const char *fmt,...)
#define DOCKED_FULLSCREEN_BUTTON_TOOLTIP
static QSignalMapper * make_plot_mapper(QMenu *menu)
#define UNDOCKED_FULLSCREEN_BUTTON_TOOLTIP
#define QTBUG_44813_FIX_VERSION