PlotTable.cxx
Go to the documentation of this file.
1 
12 #include "PlotTable.h"
13 
14 #include "CanvasView.h"
15 #include "PlotTableEvent.h"
16 #include "QtView.h"
17 
18 #include "datareps/DataRep.h"
19 #include "graphics/ViewBase.h"
20 #include "plotters/PlotterBase.h"
21 
22 #include <qapplication.h>
23 #include <qpushbutton.h>
24 #if QT_VERSION < 0x040000
25 #include <qlistview.h>
26 #else
27 #include <q3listview.h>
28 #endif
29 
30 #include <qstring.h>
31 
32 #include <vector>
33 
34 using std::string;
35 using std::vector;
36 
37 using namespace hippodraw;
38 
41  : PlotTableBase (),
42  m_observer ( 0 ),
43  m_browser_mode ( false )
44 {
45 }
46 
47 void
49 setCanvas ( CanvasView * canvas )
50 {
51  m_canvas_view = canvas;
52  initialize ();
53 }
54 
55 void
58 {
60 
61  const vector < const ViewBase * > & views = m_canvas_view->views ();
62  vector < const ViewBase * > :: const_iterator first = views.begin ();
63 
64  while ( first != views.end () ) {
65  const ViewBase * view = *first++;
66  const PlotterBase * plotter = view->getPlotter ();
67  QString title ( plotter->getTitle ().c_str() );
68  QString x_axis ( plotter->getLabel ( Axes::X ).c_str() );
69  QString y_axis ( plotter->getLabel ( Axes::Y ).c_str() );
70  QString z_axis ( QString::null );
71  if ( plotter->hasAxis ( Axes::Z ) ) {
72  const string & z = plotter->getLabel ( Axes::Z );
73  z_axis = z.c_str();
74  }
75  const DataRep * rep = plotter->getDataRep ( 0 );
76  const string & t = rep->name ();
77  QString type ( t.c_str() );
78 
79 #if QT_VERSION < 0x040000
80  QListViewItem * item
82  title, type,
83  x_axis, y_axis, z_axis );
84  m_view_map [ item ] = view;
85 #else
86  Q3ListViewItem * item
87  = new Q3ListViewItem ( m_plot_table,
88  title, type,
89  x_axis, y_axis, z_axis );
90  m_view_map [ item ] = view;
91 #endif
92  }
93 }
94 
95 void
96 PlotTable::
97 #if QT_VERSION < 0x040000
98 selectionChanged ( QListViewItem * item )
99 #else
100 selectionChanged ( Q3ListViewItem * item )
101 #endif
102 {
103  const ViewBase * view = m_view_map [ item ];
104  ViewBase * v = const_cast < ViewBase * > ( view );
105  QtView * vv = dynamic_cast < QtView * > ( v );
106 
107  m_canvas_view -> setSelectedItem ( vv );
108  m_canvas_view -> ensureVisible ( vv );
109  if ( m_browser_mode ) {
110  copyButton -> setEnabled ( true );
111  }
112 }
113 
114 void
116 setBrowserMode ( bool yes, QWidget * observer )
117 {
118  m_browser_mode = yes;
119  m_observer = observer;
120  if ( yes == false ) copyButton -> setEnabled ( yes );
121 }
122 
123 void
126 {
127  m_canvas_view -> copySelectedToPasteboard ();
128 
131 }
132 
133 void
136 {
137  if ( m_browser_mode ) {
140  }
141  m_browser_mode = false;
142 }

Generated for HippoDraw Class Library by doxygen