Sophie

Sophie

distrib > Mandriva > 9.1 > ppc > media > main > by-pkgid > ca81b57b553ae75608ba0fc5e7925e4e > files > 785

libgtkmm1.2-devel-1.2.10-1mdk.ppc.rpm


#include <stdio.h>
#include <glib.h>
#include <gdk/gdk.h>
#include <gtk/gtk.h>

#include <gtk--/main.h>
#include <gtk--/toolbar.h>
#include <gtk--/button.h>
#include <gtk--/togglebutton.h>
#include <gtk--/radiobutton.h>
#include <gtk--/box.h>
#include <gtk--/window.h>

using namespace SigC;

class MainWindowClass : public Gtk::Window {
private:
  Gtk::HBox main_hbox;
  Gtk::HBox hbox;
  Gtk::Button button;
  Gtk::Toolbar toolbar;
  
  void quit_pressed_cb(void);
  void toolbar_button_cb(char *);
  
public:

   MainWindowClass (void);
  ~MainWindowClass (void);

};

void MainWindowClass::toolbar_button_cb(char *c)
{
  printf("toolbar_button_cb : %s\n",c);
}

MainWindowClass::MainWindowClass(void) : Gtk::Window(GTK_WINDOW_TOPLEVEL),
  main_hbox(false,0),
  hbox(false,0),
  button("Quit")
{

  set_usize(400,50);
  
  add(main_hbox);

  main_hbox.add(hbox);
  
  hbox.pack_start(button,false,false,0);
  hbox.pack_start(toolbar,false,false,0);

  button.clicked.connect( slot(this,&MainWindowClass::quit_pressed_cb) );

  {
  using namespace Gtk::Toolbar_Helpers;
  toolbar.tools().push_back(ButtonElem( "Click me", 
    bind<char*>( slot(this,&MainWindowClass::toolbar_button_cb),
    "'Click me' button"),
    "toolbar btn",""));
  toolbar.tools().push_back(Space());

  toolbar.tools().push_back(ButtonElem( "Click me too", 
    bind<char*>( slot(this, &MainWindowClass::toolbar_button_cb),
    "'Click me too' button"),
    "other toolbar btn", ""));

  toolbar.tools().push_back(ToggleElem( "Toggle me", 
    bind<char*>( slot(this, &MainWindowClass::toolbar_button_cb), 
    "This is from a toggle connector"),
    "toggle duh", ""));

  Gtk::RadioButton::Group gr;
  toolbar.tools().push_back(RadioElem(gr,"R1"));
  toolbar.tools().push_back(RadioElem(gr,"R2"));
  toolbar.tools().push_back(RadioElem(gr,"R3"));
  }

  toolbar.show();
  button.show();
  hbox.show();
  main_hbox.show();
}

MainWindowClass::~MainWindowClass(void)
{}

void MainWindowClass::quit_pressed_cb(void)
{
  Gtk::Main::quit();
}

int main(gint argc, gchar **argv)
{
  Gtk::Main kit(argc,argv);
  MainWindowClass main_window;

  main_window.show();
  
  kit.run();

  return(0);
}