From 1b04b12906206b08b6954599ebeb4e19627b64db Mon Sep 17 00:00:00 2001 From: Leandro Lucarella Date: Fri, 10 Oct 2003 04:04:06 +0000 Subject: [PATCH] Se agregan ejemplos de gtkmm. --- tests/gtkmm.cpp | 18 ++++++++++++++++++ tests/gtkmm_hello.cpp | 29 +++++++++++++++++++++++++++++ tests/gtkmm_hello.h | 23 +++++++++++++++++++++++ tests/gtkmm_hello_main.cpp | 21 +++++++++++++++++++++ 4 files changed, 91 insertions(+) create mode 100644 tests/gtkmm.cpp create mode 100644 tests/gtkmm_hello.cpp create mode 100644 tests/gtkmm_hello.h create mode 100644 tests/gtkmm_hello_main.cpp diff --git a/tests/gtkmm.cpp b/tests/gtkmm.cpp new file mode 100644 index 0000000..116c1e0 --- /dev/null +++ b/tests/gtkmm.cpp @@ -0,0 +1,18 @@ +/* + * Ejemplo de GTK-- + * + * Para compilar: g++ -Wall -g `pkg-config gtkmm-2.0 --cflags --libs` -o gtkmm gtkmm.cpp + */ + +#include + +int main(int argc, char *argv[]) { + // Procesa argumentos. + Gtk::Main kit(argc, argv); + // Crea ventana. + Gtk::Window window; + // Corre programa (hasta que se cierra ventana ppal. + Gtk::Main::run(window); + // Sale. + return 0; +} diff --git a/tests/gtkmm_hello.cpp b/tests/gtkmm_hello.cpp new file mode 100644 index 0000000..8ba523d --- /dev/null +++ b/tests/gtkmm_hello.cpp @@ -0,0 +1,29 @@ +#include "gtkmm_hello.h" +#include + +HelloWorld::HelloWorld() +: m_button("Hello World") // creates a new button with the label "Hello World". +{ + // Sets the border width of the window. + set_border_width(10); + + // When the button receives the "clicked" signal, it will call the + // hello() method. The hello() method is defined below. + m_button.signal_clicked().connect(SigC::slot(*this, &HelloWorld::on_button_clicked)); + + // This packs the button into the Window (a container). + add(m_button); + + // The final step is to display this newly created widget... + m_button.show(); +} + +HelloWorld::~HelloWorld() +{ +} + +void HelloWorld::on_button_clicked() +{ + std::cout << "Hello World" << std::endl; +} + diff --git a/tests/gtkmm_hello.h b/tests/gtkmm_hello.h new file mode 100644 index 0000000..18cfba2 --- /dev/null +++ b/tests/gtkmm_hello.h @@ -0,0 +1,23 @@ +#ifndef GTKMM_EXAMPLE_HELLOWORLD_H +#define GTKMM_EXAMPLE_HELLOWORLD_H + +#include +#include + +class HelloWorld : public Gtk::Window +{ + +public: + HelloWorld(); + virtual ~HelloWorld(); + +protected: + //Signal handlers: + virtual void on_button_clicked(); + + //Member widgets: + Gtk::Button m_button; + +}; + +#endif // GTKMM_EXAMPLE_HELLOWORLD_H diff --git a/tests/gtkmm_hello_main.cpp b/tests/gtkmm_hello_main.cpp new file mode 100644 index 0000000..538ae20 --- /dev/null +++ b/tests/gtkmm_hello_main.cpp @@ -0,0 +1,21 @@ +/* + * Hello World de GTK-- + * + * Para compilar: + * + * g++ -Wall -g `pkg-config gtkmm-2.0 --cflags --libs` -o gtkmm_hello \ + * gtkmm_hello.cpp gtkmm_hello_main.cpp + * + */ + +#include +#include "gtkmm_hello.h" + +int main (int argc, char *argv[]) +{ + Gtk::Main kit(argc, argv); + HelloWorld helloworld; + Gtk::Main::run(helloworld); //Shows the window and returns when it is closed. + + return 0; +} -- 2.43.0