#include <libglademm/xml.h>
#include <gtkmm.h>
#include <iostream>
#include <iomanip>
#include <sstream>
#include <sigc++/retype_return.h>
#include "oebeditor.h"
//using namespace std;
oebeditor::oebeditor()
{
Gtk::VBox *vboxMain;
// Tamaño y título de la ventana
set_title("Prueba");
resize(770,500);
// Prepararse para cargar el archivo .glade
try
{
// Nota: Desde Glade, es necesario ponerle la propiedad "visible"
// en falso a la ventana (window) principal del .glade, o sino en
// este punto se mostrarán dos ventanas a la vez.
refXml = Gnome::Glade::Xml::create("oebeditor.glade");
refXml->get_widget("vboxMain", vboxMain);
vboxMain->reparent(*this);
}
catch(const Gnome::Glade::XmlError& ex)
{
std::cerr << ex.what() << std::endl;
}
if(vboxMain)
{
Gtk::MenuItem* pMenuItem = 0;
// ---------------------------------------------------------------
// Se conecta cada opción del menú con un método que será invocado
// cuando el usuario seleccione dicha función
// Abrir proyecto
refXml->get_widget("menu_abrir", pMenuItem);
if(pMenuItem) pMenuItem->signal_activate().connect( sigc::mem_fun(*this, &oebeditor::on_abrir_activate) );
// Salir
refXml->get_widget("menu_salir", pMenuItem);
if(pMenuItem) pMenuItem->signal_activate().connect( sigc::mem_fun(*this, &oebeditor::on_salir_activate) );
}
}
oebeditor::~oebeditor()
{
}
/* ---------------------
CREAR NUEVO PROYECTO
--------------------- */
void oebeditor::on_nuevo_activate()
{
}
/* ---------------------
ABRIR NUEVO PROYECTO
--------------------- */
void oebeditor::on_abrir_activate()
{
// --------------------------------------
// Pregunta al usuario dónde se encuentra
// el proyecto a abrir
// --------------------------------------
abrirproyecto* p = new abrirproyecto();
p->set_transient_for(*this);
p->show_it();
//p->set_transient_for(*this);
}
/* ---------------------
CERRAR PROYECTO
--------------------- */
void oebeditor::on_cerrar_activate()
{
}
/* ---------------------
GUARDAR
--------------------- */
void oebeditor::on_guardar_activate()
{
}
/* ---------------------
GUARDAR COMO
--------------------- */
void oebeditor::on_guardarcomo_activate()
{
}
/* ---------------------
PROPIEDADES
--------------------- */
void oebeditor::on_propiedades_activate()
{
}
/* ---------------------
SALIR
--------------------- */
void oebeditor::on_salir_activate()
{
// TO DO: verificar si el proyecto no ha sido guardado
hide();
}
int main (int argc, char *argv[])
{
// This main function merely instantiates the ogcalc class
// and displays it.
Gtk::Main kit(argc, argv); // Initialise GTK+.
oebeditor window; // Create an ogcalc object.
kit.run(window); // Show window; return when it's closed.
return 0;
}
#include <gtkmm.h>
#include <libglademm.h>
#include "abrirproyecto.h"
class oebeditor : public Gtk::Window
{
public:
oebeditor();
virtual ~oebeditor();
void on_abrir_activate();
void on_salir_activate();
protected:
Glib::RefPtr<Gnome::Glade::Xml> refXml;
//Gtk::Window* pWindow;
// Glade interface description.
Glib::RefPtr<Gnome::Glade::Xml> xml_interface;
};