Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

test-Scene.cxx File Reference

#include "Midad/Scene.h"
#include "Midad/Scenery.h"
#include "Midad/GuiMainWindow.h"
#include "Midad/GuiCanvas.h"
#include "Midad/GuiBox.h"
#include "Midad/GuiButton.h"
#include "TApplication.h"
#include "TRandom.h"
#include "TCanvas.h"
#include "TBox.h"
#include <iostream>
#include <sigc++/sigc++.h>
#include <sigc++/object_slot.h>
#include <sigc++/class_slot.h>

Go to the source code of this file.

Classes

class  MyScenery
class  DualSignal

Functions

void add_box (Midad::Scene *s, SigC::Signal0< void > *sig)
int main (int argc, char *argv[])


Function Documentation

void add_box Midad::Scene *  s,
SigC::Signal0< void > *  sig
 

Definition at line 46 of file test-Scene.cxx.

References s().

Referenced by main().

00047 {
00048     cerr << "Add a box\n";
00049     MyScenery* ms = manage(new MyScenery);
00050     s->Add(*ms);
00051     sig->connect(SigC::slot(*ms,&MyScenery::Diddle));
00052     s->Update();
00053 }

int main int  argc,
char *  argv[]
 

Definition at line 55 of file test-Scene.cxx.

References GuiCompositeFrameBase::Add(), add_box(), GuiButtonBase::clicked, GuiMainWindow::ConnectClose(), DualSignal::done, GuiBase::GetLayoutHints(), s(), GuiBase::SetLayoutHints(), GuiMainWindow::SetMinSize(), and GuiMainWindow::ShowAll().

00056 {
00057     TApplication theApp("App", &argc, argv);
00058 
00059     GuiMainWindow mw(300,400);
00060     GuiVBox vbox(mw);
00061     vbox.SetLayoutHints(vbox.GetLayoutHints() | kLHintsExpandX);
00062     mw.Add(vbox);
00063 
00064     GuiCanvas gc(vbox);
00065     vbox.Add(gc);
00066     
00067     Midad::Scene s("test-scene","generic-scene-type");
00068 
00069     TCanvas* canvas = gc.GetCanvas();
00070     canvas->cd();
00071     s.Draw();
00072 
00073     GuiHBox hbox(vbox);
00074     vbox.Add(hbox);
00075 
00076     DualSignal dualsig;
00077     dualsig.done.connect(SigC::slot(s,&Midad::Scene::Update));
00078 
00079     GuiTextButton* but = manage(new GuiTextButton(hbox,"modify"));
00080     hbox.Add(*but);
00081     but->clicked.connect(SigC::slot_class(dualsig,&DualSignal::emit));
00082 
00083     GuiTextButton* addbut = manage(new GuiTextButton(hbox,"add"));
00084     hbox.Add(*addbut);
00085     addbut->clicked.connect(SigC::bind(SigC::slot(add_box),&s,&dualsig.sig));
00086 
00087     but = manage(new GuiTextButton(hbox,"update"));
00088     hbox.Add(*but);
00089     but->clicked.connect(SigC::slot(s,&Midad::Scene::Update));
00090 
00091 
00092     mw.ShowAll();
00093     mw.SetMinSize();
00094     mw.ConnectClose();
00095 
00096     theApp.Run();
00097     return 0;
00098 } // end of main()


Generated on Mon Feb 15 11:08:13 2010 for loon by  doxygen 1.3.9.1