File: SpreadView.h

package info (click to toggle)
tulip 3.7.0dfsg-4
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 39,428 kB
  • sloc: cpp: 231,403; php: 11,023; python: 1,128; sh: 671; yacc: 522; makefile: 315; xml: 63; lex: 55
file content (99 lines) | stat: -rwxr-xr-x 2,489 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
/**
 *
 * This file is part of Tulip (www.tulip-software.org)
 *
 * Authors: David Auber and the Tulip development Team
 * from LaBRI, University of Bordeaux 1 and Inria Bordeaux - Sud Ouest
 *
 * Tulip is free software; you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License
 * as published by the Free Software Foundation, either version 3
 * of the License, or (at your option) any later version.
 *
 * Tulip is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 * See the GNU General Public License for more details.
 *
 */

#ifndef Tulip_SPREADVIEW_H
#define Tulip_SPREADVIEW_H

#include <QtGui/QWidget>

#include <tulip/tulipconf.h>

#include <tulip/AbstractView.h>
#include <tulip/ObservableProperty.h>
#include <tulip/MutableContainer.h>

#include <QtCore/QModelIndexList>


namespace Ui {
class SpreadViewWidget;
}


class SpreadViewTableWidget;
namespace tlp {
class Graph;
class BooleanProperty;
}


/*@{*/
/** \file
 *  \brief  Table view

 * In this view you can visualize and edit the values of each graph elements (nodes or edges) using a table form.
 * Each column represents a graph property and each row a node or an edge.
 * Refer to the user manual for a more information on the table view.
 *
 * <b>LICENCE</b>
 *
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 2 of the License, or
 *  (at your option) any later version.
 */
class SpreadView: public tlp::AbstractView , public tlp::PropertyObserver, public tlp::Observable {
  Q_OBJECT
public:

  SpreadView();
  virtual ~SpreadView();

  QWidget *construct(QWidget *parent);
  void setData(tlp::Graph *graph, tlp::DataSet dataSet);
  void getData(tlp::Graph **graph, tlp::DataSet *dataSet);
  tlp::Graph *getGraph();

  void installInteractor(QAction*) {
  }

  QImage createPicture(int width, int height, bool center, int zoom = 1, int xOffset = 0, int yOffset = 0);

  bool eventFilter(QObject *object, QEvent *event);

public slots :

  void draw();
  void refresh();
  void init();
  void setGraph(tlp::Graph *graph);

private:

  /**
    * @brief Get the current displayed table.
    **/
  SpreadViewTableWidget* currentTable()const;
  Ui::SpreadViewWidget *ui;
  tlp::Graph* _graph;

};


#endif