A subject line would be fine.
Do you intend to create a GtimerController widget from the gtimer.glade file? Something like
GtimerController *gtimer = nullptr;
refFileBuilder->get_widget_derived("m_main_window", gtimer);
I would try
GtimerController::GtimerController(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder> &builder)
: GtimerGui(cobject, builder)
{
}I haven't tested anything like that, but I think it will work.
Kjell
On 2020-07-04 01:48, Liomar da Hora via gtkmm-list wrote:
Hello
I'm creating an app with gtkmm using Gtk :: Builder according to the book and I can make the app work.
I am now intending to derive this class which is already derived from Gtk :: ApplicationWindow.
How do I start the constructor of the base class it has (BaseObjectType * cobject, and const Glib :: RefPtr <Gtk :: Builder> & builder) in the derived class?
Ex:###### example.h ######
class GtimerGui : public Gtk::ApplicationWindow
{
public:
GtimerGui(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
~GtimerGui();
Gtk::ApplicationWindow *main_window;
Glib::RefPtr<Gtk::Builder> sp_FileBuilder;
};
###### example.cpp ######
GtimerGui::GtimerGui(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder> &builder)
: Gtk::ApplicationWindow(cobject), sp_FileBuilder(builder)
{}
GtimerGui::~GtimerGui()
{
}
###### Main.cpp #######
nt main (int argc, char *argv[])
{
auto app = Gtk::Application::create (argc, argv, "liomar.org.example");
auto refFileBuilder = Gtk::Builder::create();
try
{
refFileBuilder->add_from_file("/home/suporte/Projeto_2019/GTimer/gtimer.glade");
}
catch(const Glib::FileError &ex)
{
std::cerr << "FileError: " << ex.what() << std::endl;
}
catch(const Glib::MarkupError& ex)
{
std::cerr << "MarkupError: " << ex.what() << std::endl;
}
catch(const Gtk::BuilderError& ex)
{
std::cerr << "BuilderError: " << ex.what() << std::endl;
}
GtimerGui *gtimer = nullptr;
refFileBuilder->get_widget_derived("m_main_window", gtimer);
if(gtimer)
{
app->run(*gtimer);
}
delete gtimer;
return 0;
}
##### Derived_Class.h #####class GtimerController : public GtimerGui
{
public:
GtimerController();
~GtimerController();
};
##### Derived_Class.cpp ####GtimerController::GtimerController(){
}
GtimerController::~GtimerController()
{
}