Fawkes API  Fawkes Development Version
main.cpp
00001 
00002 /***************************************************************************
00003  *  main.cpp - Nao GUI main
00004  *
00005  *  Created: Mon Oct 27 17:36:22 2008
00006  *  Copyright  2008-2011  Tim Niemueller [www.niemueller.de]
00007  *
00008  ****************************************************************************/
00009 
00010 /*  This program is free software; you can redistribute it and/or modify
00011  *  it under the terms of the GNU General Public License as published by
00012  *  the Free Software Foundation; either version 2 of the License, or
00013  *  (at your option) any later version.
00014  *
00015  *  This program is distributed in the hope that it will be useful,
00016  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00017  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00018  *  GNU Library General Public License for more details.
00019  *
00020  *  Read the full text in the LICENSE.GPL file in the doc directory.
00021  */
00022 
00023 #include "naogui.h"
00024 
00025 #include <core/threading/thread.h>
00026 
00027 /** This is the main program of the Nao GUI. */
00028 int
00029 main(int argc, char **argv) {
00030   fawkes::Thread::init_main();
00031 
00032   std::locale::global( std::locale( "" ) );
00033   Gtk::Main gtk_main(argc, argv);
00034 
00035 
00036   try {
00037     Glib::RefPtr<Gtk::Builder> builder;
00038     builder =
00039       Gtk::Builder::create_from_file(RESDIR"/guis/naogui/naogui.ui");
00040     
00041     NaoGuiGtkWindow *window = NULL;
00042     builder->get_widget_derived("window", window);
00043     
00044     Gtk::Main::run(*window);
00045 
00046     delete window;
00047   } catch (Gtk::BuilderError &e) {
00048     printf("Failed to instantiate window: %s\n", e.what().c_str());
00049   }
00050 
00051   fawkes::Thread::destroy_main();
00052 
00053   return 0;
00054 }