00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef PAPYRUSGTKLINEJOINBUTTONBOX_H
00020 #define PAPYRUSGTKLINEJOINBUTTONBOX_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 LineJoinButtonBox : public Gtk::HButtonBox {
00036 public:
00037 LineJoinButtonBox(Cairo::LineJoin selected=Cairo::LINE_JOIN_MITER, SIZE size=SIZE_MEDIUM);
00038
00039 ~LineJoinButtonBox();
00040
00041 sigc::signal<void, Cairo::LineJoin> signal_selected();
00042
00043 Cairo::LineJoin selected();
00044 void set_selected( Cairo::LineJoin selected );
00045
00046 SIZE get_size();
00047 void set_size( SIZE size );
00048
00049 protected:
00050 SIZE m_size;
00051 Cairo::LineJoin 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::LineJoin> m_signal_selected;
00058
00059 void create_images(SIZE size);
00060
00061 };
00062
00063 }
00064
00065 #endif