Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

line.h

Go to the documentation of this file.
00001 // -*- c++ -*- 00002 // Generated by gtkmmproc -- DO NOT MODIFY! 00003 #ifndef _LIBGNOMECANVASMM_LINE_H 00004 #define _LIBGNOMECANVASMM_LINE_H 00005 00006 #include <glibmm.h> 00007 00008 /* $Id: line.hg,v 1.12 2004/05/02 10:32:35 murrayc Exp $ */ 00009 00010 /* line.h 00011 * 00012 * Copyright (C) 1998 EMC Capital Management Inc. 00013 * Developed by Havoc Pennington <hp@pobox.com> 00014 * 00015 * Copyright (C) 1999 The Gtk-- Development Team 00016 * 00017 * This library is free software; you can redistribute it and/or 00018 * modify it under the terms of the GNU Library General Public 00019 * License as published by the Free Software Foundation; either 00020 * version 2 of the License, or (at your option) any later version. 00021 * 00022 * This library is distributed in the hope that it will be useful, 00023 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00024 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00025 * Library General Public License for more details. 00026 * 00027 * You should have received a copy of the GNU Library General Public 00028 * License along with this library; if not, write to the Free 00029 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00030 */ 00031 00032 #include <libgnomecanvasmm/item.h> 00033 #include <libgnomecanvas/gnome-canvas-line.h> 00034 #include <libgnomecanvas/gnome-canvas-util.h> 00035 #include <libgnomecanvas/libgnomecanvas.h> 00036 #include <vector> 00037 00038 00039 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00040 typedef struct _GnomeCanvasLine GnomeCanvasLine; 00041 typedef struct _GnomeCanvasLineClass GnomeCanvasLineClass; 00042 #endif /* DOXYGEN_SHOULD_SKIP_THIS */ 00043 00044 00045 namespace Gnome 00046 { 00047 00048 namespace Canvas 00049 { class Line_Class; } // namespace Canvas 00050 00051 } // namespace Gnome 00052 namespace Gnome 00053 { 00054 00055 namespace Canvas 00056 { 00057 00058 class GnomeGroup; 00059 00060 // Sample use of Gnome_CanvasPoints : 00061 00062 // Gnome_CanvasPoints points; 00063 // 00064 // points.push_back(Art::Point(0, 0)); 00065 // points.push_back(Art::Point(100,0)); 00066 // points.push_back(Art::Point(0,100)); 00067 // points.push_back(Art::Point(100,100)); 00068 // 00069 // line = new Gnome_CanvasLine(&m_canvasgroup,points); 00070 00071 //using std::vector; 00072 00077 class Points : public std::vector<Art::Point> 00078 { 00079 public: 00080 Points(size_type nbpoints = 0); 00081 explicit Points(GnomeCanvasPoints* castitem); 00082 ~Points(); 00083 00084 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00085 typedef GnomeCanvasPoints BaseObjectType; //So that this works with tempaltes that are intended for normal BoxedTypes. 00086 #endif /* DOXYGEN_SHOULD_SKIP_THIS */ 00087 00088 operator bool() const; 00089 bool is_null() const; 00090 00091 const GnomeCanvasPoints* gobj() const { return _gobj(); } 00092 GnomeCanvasPoints* gobj() { return _gobj(); } 00093 static GType get_type () { return GNOME_TYPE_CANVAS_POINTS; } 00094 00095 protected: 00096 GnomeCanvasPoints* _gobj() const; 00097 mutable GnomeCanvasPoints* points_; 00098 mutable bool owned_; 00099 }; 00100 00101 00102 class Line : public Item 00103 { 00104 public: 00105 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00106 typedef Line CppObjectType; 00107 typedef Line_Class CppClassType; 00108 typedef GnomeCanvasLine BaseObjectType; 00109 typedef GnomeCanvasLineClass BaseClassType; 00110 #endif /* DOXYGEN_SHOULD_SKIP_THIS */ 00111 00112 virtual ~Line(); 00113 00114 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00115 00116 private: 00117 friend class Line_Class; 00118 static CppClassType line_class_; 00119 00120 // noncopyable 00121 Line(const Line&); 00122 Line& operator=(const Line&); 00123 00124 protected: 00125 explicit Line(const Glib::ConstructParams& construct_params); 00126 explicit Line(GnomeCanvasLine* castitem); 00127 00128 #endif /* DOXYGEN_SHOULD_SKIP_THIS */ 00129 00130 public: 00131 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00132 static GType get_type() G_GNUC_CONST; 00133 static GType get_base_type() G_GNUC_CONST; 00134 #endif 00135 00137 GnomeCanvasLine* gobj() { return reinterpret_cast<GnomeCanvasLine*>(gobject_); } 00138 00140 const GnomeCanvasLine* gobj() const { return reinterpret_cast<GnomeCanvasLine*>(gobject_); } 00141 00142 00143 public: 00144 //C++ methods used to invoke GTK+ virtual functions: 00145 00146 protected: 00147 //GTK+ Virtual Functions (override these to change behaviour): 00148 00149 //Default Signal Handlers:: 00150 00151 00152 private: 00153 00154 public: 00155 explicit Line(Group& parent); 00156 Line(Group& parent, const Points& points); 00157 00162 Glib::PropertyProxy<Points> property_points() ; 00163 00168 Glib::PropertyProxy_ReadOnly<Points> property_points() const; 00169 00174 Glib::PropertyProxy<Glib::ustring> property_fill_color() ; 00175 00180 Glib::PropertyProxy_ReadOnly<Glib::ustring> property_fill_color() const; 00181 00186 Glib::PropertyProxy<Gdk::Color> property_fill_color_gdk() ; 00187 00192 Glib::PropertyProxy_ReadOnly<Gdk::Color> property_fill_color_gdk() const; 00193 00198 Glib::PropertyProxy<guint> property_fill_color_rgba() ; 00199 00204 Glib::PropertyProxy_ReadOnly<guint> property_fill_color_rgba() const; 00205 00210 Glib::PropertyProxy< Glib::RefPtr<Gdk::Bitmap> > property_fill_stipple() ; 00211 00216 Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Gdk::Bitmap> > property_fill_stipple() const; 00217 00222 Glib::PropertyProxy<guint> property_width_pixels() ; 00223 00228 Glib::PropertyProxy_ReadOnly<guint> property_width_pixels() const; 00229 00234 Glib::PropertyProxy<double> property_width_units() ; 00235 00240 Glib::PropertyProxy_ReadOnly<double> property_width_units() const; 00241 00246 Glib::PropertyProxy<Gdk::CapStyle> property_cap_style() ; 00247 00252 Glib::PropertyProxy_ReadOnly<Gdk::CapStyle> property_cap_style() const; 00253 00258 Glib::PropertyProxy<Gdk::JoinStyle> property_join_style() ; 00259 00264 Glib::PropertyProxy_ReadOnly<Gdk::JoinStyle> property_join_style() const; 00265 00270 Glib::PropertyProxy<Gdk::LineStyle> property_line_style() ; 00271 00276 Glib::PropertyProxy_ReadOnly<Gdk::LineStyle> property_line_style() const; 00277 00282 Glib::PropertyProxy<bool> property_first_arrowhead() ; 00283 00288 Glib::PropertyProxy_ReadOnly<bool> property_first_arrowhead() const; 00289 00294 Glib::PropertyProxy<bool> property_last_arrowhead() ; 00295 00300 Glib::PropertyProxy_ReadOnly<bool> property_last_arrowhead() const; 00301 00306 Glib::PropertyProxy<bool> property_smooth() ; 00307 00312 Glib::PropertyProxy_ReadOnly<bool> property_smooth() const; 00313 00318 Glib::PropertyProxy<guint> property_spline_steps() ; 00319 00324 Glib::PropertyProxy_ReadOnly<guint> property_spline_steps() const; 00325 00330 Glib::PropertyProxy<double> property_arrow_shape_a() ; 00331 00336 Glib::PropertyProxy_ReadOnly<double> property_arrow_shape_a() const; 00337 00342 Glib::PropertyProxy<double> property_arrow_shape_b() ; 00343 00348 Glib::PropertyProxy_ReadOnly<double> property_arrow_shape_b() const; 00349 00354 Glib::PropertyProxy<double> property_arrow_shape_c() ; 00355 00360 Glib::PropertyProxy_ReadOnly<double> property_arrow_shape_c() const; 00361 00362 00363 }; 00364 00365 } /* namespace Canvas */ 00366 } /* namespace Gnome */ 00367 00368 00369 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00370 namespace Glib 00371 { 00372 00373 template <> 00374 class Value<Gnome::Canvas::Points> : public Value_Boxed<Gnome::Canvas::Points> 00375 { 00376 public: 00377 static GType value_type() G_GNUC_CONST; 00378 }; 00379 00380 } // namespace Glib 00381 #endif /* DOXYGEN_SHOULD_SKIP_THIS */ 00382 00383 namespace Glib 00384 { 00390 Gnome::Canvas::Line* wrap(GnomeCanvasLine* object, bool take_copy = false); 00391 } 00392 #endif /* _LIBGNOMECANVASMM_LINE_H */ 00393

Generated on Thu Jun 17 22:24:48 2004 for libgnomecanvasmm by doxygen 1.3.7