I have inserted all the widgets according to this layout that you can see below.
I create toolbar
and toolbotton
// Create a new ToolBar
Gtk::Toolbar *newZoomToolBar = new Gtk::Toolbar();
// Create a new ZoomIn Button
Gtk::ToolButton *newZoomInButton = new Gtk::ToolButton();
// Create a new ZoomOut Button
Gtk::ToolButton *newZoomOutButton = new Gtk::ToolButton();
Insert the image into the toolbotton
std::cout<<"Updating image"<<std::endl;
Gtk::Image *zoomInImage = new Gtk::Image();
zoomInImage->set_from_resource("/mnt/ws/testing/test/icons/plus.png");
newZoomInButton->set_icon_widget(*zoomInImage);
Gtk::Image *zoomOutImage = new Gtk::Image();
zoomOutImage->set_from_resource("/mnt/ws/testing/test/icons/minus.png");
newZoomOutButton->set_icon_widget(*zoomOutImage);
std::cout<<"Inserting into toolbar"<<std::endl;
newZoomToolBar->insert(*newZoomInButton,0);
newZoomToolBar->insert(*newZoomOutButton,1);
Add page to the notebook
cameraNotebook->append_page(*newGrid,camString);
Add Overlay to position 2,2 inside the grid
newGrid->attach(*Gtk::manage(new Gtk::Overlay()),2,2,1,1);
Create pointer to fetch the widget
// Here, you get a raw pointer to a widget:
Gtk::Widget* pWidget = newGrid->get_child_at(2, 2);
// We cast it to its most derived type:
Gtk::Overlay* pOverlay = dynamic_cast<Gtk::Overlay*>(pWidget);
Try to add main and child widgets to the overlay
// checking if overlay is present
if (pOverlay)
{
pOverlay->add(*newScrollWindow);
pOverlay->set_name(Glib::ustring::format(camOverlayName));
pOverlay->add_overlay(*newZoomToolBar);
pOverlay->reorder_overlay(*newZoomToolBar,2);
}
After this statement pOverlay->add_overlay(*newZoomToolBar);
I get this error I can’t see images I pushed into the toolbar
(notebookTest:1605043): Gtk-CRITICAL **: 17:11:06.925: gtk_widget_translate_coordinates: assertion 'GTK_IS_WIDGET (src_widget)' failed (notebookTest:1605043): Gtk-CRITICAL **: 17:11:06.925: gtk_widget_get_allocated_width: assertion 'GTK_IS_WIDGET (widget)' failed (notebookTest:1605043): Gtk-CRITICAL **: 17:11:06.925: gtk_widget_get_allocated_height: assertion 'GTK_IS_WIDGET (widget)' failed
How can I correct it?