[gtkmm-documentation] examples/book/[o-z]*: Update some examples after Gtk::Container was removed
- From: Kjell Ahlstedt <kjellahl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtkmm-documentation] examples/book/[o-z]*: Update some examples after Gtk::Container was removed
- Date: Tue, 26 May 2020 17:11:28 +0000 (UTC)
commit 272cff703025b4d6173b9ad48d9b438912298f60
Author: Kjell Ahlstedt <kjellahlstedt gmail com>
Date: Tue May 26 19:07:49 2020 +0200
examples/book/[o-z]*: Update some examples after Gtk::Container was removed
This commit fixes example programs in examples/book/[o-z]*.
(Actually there are programs only in the interval [p-u].)
All these programs can be compiled and linked with the latest gtkmm and a
gtk from May 22. A few programs do not work fully.
examples/book/paned/examplewindow.cc | 6 +--
examples/book/paned/messageslist.cc | 2 +-
examples/book/paned/messagetext.cc | 2 +-
examples/book/popover/examplewindow.cc | 8 +--
examples/book/printing/advanced/examplewindow.cc | 25 ++++++----
examples/book/printing/advanced/examplewindow.h | 3 ++
examples/book/printing/advanced/previewdialog.cc | 12 ++---
.../book/printing/advanced/printformoperation.cc | 8 +--
examples/book/printing/simple/examplewindow.cc | 25 ++++++----
examples/book/printing/simple/examplewindow.h | 3 ++
.../book/printing/simple/printformoperation.cc | 2 +-
examples/book/progressbar/examplewindow.cc | 10 ++--
examples/book/range_widgets/examplewindow.cc | 38 +++++++-------
examples/book/recent_files/examplewindow.cc | 36 +++++++++-----
examples/book/recent_files/examplewindow.h | 4 ++
examples/book/revealer/examplewindow.cc | 10 ++--
examples/book/scrolledwindow/examplewindow.cc | 4 +-
examples/book/searchbar/examplewindow.cc | 20 ++++----
examples/book/spinbutton/examplewindow.cc | 58 +++++++++++-----------
examples/book/textview/examplewindow.cc | 16 +++---
examples/book/timeout/timerexample.cc | 13 ++---
examples/book/toolbar/examplewindow.cc | 22 ++++----
examples/book/tooltips/examplewindow.cc | 14 +++---
.../book/treeview/combo_renderer/examplewindow.cc | 10 ++--
.../treeview/custom_treemodel/exampletreemodel.cc | 2 +-
.../treeview/custom_treemodel/examplewindow.cc | 16 +++---
.../book/treeview/drag_and_drop/examplewindow.cc | 10 ++--
.../book/treeview/drag_and_drop/treemodel_dnd.cc | 2 +-
.../book/treeview/editable_cells/examplewindow.cc | 30 ++++++-----
.../book/treeview/editable_cells/examplewindow.h | 1 +
examples/book/treeview/filter/examplewindow.cc | 10 ++--
.../book/treeview/filter_modify/examplewindow.cc | 10 ++--
examples/book/treeview/list/examplewindow.cc | 10 ++--
.../book/treeview/listviewtext/examplewindow.cc | 10 ++--
examples/book/treeview/modelsort/examplewindow.cc | 14 +++---
examples/book/treeview/popup/examplewindow.cc | 10 ++--
examples/book/treeview/tree/examplewindow.cc | 10 ++--
examples/book/update_ui/examplewindow.cc | 10 ++--
38 files changed, 270 insertions(+), 226 deletions(-)
---
diff --git a/examples/book/paned/examplewindow.cc b/examples/book/paned/examplewindow.cc
index 4c5a1d9..b724663 100644
--- a/examples/book/paned/examplewindow.cc
+++ b/examples/book/paned/examplewindow.cc
@@ -24,11 +24,11 @@ ExampleWindow::ExampleWindow()
m_VPaned.set_margin(10);
/* Add a vpaned widget to our toplevel window */
- add(m_VPaned);
+ set_child(m_VPaned);
/* Now add the contents of the two halves of the window */
- m_VPaned.add1(m_MessagesList);
- m_VPaned.add2(m_MessageText);
+ m_VPaned.set_start_child(m_MessagesList);
+ m_VPaned.set_end_child(m_MessageText);
}
ExampleWindow::~ExampleWindow()
diff --git a/examples/book/paned/messageslist.cc b/examples/book/paned/messageslist.cc
index e0baac5..26654f3 100644
--- a/examples/book/paned/messageslist.cc
+++ b/examples/book/paned/messageslist.cc
@@ -22,7 +22,7 @@ MessagesList::MessagesList()
/* Create a new scrolled window, with scrollbars only if needed */
set_policy(Gtk::PolicyType::AUTOMATIC, Gtk::PolicyType::AUTOMATIC);
- add(m_TreeView);
+ set_child(m_TreeView);
/* create list store */
m_refListStore = Gtk::ListStore::create(m_Columns);
diff --git a/examples/book/paned/messagetext.cc b/examples/book/paned/messagetext.cc
index b2e623a..15b6651 100644
--- a/examples/book/paned/messagetext.cc
+++ b/examples/book/paned/messagetext.cc
@@ -20,7 +20,7 @@ MessageText::MessageText()
{
set_policy(Gtk::PolicyType::AUTOMATIC, Gtk::PolicyType::AUTOMATIC);
- add(m_TextView);
+ set_child(m_TextView);
insert_text();
}
diff --git a/examples/book/popover/examplewindow.cc b/examples/book/popover/examplewindow.cc
index 5d4dc4e..0b9f3e4 100644
--- a/examples/book/popover/examplewindow.cc
+++ b/examples/book/popover/examplewindow.cc
@@ -45,7 +45,7 @@ ExampleWindow::ExampleWindow()
m_grid.attach(m_menu_button, 0, 0, 1, 1);
m_grid.attach(m_calendar, 0, 1, 6, 1);
m_grid.set_margin(12);
- add(m_grid);
+ set_child(m_grid);
}
ExampleWindow::~ExampleWindow()
@@ -65,7 +65,7 @@ void ExampleWindow::configure_form_popover()
m_toggle_form_grid.attach(m_toggle_form_combo_label, 0, 2, 1, 1);
m_toggle_form_grid.attach(m_toggle_form_combo, 1, 2, 1, 1);
- m_toggle_form_popover.add(m_toggle_form_grid);
+ m_toggle_form_popover.set_child(m_toggle_form_grid);
m_toggle_form_popover.set_position(Gtk::PositionType::BOTTOM);
m_toggle_form_popover.set_margin(6);
m_toggle_form_popover.set_autohide(false);
@@ -84,7 +84,7 @@ void ExampleWindow::configure_form_buttons()
{
button.set_draw_indicator(false);
button.set_expand(true);
- m_format_buttons_box.add(button);
+ m_format_buttons_box.append(button);
}
// Group format buttons so that they appear that they belong together
@@ -131,7 +131,7 @@ void ExampleWindow::configure_cal_popover()
m_calendar_form_grid.attach(m_calendar_popover_entry, 1, 0);
m_calendar_popover.set_parent(m_calendar);
- m_calendar_popover.add(m_calendar_form_grid);
+ m_calendar_popover.set_child(m_calendar_form_grid);
m_calendar_popover.set_margin(6);
}
diff --git a/examples/book/printing/advanced/examplewindow.cc
b/examples/book/printing/advanced/examplewindow.cc
index 4dc23bd..b4a6922 100644
--- a/examples/book/printing/advanced/examplewindow.cc
+++ b/examples/book/printing/advanced/examplewindow.cc
@@ -36,11 +36,11 @@ ExampleWindow::ExampleWindow(const Glib::RefPtr<Gtk::Application>& app)
set_title(app_title);
set_default_size(400, 300);
- add(m_VBox);
+ set_child(m_VBox);
build_main_menu(app);
- m_VBox.add(m_Grid);
+ m_VBox.append(m_Grid);
//Arrange the widgets inside the grid:
m_Grid.set_expand(true);
@@ -53,7 +53,7 @@ ExampleWindow::ExampleWindow(const Glib::RefPtr<Gtk::Application>& app)
m_Grid.attach(m_SurnameEntry, 1, 1);
//Add the TextView, inside a ScrolledWindow:
- m_ScrolledWindow.add(m_TextView);
+ m_ScrolledWindow.set_child(m_TextView);
//Only show the scrollbars when they are necessary:
m_ScrolledWindow.set_policy(Gtk::PolicyType::AUTOMATIC, Gtk::PolicyType::AUTOMATIC);
@@ -66,7 +66,7 @@ ExampleWindow::ExampleWindow(const Glib::RefPtr<Gtk::Application>& app)
m_TextView.set_buffer(m_refTextBuffer);
m_Statusbar.set_expand(true);
- m_VBox.add(m_Statusbar);
+ m_VBox.append(m_Statusbar);
}
ExampleWindow::~ExampleWindow()
@@ -218,7 +218,7 @@ void ExampleWindow::build_main_menu(const Glib::RefPtr<Gtk::Application>& app)
auto pMenuBar = Gtk::make_managed<Gtk::PopoverMenuBar>(gmenu);
// Add the PopoverMenuBar to the window:
- m_VBox.add(*pMenuBar);
+ m_VBox.append(*pMenuBar);
}
// Get the toolbar and add it to a container widget:
@@ -226,7 +226,7 @@ void ExampleWindow::build_main_menu(const Glib::RefPtr<Gtk::Application>& app)
if (!toolbar)
g_warning("toolbar not found");
else
- m_VBox.add(*toolbar);
+ m_VBox.append(*toolbar);
}
void ExampleWindow::on_printoperation_status_changed()
@@ -252,9 +252,16 @@ void ExampleWindow::on_printoperation_done(Gtk::PrintOperation::Result result)
if (result == Gtk::PrintOperation::Result::ERROR)
{
- Gtk::MessageDialog err_dialog(*this, "Error printing form", false,
- Gtk::MessageType::ERROR, Gtk::ButtonsType::OK, true);
- err_dialog.run();
+ if (!m_pDialog)
+ {
+ m_pDialog.reset(new Gtk::MessageDialog(*this, "Error printing form",
+ false /* use_markup */, Gtk::MessageType::ERROR, Gtk::ButtonsType::OK,
+ true /* modal */));
+ m_pDialog->set_hide_on_close(true);
+ m_pDialog->signal_response().connect(
+ sigc::hide(sigc::mem_fun(*m_pDialog, &Gtk::Widget::hide)));
+ }
+ m_pDialog->show();
}
else if (result == Gtk::PrintOperation::Result::APPLY)
{
diff --git a/examples/book/printing/advanced/examplewindow.h b/examples/book/printing/advanced/examplewindow.h
index 9e0977d..3dccd64 100644
--- a/examples/book/printing/advanced/examplewindow.h
+++ b/examples/book/printing/advanced/examplewindow.h
@@ -20,6 +20,7 @@
// This file is part of the printing/simple and printing/advanced examples
#include <gtkmm.h>
+#include <memory>
class PrintFormOperation;
@@ -73,6 +74,8 @@ protected:
Gtk::Statusbar m_Statusbar;
Glib::RefPtr<Gtk::Builder> m_refBuilder;
+
+ std::unique_ptr<Gtk::MessageDialog> m_pDialog;
};
#endif //GTKMM_EXAMPLEWINDOW_H
diff --git a/examples/book/printing/advanced/previewdialog.cc
b/examples/book/printing/advanced/previewdialog.cc
index 31a1076..133ab0e 100644
--- a/examples/book/printing/advanced/previewdialog.cc
+++ b/examples/book/printing/advanced/previewdialog.cc
@@ -40,20 +40,20 @@ PreviewDialog::PreviewDialog(
set_size_request(300, 300);
m_VBox.set_margin(2);
- add(m_VBox);
+ set_child(m_VBox);
- m_HBox.add(m_PageSpin);
+ m_HBox.append(m_PageSpin);
m_PageSpin.set_hexpand(true);
m_PageSpin.set_vexpand(false);
- m_HBox.add(m_CloseButton);
- m_VBox.add(m_HBox);
+ m_HBox.append(m_CloseButton);
+ m_VBox.append(m_HBox);
m_ScrolledWindow.set_policy(Gtk::PolicyType::AUTOMATIC, Gtk::PolicyType::AUTOMATIC);
m_ScrolledWindow.set_expand(true);
- m_VBox.add(m_ScrolledWindow);
+ m_VBox.append(m_ScrolledWindow);
m_DrawingArea.set_content_width(300);
m_DrawingArea.set_content_height(600);
- m_ScrolledWindow.add(m_DrawingArea);
+ m_ScrolledWindow.set_child(m_DrawingArea);
m_refPreview->signal_ready().connect(
sigc::mem_fun(*this, &PreviewDialog::on_popreview_ready));
diff --git a/examples/book/printing/advanced/printformoperation.cc
b/examples/book/printing/advanced/printformoperation.cc
index 2f216bd..35639da 100644
--- a/examples/book/printing/advanced/printformoperation.cc
+++ b/examples/book/printing/advanced/printformoperation.cc
@@ -30,7 +30,7 @@ PrintFormOperation::~PrintFormOperation()
Glib::RefPtr<PrintFormOperation> PrintFormOperation::create()
{
- return Glib::RefPtr<PrintFormOperation>(new PrintFormOperation());
+ return Glib::make_refptr_for_instance<PrintFormOperation>(new PrintFormOperation());
}
void PrintFormOperation::on_begin_print(const Glib::RefPtr<Gtk::PrintContext>&
@@ -158,14 +158,14 @@ Gtk::Widget* PrintFormOperation::on_create_custom_widget()
vbox->set_margin(12);
auto hbox = Gtk::make_managed<Gtk::Box>(Gtk::Orientation::HORIZONTAL, 8);
- vbox->add(*hbox);
+ vbox->append(*hbox);
hbox->set_margin(6);
auto label = Gtk::make_managed<Gtk::Label>("Choose a font: ");
- hbox->add(*label);
+ hbox->append(*label);
m_FontButton.set_font(m_Font);
- hbox->add(m_FontButton);
+ hbox->append(m_FontButton);
return vbox;
}
diff --git a/examples/book/printing/simple/examplewindow.cc b/examples/book/printing/simple/examplewindow.cc
index 4dc23bd..b4a6922 100644
--- a/examples/book/printing/simple/examplewindow.cc
+++ b/examples/book/printing/simple/examplewindow.cc
@@ -36,11 +36,11 @@ ExampleWindow::ExampleWindow(const Glib::RefPtr<Gtk::Application>& app)
set_title(app_title);
set_default_size(400, 300);
- add(m_VBox);
+ set_child(m_VBox);
build_main_menu(app);
- m_VBox.add(m_Grid);
+ m_VBox.append(m_Grid);
//Arrange the widgets inside the grid:
m_Grid.set_expand(true);
@@ -53,7 +53,7 @@ ExampleWindow::ExampleWindow(const Glib::RefPtr<Gtk::Application>& app)
m_Grid.attach(m_SurnameEntry, 1, 1);
//Add the TextView, inside a ScrolledWindow:
- m_ScrolledWindow.add(m_TextView);
+ m_ScrolledWindow.set_child(m_TextView);
//Only show the scrollbars when they are necessary:
m_ScrolledWindow.set_policy(Gtk::PolicyType::AUTOMATIC, Gtk::PolicyType::AUTOMATIC);
@@ -66,7 +66,7 @@ ExampleWindow::ExampleWindow(const Glib::RefPtr<Gtk::Application>& app)
m_TextView.set_buffer(m_refTextBuffer);
m_Statusbar.set_expand(true);
- m_VBox.add(m_Statusbar);
+ m_VBox.append(m_Statusbar);
}
ExampleWindow::~ExampleWindow()
@@ -218,7 +218,7 @@ void ExampleWindow::build_main_menu(const Glib::RefPtr<Gtk::Application>& app)
auto pMenuBar = Gtk::make_managed<Gtk::PopoverMenuBar>(gmenu);
// Add the PopoverMenuBar to the window:
- m_VBox.add(*pMenuBar);
+ m_VBox.append(*pMenuBar);
}
// Get the toolbar and add it to a container widget:
@@ -226,7 +226,7 @@ void ExampleWindow::build_main_menu(const Glib::RefPtr<Gtk::Application>& app)
if (!toolbar)
g_warning("toolbar not found");
else
- m_VBox.add(*toolbar);
+ m_VBox.append(*toolbar);
}
void ExampleWindow::on_printoperation_status_changed()
@@ -252,9 +252,16 @@ void ExampleWindow::on_printoperation_done(Gtk::PrintOperation::Result result)
if (result == Gtk::PrintOperation::Result::ERROR)
{
- Gtk::MessageDialog err_dialog(*this, "Error printing form", false,
- Gtk::MessageType::ERROR, Gtk::ButtonsType::OK, true);
- err_dialog.run();
+ if (!m_pDialog)
+ {
+ m_pDialog.reset(new Gtk::MessageDialog(*this, "Error printing form",
+ false /* use_markup */, Gtk::MessageType::ERROR, Gtk::ButtonsType::OK,
+ true /* modal */));
+ m_pDialog->set_hide_on_close(true);
+ m_pDialog->signal_response().connect(
+ sigc::hide(sigc::mem_fun(*m_pDialog, &Gtk::Widget::hide)));
+ }
+ m_pDialog->show();
}
else if (result == Gtk::PrintOperation::Result::APPLY)
{
diff --git a/examples/book/printing/simple/examplewindow.h b/examples/book/printing/simple/examplewindow.h
index 9e0977d..3dccd64 100644
--- a/examples/book/printing/simple/examplewindow.h
+++ b/examples/book/printing/simple/examplewindow.h
@@ -20,6 +20,7 @@
// This file is part of the printing/simple and printing/advanced examples
#include <gtkmm.h>
+#include <memory>
class PrintFormOperation;
@@ -73,6 +74,8 @@ protected:
Gtk::Statusbar m_Statusbar;
Glib::RefPtr<Gtk::Builder> m_refBuilder;
+
+ std::unique_ptr<Gtk::MessageDialog> m_pDialog;
};
#endif //GTKMM_EXAMPLEWINDOW_H
diff --git a/examples/book/printing/simple/printformoperation.cc
b/examples/book/printing/simple/printformoperation.cc
index da3a954..d914083 100644
--- a/examples/book/printing/simple/printformoperation.cc
+++ b/examples/book/printing/simple/printformoperation.cc
@@ -26,7 +26,7 @@ PrintFormOperation::~PrintFormOperation()
Glib::RefPtr<PrintFormOperation> PrintFormOperation::create()
{
- return Glib::RefPtr<PrintFormOperation>(new PrintFormOperation());
+ return Glib::make_refptr_for_instance<PrintFormOperation>(new PrintFormOperation());
}
void PrintFormOperation::on_begin_print(
diff --git a/examples/book/progressbar/examplewindow.cc b/examples/book/progressbar/examplewindow.cc
index a541067..b04bf6a 100644
--- a/examples/book/progressbar/examplewindow.cc
+++ b/examples/book/progressbar/examplewindow.cc
@@ -29,9 +29,9 @@ ExampleWindow::ExampleWindow()
set_title("Gtk::ProgressBar");
m_VBox.set_margin(10);
- add(m_VBox);
+ set_child(m_VBox);
- m_VBox.add(m_ProgressBar);
+ m_VBox.append(m_ProgressBar);
m_ProgressBar.set_margin_end(5);
m_ProgressBar.set_halign(Gtk::Align::CENTER);
m_ProgressBar.set_valign(Gtk::Align::CENTER);
@@ -43,8 +43,8 @@ ExampleWindow::ExampleWindow()
m_connection_timeout = Glib::signal_timeout().connect(sigc::mem_fun(*this,
&ExampleWindow::on_timeout), 50 );
- m_VBox.add(m_Separator);
- m_VBox.add(m_Grid);
+ m_VBox.append(m_Separator);
+ m_VBox.append(m_Grid);
m_Grid.set_expand(true);
m_Grid.set_row_homogeneous(true);
@@ -67,7 +67,7 @@ ExampleWindow::ExampleWindow()
&ExampleWindow::on_checkbutton_inverted) );
//Add a button to exit the program.
- m_VBox.add(m_Button_Close);
+ m_VBox.append(m_Button_Close);
m_Button_Close.signal_clicked().connect(sigc::mem_fun(*this,
&ExampleWindow::on_button_close) );
set_default_widget(m_Button_Close);
diff --git a/examples/book/range_widgets/examplewindow.cc b/examples/book/range_widgets/examplewindow.cc
index 3693c85..ade6c66 100644
--- a/examples/book/range_widgets/examplewindow.cc
+++ b/examples/book/range_widgets/examplewindow.cc
@@ -64,31 +64,31 @@ ExampleWindow::ExampleWindow()
m_HScale.set_value_pos(Gtk::PositionType::TOP);
m_HScale.set_draw_value();
- add(m_VBox_Top);
- m_VBox_Top.add(m_VBox2);
+ set_child(m_VBox_Top);
+ m_VBox_Top.append(m_VBox2);
m_VBox2.set_expand(true);
m_VBox2.set_margin(10);
- m_VBox2.add(m_HBox_Scales);
+ m_VBox2.append(m_HBox_Scales);
m_HBox_Scales.set_expand(true);
//Put VScale and HScale (above scrollbar) side-by-side.
- m_HBox_Scales.add(m_VScale);
+ m_HBox_Scales.append(m_VScale);
m_VScale.set_expand(true);
- m_HBox_Scales.add(m_VBox_HScale);
+ m_HBox_Scales.append(m_VBox_HScale);
m_VBox_HScale.set_expand(true);
- m_VBox_HScale.add(m_HScale);
+ m_VBox_HScale.append(m_HScale);
m_HScale.set_expand(true);
//Scrollbar:
- m_VBox_HScale.add(m_Scrollbar);
+ m_VBox_HScale.append(m_Scrollbar);
m_Scrollbar.set_expand(true);
//CheckButton:
m_CheckButton.set_active();
m_CheckButton.signal_toggled().connect( sigc::mem_fun(*this,
&ExampleWindow::on_checkbutton_toggled) );
- m_VBox2.add(m_CheckButton);
+ m_VBox2.append(m_CheckButton);
//Position ComboBox:
//Create the Tree model:
@@ -110,33 +110,33 @@ ExampleWindow::ExampleWindow()
row[m_Columns.m_col_position_type] = Gtk::PositionType::RIGHT;
row[m_Columns.m_col_title] = "Right";
- m_VBox2.add(m_HBox_Combo);
- m_HBox_Combo.add(*Gtk::make_managed<Gtk::Label>("Scale Value Position:", 0));
- m_HBox_Combo.add(m_ComboBox_Position);
+ m_VBox2.append(m_HBox_Combo);
+ m_HBox_Combo.append(*Gtk::make_managed<Gtk::Label>("Scale Value Position:", 0));
+ m_HBox_Combo.append(m_ComboBox_Position);
m_ComboBox_Position.signal_changed().connect( sigc::mem_fun(*this, &ExampleWindow::on_combo_position) );
m_ComboBox_Position.set_active(0); // Top
m_ComboBox_Position.set_expand(true);
//Digits:
- m_HBox_Digits.add(*Gtk::make_managed<Gtk::Label>("Scale Digits:", 0));
+ m_HBox_Digits.append(*Gtk::make_managed<Gtk::Label>("Scale Digits:", 0));
m_Scale_Digits.set_digits(0);
m_Scale_Digits.set_expand(true);
m_adjustment_digits->signal_value_changed().connect(sigc::mem_fun(*this,
&ExampleWindow::on_adjustment1_value_changed));
- m_HBox_Digits.add(m_Scale_Digits);
+ m_HBox_Digits.append(m_Scale_Digits);
//Page Size:
- m_HBox_PageSize.add(*Gtk::make_managed<Gtk::Label>("Scrollbar Page Size:", 0));
+ m_HBox_PageSize.append(*Gtk::make_managed<Gtk::Label>("Scrollbar Page Size:", 0));
m_Scale_PageSize.set_digits(0);
m_Scale_PageSize.set_expand(true);
m_adjustment_pagesize->signal_value_changed().connect(sigc::mem_fun(*this,
&ExampleWindow::on_adjustment2_value_changed));
- m_HBox_PageSize.add(m_Scale_PageSize);
+ m_HBox_PageSize.append(m_Scale_PageSize);
- m_VBox2.add(m_HBox_Digits);
- m_VBox2.add(m_HBox_PageSize);
- m_VBox_Top.add(m_Separator);
- m_VBox_Top.add(m_Button_Quit);
+ m_VBox2.append(m_HBox_Digits);
+ m_VBox2.append(m_HBox_PageSize);
+ m_VBox_Top.append(m_Separator);
+ m_VBox_Top.append(m_Button_Quit);
set_default_widget(m_Button_Quit);
m_Button_Quit.signal_clicked().connect(sigc::mem_fun(*this,
diff --git a/examples/book/recent_files/examplewindow.cc b/examples/book/recent_files/examplewindow.cc
index 8f152e1..74600ad 100644
--- a/examples/book/recent_files/examplewindow.cc
+++ b/examples/book/recent_files/examplewindow.cc
@@ -25,7 +25,7 @@ ExampleWindow::ExampleWindow(const Glib::RefPtr<Gtk::Application>& app)
set_default_size(300, 150);
//We can put a PopoverMenuBar at the top of the box and other stuff below it.
- add(m_Box);
+ set_child(m_Box);
//Create actions for menus and toolbars:
m_refActionGroup = Gio::SimpleActionGroup::create();
@@ -118,7 +118,7 @@ ExampleWindow::ExampleWindow(const Glib::RefPtr<Gtk::Application>& app)
{
//Menubar:
auto pMenubar = Gtk::make_managed<Gtk::PopoverMenuBar>(gmenu);
- m_Box.add(*pMenubar);
+ m_Box.append(*pMenubar);
}
else
g_warning("GMenu not found");
@@ -126,7 +126,7 @@ ExampleWindow::ExampleWindow(const Glib::RefPtr<Gtk::Application>& app)
auto pToolbar = m_refBuilder->get_widget<Gtk::Box>("toolbar");
if (pToolbar)
//Toolbar:
- m_Box.add(*pToolbar);
+ m_Box.append(*pToolbar);
else
g_warning("toolbar not found");
}
@@ -147,16 +147,28 @@ void ExampleWindow::on_menu_file_quit()
void ExampleWindow::on_menu_file_files_dialog()
{
- Gtk::FileChooserDialog dialog(*this, "Files", Gtk::FileChooser::Action::OPEN,
- /* use_header_bar= */ true);
- dialog.add_button("Select File", Gtk::ResponseType::OK);
- dialog.add_button("_Cancel", Gtk::ResponseType::CANCEL);
-
- const int response = dialog.run();
- dialog.hide();
- if (response == Gtk::ResponseType::OK)
+ if (!m_pDialog)
{
- auto selected_uri = dialog.get_file()->get_uri();
+ m_pDialog.reset(new Gtk::FileChooserDialog(*this, "Files",
+ Gtk::FileChooser::Action::OPEN, /* use_header_bar= */ true));
+ m_pDialog->set_transient_for(*this);
+ m_pDialog->set_modal(true);
+ m_pDialog->signal_response().connect(
+ sigc::mem_fun(*this, &ExampleWindow::on_dialog_response));
+
+ m_pDialog->add_button("Select File", Gtk::ResponseType::OK);
+ m_pDialog->add_button("_Cancel", Gtk::ResponseType::CANCEL);
+ }
+ m_pDialog->show();
+}
+
+void ExampleWindow::on_dialog_response(int response_id)
+{
+ m_pDialog->hide();
+
+ if (response_id == Gtk::ResponseType::OK)
+ {
+ auto selected_uri = m_pDialog->get_file()->get_uri();
std::cout << "URI selected = " << selected_uri << std::endl;
std::cout << (m_refRecentManager->has_item(selected_uri) ? "A" : "Not a")
<< " recently used file" << std::endl;
diff --git a/examples/book/recent_files/examplewindow.h b/examples/book/recent_files/examplewindow.h
index 2cfaca9..0ea5255 100644
--- a/examples/book/recent_files/examplewindow.h
+++ b/examples/book/recent_files/examplewindow.h
@@ -18,6 +18,7 @@
#define GTKMM_EXAMPLEWINDOW_H
#include <gtkmm.h>
+#include <memory>
class ExampleWindow : public Gtk::Window
{
@@ -30,6 +31,7 @@ protected:
void on_menu_file_files_dialog();
void on_menu_file_quit();
void on_menu_file_new();
+ void on_dialog_response(int response_id);
//Child widgets:
Gtk::Box m_Box;
@@ -38,6 +40,8 @@ protected:
Glib::RefPtr<Gio::SimpleActionGroup> m_refActionGroup;
Glib::RefPtr<Gtk::RecentManager> m_refRecentManager;
+
+ std::unique_ptr<Gtk::FileChooserDialog> m_pDialog;
};
#endif //GTKMM_EXAMPLEWINDOW_H
diff --git a/examples/book/revealer/examplewindow.cc b/examples/book/revealer/examplewindow.cc
index a4b299d..3396c37 100644
--- a/examples/book/revealer/examplewindow.cc
+++ b/examples/book/revealer/examplewindow.cc
@@ -46,20 +46,20 @@ ExampleWindow::ExampleWindow()
m_controls.attach(m_switch, 1, 2);
// Revealer
- m_revealer.add(m_label);
+ m_revealer.set_child(m_label);
m_revealer.set_reveal_child(true);
// Layout
m_controls.set_row_spacing(6);
m_controls.set_column_spacing(12);
- m_vbox.add(m_controls);
- m_vbox.add(m_separator);
+ m_vbox.append(m_controls);
+ m_vbox.append(m_separator);
m_separator.set_margin_start(12);
m_separator.set_margin_end(18);
- m_vbox.add(m_revealer);
+ m_vbox.append(m_revealer);
m_revealer.set_expand(true);
m_vbox.set_margin(12);
- add(m_vbox);
+ set_child(m_vbox);
}
ExampleWindow::~ExampleWindow()
diff --git a/examples/book/scrolledwindow/examplewindow.cc b/examples/book/scrolledwindow/examplewindow.cc
index 323f706..46398c0 100644
--- a/examples/book/scrolledwindow/examplewindow.cc
+++ b/examples/book/scrolledwindow/examplewindow.cc
@@ -32,14 +32,14 @@ ExampleWindow::ExampleWindow()
m_ScrolledWindow.set_policy(Gtk::PolicyType::AUTOMATIC, Gtk::PolicyType::ALWAYS);
m_ScrolledWindow.set_expand();
- get_content_area()->add(m_ScrolledWindow);
+ get_content_area()->append(m_ScrolledWindow);
/* set the spacing to 10 on x and 10 on y */
m_Grid.set_row_spacing(10);
m_Grid.set_column_spacing(10);
/* pack the grid into the scrolled window */
- m_ScrolledWindow.add(m_Grid);
+ m_ScrolledWindow.set_child(m_Grid);
/* this simply creates a grid of toggle buttons
* to demonstrate the scrolled window. */
diff --git a/examples/book/searchbar/examplewindow.cc b/examples/book/searchbar/examplewindow.cc
index ddf4b0c..a8be0bc 100644
--- a/examples/book/searchbar/examplewindow.cc
+++ b/examples/book/searchbar/examplewindow.cc
@@ -56,13 +56,13 @@ ExampleWindow::ExampleWindow()
m_options_grid.attach(m_close_button_switch, 1, 1);
// Searchbar Layout
- m_search_box.add(m_entry);
+ m_search_box.append(m_entry);
m_entry.set_expand();
- m_up_down_box.add(m_go_down_button);
- m_up_down_box.add(m_go_up_button);
- m_search_box.add(m_up_down_box);
+ m_up_down_box.append(m_go_down_button);
+ m_up_down_box.append(m_go_up_button);
+ m_search_box.append(m_up_down_box);
m_search_box.set_spacing(6);
- m_search_bar.add(m_search_box);
+ m_search_bar.set_child(m_search_box);
// Match style of epiphany's search bar
m_up_down_box.get_style_context()->add_class("raised");
@@ -73,16 +73,16 @@ ExampleWindow::ExampleWindow()
m_go_down_button.set_image_from_icon_name("go-down-symbolic", Gtk::IconSize::INHERIT, true);
m_vbox.set_spacing(6);
- m_vbox.add(m_search_bar);
- m_vbox.add(m_label);
- m_vbox.add(m_separator);
+ m_vbox.append(m_search_bar);
+ m_vbox.append(m_label);
+ m_vbox.append(m_separator);
m_separator.set_margin_start(6);
m_separator.set_margin_end(6);
- m_vbox.add(m_options_grid);
+ m_vbox.append(m_options_grid);
m_options_grid.set_margin_start(6);
m_options_grid.set_margin_end(6);
m_vbox.set_margin(12);
- add(m_vbox);
+ set_child(m_vbox);
}
ExampleWindow::~ExampleWindow()
diff --git a/examples/book/spinbutton/examplewindow.cc b/examples/book/spinbutton/examplewindow.cc
index 18bae97..ddf5ebc 100644
--- a/examples/book/spinbutton/examplewindow.cc
+++ b/examples/book/spinbutton/examplewindow.cc
@@ -54,86 +54,86 @@ ExampleWindow::ExampleWindow()
set_title("SpinButton");
m_VBox_Main.set_margin(10);
- add(m_VBox_Main);
+ set_child(m_VBox_Main);
- m_VBox_Main.add(m_Frame_NotAccelerated);
+ m_VBox_Main.append(m_Frame_NotAccelerated);
m_VBox.set_margin(5);
- m_Frame_NotAccelerated.add(m_VBox);
+ m_Frame_NotAccelerated.set_child(m_VBox);
/* Day, month, year spinners */
m_VBox.set_spacing(5);
- m_VBox.add(m_HBox_NotAccelerated);
+ m_VBox.append(m_HBox_NotAccelerated);
m_Label_Day.set_expand();
- m_VBox_Day.add(m_Label_Day);
+ m_VBox_Day.append(m_Label_Day);
m_SpinButton_Day.set_wrap();
m_SpinButton_Day.set_expand();
- m_VBox_Day.add(m_SpinButton_Day);
+ m_VBox_Day.append(m_SpinButton_Day);
m_HBox_NotAccelerated.set_spacing(5);
- m_HBox_NotAccelerated.add(m_VBox_Day);
+ m_HBox_NotAccelerated.append(m_VBox_Day);
m_Label_Month.set_expand();
- m_VBox_Month.add(m_Label_Month);
+ m_VBox_Month.append(m_Label_Month);
m_SpinButton_Month.set_wrap();
m_SpinButton_Month.set_expand();
- m_VBox_Month.add(m_SpinButton_Month);
+ m_VBox_Month.append(m_SpinButton_Month);
- m_HBox_NotAccelerated.add(m_VBox_Month);
+ m_HBox_NotAccelerated.append(m_VBox_Month);
m_Label_Year.set_expand();
- m_VBox_Year.add(m_Label_Year);
+ m_VBox_Year.append(m_Label_Year);
m_SpinButton_Year.set_wrap();
m_SpinButton_Year.set_expand();
m_SpinButton_Year.set_size_request(55, -1);
- m_VBox_Year.add(m_SpinButton_Year);
+ m_VBox_Year.append(m_SpinButton_Year);
- m_HBox_NotAccelerated.add(m_VBox_Year);
+ m_HBox_NotAccelerated.append(m_VBox_Year);
//Accelerated:
- m_VBox_Main.add(m_Frame_Accelerated);
+ m_VBox_Main.append(m_Frame_Accelerated);
m_VBox_Accelerated.set_margin(5);
- m_Frame_Accelerated.add(m_VBox_Accelerated);
+ m_Frame_Accelerated.set_child(m_VBox_Accelerated);
m_VBox_Accelerated.set_spacing(5);
- m_VBox_Accelerated.add(m_HBox_Accelerated);
+ m_VBox_Accelerated.append(m_HBox_Accelerated);
- m_HBox_Accelerated.add(m_VBox_Value);
+ m_HBox_Accelerated.append(m_VBox_Value);
m_Label_Value.set_expand();
- m_VBox_Value.add(m_Label_Value);
+ m_VBox_Value.append(m_Label_Value);
m_SpinButton_Value.set_wrap();
m_SpinButton_Value.set_expand();
m_SpinButton_Value.set_size_request(100, -1);
- m_VBox_Value.add(m_SpinButton_Value);
+ m_VBox_Value.append(m_SpinButton_Value);
- m_HBox_Accelerated.add(m_VBox_Digits);
+ m_HBox_Accelerated.append(m_VBox_Digits);
- m_VBox_Digits.add(m_Label_Digits);
+ m_VBox_Digits.append(m_Label_Digits);
m_Label_Digits.set_expand();
m_SpinButton_Digits.set_wrap();
m_adjustment_digits->signal_value_changed().connect( sigc::mem_fun(*this,
&ExampleWindow::on_spinbutton_digits_changed) );
- m_VBox_Digits.add(m_SpinButton_Digits);
+ m_VBox_Digits.append(m_SpinButton_Digits);
m_SpinButton_Digits.set_expand();
//CheckButtons:
- m_VBox_Accelerated.add(m_CheckButton_Snap);
+ m_VBox_Accelerated.append(m_CheckButton_Snap);
m_CheckButton_Snap.set_expand();
m_CheckButton_Snap.set_active();
m_CheckButton_Snap.signal_clicked().connect( sigc::mem_fun(*this,
&ExampleWindow::on_checkbutton_snap) );
- m_VBox_Accelerated.add(m_CheckButton_Numeric);
+ m_VBox_Accelerated.append(m_CheckButton_Numeric);
m_CheckButton_Numeric.set_expand();
m_CheckButton_Numeric.set_active();
m_CheckButton_Numeric.signal_clicked().connect( sigc::mem_fun(*this,
@@ -141,27 +141,27 @@ ExampleWindow::ExampleWindow()
//Buttons:
- m_VBox_Accelerated.add(m_HBox_Buttons);
+ m_VBox_Accelerated.append(m_HBox_Buttons);
m_Button_Int.signal_clicked().connect( sigc::bind( sigc::mem_fun(*this,
&ExampleWindow::on_button_getvalue), VALUE_FORMAT_INT) );
m_HBox_Buttons.set_spacing(5);
- m_HBox_Buttons.add(m_Button_Int);
+ m_HBox_Buttons.append(m_Button_Int);
m_Button_Int.set_expand();
m_Button_Float.signal_clicked().connect( sigc::bind( sigc::mem_fun(*this,
&ExampleWindow::on_button_getvalue), VALUE_FORMAT_FLOAT) );
- m_HBox_Buttons.add(m_Button_Float);
+ m_HBox_Buttons.append(m_Button_Float);
m_Button_Float.set_expand();
- m_VBox_Accelerated.add(m_Label_ShowValue);
+ m_VBox_Accelerated.append(m_Label_ShowValue);
m_Label_ShowValue.set_expand();
m_Label_ShowValue.set_text("0");
//Close button:
m_Button_Close.signal_clicked().connect( sigc::mem_fun(*this,
&ExampleWindow::on_button_close) );
- m_VBox_Main.add(m_Button_Close);
+ m_VBox_Main.append(m_Button_Close);
}
ExampleWindow::~ExampleWindow()
diff --git a/examples/book/textview/examplewindow.cc b/examples/book/textview/examplewindow.cc
index 1d1e97e..0a66303 100644
--- a/examples/book/textview/examplewindow.cc
+++ b/examples/book/textview/examplewindow.cc
@@ -26,25 +26,25 @@ ExampleWindow::ExampleWindow()
set_default_size(400, 200);
m_VBox.set_margin(5);
- add(m_VBox);
+ set_child(m_VBox);
//Add the TreeView, inside a ScrolledWindow, with the button underneath:
- m_ScrolledWindow.add(m_TextView);
+ m_ScrolledWindow.set_child(m_TextView);
//Only show the scrollbars when they are necessary:
m_ScrolledWindow.set_policy(Gtk::PolicyType::AUTOMATIC, Gtk::PolicyType::AUTOMATIC);
m_ScrolledWindow.set_expand();
- m_VBox.add(m_ScrolledWindow);
+ m_VBox.append(m_ScrolledWindow);
- //Add buttons:
- m_VBox.add(m_ButtonBox);
+ //append buttons:
+ m_VBox.append(m_ButtonBox);
m_Button_Buffer1.set_hexpand(true);
m_Button_Buffer1.set_halign(Gtk::Align::END);
- m_ButtonBox.add(m_Button_Buffer1);
- m_ButtonBox.add(m_Button_Buffer2);
- m_ButtonBox.add(m_Button_Quit);
+ m_ButtonBox.append(m_Button_Buffer1);
+ m_ButtonBox.append(m_Button_Buffer2);
+ m_ButtonBox.append(m_Button_Quit);
m_ButtonBox.set_margin(5);
m_ButtonBox.set_spacing(5);
diff --git a/examples/book/timeout/timerexample.cc b/examples/book/timeout/timerexample.cc
index dc18e5d..c848f82 100644
--- a/examples/book/timeout/timerexample.cc
+++ b/examples/book/timeout/timerexample.cc
@@ -26,12 +26,13 @@ TimerExample::TimerExample() :
timeout_value(1500) // 1500 ms = 1.5 seconds
{
m_Box.set_margin(10);
- add(m_Box);
- m_Box.add(m_ButtonAddTimer);
- m_Box.add(m_ButtonDeleteTimer);
- m_Box.add(m_ButtonQuit);
- for (auto child : m_Box.get_children())
- child->set_expand();
+ set_child(m_Box);
+ m_Box.append(m_ButtonAddTimer);
+ m_Box.append(m_ButtonDeleteTimer);
+ m_Box.append(m_ButtonQuit);
+ m_ButtonAddTimer.set_expand();
+ m_ButtonDeleteTimer.set_expand();
+ m_ButtonQuit.set_expand();
// Connect the three buttons:
m_ButtonQuit.signal_clicked().connect(sigc::mem_fun(*this,
diff --git a/examples/book/toolbar/examplewindow.cc b/examples/book/toolbar/examplewindow.cc
index fcd18c5..585233b 100644
--- a/examples/book/toolbar/examplewindow.cc
+++ b/examples/book/toolbar/examplewindow.cc
@@ -25,14 +25,14 @@ ExampleWindow::ExampleWindow()
//The toolbar will not demand any size, because it has an overflow menu.
set_size_request(300, 200);
- add(m_VBox);
+ set_child(m_VBox);
//Put a toolbar at the top, and a button underneath:
- m_VBox.add(m_Toolbar);
+ m_VBox.append(m_Toolbar);
m_ButtonBox.set_margin(5);
- m_VBox.add(m_ButtonBox);
+ m_VBox.append(m_ButtonBox);
- m_ButtonBox.add(m_Button_Close);
+ m_ButtonBox.append(m_Button_Close);
m_Button_Close.set_expand(true);
m_Button_Close.set_halign(Gtk::Align::END);
m_Button_Close.set_valign(Gtk::Align::END);
@@ -48,30 +48,30 @@ ExampleWindow::ExampleWindow()
auto item = Gtk::make_managed<Gtk::Button>("Click me");
item->set_tooltip_text("Toolbar item");
- m_Toolbar.add(*item);
+ m_Toolbar.append(*item);
item->signal_clicked().connect( sigc::mem_fun(*this,
&ExampleWindow::on_toolbar_item) );
- m_Toolbar.add(*Gtk::make_managed<Gtk::Separator>());
+ m_Toolbar.append(*Gtk::make_managed<Gtk::Separator>());
item = Gtk::make_managed<Gtk::Button>("_Save");
item->set_use_underline();
item->set_tooltip_text("Save");
item->set_icon_name("document-save");
- m_Toolbar.add(*item);
+ m_Toolbar.append(*item);
item->signal_clicked().connect( sigc::mem_fun(*this,
&ExampleWindow::on_toolbar_item) );
item = Gtk::make_managed<Gtk::ToggleButton>("Toggle me");
item->set_tooltip_text("toggle duh");
- m_Toolbar.add(*item);
+ m_Toolbar.append(*item);
item->signal_clicked().connect( sigc::mem_fun(*this,
&ExampleWindow::on_toolbar_item) );
Gtk::RadioButtonGroup group;
- m_Toolbar.add(*Gtk::make_managed<Gtk::RadioButton>(group, "Radio 1"));
- m_Toolbar.add(*Gtk::make_managed<Gtk::RadioButton>(group, "Radio 2"));
- m_Toolbar.add(*Gtk::make_managed<Gtk::RadioButton>(group, "Radio 3"));
+ m_Toolbar.append(*Gtk::make_managed<Gtk::RadioButton>(group, "Radio 1"));
+ m_Toolbar.append(*Gtk::make_managed<Gtk::RadioButton>(group, "Radio 2"));
+ m_Toolbar.append(*Gtk::make_managed<Gtk::RadioButton>(group, "Radio 3"));
}
}
diff --git a/examples/book/tooltips/examplewindow.cc b/examples/book/tooltips/examplewindow.cc
index 621f456..65cc62e 100644
--- a/examples/book/tooltips/examplewindow.cc
+++ b/examples/book/tooltips/examplewindow.cc
@@ -32,15 +32,15 @@ ExampleWindow::ExampleWindow()
set_title(app_title);
m_vbox.set_margin(10);
- add(m_vbox);
+ set_child(m_vbox);
//Check button with markup in tooltip:
m_checkbutton.set_tooltip_text(non_markedup_tip);
- m_vbox.add(m_checkbutton);
+ m_vbox.append(m_checkbutton);
//Label:
m_label.set_tooltip_text("Another tooltip");
- m_vbox.add(m_label);
+ m_vbox.append(m_label);
//Textview:
prepare_textview();
@@ -50,11 +50,11 @@ ExampleWindow::ExampleWindow()
//of set_tooltip_text() or set_tooltip_markup(), we need to explicitly
//tell GTK that the widget has a tooltip which we'll show.
m_button.set_has_tooltip();
- m_vbox.add(m_button);
+ m_vbox.append(m_button);
//Button's custom tooltip widget:
auto label = Gtk::make_managed<Gtk::Label>("A label in a custom tooltip widget");
- m_button_tooltip_widget.add(*label);
+ m_button_tooltip_widget.append(*label);
connect_signals();
}
@@ -69,10 +69,10 @@ void ExampleWindow::prepare_textview()
std::vector<Glib::RefPtr<Gtk::TextTag>> tags;
//Set up a scrolled window:
- m_scrolled_window.add(m_text_view);
+ m_scrolled_window.set_child(m_text_view);
m_scrolled_window.set_policy(Gtk::PolicyType::AUTOMATIC, Gtk::PolicyType::AUTOMATIC);
m_scrolled_window.set_expand();
- m_vbox.add(m_scrolled_window);
+ m_vbox.append(m_scrolled_window);
//Create a text buffer with some text:
m_ref_text_buffer = Gtk::TextBuffer::create();
diff --git a/examples/book/treeview/combo_renderer/examplewindow.cc
b/examples/book/treeview/combo_renderer/examplewindow.cc
index cde9ea7..d50112e 100644
--- a/examples/book/treeview/combo_renderer/examplewindow.cc
+++ b/examples/book/treeview/combo_renderer/examplewindow.cc
@@ -25,19 +25,19 @@ ExampleWindow::ExampleWindow()
set_default_size(400, 200);
m_VBox.set_margin(5);
- add(m_VBox);
+ set_child(m_VBox);
//Add the TreeView, inside a ScrolledWindow, with the button underneath:
- m_ScrolledWindow.add(m_TreeView);
+ m_ScrolledWindow.set_child(m_TreeView);
//Only show the scrollbars when they are necessary:
m_ScrolledWindow.set_policy(Gtk::PolicyType::AUTOMATIC, Gtk::PolicyType::AUTOMATIC);
m_ScrolledWindow.set_expand();
- m_VBox.add(m_ScrolledWindow);
- m_VBox.add(m_ButtonBox);
+ m_VBox.append(m_ScrolledWindow);
+ m_VBox.append(m_ButtonBox);
- m_ButtonBox.add(m_Button_Quit);
+ m_ButtonBox.append(m_Button_Quit);
m_ButtonBox.set_margin(5);
m_Button_Quit.set_hexpand(true);
m_Button_Quit.set_halign(Gtk::Align::END);
diff --git a/examples/book/treeview/custom_treemodel/exampletreemodel.cc
b/examples/book/treeview/custom_treemodel/exampletreemodel.cc
index fafb61c..f9866f9 100644
--- a/examples/book/treeview/custom_treemodel/exampletreemodel.cc
+++ b/examples/book/treeview/custom_treemodel/exampletreemodel.cc
@@ -103,7 +103,7 @@ MemoryTreeModel::~MemoryTreeModel()
Glib::RefPtr<MemoryTreeModel> MemoryTreeModel::create()
{
- return Glib::RefPtr<MemoryTreeModel>(new MemoryTreeModel);
+ return Glib::make_refptr_for_instance<MemoryTreeModel>(new MemoryTreeModel);
}
void MemoryTreeModel::set_memory(const Memory* m)
diff --git a/examples/book/treeview/custom_treemodel/examplewindow.cc
b/examples/book/treeview/custom_treemodel/examplewindow.cc
index 9d9aeba..7144463 100644
--- a/examples/book/treeview/custom_treemodel/examplewindow.cc
+++ b/examples/book/treeview/custom_treemodel/examplewindow.cc
@@ -28,25 +28,25 @@ ExampleWindow::ExampleWindow()
set_default_size(650, 400);
m_VBox.set_margin(8);
- add(m_VBox);
- m_VBox.add(m_Label);
+ set_child(m_VBox);
+ m_VBox.append(m_Label);
// Add the TreeView, inside a ScrolledWindow, with the button underneath:
- m_ScrolledWindow.add(m_TreeView);
+ m_ScrolledWindow.set_child(m_TreeView);
// Only show the scrollbars when they are necessary:
m_ScrolledWindow.set_policy(Gtk::PolicyType::AUTOMATIC, Gtk::PolicyType::AUTOMATIC);
m_ScrolledWindow.set_has_frame(true);
m_ScrolledWindow.set_expand();
- m_VBox.add(m_ScrolledWindow);
- m_VBox.add(m_ButtonBox);
+ m_VBox.append(m_ScrolledWindow);
+ m_VBox.append(m_ButtonBox);
m_Button_Add.set_hexpand(true);
m_Button_Add.set_halign(Gtk::Align::END);
- m_ButtonBox.add(m_Button_Add);
- m_ButtonBox.add(m_Button_Remove);
- m_ButtonBox.add(m_Button_Quit);
+ m_ButtonBox.append(m_Button_Add);
+ m_ButtonBox.append(m_Button_Remove);
+ m_ButtonBox.append(m_Button_Quit);
m_ButtonBox.set_margin(5);
m_ButtonBox.set_spacing(5);
diff --git a/examples/book/treeview/drag_and_drop/examplewindow.cc
b/examples/book/treeview/drag_and_drop/examplewindow.cc
index a6bcb3c..3a3a44f 100644
--- a/examples/book/treeview/drag_and_drop/examplewindow.cc
+++ b/examples/book/treeview/drag_and_drop/examplewindow.cc
@@ -25,19 +25,19 @@ ExampleWindow::ExampleWindow()
set_default_size(400, 200);
m_VBox.set_margin(5);
- add(m_VBox);
+ set_child(m_VBox);
//Add the TreeView, inside a ScrolledWindow, with the button underneath:
- m_ScrolledWindow.add(m_TreeView);
+ m_ScrolledWindow.set_child(m_TreeView);
//Only show the scrollbars when they are necessary:
m_ScrolledWindow.set_policy(Gtk::PolicyType::AUTOMATIC, Gtk::PolicyType::AUTOMATIC);
m_ScrolledWindow.set_expand();
- m_VBox.add(m_ScrolledWindow);
- m_VBox.add(m_ButtonBox);
+ m_VBox.append(m_ScrolledWindow);
+ m_VBox.append(m_ButtonBox);
- m_ButtonBox.add(m_Button_Quit);
+ m_ButtonBox.append(m_Button_Quit);
m_ButtonBox.set_margin(5);
m_Button_Quit.set_hexpand(true);
m_Button_Quit.set_halign(Gtk::Align::END);
diff --git a/examples/book/treeview/drag_and_drop/treemodel_dnd.cc
b/examples/book/treeview/drag_and_drop/treemodel_dnd.cc
index 54bc93b..798e5c0 100644
--- a/examples/book/treeview/drag_and_drop/treemodel_dnd.cc
+++ b/examples/book/treeview/drag_and_drop/treemodel_dnd.cc
@@ -29,7 +29,7 @@ TreeModel_Dnd::TreeModel_Dnd()
Glib::RefPtr<TreeModel_Dnd> TreeModel_Dnd::create()
{
- return Glib::RefPtr<TreeModel_Dnd>( new TreeModel_Dnd() );
+ return Glib::make_refptr_for_instance<TreeModel_Dnd>( new TreeModel_Dnd() );
}
bool
diff --git a/examples/book/treeview/editable_cells/examplewindow.cc
b/examples/book/treeview/editable_cells/examplewindow.cc
index 0fbb8e6..ad0cd8f 100644
--- a/examples/book/treeview/editable_cells/examplewindow.cc
+++ b/examples/book/treeview/editable_cells/examplewindow.cc
@@ -31,19 +31,19 @@ ExampleWindow::ExampleWindow()
set_default_size(400, 200);
m_VBox.set_margin(5);
- add(m_VBox);
+ set_child(m_VBox);
//Add the TreeView, inside a ScrolledWindow, with the button underneath:
- m_ScrolledWindow.add(m_TreeView);
+ m_ScrolledWindow.set_child(m_TreeView);
//Only show the scrollbars when they are necessary:
m_ScrolledWindow.set_policy(Gtk::PolicyType::AUTOMATIC, Gtk::PolicyType::AUTOMATIC);
m_ScrolledWindow.set_expand();
- m_VBox.add(m_ScrolledWindow);
- m_VBox.add(m_ButtonBox);
+ m_VBox.append(m_ScrolledWindow);
+ m_VBox.append(m_ButtonBox);
- m_ButtonBox.add(m_Button_Quit);
+ m_ButtonBox.append(m_Button_Quit);
m_ButtonBox.set_margin(5);
m_Button_Quit.set_hexpand(true);
m_Button_Quit.set_halign(Gtk::Align::END);
@@ -87,7 +87,7 @@ ExampleWindow::ExampleWindow()
//For this column, we create the CellRenderer ourselves, and connect our own
//signal handlers, so that we can validate the data that the user enters, and
//control how it is displayed.
- m_treeviewcolumn_validated.set_title("validated (<10)");
+ m_treeviewcolumn_validated.set_title("validated (<10)");
m_treeviewcolumn_validated.pack_start(m_cellrenderer_validated);
m_TreeView.append_column(m_treeviewcolumn_validated);
@@ -159,7 +159,6 @@ void ExampleWindow::cellrenderer_validated_on_editing_started(
m_invalid_text_for_retry.clear();
}
}
-
}
void ExampleWindow::cellrenderer_validated_on_edited(
@@ -172,15 +171,18 @@ void ExampleWindow::cellrenderer_validated_on_edited(
char* pchEnd = nullptr;
int new_value = strtol(new_text.c_str(), &pchEnd, 10);
- if(new_value > 10)
+ if(new_value >= 10)
{
//Prevent entry of numbers higher than 10.
//Tell the user:
- Gtk::MessageDialog dialog(*this,
+ auto dialog = new Gtk::MessageDialog(*this,
"The number must be less than 10. Please try again.",
- false, Gtk::MessageType::ERROR);
- dialog.run();
+ false, Gtk::MessageType::ERROR, Gtk::ButtonsType::OK, true /* modal */);
+ dialog->signal_response().connect(sigc::bind(
+ sigc::mem_fun(*this, &ExampleWindow::on_message_response), dialog));
+
+ dialog->show();
//Start editing again, with the bad text, so that the user can correct it.
//A real application should probably allow the user to revert to the
@@ -190,7 +192,7 @@ void ExampleWindow::cellrenderer_validated_on_edited(
m_invalid_text_for_retry = new_text;
m_validate_retry = true;
- //Start editing again:
+ //Start editing again, when the message dialog has been closed:
m_TreeView.set_cursor(path, m_treeviewcolumn_validated,
m_cellrenderer_validated, true /* start_editing */);
}
@@ -208,3 +210,7 @@ void ExampleWindow::cellrenderer_validated_on_edited(
}
}
+void ExampleWindow::on_message_response(int /* response_id */, Gtk::MessageDialog* dialog)
+{
+ delete dialog;
+}
diff --git a/examples/book/treeview/editable_cells/examplewindow.h
b/examples/book/treeview/editable_cells/examplewindow.h
index b3dd4d9..ab91ed8 100644
--- a/examples/book/treeview/editable_cells/examplewindow.h
+++ b/examples/book/treeview/editable_cells/examplewindow.h
@@ -32,6 +32,7 @@ protected:
void treeviewcolumn_validated_on_cell_data(Gtk::CellRenderer* renderer, const
Gtk::TreeModel::const_iterator& iter);
void cellrenderer_validated_on_editing_started(Gtk::CellEditable* cell_editable, const Glib::ustring&
path);
void cellrenderer_validated_on_edited(const Glib::ustring& path_string, const Glib::ustring& new_text);
+ void on_message_response(int response_id, Gtk::MessageDialog* dialog);
//Tree model columns:
class ModelColumns : public Gtk::TreeModel::ColumnRecord
diff --git a/examples/book/treeview/filter/examplewindow.cc b/examples/book/treeview/filter/examplewindow.cc
index 670a7c2..73c9120 100644
--- a/examples/book/treeview/filter/examplewindow.cc
+++ b/examples/book/treeview/filter/examplewindow.cc
@@ -25,19 +25,19 @@ ExampleWindow::ExampleWindow()
set_default_size(400, 200);
m_VBox.set_margin(5);
- add(m_VBox);
+ set_child(m_VBox);
//Add the TreeView, inside a ScrolledWindow, with the button underneath:
- m_ScrolledWindow.add(m_TreeView);
+ m_ScrolledWindow.set_child(m_TreeView);
//Only show the scrollbars when they are necessary:
m_ScrolledWindow.set_policy(Gtk::PolicyType::AUTOMATIC, Gtk::PolicyType::AUTOMATIC);
m_ScrolledWindow.set_expand();
- m_VBox.add(m_ScrolledWindow);
- m_VBox.add(m_ButtonBox);
+ m_VBox.append(m_ScrolledWindow);
+ m_VBox.append(m_ButtonBox);
- m_ButtonBox.add(m_Button_Quit);
+ m_ButtonBox.append(m_Button_Quit);
m_ButtonBox.set_margin(5);
m_Button_Quit.set_hexpand(true);
m_Button_Quit.set_halign(Gtk::Align::END);
diff --git a/examples/book/treeview/filter_modify/examplewindow.cc
b/examples/book/treeview/filter_modify/examplewindow.cc
index d3e2e77..fae5083 100644
--- a/examples/book/treeview/filter_modify/examplewindow.cc
+++ b/examples/book/treeview/filter_modify/examplewindow.cc
@@ -25,19 +25,19 @@ ExampleWindow::ExampleWindow()
set_default_size(400, 200);
m_VBox.set_margin(5);
- add(m_VBox);
+ set_child(m_VBox);
//Add the TreeView, inside a ScrolledWindow, with the button underneath:
- m_ScrolledWindow.add(m_TreeView);
+ m_ScrolledWindow.set_child(m_TreeView);
//Only show the scrollbars when they are necessary:
m_ScrolledWindow.set_policy(Gtk::PolicyType::AUTOMATIC, Gtk::PolicyType::AUTOMATIC);
m_ScrolledWindow.set_expand();
- m_VBox.add(m_ScrolledWindow);
- m_VBox.add(m_ButtonBox);
+ m_VBox.append(m_ScrolledWindow);
+ m_VBox.append(m_ButtonBox);
- m_ButtonBox.add(m_Button_Quit);
+ m_ButtonBox.append(m_Button_Quit);
m_ButtonBox.set_margin(5);
m_Button_Quit.set_hexpand(true);
m_Button_Quit.set_halign(Gtk::Align::END);
diff --git a/examples/book/treeview/list/examplewindow.cc b/examples/book/treeview/list/examplewindow.cc
index 583c6e4..6b4f592 100644
--- a/examples/book/treeview/list/examplewindow.cc
+++ b/examples/book/treeview/list/examplewindow.cc
@@ -25,19 +25,19 @@ ExampleWindow::ExampleWindow()
set_default_size(400, 200);
m_VBox.set_margin(5);
- add(m_VBox);
+ set_child(m_VBox);
//Add the TreeView, inside a ScrolledWindow, with the button underneath:
- m_ScrolledWindow.add(m_TreeView);
+ m_ScrolledWindow.set_child(m_TreeView);
//Only show the scrollbars when they are necessary:
m_ScrolledWindow.set_policy(Gtk::PolicyType::AUTOMATIC, Gtk::PolicyType::AUTOMATIC);
m_ScrolledWindow.set_expand();
- m_VBox.add(m_ScrolledWindow);
- m_VBox.add(m_ButtonBox);
+ m_VBox.append(m_ScrolledWindow);
+ m_VBox.append(m_ButtonBox);
- m_ButtonBox.add(m_Button_Quit);
+ m_ButtonBox.append(m_Button_Quit);
m_ButtonBox.set_margin(5);
m_Button_Quit.set_hexpand(true);
m_Button_Quit.set_halign(Gtk::Align::END);
diff --git a/examples/book/treeview/listviewtext/examplewindow.cc
b/examples/book/treeview/listviewtext/examplewindow.cc
index 33e58c5..30fea67 100644
--- a/examples/book/treeview/listviewtext/examplewindow.cc
+++ b/examples/book/treeview/listviewtext/examplewindow.cc
@@ -26,19 +26,19 @@ ExampleWindow::ExampleWindow()
set_default_size(400, 200);
m_VBox.set_margin(6);
- add(m_VBox);
+ set_child(m_VBox);
//Add the TreeView, inside a ScrolledWindow, with the button underneath:
- m_ScrolledWindow.add(m_ListViewText);
+ m_ScrolledWindow.set_child(m_ListViewText);
//Only show the scrollbars when they are necessary:
m_ScrolledWindow.set_policy(Gtk::PolicyType::AUTOMATIC, Gtk::PolicyType::AUTOMATIC);
m_ScrolledWindow.set_expand();
- m_VBox.add(m_ScrolledWindow);
- m_VBox.add(m_ButtonBox);
+ m_VBox.append(m_ScrolledWindow);
+ m_VBox.append(m_ButtonBox);
- m_ButtonBox.add(m_Button_Quit);
+ m_ButtonBox.append(m_Button_Quit);
m_ButtonBox.set_margin(5);
m_Button_Quit.set_hexpand(true);
m_Button_Quit.set_halign(Gtk::Align::END);
diff --git a/examples/book/treeview/modelsort/examplewindow.cc
b/examples/book/treeview/modelsort/examplewindow.cc
index cbda0f7..5872b15 100644
--- a/examples/book/treeview/modelsort/examplewindow.cc
+++ b/examples/book/treeview/modelsort/examplewindow.cc
@@ -26,11 +26,11 @@ ExampleWindow::ExampleWindow()
m_VBox.set_margin(6);
m_VBox.set_spacing(6);
- add(m_VBox);
+ set_child(m_VBox);
//Add the TreeViews, inside ScrolledWindows, with the button underneath:
- m_ScrolledWindow1.add(m_TreeView1);
- m_ScrolledWindow2.add(m_TreeView2);
+ m_ScrolledWindow1.set_child(m_TreeView1);
+ m_ScrolledWindow2.set_child(m_TreeView2);
//Only show the scrollbars when they are necessary:
m_ScrolledWindow1.set_policy(Gtk::PolicyType::AUTOMATIC, Gtk::PolicyType::AUTOMATIC);
@@ -38,11 +38,11 @@ ExampleWindow::ExampleWindow()
m_ScrolledWindow1.set_expand();
m_ScrolledWindow2.set_expand();
- m_VBox.add(m_ScrolledWindow1);
- m_VBox.add(m_ScrolledWindow2);
- m_VBox.add(m_ButtonBox);
+ m_VBox.append(m_ScrolledWindow1);
+ m_VBox.append(m_ScrolledWindow2);
+ m_VBox.append(m_ButtonBox);
- m_ButtonBox.add(m_Button_Quit);
+ m_ButtonBox.append(m_Button_Quit);
m_ButtonBox.set_margin(5);
m_Button_Quit.set_hexpand(true);
m_Button_Quit.set_halign(Gtk::Align::END);
diff --git a/examples/book/treeview/popup/examplewindow.cc b/examples/book/treeview/popup/examplewindow.cc
index b62427d..64b887c 100644
--- a/examples/book/treeview/popup/examplewindow.cc
+++ b/examples/book/treeview/popup/examplewindow.cc
@@ -25,19 +25,19 @@ ExampleWindow::ExampleWindow()
set_default_size(400, 200);
m_VBox.set_margin(5);
- add(m_VBox);
+ set_child(m_VBox);
//Add the TreeView, inside a ScrolledWindow, with the button underneath:
- m_ScrolledWindow.add(m_TreeView);
+ m_ScrolledWindow.set_child(m_TreeView);
//Only show the scrollbars when they are necessary:
m_ScrolledWindow.set_policy(Gtk::PolicyType::AUTOMATIC, Gtk::PolicyType::AUTOMATIC);
m_ScrolledWindow.set_expand();
- m_VBox.add(m_ScrolledWindow);
- m_VBox.add(m_ButtonBox);
+ m_VBox.append(m_ScrolledWindow);
+ m_VBox.append(m_ButtonBox);
- m_ButtonBox.add(m_Button_Quit);
+ m_ButtonBox.append(m_Button_Quit);
m_ButtonBox.set_margin(5);
m_Button_Quit.set_hexpand(true);
m_Button_Quit.set_halign(Gtk::Align::END);
diff --git a/examples/book/treeview/tree/examplewindow.cc b/examples/book/treeview/tree/examplewindow.cc
index 9201b2a..53bf2b4 100644
--- a/examples/book/treeview/tree/examplewindow.cc
+++ b/examples/book/treeview/tree/examplewindow.cc
@@ -25,19 +25,19 @@ ExampleWindow::ExampleWindow()
set_default_size(400, 200);
m_VBox.set_margin(5);
- add(m_VBox);
+ set_child(m_VBox);
//Add the TreeView, inside a ScrolledWindow, with the button underneath:
- m_ScrolledWindow.add(m_TreeView);
+ m_ScrolledWindow.set_child(m_TreeView);
//Only show the scrollbars when they are necessary:
m_ScrolledWindow.set_policy(Gtk::PolicyType::AUTOMATIC, Gtk::PolicyType::AUTOMATIC);
m_ScrolledWindow.set_expand();
- m_VBox.add(m_ScrolledWindow);
- m_VBox.add(m_ButtonBox);
+ m_VBox.append(m_ScrolledWindow);
+ m_VBox.append(m_ButtonBox);
- m_ButtonBox.add(m_Button_Quit);
+ m_ButtonBox.append(m_Button_Quit);
m_ButtonBox.set_margin(5);
m_Button_Quit.set_hexpand(true);
m_Button_Quit.set_halign(Gtk::Align::END);
diff --git a/examples/book/update_ui/examplewindow.cc b/examples/book/update_ui/examplewindow.cc
index 3a7b3e5..3a019e0 100644
--- a/examples/book/update_ui/examplewindow.cc
+++ b/examples/book/update_ui/examplewindow.cc
@@ -26,14 +26,14 @@ ExampleWindow::ExampleWindow()
set_default_size(400, -1);
m_VBox.set_margin(6);
- add(m_VBox);
+ set_child(m_VBox);
m_ProgressBar.set_show_text(true);
- m_VBox.add(m_ProgressBar);
- m_VBox.add(m_ButtonBox);
+ m_VBox.append(m_ProgressBar);
+ m_VBox.append(m_ButtonBox);
- m_ButtonBox.add(m_Button_Quit);
- m_ButtonBox.add(m_Button_Start);
+ m_ButtonBox.append(m_Button_Quit);
+ m_ButtonBox.append(m_Button_Start);
m_ButtonBox.set_margin(6);
m_Button_Quit.set_hexpand(true);
m_Button_Quit.set_halign(Gtk::Align::END);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]