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
00018 Gtk::Window* do_TTYWidget_demo();
00019 Gtk::Window* do_TTYWidget();
00020 Gtk::Window* do_SerialComboBox();
00021 Gtk::Window* do_TTYByteSizeRadio();
00022 Gtk::Window* do_TTYFlowControlComboBox();
00023 Gtk::Window* do_TTYParityComboBox();
00024 Gtk::Window* do_TTYParityErrorComboBox();
00025 Gtk::Window* do_TTYSpeedComboBox();
00026 Gtk::Window* do_TTYStopBitsRadio();
00027 Gtk::Window* do_DottedDecimalEntry();
00028 Gtk::Window* do_HostEntry();
00029 Gtk::Window* do_PortEntry();
00030 Gtk::Window* do_HostPortEntry();
00031 Gtk::Window* do_EndpointStopButton();
00032 Gtk::Window* do_Spinner();
00033 Gtk::Window* do_ProgressBar();
00034
00035 Demo tty_demos[] =
00036 {
00037 { "TTY Widget Demonstration", "example_ttywidget_demo.cpp", sigc::ptr_fun(&do_TTYWidget_demo), 0 },
00038 { "TTY Widget", "example_ttywidget.cpp", sigc::ptr_fun(&do_TTYWidget), 0 },
00039 { "Serial ComboBox", "example_serialcombobox.cpp", sigc::ptr_fun(&do_SerialComboBox), 0 },
00040 { "TTY Byte Size Radio", "example_ttybytesizeradio.cpp", sigc::ptr_fun(&do_TTYByteSizeRadio), 0 },
00041 { "TTY Flow-control ComboBox", "example_ttyflowcontrolcombobox.cpp", sigc::ptr_fun(&do_TTYFlowControlComboBox), 0 },
00042 { "TTY Parity ComboBox", "example_ttyparitycombobox.cpp", sigc::ptr_fun(&do_TTYParityComboBox), 0 },
00043 { "TTY Parity Error ComboBox", "example_ttyparityerrorcombobox.cpp", sigc::ptr_fun(&do_TTYParityErrorComboBox), 0 },
00044 { "TTY Speed ComboBox", "example_ttyspeedcombobox.cpp", sigc::ptr_fun(&do_TTYSpeedComboBox), 0 },
00045 { "TTY Stop Bits Radio", "example_ttystopbitsradio.cpp", sigc::ptr_fun(&do_TTYStopBitsRadio), 0 },
00046 { 0, 0, type_slotDo(), 0 }
00047 };
00048
00049 Demo ip_demos[] =
00050 {
00051 { "Dotted Decimal Entry", "example_dotteddecimalentry.cpp", sigc::ptr_fun(&do_DottedDecimalEntry), 0 },
00052 { "Host Entry", "example_hostentry.cpp", sigc::ptr_fun(&do_HostEntry), 0 },
00053 { "Port Entry", "example_portentry.cpp", sigc::ptr_fun(&do_PortEntry), 0 },
00054 { "Host and Port Entry", "example_hostportentry.cpp", sigc::ptr_fun(&do_HostPortEntry), 0 },
00055 { 0, 0, type_slotDo(), 0 }
00056 };
00057
00058 Demo general_demos[] =
00059 {
00060 { "Endpoint Stop/Start Button", "example_endpointblockbutton.cpp", sigc::ptr_fun(&do_EndpointStopButton), 0 },
00061 { 0, 0, type_slotDo(), 0 }
00062 };
00063
00064 Demo progress_indicators[] =
00065 {
00066 { "Spinner", "example_spinner.cpp", sigc::ptr_fun(&do_Spinner), 0 },
00067 { "Progress Bar", "example_progressbar.cpp", sigc::ptr_fun(&do_ProgressBar), 0 },
00068 { 0, 0, type_slotDo(), 0 }
00069 };
00070
00071 Demo testgtk_demos[] =
00072 {
00073 { "Serial port and TTY Widgets", "", type_slotDo(), tty_demos },
00074 { "IPv4 and IPv6 Widgets", "", type_slotDo(), ip_demos },
00075 { "Progress Indicators", "", type_slotDo(), progress_indicators },
00076 { "General Purpose Widgets", "", type_slotDo(), general_demos },
00077 { 0, 0, type_slotDo(), 0 }
00078 };
00079
00080 #endif //_DEMOS_H
00081