#include "onewindow.h"
#include <iostream>
#include <gtkmm/stock.h>

Onewindow::Onewindow()
	//:m_button(Gtk::Stock::OK) //Create a new button on initialization line
{
	//m_button.add_pixlabel("/usr/local/share/gtk-gnutella/pixmaps/download.xpm","cool button");
	m_button.add_pixlabel("/usr/local/share/gtk-gnutella/pixmaps/download.xpm","cool button"); //Create a new button on initialization line

	set_title("Pixeled Button");
	set_border_width(18);
	
	//connect signal when button clicked
	m_button.signal_clicked().connect(sigc::mem_fun(*this, 
				&Onewindow::l_clicked));
	m_button.signal_pressed().connect(sigc::mem_fun(*this, 
				&Onewindow::l_pressed));
	m_button.signal_enter().connect(sigc::mem_fun(*this, 
				&Onewindow::l_enter));
	m_button.signal_leave().connect(sigc::mem_fun(*this, 
				&Onewindow::l_leave));
	m_button.signal_released().connect(sigc::mem_fun(*this, 
				&Onewindow::l_released));
	//m_button.signal_toggled().connect(sigc::mem_fun(*this, 
	//			&Onewindow::l_toggled));

	//pack the button into the window
	add(m_button);

	//show the widget
	show_all_children();
}

Onewindow::~Onewindow()
{
	std::cout << "BYE!!" <<std::endl;
}

void Onewindow::l_clicked()
{
	std::cout << "Click Click!" <<std::endl;
}

void Onewindow::l_pressed()
{
	std::cout << "press press!" <<std::endl;
}
void Onewindow::l_released()
{
	std::cout << "released released!" <<std::endl;
	m_button.set_active(true);
}
void Onewindow::l_enter()
{
	m_button.toggled();
	std::cout << "enter enter!" <<std::endl;

}
void Onewindow::l_leave()
{
	bool result = m_button.get_active();
	std::cout << "leave leave!" << result << std::endl;
	m_button.toggled();
	result = m_button.get_active();
	std::cout << "and leave leave!" << result << std::endl;
	m_button.set_active(false);
	result = m_button.get_active();
	std::cout << "leave leave!" << result << std::endl;

}

void Onewindow::l_get_active()
{
	std::cout << "get active!" <<std::endl;
}
void Onewindow::l_set_active()
{
	m_button.set_active(true);
	bool result = m_button.get_active();
	std::cout << "set_active " << result <<std::endl;
}
void Onewindow::l_toggled()
{
	bool result = m_button.get_active();
	std::cout << "toggled! "<< result <<std::endl;
}







