00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef PAPYRUSGTKLINEWIDTHCOMBOBOX_H
00020 #define PAPYRUSGTKLINEWIDTHCOMBOBOX_H
00021
00022 #include <gtkmm.h>
00023
00024 #include <papyrusmm/enums.h>
00025
00026 namespace PapyrusGtk {
00027
00038 class LineWidthComboBox : public Gtk::ComboBox
00039 {
00040 public:
00041 LineWidthComboBox( int active = 0, double start=1.0, double stop=6.0, INCREMENT increment=INCREMENT_LINEAR, double factor=1.0 );
00042
00043 ~LineWidthComboBox();
00044
00045 double width();
00046 double start();
00047 double stop();
00048 void start_stop(double& start, double& stop);
00049
00050 void set_start(double start);
00051 void set_stop(double stop);
00052 void set_start_stop(double start, double stop);
00053
00054 double factor();
00055 void set_factor(double factor);
00056
00057 INCREMENT increment_type();
00058 void set_increment_type(INCREMENT increment);
00059
00060 protected:
00061
00062 class ModelColumns: public Gtk::TreeModelColumnRecord {
00063 public:
00064 ModelColumns() {
00065 add( picture );
00066 }
00067
00068 Gtk::TreeModelColumn<Glib::RefPtr<Gdk::Pixbuf> > picture;
00069 };
00070
00071 Glib::RefPtr<Gtk::ListStore> m_store;
00072 std::vector<Glib::RefPtr<Gdk::Pixbuf> > m_pixbufs;
00073 ModelColumns m_columns;
00074
00075 double m_start, m_stop, m_factor;
00076 INCREMENT m_increment;
00077
00078 void load_pixbufs();
00079
00080
00081 };
00082
00083 }
00084
00085 #endif