00001
00002
00003 #ifndef _LIBGNOMECANVASMM_LINE_H
00004 #define _LIBGNOMECANVASMM_LINE_H
00005
00006
00007 #include <glibmm.h>
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033 #include <libgnomecanvasmm/item.h>
00034 #include <libgnomecanvas/gnome-canvas-line.h>
00035 #include <libgnomecanvas/gnome-canvas-util.h>
00036 #include <libgnomecanvas/libgnomecanvas.h>
00037 #include <vector>
00038
00039
00040 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00041 typedef struct _GnomeCanvasLine GnomeCanvasLine;
00042 typedef struct _GnomeCanvasLineClass GnomeCanvasLineClass;
00043 #endif
00044
00045
00046 namespace Gnome
00047 {
00048
00049 namespace Canvas
00050 { class Line_Class; }
00051
00052 }
00053 namespace Gnome
00054 {
00055
00056 namespace Canvas
00057 {
00058
00059 class GnomeGroup;
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00078 class Points : public std::vector<Art::Point>
00079 {
00080 public:
00081 Points(size_type nbpoints = 0);
00082 explicit Points(GnomeCanvasPoints* castitem);
00083 ~Points();
00084
00085 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00086 typedef GnomeCanvasPoints BaseObjectType;
00087 #endif
00088
00089 operator bool() const;
00090 bool is_null() const;
00091
00092 const GnomeCanvasPoints* gobj() const { return _gobj(); }
00093 GnomeCanvasPoints* gobj() { return _gobj(); }
00094 static GType get_type () { return GNOME_TYPE_CANVAS_POINTS; }
00095
00096 protected:
00097 GnomeCanvasPoints* _gobj() const;
00098 mutable GnomeCanvasPoints* points_;
00099 mutable bool owned_;
00100 };
00101
00102
00103 class Line : public Item
00104 {
00105 public:
00106 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00107 typedef Line CppObjectType;
00108 typedef Line_Class CppClassType;
00109 typedef GnomeCanvasLine BaseObjectType;
00110 typedef GnomeCanvasLineClass BaseClassType;
00111 #endif
00112
00113 virtual ~Line();
00114
00115 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00116
00117 private:
00118 friend class Line_Class;
00119 static CppClassType line_class_;
00120
00121
00122 Line(const Line&);
00123 Line& operator=(const Line&);
00124
00125 protected:
00126 explicit Line(const Glib::ConstructParams& construct_params);
00127 explicit Line(GnomeCanvasLine* castitem);
00128
00129 #endif
00130
00131 public:
00132 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00133 static GType get_type() G_GNUC_CONST;
00134 static GType get_base_type() G_GNUC_CONST;
00135 #endif
00136
00138 GnomeCanvasLine* gobj() { return reinterpret_cast<GnomeCanvasLine*>(gobject_); }
00139
00141 const GnomeCanvasLine* gobj() const { return reinterpret_cast<GnomeCanvasLine*>(gobject_); }
00142
00143
00144 public:
00145
00146
00147 protected:
00148
00149
00150
00151
00152
00153 private:
00154
00155 public:
00156 explicit Line(Group& parent);
00157 Line(Group& parent, const Points& points);
00158
00165 Glib::PropertyProxy<Points> property_points() ;
00166
00173 Glib::PropertyProxy_ReadOnly<Points> property_points() const;
00174
00181 Glib::PropertyProxy<Glib::ustring> property_fill_color() ;
00182
00189 Glib::PropertyProxy_ReadOnly<Glib::ustring> property_fill_color() const;
00190
00197 Glib::PropertyProxy<Gdk::Color> property_fill_color_gdk() ;
00198
00205 Glib::PropertyProxy_ReadOnly<Gdk::Color> property_fill_color_gdk() const;
00206
00213 Glib::PropertyProxy<guint> property_fill_color_rgba() ;
00214
00221 Glib::PropertyProxy_ReadOnly<guint> property_fill_color_rgba() const;
00222
00229 Glib::PropertyProxy< Glib::RefPtr<Gdk::Bitmap> > property_fill_stipple() ;
00230
00237 Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Gdk::Bitmap> > property_fill_stipple() const;
00238
00245 Glib::PropertyProxy<guint> property_width_pixels() ;
00246
00253 Glib::PropertyProxy_ReadOnly<guint> property_width_pixels() const;
00254
00261 Glib::PropertyProxy<double> property_width_units() ;
00262
00269 Glib::PropertyProxy_ReadOnly<double> property_width_units() const;
00270
00277 Glib::PropertyProxy<Gdk::CapStyle> property_cap_style() ;
00278
00285 Glib::PropertyProxy_ReadOnly<Gdk::CapStyle> property_cap_style() const;
00286
00293 Glib::PropertyProxy<Gdk::JoinStyle> property_join_style() ;
00294
00301 Glib::PropertyProxy_ReadOnly<Gdk::JoinStyle> property_join_style() const;
00302
00309 Glib::PropertyProxy<Gdk::LineStyle> property_line_style() ;
00310
00317 Glib::PropertyProxy_ReadOnly<Gdk::LineStyle> property_line_style() const;
00318
00325 Glib::PropertyProxy<bool> property_first_arrowhead() ;
00326
00333 Glib::PropertyProxy_ReadOnly<bool> property_first_arrowhead() const;
00334
00341 Glib::PropertyProxy<bool> property_last_arrowhead() ;
00342
00349 Glib::PropertyProxy_ReadOnly<bool> property_last_arrowhead() const;
00350
00357 Glib::PropertyProxy<bool> property_smooth() ;
00358
00365 Glib::PropertyProxy_ReadOnly<bool> property_smooth() const;
00366
00373 Glib::PropertyProxy<guint> property_spline_steps() ;
00374
00381 Glib::PropertyProxy_ReadOnly<guint> property_spline_steps() const;
00382
00389 Glib::PropertyProxy<double> property_arrow_shape_a() ;
00390
00397 Glib::PropertyProxy_ReadOnly<double> property_arrow_shape_a() const;
00398
00405 Glib::PropertyProxy<double> property_arrow_shape_b() ;
00406
00413 Glib::PropertyProxy_ReadOnly<double> property_arrow_shape_b() const;
00414
00421 Glib::PropertyProxy<double> property_arrow_shape_c() ;
00422
00429 Glib::PropertyProxy_ReadOnly<double> property_arrow_shape_c() const;
00430
00431
00432 };
00433
00434 }
00435 }
00436
00437
00438 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00439 namespace Glib
00440 {
00441
00442 template <>
00443 class Value<Gnome::Canvas::Points> : public Value_Boxed<Gnome::Canvas::Points>
00444 {
00445 public:
00446 static GType value_type() G_GNUC_CONST;
00447 };
00448
00449 }
00450 #endif
00451
00452
00453 namespace Glib
00454 {
00460 Gnome::Canvas::Line* wrap(GnomeCanvasLine* object, bool take_copy = false);
00461 }
00462
00463
00464 #endif
00465