00001 #ifndef _DEMOS_H
00002 #define _DEMOS_H
00003
00004 #include "demowindow.h"
00005
00006 typedef sigc::slot<Gtk::Window*> type_slotDo;
00007
00008 struct Demo
00009 {
00010 const char* title;
00011 const char* filename;
00012
00013 type_slotDo slot;
00014 Demo* children;
00015 };
00016
00017 Gtk::Window* do_drawables();
00018 Gtk::Window* do_ViewBox();
00019 Gtk::Window* do_AffineAnimator();
00020 Gtk::Window* do_FreehandSketcher();
00021 Gtk::Window* do_Selector();
00022 Gtk::Window* do_Translator();
00023 Gtk::Window* do_Rotator();
00024 Gtk::Window* do_Scaler();
00025 Gtk::Window* do_Handlebox_Scaler();
00026
00027 Demo controllers[] = {
00028 { "Freehand Sketcher", "example_freehandsketcher.cpp", sigc::ptr_fun(&do_FreehandSketcher), 0 },
00029 { "Selector", "example_selector.cpp", sigc::ptr_fun(&do_Selector), 0 },
00030 { "Translator", "example_translator.cpp", sigc::ptr_fun(&do_Translator), 0 },
00031 { "Rotator", "example_rotator.cpp", sigc::ptr_fun(&do_Rotator), 0 },
00032 { "Scaler", "example_scaler.cpp", sigc::ptr_fun(&do_Scaler), 0 },
00033 { "Handlebox Scaler", "example_handlebox_scaler.cpp", sigc::ptr_fun(&do_Handlebox_Scaler), 0 },
00034 { 0, 0, type_slotDo(), 0 }
00035 };
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046 Demo testgtk_demos[] =
00047 {
00048 { "Drawables", "example_drawables.cpp", sigc::ptr_fun(&do_drawables), 0 },
00049 { "Affine Animator", "example_affineanimator.cpp", sigc::ptr_fun(&do_AffineAnimator), 0 },
00050 { "View Boxes", "example_viewbox.cpp", sigc::ptr_fun(&do_ViewBox), 0 },
00051 { "Controllers", "", type_slotDo(), controllers },
00052
00053 { 0, 0, type_slotDo(), 0 }
00054 };
00055
00056 #endif //_DEMOS_H
00057