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 #ifdef GLIBMM_VFUNCS_ENABLED
00147 #endif //GLIBMM_VFUNCS_ENABLED
00148
00149 protected:
00150
00151 #ifdef GLIBMM_VFUNCS_ENABLED
00152 #endif //GLIBMM_VFUNCS_ENABLED
00153
00154
00155 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00156 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00157
00158
00159 private:
00160
00161 public:
00162 explicit Line(Group& parent);
00163 Line(Group& parent, const Points& points);
00164
00165 #ifdef GLIBMM_PROPERTIES_ENABLED
00166
00172 Glib::PropertyProxy<Points> property_points() ;
00173 #endif //#GLIBMM_PROPERTIES_ENABLED
00174
00175 #ifdef GLIBMM_PROPERTIES_ENABLED
00176
00182 Glib::PropertyProxy_ReadOnly<Points> property_points() const;
00183 #endif //#GLIBMM_PROPERTIES_ENABLED
00184
00185 #ifdef GLIBMM_PROPERTIES_ENABLED
00186
00192 Glib::PropertyProxy<Glib::ustring> property_fill_color() ;
00193 #endif //#GLIBMM_PROPERTIES_ENABLED
00194
00195 #ifdef GLIBMM_PROPERTIES_ENABLED
00196
00202 Glib::PropertyProxy_ReadOnly<Glib::ustring> property_fill_color() const;
00203 #endif //#GLIBMM_PROPERTIES_ENABLED
00204
00205 #ifdef GLIBMM_PROPERTIES_ENABLED
00206
00212 Glib::PropertyProxy<Gdk::Color> property_fill_color_gdk() ;
00213 #endif //#GLIBMM_PROPERTIES_ENABLED
00214
00215 #ifdef GLIBMM_PROPERTIES_ENABLED
00216
00222 Glib::PropertyProxy_ReadOnly<Gdk::Color> property_fill_color_gdk() const;
00223 #endif //#GLIBMM_PROPERTIES_ENABLED
00224
00225 #ifdef GLIBMM_PROPERTIES_ENABLED
00226
00232 Glib::PropertyProxy<guint> property_fill_color_rgba() ;
00233 #endif //#GLIBMM_PROPERTIES_ENABLED
00234
00235 #ifdef GLIBMM_PROPERTIES_ENABLED
00236
00242 Glib::PropertyProxy_ReadOnly<guint> property_fill_color_rgba() const;
00243 #endif //#GLIBMM_PROPERTIES_ENABLED
00244
00245 #ifdef GLIBMM_PROPERTIES_ENABLED
00246
00252 Glib::PropertyProxy< Glib::RefPtr<Gdk::Bitmap> > property_fill_stipple() ;
00253 #endif //#GLIBMM_PROPERTIES_ENABLED
00254
00255 #ifdef GLIBMM_PROPERTIES_ENABLED
00256
00262 Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Gdk::Bitmap> > property_fill_stipple() const;
00263 #endif //#GLIBMM_PROPERTIES_ENABLED
00264
00265 #ifdef GLIBMM_PROPERTIES_ENABLED
00266
00272 Glib::PropertyProxy<guint> property_width_pixels() ;
00273 #endif //#GLIBMM_PROPERTIES_ENABLED
00274
00275 #ifdef GLIBMM_PROPERTIES_ENABLED
00276
00282 Glib::PropertyProxy_ReadOnly<guint> property_width_pixels() const;
00283 #endif //#GLIBMM_PROPERTIES_ENABLED
00284
00285 #ifdef GLIBMM_PROPERTIES_ENABLED
00286
00292 Glib::PropertyProxy<double> property_width_units() ;
00293 #endif //#GLIBMM_PROPERTIES_ENABLED
00294
00295 #ifdef GLIBMM_PROPERTIES_ENABLED
00296
00302 Glib::PropertyProxy_ReadOnly<double> property_width_units() const;
00303 #endif //#GLIBMM_PROPERTIES_ENABLED
00304
00305 #ifdef GLIBMM_PROPERTIES_ENABLED
00306
00312 Glib::PropertyProxy<Gdk::CapStyle> property_cap_style() ;
00313 #endif //#GLIBMM_PROPERTIES_ENABLED
00314
00315 #ifdef GLIBMM_PROPERTIES_ENABLED
00316
00322 Glib::PropertyProxy_ReadOnly<Gdk::CapStyle> property_cap_style() const;
00323 #endif //#GLIBMM_PROPERTIES_ENABLED
00324
00325 #ifdef GLIBMM_PROPERTIES_ENABLED
00326
00332 Glib::PropertyProxy<Gdk::JoinStyle> property_join_style() ;
00333 #endif //#GLIBMM_PROPERTIES_ENABLED
00334
00335 #ifdef GLIBMM_PROPERTIES_ENABLED
00336
00342 Glib::PropertyProxy_ReadOnly<Gdk::JoinStyle> property_join_style() const;
00343 #endif //#GLIBMM_PROPERTIES_ENABLED
00344
00345 #ifdef GLIBMM_PROPERTIES_ENABLED
00346
00352 Glib::PropertyProxy<Gdk::LineStyle> property_line_style() ;
00353 #endif //#GLIBMM_PROPERTIES_ENABLED
00354
00355 #ifdef GLIBMM_PROPERTIES_ENABLED
00356
00362 Glib::PropertyProxy_ReadOnly<Gdk::LineStyle> property_line_style() const;
00363 #endif //#GLIBMM_PROPERTIES_ENABLED
00364
00365 #ifdef GLIBMM_PROPERTIES_ENABLED
00366
00372 Glib::PropertyProxy<bool> property_first_arrowhead() ;
00373 #endif //#GLIBMM_PROPERTIES_ENABLED
00374
00375 #ifdef GLIBMM_PROPERTIES_ENABLED
00376
00382 Glib::PropertyProxy_ReadOnly<bool> property_first_arrowhead() const;
00383 #endif //#GLIBMM_PROPERTIES_ENABLED
00384
00385 #ifdef GLIBMM_PROPERTIES_ENABLED
00386
00392 Glib::PropertyProxy<bool> property_last_arrowhead() ;
00393 #endif //#GLIBMM_PROPERTIES_ENABLED
00394
00395 #ifdef GLIBMM_PROPERTIES_ENABLED
00396
00402 Glib::PropertyProxy_ReadOnly<bool> property_last_arrowhead() const;
00403 #endif //#GLIBMM_PROPERTIES_ENABLED
00404
00405 #ifdef GLIBMM_PROPERTIES_ENABLED
00406
00412 Glib::PropertyProxy<bool> property_smooth() ;
00413 #endif //#GLIBMM_PROPERTIES_ENABLED
00414
00415 #ifdef GLIBMM_PROPERTIES_ENABLED
00416
00422 Glib::PropertyProxy_ReadOnly<bool> property_smooth() const;
00423 #endif //#GLIBMM_PROPERTIES_ENABLED
00424
00425 #ifdef GLIBMM_PROPERTIES_ENABLED
00426
00432 Glib::PropertyProxy<guint> property_spline_steps() ;
00433 #endif //#GLIBMM_PROPERTIES_ENABLED
00434
00435 #ifdef GLIBMM_PROPERTIES_ENABLED
00436
00442 Glib::PropertyProxy_ReadOnly<guint> property_spline_steps() const;
00443 #endif //#GLIBMM_PROPERTIES_ENABLED
00444
00445 #ifdef GLIBMM_PROPERTIES_ENABLED
00446
00452 Glib::PropertyProxy<double> property_arrow_shape_a() ;
00453 #endif //#GLIBMM_PROPERTIES_ENABLED
00454
00455 #ifdef GLIBMM_PROPERTIES_ENABLED
00456
00462 Glib::PropertyProxy_ReadOnly<double> property_arrow_shape_a() const;
00463 #endif //#GLIBMM_PROPERTIES_ENABLED
00464
00465 #ifdef GLIBMM_PROPERTIES_ENABLED
00466
00472 Glib::PropertyProxy<double> property_arrow_shape_b() ;
00473 #endif //#GLIBMM_PROPERTIES_ENABLED
00474
00475 #ifdef GLIBMM_PROPERTIES_ENABLED
00476
00482 Glib::PropertyProxy_ReadOnly<double> property_arrow_shape_b() const;
00483 #endif //#GLIBMM_PROPERTIES_ENABLED
00484
00485 #ifdef GLIBMM_PROPERTIES_ENABLED
00486
00492 Glib::PropertyProxy<double> property_arrow_shape_c() ;
00493 #endif //#GLIBMM_PROPERTIES_ENABLED
00494
00495 #ifdef GLIBMM_PROPERTIES_ENABLED
00496
00502 Glib::PropertyProxy_ReadOnly<double> property_arrow_shape_c() const;
00503 #endif //#GLIBMM_PROPERTIES_ENABLED
00504
00505
00506 };
00507
00508 }
00509 }
00510
00511
00512 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00513 namespace Glib
00514 {
00515
00516 template <>
00517 class Value<Gnome::Canvas::Points> : public Value_Boxed<Gnome::Canvas::Points>
00518 {
00519 public:
00520 static GType value_type() G_GNUC_CONST;
00521 };
00522
00523 }
00524 #endif
00525
00526
00527 namespace Glib
00528 {
00537 Gnome::Canvas::Line* wrap(GnomeCanvasLine* object, bool take_copy = false);
00538 }
00539
00540
00541 #endif
00542