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.11 2002/12/10 12:39:04 aholzmann 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 00163 Glib::PropertyProxy<Points> property_points(); 00164 00170 Glib::PropertyProxy<Glib::ustring> property_fill_color(); 00171 00177 Glib::PropertyProxy<Gdk::Color> property_fill_color_gdk(); 00178 00184 Glib::PropertyProxy<guint> property_fill_color_rgba(); 00185 00191 Glib::PropertyProxy< Glib::RefPtr<Gdk::Bitmap> > property_fill_stipple(); 00192 00198 Glib::PropertyProxy<guint> property_width_pixels(); 00199 00205 Glib::PropertyProxy<double> property_width_units(); 00206 00212 Glib::PropertyProxy<Gdk::CapStyle> property_cap_style(); 00213 00219 Glib::PropertyProxy<Gdk::JoinStyle> property_join_style(); 00220 00226 Glib::PropertyProxy<Gdk::LineStyle> property_line_style(); 00227 00233 Glib::PropertyProxy<bool> property_first_arrowhead(); 00234 00240 Glib::PropertyProxy<bool> property_last_arrowhead(); 00241 00247 Glib::PropertyProxy<bool> property_smooth(); 00248 00254 Glib::PropertyProxy<guint> property_spline_steps(); 00255 00261 Glib::PropertyProxy<double> property_arrow_shape_a(); 00262 00268 Glib::PropertyProxy<double> property_arrow_shape_b(); 00269 00275 Glib::PropertyProxy<double> property_arrow_shape_c(); 00276 00277 00278 }; 00279 00280 } /* namespace Canvas */ 00281 } /* namespace Gnome */ 00282 00283 00284 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00285 namespace Glib 00286 { 00287 00288 template <> 00289 class Glib::Value<Gnome::Canvas::Points> : public Glib::Value_Boxed<Gnome::Canvas::Points> 00290 { 00291 public: 00292 static GType value_type() G_GNUC_CONST; 00293 }; 00294 00295 } // namespace Glib 00296 #endif /* DOXYGEN_SHOULD_SKIP_THIS */ 00297 00298 namespace Glib 00299 { 00301 Gnome::Canvas::Line* wrap(GnomeCanvasLine* object, bool take_copy = false); 00302 } 00303 #endif /* _LIBGNOMECANVASMM_LINE_H */ 00304

Generated on Tue Jul 20 22:45:48 2004 for libgnomecanvasmm by doxygen 1.3.7