Re: (proposal for) source code generator



I didn't get the attachment because I'm reading this mailing list via 
gmane. Could you please email the xslt file to me personally? Thanks!
We can then work on it. This might actually come alive!

Thanks!


> Just a proof of concept - test.xslt can be used together with a
> glade-file to generate the skeleton code. Might even compile...
> 
>> gtkmm-list mailing list
>> gtkmm-list gnome org
>> http://mail.gnome.org/mailman/listinfo/gtkmm-list
> 
> #include "simple.h"
> 
> #include <libglademm/xml.h>
> 
> #include <gtkmm/main.h>
> #include <gtkmm/window.h>
> 
> #include <cstdlib>
> 
> 
> int main(int argc, char * argv[])
> {
> #if defined(ENABLE_NLS)
> 	bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR);
> 	bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8"); textdomain
> 	(GETTEXT_PACKAGE);
> #endif //ENABLE_NLS
> 
> 	Gtk::Main m(argc, argv);
> 
> 	Glib::RefPtr<Gnome::Glade::Xml> interface =
> 	Gnome::Glade::Xml::create("simple.glade");
> 
> 	MainWindow * window;
> 
> 	interface->get_widget_derived("MainWindow", window);
> 
> 	if( window )
> 	{
> 		m.run(*window);
> 	}
> 
> 	return EXIT_SUCCESS;
> }
> 
> 
> #ifndef __XSLT_GLADE_CODE_H__
> #define __XSLT_GLADE_CODE_H__
> 
> #include <libglademm/xml.h>
> 
> #include <gtkmm/box.h>
> #include <gtkmm/button.h>
> #include <gtkmm/fixed.h>
> #include <gtkmm/menu.h>
> #include <gtkmm/menubar.h>
> #include <gtkmm/statusbar.h>
> #include <gtkmm/window.h>
> 
> 
> 
> class MainWindow : public Gtk::Window {
> public:
> 	/// Constructor
> 	MainWindow(BaseObjectType * cobject, const Glib::RefPtr
> 	<Gnome::Glade::Xml> & ref_glade) : Gtk::Window(cobject) {
> 		m_vbox1 = dynamic_cast<Gtk::VBox*>(ref_glade->get_widget
("vbox1"));
> 		m_menubar1 =
> 		dynamic_cast<Gtk::MenuBar*>(ref_glade->get_widget
("menubar1"));
> 		m_menuitem1 =
> 		dynamic_cast<Gtk::MenuItem*>(ref_glade->get_widget
("menuitem1"));
> 		m_menu1 = dynamic_cast<Gtk::Menu*>(ref_glade->get_widget
("menu1"));
> 		m_imagemenuitem1 =
> 		dynamic_cast<Gtk::ImageMenuItem*>(ref_glade->get_widget
("imagemenuitem1"));
> 		m_imagemenuitem2 =
> 		dynamic_cast<Gtk::ImageMenuItem*>(ref_glade->get_widget
("imagemenuitem2"));
> 		m_imagemenuitem3 =
> 		dynamic_cast<Gtk::ImageMenuItem*>(ref_glade->get_widget
("imagemenuitem3"));
> 		m_imagemenuitem4 =
> 		dynamic_cast<Gtk::ImageMenuItem*>(ref_glade->get_widget
("imagemenuitem4"));
> 		m_separatormenuitem1 =
> 		dynamic_cast<Gtk::SeparatorMenuItem*>(ref_glade->get_widget
("separatormenuitem1"));
> 		m_imagemenuitem5 =
> 		dynamic_cast<Gtk::ImageMenuItem*>(ref_glade->get_widget
("imagemenuitem5"));
> 		m_menuitem2 =
> 		dynamic_cast<Gtk::MenuItem*>(ref_glade->get_widget
("menuitem2"));
> 		m_menu2 = dynamic_cast<Gtk::Menu*>(ref_glade->get_widget
("menu2"));
> 		m_imagemenuitem6 =
> 		dynamic_cast<Gtk::ImageMenuItem*>(ref_glade->get_widget
("imagemenuitem6"));
> 		m_imagemenuitem7 =
> 		dynamic_cast<Gtk::ImageMenuItem*>(ref_glade->get_widget
("imagemenuitem7"));
> 		m_imagemenuitem8 =
> 		dynamic_cast<Gtk::ImageMenuItem*>(ref_glade->get_widget
("imagemenuitem8"));
> 		m_imagemenuitem9 =
> 		dynamic_cast<Gtk::ImageMenuItem*>(ref_glade->get_widget
("imagemenuitem9"));
> 		m_menuitem3 =
> 		dynamic_cast<Gtk::MenuItem*>(ref_glade->get_widget
("menuitem3"));
> 		m_menuitem4 =
> 		dynamic_cast<Gtk::MenuItem*>(ref_glade->get_widget
("menuitem4"));
> 		m_menu3 = dynamic_cast<Gtk::Menu*>(ref_glade->get_widget
("menu3"));
> 		m_imagemenuitem10 =
> 		dynamic_cast<Gtk::ImageMenuItem*>(ref_glade->get_widget
("imagemenuitem10"));
> 		m_fixed1 = dynamic_cast<Gtk::Fixed*>(ref_glade->get_widget
("fixed1"));
> 		m_TestButton =
> 		dynamic_cast<Gtk::Button*>(ref_glade->get_widget
("TestButton"));
> 		m_statusbar1 =
> 		dynamic_cast<Gtk::Statusbar*>(ref_glade->get_widget
("statusbar1"));
> 	}
> 
> protected:
> 	Gtk::VBox * m_vbox1;
> 	Gtk::MenuBar * m_menubar1;
> 	Gtk::MenuItem * m_menuitem1;
> 	Gtk::Menu * m_menu1;
> 	Gtk::ImageMenuItem * m_imagemenuitem1; Gtk::ImageMenuItem *
> 	m_imagemenuitem2; Gtk::ImageMenuItem * m_imagemenuitem3;
> 	Gtk::ImageMenuItem * m_imagemenuitem4; Gtk::SeparatorMenuItem *
> 	m_separatormenuitem1; Gtk::ImageMenuItem * m_imagemenuitem5;
> 	Gtk::MenuItem * m_menuitem2;
> 	Gtk::Menu * m_menu2;
> 	Gtk::ImageMenuItem * m_imagemenuitem6; Gtk::ImageMenuItem *
> 	m_imagemenuitem7; Gtk::ImageMenuItem * m_imagemenuitem8;
> 	Gtk::ImageMenuItem * m_imagemenuitem9; Gtk::MenuItem * m_menuitem3;
> 	Gtk::MenuItem * m_menuitem4;
> 	Gtk::Menu * m_menu3;
> 	Gtk::ImageMenuItem * m_imagemenuitem10; Gtk::Fixed * m_fixed1;
> 	Gtk::Button * m_TestButton;
> 	Gtk::Statusbar * m_statusbar1;
> 	
> };
> 
> 
> 
> #endif // __XSLT_GLADE_CODE_H__
> _______________________________________________ gtkmm-list mailing list
> gtkmm-list gnome org
> http://mail.gnome.org/mailman/listinfo/gtkmm-list



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]