gui: Switch over to the new gui_builder system
Glib::wrap() all the things! Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
This commit is contained in:
parent
0eb8521094
commit
61436d5ccd
|
@ -4,6 +4,7 @@
|
|||
extern "C" {
|
||||
#include <core/collection.h>
|
||||
#include <core/playlist.h>
|
||||
#include <gui/builder.h>
|
||||
}
|
||||
#include <gui/tabs.h>
|
||||
#include <gui/queue/label.h>
|
||||
|
@ -24,7 +25,9 @@ public:
|
|||
tab_label = collection_label;
|
||||
|
||||
tab_vbox.pack_start(*tab_window, true, true);
|
||||
gui :: get_widget<Gtk::Notebook>("o_notebook")->insert_page(tab_vbox, *collection_label, 0);
|
||||
|
||||
Glib::wrap(GTK_NOTEBOOK(gui_builder_widget("o_notebook")),
|
||||
false)->insert_page(tab_vbox, *collection_label, 0);
|
||||
}
|
||||
|
||||
~CollectionTab()
|
||||
|
|
29
gui/gst.cpp
29
gui/gst.cpp
|
@ -8,6 +8,7 @@
|
|||
extern "C" {
|
||||
#include <core/audio.h>
|
||||
#include <core/string.h>
|
||||
#include <gui/builder.h>
|
||||
}
|
||||
#include <gui/ocarina.h>
|
||||
#include <gst/gst.h>
|
||||
|
@ -133,22 +134,22 @@ void gst :: toggle()
|
|||
|
||||
void gst :: init_pre()
|
||||
{
|
||||
o_next = gui :: get_widget<Gtk::Button>("o_next");
|
||||
o_pause = gui :: get_widget<Gtk::Button>("o_pause");
|
||||
o_play = gui :: get_widget<Gtk::Button>("o_play");
|
||||
o_prev = gui :: get_widget<Gtk::Button>("o_prev");
|
||||
o_seek = gui :: get_widget<Gtk::Scale>("o_seek");
|
||||
o_stop = gui :: get_widget<Gtk::Button>("o_stop");
|
||||
o_next = Glib :: wrap(GTK_BUTTON(gui_builder_widget("o_next")), false);
|
||||
o_pause = Glib :: wrap(GTK_BUTTON(gui_builder_widget("o_pause")), false);
|
||||
o_play = Glib :: wrap(GTK_BUTTON(gui_builder_widget("o_play")), false);
|
||||
o_prev = Glib :: wrap(GTK_BUTTON(gui_builder_widget("o_prev")), false);
|
||||
o_stop = Glib :: wrap(GTK_BUTTON(gui_builder_widget("o_stop")), false);
|
||||
o_seek = Glib :: wrap(GTK_SCALE(gui_builder_widget("o_seek")), false);
|
||||
|
||||
o_count = gui :: get_widget<Gtk::SpinButton>("o_pause_count");
|
||||
o_enabled = gui :: get_widget<Gtk::CheckButton>("o_pause_enabled");
|
||||
o_count = Glib :: wrap(GTK_SPIN_BUTTON(gui_builder_widget("o_pause_count")), false);
|
||||
o_enabled = Glib :: wrap(GTK_CHECK_BUTTON(gui_builder_widget("o_pause_enabled")), false);
|
||||
|
||||
o_album = gui :: get_widget<Gtk::Label>("o_album");
|
||||
o_artist = gui :: get_widget<Gtk::Label>("o_artist");
|
||||
o_duration = gui :: get_widget<Gtk::Label>("o_duration");
|
||||
o_position = gui :: get_widget<Gtk::Label>("o_position");
|
||||
o_title = gui :: get_widget<Gtk::Label>("o_title");
|
||||
o_progress = gui :: get_object<Gtk::Adjustment>("o_progress");
|
||||
o_album = Glib :: wrap(GTK_LABEL(gui_builder_widget("o_album")), false);
|
||||
o_artist = Glib :: wrap(GTK_LABEL(gui_builder_widget("o_artist")), false);
|
||||
o_duration = Glib :: wrap(GTK_LABEL(gui_builder_widget("o_duration")), false);
|
||||
o_position = Glib :: wrap(GTK_LABEL(gui_builder_widget("o_position")), false);
|
||||
o_title = Glib ::wrap(GTK_LABEL(gui_builder_widget("o_title")), false);
|
||||
o_progress = Glib :: wrap(GTK_ADJUSTMENT(gui_builder_object("o_progress")), false);
|
||||
|
||||
o_next->signal_clicked().connect(sigc::ptr_fun(next));
|
||||
o_pause->signal_clicked().connect(sigc::ptr_fun(gst :: pause));
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
*/
|
||||
extern "C" {
|
||||
#include <core/history.h>
|
||||
#include <gui/builder.h>
|
||||
}
|
||||
#include <gui/tabs.h>
|
||||
#include <gui/queue/label.h>
|
||||
|
@ -24,7 +25,8 @@ public:
|
|||
|
||||
tab_vbox.pack_start(*tab_window, true, true);
|
||||
|
||||
gui :: get_widget<Gtk::Notebook>("o_notebook")->insert_page(tab_vbox, *history_label, 0);
|
||||
Glib :: wrap(GTK_NOTEBOOK(gui_builder_widget("o_notebook")),
|
||||
false)->insert_page(tab_vbox, *history_label, 0);
|
||||
}
|
||||
|
||||
~HistoryTab()
|
||||
|
|
|
@ -6,6 +6,7 @@ extern "C" {
|
|||
#include <core/containers/index.h>
|
||||
#include <core/idle.h>
|
||||
#include <core/playlist.h>
|
||||
#include <gui/builder.h>
|
||||
}
|
||||
#include <gui/ocarina.h>
|
||||
|
||||
|
@ -16,7 +17,7 @@ static Gtk::FileChooserWidget *c_chooser;
|
|||
static Gtk::ProgressBar *c_progress;
|
||||
static Gtk::TreeView *c_treeview;
|
||||
static Glib::RefPtr<Gtk::ListStore> c_list;
|
||||
static Glib::RefPtr<Gtk::CellRendererToggle> c_toggle;
|
||||
static Gtk::CellRendererToggle *c_toggle;
|
||||
|
||||
static class CollectionColumns : public Gtk::TreeModelColumnRecord {
|
||||
public:
|
||||
|
@ -164,14 +165,14 @@ void manager :: init()
|
|||
{
|
||||
struct db_entry *library, *next;
|
||||
|
||||
c_add = gui :: get_widget<Gtk::Button>("colmgr_add");
|
||||
c_update = gui :: get_widget<Gtk::Button>("colmgr_update");
|
||||
c_add = Glib :: wrap(GTK_BUTTON(gui_builder_widget("colmgr_add")), false);
|
||||
c_update = Glib :: wrap(GTK_BUTTON(gui_builder_widget("colmgr_update")), false);
|
||||
|
||||
c_chooser = gui :: get_widget<Gtk::FileChooserWidget>("colmgr_chooser");
|
||||
c_progress = gui :: get_widget<Gtk::ProgressBar>("o_idle_progress");
|
||||
c_toggle = gui :: get_object<Gtk::CellRendererToggle>("colmgr_toggle");
|
||||
c_list = gui :: get_object<Gtk::ListStore>("colmgr_list");
|
||||
c_treeview = gui :: get_widget<Gtk::TreeView>("colmgr_treeview");
|
||||
c_chooser = Glib :: wrap(GTK_FILE_CHOOSER_WIDGET(gui_builder_widget("colmgr_chooser")), false);
|
||||
c_progress = Glib :: wrap(GTK_PROGRESS_BAR(gui_builder_widget("o_idle_progress")), false);
|
||||
c_list = Glib :: wrap(GTK_LIST_STORE(gui_builder_object("colmgr_list")), false);
|
||||
c_toggle = Glib :: wrap(GTK_CELL_RENDERER_TOGGLE(gui_builder_object("colmgr_toggle")), false);
|
||||
c_treeview = Glib :: wrap(GTK_TREE_VIEW(gui_builder_widget("colmgr_treeview")), false);
|
||||
|
||||
c_add->signal_clicked().connect(sigc::ptr_fun(on_add));
|
||||
c_update->signal_clicked().connect(sigc::ptr_fun(on_update));
|
||||
|
|
|
@ -5,6 +5,7 @@ extern "C" {
|
|||
#include <core/core.h>
|
||||
#include <core/idle.h>
|
||||
#include <gui/settings.h>
|
||||
#include <gui/builder.h>
|
||||
}
|
||||
#include <gui/ocarina.h>
|
||||
#include <gui/tabs.h>
|
||||
|
@ -24,8 +25,6 @@ struct core_init_data init_data = {
|
|||
|
||||
namespace gui
|
||||
{
|
||||
Glib::RefPtr<Gtk::Builder> __O_BUILDER;
|
||||
|
||||
const std::string share_file(const std::string &f)
|
||||
{
|
||||
return ocarina_dir + f;
|
||||
|
@ -59,10 +58,7 @@ int main(int argc, char **argv)
|
|||
setup_share(argv[0]);
|
||||
ocarina_app = Gtk::Application::create(argc, argv, "org.gtkmm.ocarina");
|
||||
|
||||
gui :: __O_BUILDER = Gtk::Builder::create();
|
||||
if (!gui::__O_BUILDER->add_from_file(gui::share_file("ocarina6.glade")))
|
||||
exit(1);
|
||||
|
||||
gui_builder_init(gui :: share_file("ocarina6.glade").c_str());
|
||||
gst :: init_pre();
|
||||
|
||||
core_init(&argc, &argv, &init_data);
|
||||
|
|
|
@ -5,6 +5,7 @@ extern "C" {
|
|||
#include <core/audio.h>
|
||||
#include <core/collection.h>
|
||||
#include <core/playlist.h>
|
||||
#include <gui/builder.h>
|
||||
}
|
||||
#include <gui/tabs.h>
|
||||
#include <gui/queue/label.h>
|
||||
|
@ -105,7 +106,8 @@ public:
|
|||
|
||||
tab_vbox.pack_start(playlist_hbox, true, true);
|
||||
|
||||
gui :: get_widget<Gtk::Notebook>("o_notebook")->insert_page(tab_vbox, *playlist_label, 0);
|
||||
Glib :: wrap(GTK_NOTEBOOK(gui_builder_widget("o_notebook")),
|
||||
false)->insert_page(tab_vbox, *playlist_label, 0);
|
||||
}
|
||||
|
||||
~PlaylistTab()
|
||||
|
@ -195,8 +197,8 @@ void plist :: init()
|
|||
{
|
||||
p_tab = new PlaylistTab;
|
||||
|
||||
o_ban = gui :: get_widget<Gtk::ToggleButton>("o_ban");
|
||||
o_fav = gui :: get_widget<Gtk::ToggleButton>("o_favorite");
|
||||
o_ban = Glib :: wrap(GTK_TOGGLE_BUTTON(gui_builder_widget("o_ban")), false);
|
||||
o_fav = Glib :: wrap(GTK_TOGGLE_BUTTON(gui_builder_widget("o_favorite")), false);
|
||||
|
||||
track_loaded(audio_cur_track());
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
extern "C" {
|
||||
#include <core/string.h>
|
||||
#include <core/tempq.h>
|
||||
#include <gui/builder.h>
|
||||
}
|
||||
#include <gui/tabs.h>
|
||||
#include <gui/queue/label.h>
|
||||
|
@ -66,6 +67,8 @@ static std::map<Gtk::Widget *, QueueTab *> queue_mapping;
|
|||
QueueTab :: QueueTab(queue *pq, unsigned int num)
|
||||
: Tab(pq)
|
||||
{
|
||||
Gtk::Notebook *notebook;
|
||||
|
||||
tab_builder->add_from_file(gui :: share_file("QueueLabel.ui"));
|
||||
|
||||
/*
|
||||
|
@ -95,15 +98,16 @@ QueueTab :: QueueTab(queue *pq, unsigned int num)
|
|||
|
||||
queue_mapping[&tab_vbox] = this;
|
||||
|
||||
gui :: get_widget<Gtk::Notebook>("o_notebook")->insert_page(tab_vbox, *q_label, num);
|
||||
gui :: get_widget<Gtk::Notebook>("o_notebook")->set_tab_reorderable(tab_vbox);
|
||||
notebook = Glib :: wrap(GTK_NOTEBOOK(gui_builder_widget("o_notebook")), false);
|
||||
notebook->insert_page(tab_vbox, *q_label, num);
|
||||
notebook->set_tab_reorderable(tab_vbox);
|
||||
}
|
||||
|
||||
QueueTab :: ~QueueTab()
|
||||
{
|
||||
queue_mapping.erase(&tab_vbox);
|
||||
tab_unmap();
|
||||
gui :: get_widget<Gtk::Notebook>("o_notebook")->remove_page(tab_vbox);
|
||||
Glib :: wrap(GTK_NOTEBOOK(gui_builder_widget("o_notebook")), false)->remove_page(tab_vbox);
|
||||
renumber_queues();
|
||||
}
|
||||
|
||||
|
@ -199,7 +203,7 @@ void on_pq_created(queue *pq, unsigned int num)
|
|||
|
||||
static void on_page_reordered(Gtk::Widget *page, int num)
|
||||
{
|
||||
Gtk::Notebook *notebook = gui :: get_widget<Gtk::Notebook>("o_notebook");
|
||||
Gtk::Notebook *notebook = Glib :: wrap(GTK_NOTEBOOK(gui_builder_widget("o_notebook")), false);
|
||||
|
||||
if ((unsigned int)num >= tempq_count()) {
|
||||
notebook->reorder_child(*page, tempq_count() - 1);
|
||||
|
@ -216,7 +220,7 @@ static void on_page_reordered(Gtk::Widget *page, int num)
|
|||
|
||||
void init_queue_tabs()
|
||||
{
|
||||
Gtk::Notebook *notebook = gui :: get_widget<Gtk::Notebook>("o_notebook");
|
||||
Gtk::Notebook *notebook = Glib :: wrap(GTK_NOTEBOOK(gui_builder_widget("o_notebook")), false);
|
||||
notebook->signal_page_reordered().connect(sigc::ptr_fun(on_page_reordered));
|
||||
}
|
||||
|
||||
|
|
41
gui/tabs.cpp
41
gui/tabs.cpp
|
@ -6,6 +6,7 @@ extern "C" {
|
|||
#include <core/playlist.h>
|
||||
#include <core/string.h>
|
||||
#include <core/tempq.h>
|
||||
#include <gui/builder.h>
|
||||
}
|
||||
#include <gui/tabs.h>
|
||||
|
||||
|
@ -137,13 +138,13 @@ void Tab :: on_track_updated(unsigned int row)
|
|||
|
||||
int Tab :: tab_page_num()
|
||||
{
|
||||
Gtk::Notebook *notebook = gui :: get_widget<Gtk::Notebook>("o_notebook");
|
||||
Gtk::Notebook *notebook = Glib :: wrap(GTK_NOTEBOOK(gui_builder_widget("o_notebook")), false);
|
||||
return notebook->page_num(tab_vbox);
|
||||
}
|
||||
|
||||
bool Tab :: tab_is_cur()
|
||||
{
|
||||
Gtk::Notebook *notebook = gui :: get_widget<Gtk::Notebook>("o_notebook");
|
||||
Gtk::Notebook *notebook = Glib :: wrap(GTK_NOTEBOOK(gui_builder_widget("o_notebook")), false);
|
||||
return notebook->page_num(tab_vbox) == notebook->get_current_page();
|
||||
}
|
||||
|
||||
|
@ -151,7 +152,7 @@ void Tab :: tab_runtime_changed()
|
|||
{
|
||||
gchar *len = string_sec2str_long(tab_pq->q_length);
|
||||
if (tab_is_cur())
|
||||
gui :: get_widget<Gtk::Label>("o_queue_time")->set_text(len);
|
||||
Glib :: wrap(GTK_LABEL(gui_builder_widget("o_queue_time")), false)->set_text(len);
|
||||
g_free(len);
|
||||
}
|
||||
|
||||
|
@ -160,7 +161,7 @@ void Tab :: tab_display_sorting()
|
|||
std::string text = "";
|
||||
if ((tab_sorting_count > 0) && tab_is_cur())
|
||||
text = "Sorting within " + tab_sorting_title;
|
||||
gui :: get_widget<Gtk::Label>("o_sorting_indicator")->set_text(text);
|
||||
Glib :: wrap(GTK_LABEL(gui_builder_widget("o_sorting_indicator")), false)->set_text(text);
|
||||
}
|
||||
|
||||
void Tab :: tab_dec_sort_count()
|
||||
|
@ -275,23 +276,23 @@ void Tab :: on_show_rc_menu()
|
|||
unsigned int size = tempq_count();
|
||||
|
||||
if (size == 0) {
|
||||
gui :: get_widget<Gtk::MenuItem>("o_add_to_pq")->hide();
|
||||
Glib :: wrap(GTK_MENU_ITEM(gui_builder_widget("o_add_to_pq")), false)->hide();
|
||||
return;
|
||||
}
|
||||
gui :: get_widget<Gtk::MenuItem>("o_add_to_pq")->show();
|
||||
Glib :: wrap(GTK_MENU_ITEM(gui_builder_widget("o_add_to_pq")), false)->show();
|
||||
|
||||
if (size == 10)
|
||||
gui :: get_widget<Gtk::MenuItem>("o_new_pq")->hide();
|
||||
Glib :: wrap(GTK_MENU_ITEM(gui_builder_widget("o_new_pq")), false)->hide();
|
||||
else
|
||||
gui :: get_widget<Gtk::MenuItem>("o_new_pq")->show();
|
||||
Glib :: wrap(GTK_MENU_ITEM(gui_builder_widget("o_new_pq")), false)->show();
|
||||
|
||||
for (unsigned int i = 0; i < 10; i++) {
|
||||
item = "o_pq_";
|
||||
item += '0' + i;
|
||||
if (i < size)
|
||||
gui :: get_widget<Gtk::MenuItem>(item)->show();
|
||||
Glib :: wrap(GTK_MENU_ITEM(gui_builder_widget(item.c_str())), false)->show();
|
||||
else
|
||||
gui :: get_widget<Gtk::MenuItem>(item)->hide();
|
||||
Glib :: wrap(GTK_MENU_ITEM(gui_builder_widget(item.c_str())), false)->hide();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -339,7 +340,7 @@ bool Tab :: on_button_pressed(GdkEventButton *button)
|
|||
tab_window->q_treeview->get_selection()->select(path);
|
||||
|
||||
on_show_rc_menu();
|
||||
gui :: get_widget<Gtk::Menu>("o_rc_menu")->popup(button->button, button->time);
|
||||
Glib :: wrap(GTK_MENU(gui_builder_widget("o_rc_menu")), false)->popup(button->button, button->time);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -387,12 +388,12 @@ static void on_switch_page(Gtk::Widget *page, int num)
|
|||
tab->tab_runtime_changed();
|
||||
tab->tab_display_sorting();
|
||||
} else
|
||||
gui :: get_widget<Gtk::Label>("o_queue_time")->set_text("");
|
||||
Glib :: wrap(GTK_LABEL(gui_builder_widget("o_queue_time")), false)->set_text("");
|
||||
}
|
||||
|
||||
void tab_focus_search()
|
||||
{
|
||||
int page = gui :: get_widget<Gtk::Notebook>("o_notebook")->get_current_page();
|
||||
int page = Glib :: wrap(GTK_NOTEBOOK(gui_builder_widget("o_notebook")), false)->get_current_page();
|
||||
Tab *tab = find_tab(page);
|
||||
if (tab)
|
||||
tab->tab_focus_search();
|
||||
|
@ -429,23 +430,23 @@ static void on_add_to_queue(unsigned int n)
|
|||
static void init_menu_item(const std::string &pq, unsigned int n)
|
||||
|
||||
{
|
||||
gui :: get_widget<Gtk::MenuItem>(pq)->signal_activate().connect(
|
||||
Glib :: wrap(GTK_MENU_ITEM(gui_builder_widget(pq.c_str())), false)->signal_activate().connect(
|
||||
sigc::bind<unsigned int> (sigc::ptr_fun(on_add_to_queue), n));
|
||||
}
|
||||
|
||||
void init_tabs()
|
||||
{
|
||||
/* Notebook signals */
|
||||
struct Gtk::Notebook *notebook = gui :: get_widget<Gtk::Notebook>("o_notebook");
|
||||
struct Gtk::Notebook *notebook = Glib :: wrap(GTK_NOTEBOOK(gui_builder_widget("o_notebook")), false);
|
||||
notebook->signal_switch_page().connect(sigc::ptr_fun(on_switch_page));
|
||||
|
||||
/* Menu signals */
|
||||
gui :: get_widget<Gtk::Menu>("o_rc_menu")->show_all();
|
||||
gui :: get_widget<Gtk::MenuItem>("o_new_pq")->signal_activate().connect(
|
||||
Glib :: wrap(GTK_MENU(gui_builder_widget("o_rc_menu")), false)->show_all();
|
||||
Glib :: wrap(GTK_MENU_ITEM(gui_builder_widget("o_new_pq")), false)->signal_activate().connect(
|
||||
sigc::ptr_fun(on_new_pq));
|
||||
gui :: get_widget<Gtk::MenuItem>("o_add_to_favorites")->signal_activate().connect(
|
||||
Glib :: wrap(GTK_MENU_ITEM(gui_builder_widget("o_add_to_favorites")), false)->signal_activate().connect(
|
||||
sigc::ptr_fun(on_add_to_favs));
|
||||
gui :: get_widget<Gtk::MenuItem>("o_add_to_banned")->signal_activate().connect(
|
||||
Glib :: wrap(GTK_MENU_ITEM(gui_builder_widget("o_add_to_banned")), false)->signal_activate().connect(
|
||||
sigc::ptr_fun(on_add_to_banned));
|
||||
for (unsigned int i = 0; i < 10; i++) {
|
||||
std::string pq = "o_pq_";
|
||||
|
@ -468,7 +469,7 @@ void post_init_tabs()
|
|||
if (queue_has_flag(tempq_get(tab), Q_ENABLED))
|
||||
break;
|
||||
}
|
||||
gui :: get_widget<Gtk::Notebook>("o_notebook")->set_current_page(tab);
|
||||
Glib :: wrap(GTK_NOTEBOOK(gui_builder_widget("o_notebook")), false)->set_current_page(tab);
|
||||
}
|
||||
|
||||
void cleanup_tabs()
|
||||
|
|
|
@ -5,6 +5,7 @@ extern "C" {
|
|||
#include <core/audio.h>
|
||||
#include <core/tempq.h>
|
||||
#include <core/version.h>
|
||||
#include <gui/builder.h>
|
||||
}
|
||||
#include <gui/ocarina.h>
|
||||
#include <gui/tabs.h>
|
||||
|
@ -13,8 +14,8 @@ const std::string appname = "Ocarina ";
|
|||
|
||||
static bool on_window_key_pressed(GdkEventKey *event)
|
||||
{
|
||||
Gtk::Notebook *notebook = gui :: get_widget<Gtk::Notebook>("o_notebook");
|
||||
Gtk::Window *window = gui :: get_widget<Gtk::Window>("o_window");
|
||||
Gtk::Notebook *notebook = Glib :: wrap(GTK_NOTEBOOK(gui_builder_widget("o_notebook")), false);
|
||||
Gtk::Window *window = Glib :: wrap(GTK_WINDOW(gui_builder_widget("o_window")), false);
|
||||
std::string key = gdk_keyval_name(event->keyval);
|
||||
|
||||
if (key.size() >= 3) {
|
||||
|
@ -60,7 +61,7 @@ static bool on_window_key_released(GdkEventKey *event)
|
|||
|
||||
Gtk::Window *window_init()
|
||||
{
|
||||
Gtk::Window *window = gui :: get_widget<Gtk::Window>("o_window");
|
||||
Gtk::Window *window = Glib :: wrap(GTK_WINDOW(gui_builder_widget("o_window")), false);
|
||||
|
||||
window->set_can_focus();
|
||||
window->set_title(appname + get_version());
|
||||
|
|
|
@ -11,23 +11,7 @@
|
|||
/* main.cpp */
|
||||
namespace gui
|
||||
{
|
||||
extern Glib::RefPtr<Gtk::Builder> __O_BUILDER;
|
||||
|
||||
const std::string share_file(const std::string &);
|
||||
|
||||
template <class T>
|
||||
static inline T *get_widget(const std::string &name)
|
||||
{
|
||||
T *widget;
|
||||
__O_BUILDER->get_widget(name, widget);
|
||||
return widget;
|
||||
}
|
||||
|
||||
template <class T>
|
||||
static inline Glib::RefPtr<T> get_object(const std::string &name)
|
||||
{
|
||||
return Glib::RefPtr<T>::cast_static(__O_BUILDER->get_object(name));
|
||||
}
|
||||
}
|
||||
|
||||
extern struct queue_ops collection_ops;
|
||||
|
|
Loading…
Reference in New Issue