00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef PAPYRUSGTKLINECAPBUTTONBOX_H
00020 #define PAPYRUSGTKLINECAPBUTTONBOX_H
00021
00022 #include <cairomm/cairomm.h>
00023 #include <gtkmm/buttonbox.h>
00024 #include <gtkmm/image.h>
00025 #include <gtkmm/togglebutton.h>
00026 #include <gtkmm/tooltips.h>
00027
00028 #include <papyrusmm/enums.h>
00029
00030 namespace PapyrusGtk {
00031
00035 class LineCapButtonBox : public Gtk::HButtonBox {
00036 public:
00037 LineCapButtonBox(Cairo::LineCap selected=Cairo::LINE_CAP_BUTT, SIZE size=SIZE_MEDIUM);
00038
00039 ~LineCapButtonBox();
00040
00041 sigc::signal<void, Cairo::LineCap> signal_selected();
00042
00043 Cairo::LineCap selected();
00044 void set_selected( Cairo::LineCap selected );
00045
00046 SIZE get_size();
00047 void set_size( SIZE size );
00048
00049 protected:
00050 SIZE m_size;
00051 Cairo::LineCap m_selected;
00052
00053 Gtk::Tooltips m_tooltips;
00054 std::vector<Gtk::Image*> m_images;
00055 std::vector<Gtk::ToggleButton*> m_buttons;
00056
00057 sigc::signal<void, Cairo::LineCap> m_signal_selected;
00058
00059 void create_images(SIZE size);
00060
00061 };
00062
00063 }
00064
00065 #endif