broken_edge.h
author hegyi
Thu, 16 Jun 2005 18:58:15 +0000
branchgui
changeset 20 a3bd39d50930
parent 19 164783ceb9be
child 21 44bb92014108
permissions -rw-r--r--
First of all: revision 1981 is mine, what is important me because I was born in 1981. But what is new in my revision? If you drag nodes with left button, edge-breakpoints do not change location. If you drag nodes by right button, they do, they take up their base situation at the halfpoint of the edge.
     1 // -*- C++ -*- //
     2 
     3 #ifndef BROKEN_EDGE_H
     4 #define BROKEN_EDGE_H
     5 
     6 #include <all_include.h>
     7 #include <libgnomecanvasmm.h>
     8 #include <libgnomecanvasmm/polygon.h>
     9 
    10 class BrokenEdge : public Gnome::Canvas::Line
    11 {
    12   Gnome::Canvas::Polygon * arrow;
    13   Gnome::Art::Point * my_points;
    14 
    15   ///Indicates whether the button of mouse is pressed or not
    16   bool isbutton;
    17 
    18   ///At this location was the mousebutton pressed.
    19   ///It helps to calculate the distance of dragging.
    20   double clicked_x, clicked_y;
    21 
    22   ///event handler for forming edges
    23   bool edge_former_event_handler(GdkEvent*);
    24  public:
    25   BrokenEdge(Gnome::Canvas::Group &, Gnome::Canvas::Points);
    26   ~BrokenEdge();
    27   void set_points(Gnome::Canvas::Points, bool move=false);
    28 };
    29 
    30 
    31 #endif //BROKEN_EDGE_H
    32