libgnomecanvasmm
|
00001 // -*- c++ -*- 00002 // Generated by gtkmmproc -- DO NOT MODIFY! 00003 #ifndef _LIBGNOMECANVASMM_LINE_H 00004 #define _LIBGNOMECANVASMM_LINE_H 00005 00006 00007 #include <glibmm.h> 00008 00009 /* $Id: line.hg,v 1.12 2004/05/02 10:32:35 murrayc Exp $ */ 00010 00011 /* line.h 00012 * 00013 * Copyright (C) 1998 EMC Capital Management Inc. 00014 * Developed by Havoc Pennington <hp@pobox.com> 00015 * 00016 * Copyright (C) 1999 The Gtk-- Development Team 00017 * 00018 * This library is free software; you can redistribute it and/or 00019 * modify it under the terms of the GNU Lesser General Public 00020 * License as published by the Free Software Foundation; either 00021 * version 2.1 of the License, or (at your option) any later version. 00022 * 00023 * This library is distributed in the hope that it will be useful, 00024 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00025 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00026 * Lesser General Public License for more details. 00027 * 00028 * You should have received a copy of the GNU Lesser General Public 00029 * License along with this library; if not, write to the Free 00030 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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 /* DOXYGEN_SHOULD_SKIP_THIS */ 00044 00045 00046 namespace Gnome 00047 { 00048 00049 namespace Canvas 00050 { class Line_Class; } // namespace Canvas 00051 00052 } // namespace Gnome 00053 namespace Gnome 00054 { 00055 00056 namespace Canvas 00057 { 00058 00059 class GnomeGroup; 00060 00061 // Sample use of Gnome_CanvasPoints : 00062 00063 // Gnome_CanvasPoints points; 00064 // 00065 // points.push_back(Art::Point(0, 0)); 00066 // points.push_back(Art::Point(100,0)); 00067 // points.push_back(Art::Point(0,100)); 00068 // points.push_back(Art::Point(100,100)); 00069 // 00070 // line = new Gnome_CanvasLine(&m_canvasgroup,points); 00071 00072 //using std::vector; 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; //So that this works with tempaltes that are intended for normal BoxedTypes. 00087 #endif /* DOXYGEN_SHOULD_SKIP_THIS */ 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 /* DOXYGEN_SHOULD_SKIP_THIS */ 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 // noncopyable 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 /* DOXYGEN_SHOULD_SKIP_THIS */ 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 //C++ methods used to invoke GTK+ virtual functions: 00146 #ifdef GLIBMM_VFUNCS_ENABLED 00147 #endif //GLIBMM_VFUNCS_ENABLED 00148 00149 protected: 00150 //GTK+ Virtual Functions (override these to change behaviour): 00151 #ifdef GLIBMM_VFUNCS_ENABLED 00152 #endif //GLIBMM_VFUNCS_ENABLED 00153 00154 //Default Signal Handlers:: 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 } /* namespace Canvas */ 00509 } /* namespace Gnome */ 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 } // namespace Glib 00524 #endif /* DOXYGEN_SHOULD_SKIP_THIS */ 00525 00526 00527 namespace Glib 00528 { 00537 Gnome::Canvas::Line* wrap(GnomeCanvasLine* object, bool take_copy = false); 00538 } //namespace Glib 00539 00540 00541 #endif /* _LIBGNOMECANVASMM_LINE_H */ 00542