/usr/include/tulip/CSVGraphMappingConfigurationWidget.h is in libtulip-dev 4.4.0dfsg2-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 | /*
*
* 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.
*
*/
///@cond DOXYGEN_HIDDEN
#ifndef CSVGRAPHMAPPINGCONFIGURATIONWIDGET_H
#define CSVGRAPHMAPPINGCONFIGURATIONWIDGET_H
#include <QComboBox>
#include <tulip/tulipconf.h>
namespace Ui {
class CSVGraphMappingConfigurationWidget;
}
namespace tlp {
class Graph;
class CSVGraphImport;
class CSVImportParameters;
class CSVToGraphDataMapping;
/**
* @brief Combo box used to select a CSV column.
**/
class TLP_QT_SCOPE CSVColumnComboBox : public QComboBox {
public:
CSVColumnComboBox(QWidget* parent=NULL);
/**
* @brief Fill the combobox with the CSV parameters.
*
* The first item is not a valid choice it's just a label.
**/
void setCsvProperties(const CSVImportParameters& csvProperties);
/**
* @brief Get column selected by user or UINT_MAX if no valid column is selected.
* @return The column selected by the user.
*
**/
unsigned int getSelectedColumnIndex()const;
/**
* @brief Allow user to define it's default text.
**/
void setDefaultText(const QString& newDefaultText);
private:
QString defaultText;
};
/**
* @brief Combo box for property selection and creation in a graph.
*
* If the combo box is editable and if user enter the name of a property that does not exist this will create it.
* A popup will querry user for the type of the property to create.
* There is no way to delete a created property in this widget.
**/
class TLP_QT_SCOPE GraphPropertiesSelectionComboBox : public QComboBox {
Q_OBJECT
public:
GraphPropertiesSelectionComboBox(QWidget* parent=NULL);
/**
* @brief Fill the combobox with the properties in the given graph.
**/
void setGraph(tlp::Graph*);
/**
* @brief return the name of the property selected by the user. If the label is selected an empty string will be returned.
* @return The name of the selected property or an empty string if no valid property is selected.
**/
std::string getSelectedGraphProperty()const;
/**
* @brief Select the property with the given name in the list
**/
void selectProperty(const std::string& propertyName);
/**
* @brief Allow user to define it's default text.
**/
void setDefaultText(const QString& newDefaultText);
private:
tlp::Graph *currentGraph;
QString defaultText;
};
/**
* @brief Widget generating the CSVToGraphDataMapping object.
*
* This widget allow user to configure a CSVToGraphDataMapping object. This object is used during the CSV import process to map CSV columns to graph elements like nodes or edges.
**/
class TLP_QT_SCOPE CSVGraphMappingConfigurationWidget : public QWidget {
Q_OBJECT
public:
CSVGraphMappingConfigurationWidget(QWidget *parent = NULL);
~CSVGraphMappingConfigurationWidget();
/**
* @brief Configure the widget with the CSV import parameters.
**/
void updateWidget(tlp::Graph* graph,const CSVImportParameters& importParameters);
/**
* @brief Build the mapping object between the CSV columns and the graph elements.
**/
CSVToGraphDataMapping *buildMappingObject() const;
/**
* @brief Check if the values entered by user are valid.
*
* If return true you are sure that buildMappingObject never return a NULL object.
**/
bool isValid()const;
protected:
tlp::Graph* graph;
private:
Ui::CSVGraphMappingConfigurationWidget *ui;
private slots:
void createNewProperty();
signals:
void mappingChanged();
};
}
#endif // CSVGRAPHMAPPINGCONFIGURATIONWIDGET_H
///@endcond
|