[gnomemm] More Help Needed
- From: Dan Pixley <danpixley cox net>
- To: gnomemm-list gnome org
- Subject: [gnomemm] More Help Needed
- Date: Fri, 13 Feb 2004 22:01:15 -0800
Hi all. Another newb question for you here. I am just learning Gtkmm
and glade--, and am having problems getting my test program to link.
compiling with "g++ main.cc -o gnumu `pkg-config gtkmm-2.0
libglademm-2.0 --cflags --libs`", I get three errors saying:
"/tmp/ccrs09HB.o(.text+0x35): In function `main': : undefined reference
to `gnumu::gnumu[in-charge]()'"
The other two errors are similar and complain about "gnumu::~gnumu
[in-charge]()". Here are my files:
GnuMu.h:
#ifndef GNUMU_H
#define GNUMU_U
#include <gtkmm.h>
#include <libglademm.h>
class gnumu : public Gtk::Window
{
public:
gnumu ();
virtual ~gnumu ();
protected:
// Connect to a new world.
// Test: outputs "Connecting World1" to
virtual void on_connect_activate ();
// When the enter key is pressed in the text inputbox.
// Test: outputs entered text to output textbox
virtual void on_input_entry_key_release_event ();
// When button is pressed, world is activated in textbox.
virtual void on_button1_clicked ();
// MenuBar.
Gtk::MenuBar menu_Bar;
Gtk::Menu menu_File, menu_Edit;
Gtk::Menu menu_Connect, menu_Quit; //submenus.
// Buttons. Only first two buttons implemented for testing.
Gtk::Button button1;
Gtk::Button button2;
// Output and input textboxs.
Gtk::TextView* output_textview;
Gtk::Entry* input_entry;
Glib::RefPtr<Gnome::Glade::Xml> xml_interface;
};
#endif
GnuMu.cc:
#include <iomanip>
#include <sstream>
#include <sigc++/retype_return.h>
#include "GnuMu.h"
#include <iostream>
gnumu::gnumu()
{
set_title ("GnuMU");
set_resizable (true);
xml_interface = Gnome::Glade::Xml::create ("gnumu.glade");
xml_interface->reparent_widget ("vbox1", *this);
xml_interface->get_widget ("menu_Bar", menu_Bar);
xml_interface->get_widget ("menu_File", menu_File);
xml_interface->get_widget ("menu_Edit", menu_Edit);
xml_interface->get_widget ("menu_Connect", menu_Connect);
xml_interface->get_widget ("menu_Quit", menu_Quit);
xml_interface->get_widget ("button1", button1);
xml_interface->get_widget ("button2", button2);
xml_interface->get_widget ("output_textview", output_textview);
xml_interface->get_widget ("input_entry", input_entry);
menu_Connect->signal_clicked().connect (SigC::slot(*this,
&gnumu::on_connect_activate));
menu_Quit->signal_clicked().connect (SigC::slot(*this,
&gnumu::hide));
button1->signal_clicked().connect (SigC::slot(*this,
&gnumu::on_button1_clicked));
button2->signal_clicked().connect (SigC::slot(*this,
&gnumu::on_button1_clicked));
//input_entry->signal??? (SigC::slot(*this,
&gnumu::on_input_key_release));
}
gnumu::~gnumu()
{
}
void gnumu::on_connect_activate ()
{
Gtk::InputDialog dialog(*this, "Enter IP and port (Example:
192.168.1.1:1234)", Gtk::MESSAGE_QUESTION,
(Gtk::ButtonType)(Gtk::BUTTONS_OK | Gtk::BUTTONS_CANCEL));
int result = dialog.run
switch(result)
{
case (Gtk::RESPONSE_OK):
{
std::cout << "OK clicked." << std::endl;
break;
}
case (Gtk::RESPONSE_CANCEL);
{
std::cout << "Cancel clicked." << std::endl;
break;
}
default:
{
std::cout << "Unexepcted button clicked." << std::endl;
break;
}
}
}
void gnumu::on_input_entry_key_release_event ()
{
std::cout << "test";
}
void gnumu::on_button1_clicked ()
{
std::cout << "test";
}
Main.cc:
#include <gtkmm.h>
#include "GnuMu.h"
int main(int argc, char *argv[])
{
Gtk::Main kit(argc, argv);
gnumu window;
kit.run(window);
return 0;
}
------------------------------------------------------------
Note that you cannot compile this without the .glade file. I am also
aware that there are probably lots of other bugs in this code, but I am
stuck on this first one, and need some help working through it. Also, I
prefer to use the g++ command instead of autoconf and automake just so I
get a feel for that compiler (and I need to learn autoconf and automake
as well. One thing at a time though.). I'm new to lots of this stuff.
:) If anyone can spot my linking error, please let me know.
Thanks in advance,
Dan
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]