folio report: add user able to make custom label.

Revamp GUI dialog for new diagram configuration.


git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@2749 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
blacksun
2014-01-18 19:04:39 +00:00
parent 7b83d3dd12
commit e1f9a26f4d
18 changed files with 244 additions and 49 deletions

View File

@@ -24,42 +24,38 @@
#include "bordertitleblock.h" #include "bordertitleblock.h"
#include "qeticons.h" #include "qeticons.h"
#include "exportpropertieswidget.h" #include "exportpropertieswidget.h"
#include "ui/reportpropertiewidget.h"
/** /**
Constructeur Constructeur
@param parent QWidget parent @param parent QWidget parent
*/ */
NewDiagramPage::NewDiagramPage(QWidget *parent) : ConfigPage(parent) { NewDiagramPage::NewDiagramPage(QWidget *parent) : ConfigPage(parent) {
// dimensions par defaut d'un schema // main tab widget
bpw = new BorderPropertiesWidget(QETDiagramEditor::defaultBorderProperties()); QTabWidget *tab_widget = new QTabWidget(this);
// proprietes par defaut d'un cartouche // dimensions by default for diagram
bpw = new BorderPropertiesWidget(QETDiagramEditor::defaultBorderProperties());
// default titleblock properties
ipw = new TitleBlockPropertiesWidget(QETDiagramEditor::defaultTitleBlockProperties(), true); ipw = new TitleBlockPropertiesWidget(QETDiagramEditor::defaultTitleBlockProperties(), true);
QWidget *diagram_widget = new QWidget();
QVBoxLayout *diagram_layout = new QVBoxLayout(diagram_widget);
diagram_layout -> addWidget(bpw);
diagram_layout -> addWidget(ipw);
tab_widget->addTab(diagram_widget, tr("Sch\351ma"));
// proprietes par defaut des conducteurs // default conductor properties
cpw = new ConductorPropertiesWidget(QETDiagramEditor::defaultConductorProperties()); cpw = new ConductorPropertiesWidget(QETDiagramEditor::defaultConductorProperties());
cpw -> setContentsMargins(0, 0, 0, 0); cpw -> setContentsMargins(0, 0, 0, 0);
tab_widget->addTab(cpw, tr("Conducteur"));
// default propertie of report label
rpw = new ReportPropertieWidget(QETDiagramEditor::defaultReportProperties());
tab_widget->addTab(rpw, ("Report de folio"));
QVBoxLayout *vlayout1 = new QVBoxLayout(); QVBoxLayout *vlayout1 = new QVBoxLayout();
vlayout1->addWidget(tab_widget);
QLabel *title = new QLabel(this -> title());
vlayout1 -> addWidget(title);
QFrame *horiz_line = new QFrame();
horiz_line -> setFrameShape(QFrame::HLine);
vlayout1 -> addWidget(horiz_line);
QHBoxLayout *hlayout1 = new QHBoxLayout();
QVBoxLayout *vlayout2 = new QVBoxLayout();
vlayout2 -> addWidget(bpw);
vlayout2 -> addWidget(ipw);
vlayout2 -> setSpacing(5);
hlayout1 -> addLayout(vlayout2);
hlayout1 -> addWidget(cpw);
vlayout1 -> addLayout(hlayout1);
vlayout1 -> addStretch(1);
hlayout1 -> setAlignment(cpw, Qt::AlignTop);
setLayout(vlayout1); setLayout(vlayout1);
} }
@@ -81,6 +77,9 @@ void NewDiagramPage::applyConf() {
// proprietes par defaut des conducteurs // proprietes par defaut des conducteurs
cpw -> conductorProperties().toSettings(settings, "diagrameditor/defaultconductor"); cpw -> conductorProperties().toSettings(settings, "diagrameditor/defaultconductor");
// default report propertie
rpw->toSettings(settings, "diagrameditor/defaultreport");
} }
/// @return l'icone de cette page /// @return l'icone de cette page

View File

@@ -23,6 +23,7 @@ class BorderPropertiesWidget;
class ConductorPropertiesWidget; class ConductorPropertiesWidget;
class TitleBlockPropertiesWidget; class TitleBlockPropertiesWidget;
class ExportPropertiesWidget; class ExportPropertiesWidget;
class ReportPropertieWidget;
/** /**
This configuration page enables users to define the properties of new This configuration page enables users to define the properties of new
@@ -44,10 +45,11 @@ class NewDiagramPage : public ConfigPage {
QIcon icon() const; QIcon icon() const;
// attributes // attributes
public: private:
BorderPropertiesWidget *bpw; ///< Widget to edit default diagram dimensions BorderPropertiesWidget *bpw; ///< Widget to edit default diagram dimensions
TitleBlockPropertiesWidget *ipw; ///< Widget to edit default title block properties TitleBlockPropertiesWidget *ipw; ///< Widget to edit default title block properties
ConductorPropertiesWidget *cpw; ///< Widget to edit default conductor properties ConductorPropertiesWidget *cpw; ///< Widget to edit default conductor properties
ReportPropertieWidget *rpw;///< Widget to edit default report label
}; };
/** /**

View File

@@ -531,7 +531,7 @@ bool Diagram::fromXml(QDomElement &document, QPointF position, bool consider_inf
if (type_id.startsWith("embed://")) element_location.setProject(project_); if (type_id.startsWith("embed://")) element_location.setProject(project_);
int state = 0; int state = 0;
Element *nvel_elmt = ElementFactory::Instance()->createElement(element_location, 0, 0, &state); Element *nvel_elmt = ElementFactory::Instance()->createElement(element_location, 0, this, &state);
if (state) { if (state) {
QString debug_message = QString("Diagram::fromXml() : Le chargement de la description de l'element %1 a echoue avec le code d'erreur %2").arg(element_location.path()).arg(state); QString debug_message = QString("Diagram::fromXml() : Le chargement de la description de l'element %1 a echoue avec le code d'erreur %2").arg(element_location.path()).arg(state);
qDebug() << qPrintable(debug_message); qDebug() << qPrintable(debug_message);
@@ -1162,6 +1162,7 @@ QETProject *Diagram::project() const {
*/ */
void Diagram::setProject(QETProject *project) { void Diagram::setProject(QETProject *project) {
project_ = project; project_ = project;
connect(project_, SIGNAL(reportPropertiesChanged(QString)), this, SIGNAL(reportPropertiesChanged(QString)));
} }
/** /**

View File

@@ -102,6 +102,7 @@ class Diagram : public QGraphicsScene {
virtual void keyReleaseEvent(QKeyEvent *); virtual void keyReleaseEvent(QKeyEvent *);
public: public:
QString defaultReportProperties () const {return project_->defaultReportProperties();}
static bool clipboardMayContainDiagram(); static bool clipboardMayContainDiagram();
bool setNumerotation (NumerotationType, NumerotationContext); bool setNumerotation (NumerotationType, NumerotationContext);
NumerotationContext getNumerotation (NumerotationType) const; NumerotationContext getNumerotation (NumerotationType) const;
@@ -208,6 +209,7 @@ class Diagram : public QGraphicsScene {
void findElementRequired(const ElementsLocation &); void findElementRequired(const ElementsLocation &);
/// Signal emitted when users wish to edit an element from the diagram /// Signal emitted when users wish to edit an element from the diagram
void editElementRequired(const ElementsLocation &); void editElementRequired(const ElementsLocation &);
void reportPropertiesChanged(QString);
}; };
Q_DECLARE_METATYPE(Diagram *) Q_DECLARE_METATYPE(Diagram *)

View File

@@ -38,6 +38,8 @@ class DiagramPosition {
void setPosition(const QPointF &); void setPosition(const QPointF &);
QString toString(); QString toString();
bool isOutOfBounds() const; bool isOutOfBounds() const;
unsigned int number()const {return number_;}
QString letter()const {return letter_;}
// attributes // attributes
private: private:

View File

@@ -849,7 +849,7 @@ bool DiagramView::mustIntegrateTitleBlockTemplate(const TitleBlockTemplateLocati
bool DiagramView::addElementAtPos(const ElementsLocation &location, const QPoint &pos) { bool DiagramView::addElementAtPos(const ElementsLocation &location, const QPoint &pos) {
// construit une instance de l'element correspondant a l'emplacement // construit une instance de l'element correspondant a l'emplacement
int state; int state;
Element *el = ElementFactory::Instance()->createElement(location, 0, 0, &state); Element *el = ElementFactory::Instance()->createElement(location, 0, diagram(), &state);
if (state) { if (state) {
delete el; delete el;
return(false); return(false);

View File

@@ -6,6 +6,7 @@
#include "diagramcontextwidget.h" #include "diagramcontextwidget.h"
#include "titleblockpropertieswidget.h" #include "titleblockpropertieswidget.h"
#include <QtGui> #include <QtGui>
#include "ui/reportpropertiewidget.h"
/** /**
Constructor Constructor
@@ -236,6 +237,12 @@ void ProjectNewDiagramConfigPage::applyProjectConf() {
project_ -> setDefaultConductorProperties(conductor_ -> conductorProperties()); project_ -> setDefaultConductorProperties(conductor_ -> conductorProperties());
modified_project = true; modified_project = true;
} }
QString new_report_prop = report_->ReportProperties();
if (project_->defaultReportProperties() != new_report_prop) {
project_->setDefaultReportProperties(new_report_prop);
modified_project = true;
}
if (modified_project) { if (modified_project) {
project_ -> setModified(modified_project); project_ -> setModified(modified_project);
@@ -256,29 +263,29 @@ void ProjectNewDiagramConfigPage::initWidgets() {
titleblock_ = new TitleBlockPropertiesWidget(TitleBlockProperties(), true); titleblock_ = new TitleBlockPropertiesWidget(TitleBlockProperties(), true);
conductor_ = new ConductorPropertiesWidget(); conductor_ = new ConductorPropertiesWidget();
conductor_ -> setContentsMargins(0, 0, 0, 0); conductor_ -> setContentsMargins(0, 0, 0, 0);
report_ = new ReportPropertieWidget("_");
} }
/** /**
Initialize the layout of this page. Initialize the layout of this page.
*/ */
void ProjectNewDiagramConfigPage::initLayout() { void ProjectNewDiagramConfigPage::initLayout() {
// put border properties above title block properties // main tab widget
QVBoxLayout *vlayout2 = new QVBoxLayout(); QTabWidget *tab_widget = new QTabWidget(this);
vlayout2 -> addWidget(border_);
vlayout2 -> addWidget(titleblock_); QWidget *diagram_widget = new QWidget();
vlayout2 -> setSpacing(5); QVBoxLayout *diagram_layout = new QVBoxLayout(diagram_widget);
diagram_layout -> addWidget(border_);
// add conductor properties on the right diagram_layout -> addWidget(titleblock_);
QHBoxLayout *hlayout1 = new QHBoxLayout(); tab_widget->addTab(diagram_widget, tr("Sch\351ma"));
hlayout1 -> addLayout(vlayout2);
hlayout1 -> addWidget(conductor_); tab_widget->addTab(conductor_, tr("Conducteur"));
hlayout1 -> setAlignment(conductor_, Qt::AlignTop);
tab_widget->addTab(report_, ("Report de folio"));
// add the informative label above previous widgets
QVBoxLayout *vlayout1 = new QVBoxLayout(); QVBoxLayout *vlayout1 = new QVBoxLayout();
vlayout1 -> addWidget(informative_label_); vlayout1->addWidget(tab_widget);
vlayout1 -> addLayout(hlayout1);
vlayout1 -> addStretch();
setLayout(vlayout1); setLayout(vlayout1);
} }
@@ -289,6 +296,7 @@ void ProjectNewDiagramConfigPage::readValuesFromProject() {
border_ -> setEditedBorder(project_ -> defaultBorderProperties()); border_ -> setEditedBorder(project_ -> defaultBorderProperties());
conductor_ -> setConductorProperties(project_ -> defaultConductorProperties()); conductor_ -> setConductorProperties(project_ -> defaultConductorProperties());
titleblock_ -> setTitleBlockProperties(project_ -> defaultTitleBlockProperties()); titleblock_ -> setTitleBlockProperties(project_ -> defaultTitleBlockProperties());
report_->setReportProperties(project_->defaultReportProperties());
} }
/** /**

View File

@@ -8,6 +8,7 @@ class BorderPropertiesWidget;
class TitleBlockPropertiesWidget; class TitleBlockPropertiesWidget;
class ConductorPropertiesWidget; class ConductorPropertiesWidget;
class DiagramContextWidget; class DiagramContextWidget;
class ReportPropertieWidget;
/** /**
This class, derived from ConfigPage, aims at providing the basic skeleton This class, derived from ConfigPage, aims at providing the basic skeleton
@@ -125,6 +126,7 @@ class ProjectNewDiagramConfigPage : public ProjectConfigPage {
BorderPropertiesWidget *border_; BorderPropertiesWidget *border_;
TitleBlockPropertiesWidget *titleblock_; TitleBlockPropertiesWidget *titleblock_;
ConductorPropertiesWidget *conductor_; ConductorPropertiesWidget *conductor_;
ReportPropertieWidget *report_;
}; };
#endif #endif

View File

@@ -644,6 +644,7 @@ bool QETDiagramEditor::newProject() {
new_project -> setDefaultBorderProperties(defaultBorderProperties()); new_project -> setDefaultBorderProperties(defaultBorderProperties());
new_project -> setDefaultConductorProperties(defaultConductorProperties()); new_project -> setDefaultConductorProperties(defaultConductorProperties());
new_project -> setDefaultTitleBlockProperties(defaultTitleBlockProperties()); new_project -> setDefaultTitleBlockProperties(defaultTitleBlockProperties());
new_project -> setDefaultReportProperties(defaultReportProperties());
// ajoute un schema au projet // ajoute un schema au projet
new_project -> addNewDiagram(); new_project -> addNewDiagram();
@@ -1301,7 +1302,7 @@ void QETDiagramEditor::addProjectView(ProjectView *project_view) {
// gere la fermeture du projet // gere la fermeture du projet
connect(project_view, SIGNAL(projectClosed(ProjectView*)), this, SLOT(projectWasClosed(ProjectView *))); connect(project_view, SIGNAL(projectClosed(ProjectView*)), this, SLOT(projectWasClosed(ProjectView *)));
// gere l'ajout et le retrait de schema du projet // gere l'ajout et le retrait de schema du projet
connect(project_view, SIGNAL(diagramAdded(DiagramView *)), this, SLOT(diagramWasAdded(DiagramView *))); connect(project_view, SIGNAL(diagramAdded(DiagramView *)), this, SLOT(diagramWasAdded(DiagramView *)));
connect(project_view, SIGNAL(diagramAdded(DiagramView *)), this, SLOT(slot_updateActions())); connect(project_view, SIGNAL(diagramAdded(DiagramView *)), this, SLOT(slot_updateActions()));
@@ -1331,6 +1332,7 @@ void QETDiagramEditor::addProjectView(ProjectView *project_view) {
// affiche la fenetre // affiche la fenetre
if (maximise) project_view -> showMaximized(); if (maximise) project_view -> showMaximized();
else project_view -> show(); else project_view -> show();
slot_updateActions(); slot_updateActions();
} }
@@ -1979,3 +1981,12 @@ ExportProperties QETDiagramEditor::defaultPrintProperties() {
return(def); return(def);
} }
/**
* @brief QETDiagramEditor::defaultReportProperties
* @return default folio report properties
*/
QString QETDiagramEditor::defaultReportProperties() {
QSettings &settings= QETApp::settings();
return(settings.value("diagrameditor/defaultreportlabel", "%f-%l%c").toString());
}

View File

@@ -62,6 +62,7 @@ class QETDiagramEditor : public QETMainWindow {
static ConductorProperties defaultConductorProperties(); static ConductorProperties defaultConductorProperties();
static ExportProperties defaultExportProperties(); static ExportProperties defaultExportProperties();
static ExportProperties defaultPrintProperties(); static ExportProperties defaultPrintProperties();
static QString defaultReportProperties();
protected: protected:
void actions(); void actions();

View File

@@ -26,6 +26,10 @@ ReportElement::ReportElement(const ElementsLocation &location, QString link_type
texts().at(0)->setNoEditable(); texts().at(0)->setNoEditable();
link_type == "next_report"? link_type_=NextReport : link_type_=PreviousReport; link_type == "next_report"? link_type_=NextReport : link_type_=PreviousReport;
link_type == "next_report"? inverse_report=PreviousReport : inverse_report=NextReport; link_type == "next_report"? inverse_report=PreviousReport : inverse_report=NextReport;
if (s) {
label_ = s->defaultReportProperties();
connect(s, SIGNAL(reportPropertiesChanged(QString)), this, SLOT(setLabel(QString)));
}
} }
ReportElement::~ReportElement() { ReportElement::~ReportElement() {
@@ -97,6 +101,16 @@ int ReportElement::linkType() const {
return link_type_; return link_type_;
} }
/**
* @brief ReportElement::setLabel
* Set new label and call updatelabel
* @param label new label
*/
void ReportElement::setLabel(QString label) {
label_ = label;
updateLabel();
}
/** /**
* @brief ReportElement::updateLabel * @brief ReportElement::updateLabel
* Update the displayed label. * Update the displayed label.
@@ -105,8 +119,11 @@ int ReportElement::linkType() const {
void ReportElement::updateLabel() { void ReportElement::updateLabel() {
if (!connected_elements.isEmpty()){ if (!connected_elements.isEmpty()){
Element *elmt = connected_elements.at(0); Element *elmt = connected_elements.at(0);
texts().at(0)->setPlainText(QString ("%1-%2").arg(elmt->diagram()->folioIndex() + 1) QString label = label_;
.arg(elmt->diagram() -> convertPosition(elmt -> scenePos()).toString())); label.replace("%f", QString::number(elmt->diagram()->folioIndex()+1));
label.replace("%c", QString::number(elmt->diagram() -> convertPosition(elmt -> scenePos()).number()));
label.replace("%l", elmt->diagram() -> convertPosition(elmt -> scenePos()).letter());
texts().at(0)->setPlainText(label);
} else { } else {
texts().at(0)->setPlainText("_"); texts().at(0)->setPlainText("_");
} }

View File

@@ -40,10 +40,12 @@ class ReportElement : public CustomElement {
private: private:
int link_type_; int link_type_;
int inverse_report; int inverse_report;
QString label_;
signals: signals:
private slots: private slots:
void setLabel (QString label);
void updateLabel(); void updateLabel();
}; };

View File

@@ -421,6 +421,15 @@ void QETProject::setDefaultConductorProperties(const ConductorProperties &conduc
default_conductor_properties_ = conductor; default_conductor_properties_ = conductor;
} }
QString QETProject::defaultReportProperties() const {
return default_report_properties_;
}
void QETProject::setDefaultReportProperties(const QString &properties) {
default_report_properties_ = properties;
emit reportPropertiesChanged(properties);
}
/** /**
@return un document XML representant le projet @return un document XML representant le projet
*/ */
@@ -1074,9 +1083,10 @@ void QETProject::readDefaultPropertiesXml() {
default_border_properties_ = QETDiagramEditor::defaultBorderProperties(); default_border_properties_ = QETDiagramEditor::defaultBorderProperties();
default_titleblock_properties_ = QETDiagramEditor::defaultTitleBlockProperties(); default_titleblock_properties_ = QETDiagramEditor::defaultTitleBlockProperties();
default_conductor_properties_ = QETDiagramEditor::defaultConductorProperties(); default_conductor_properties_ = QETDiagramEditor::defaultConductorProperties();
default_report_properties_ = QETDiagramEditor::defaultReportProperties();
// lecture des valeurs indiquees dans le projet // lecture des valeurs indiquees dans le projet
QDomElement border_elmt, titleblock_elmt, conductors_elmt; QDomElement border_elmt, titleblock_elmt, conductors_elmt, report_elmt;
// recherche des elements XML concernant les dimensions, le cartouche et les conducteurs // recherche des elements XML concernant les dimensions, le cartouche et les conducteurs
for (QDomNode child = newdiagrams_elmt.firstChild() ; !child.isNull() ; child = child.nextSibling()) { for (QDomNode child = newdiagrams_elmt.firstChild() ; !child.isNull() ; child = child.nextSibling()) {
@@ -1088,13 +1098,16 @@ void QETProject::readDefaultPropertiesXml() {
titleblock_elmt = child_elmt; titleblock_elmt = child_elmt;
} else if (child_elmt.tagName() == "conductors") { } else if (child_elmt.tagName() == "conductors") {
conductors_elmt = child_elmt; conductors_elmt = child_elmt;
} else if (child_elmt.tagName() == "report") {
report_elmt = child_elmt;
} }
} }
// dimensions, cartouche, et conducteurs // size, titleblock, conductor, report
if (!border_elmt.isNull()) default_border_properties_.fromXml(border_elmt); if (!border_elmt.isNull()) default_border_properties_.fromXml(border_elmt);
if (!titleblock_elmt.isNull()) default_titleblock_properties_.fromXml(titleblock_elmt); if (!titleblock_elmt.isNull()) default_titleblock_properties_.fromXml(titleblock_elmt);
if (!conductors_elmt.isNull()) default_conductor_properties_.fromXml(conductors_elmt); if (!conductors_elmt.isNull()) default_conductor_properties_.fromXml(conductors_elmt);
if (!report_elmt.isNull()) setDefaultReportProperties(report_elmt.attribute("label"));
} }
/** /**
@@ -1122,6 +1135,11 @@ void QETProject::writeDefaultPropertiesXml(QDomElement &xml_element) {
QDomElement conductor_elmt = xml_document.createElement("conductors"); QDomElement conductor_elmt = xml_document.createElement("conductors");
default_conductor_properties_.toXml(conductor_elmt); default_conductor_properties_.toXml(conductor_elmt);
xml_element.appendChild(conductor_elmt); xml_element.appendChild(conductor_elmt);
// export default report properties
QDomElement report_elmt = xml_document.createElement("report");
report_elmt.setAttribute("label", defaultReportProperties());
xml_element.appendChild(report_elmt);
} }
/** /**

View File

@@ -95,6 +95,8 @@ class QETProject : public QObject {
void setDefaultTitleBlockProperties(const TitleBlockProperties &); void setDefaultTitleBlockProperties(const TitleBlockProperties &);
ConductorProperties defaultConductorProperties() const; ConductorProperties defaultConductorProperties() const;
void setDefaultConductorProperties(const ConductorProperties &); void setDefaultConductorProperties(const ConductorProperties &);
QString defaultReportProperties() const;
void setDefaultReportProperties (const QString &properties);
QDomDocument toXml(); QDomDocument toXml();
bool close(); bool close();
QETResult write(); QETResult write();
@@ -138,6 +140,7 @@ class QETProject : public QObject {
void elementIntegrated(QETProject *, const ElementsLocation &); void elementIntegrated(QETProject *, const ElementsLocation &);
void diagramUsedTemplate(TitleBlockTemplatesCollection *, const QString &); void diagramUsedTemplate(TitleBlockTemplatesCollection *, const QString &);
void readOnlyChanged(QETProject *, bool); void readOnlyChanged(QETProject *, bool);
void reportPropertiesChanged(QString);
private slots: private slots:
void updateDiagramsFolioData(); void updateDiagramsFolioData();
@@ -191,6 +194,8 @@ class QETProject : public QObject {
ConductorProperties default_conductor_properties_; ConductorProperties default_conductor_properties_;
/// Default title block properties for new diagrams created within the project /// Default title block properties for new diagrams created within the project
TitleBlockProperties default_titleblock_properties_; TitleBlockProperties default_titleblock_properties_;
/// Default report properties
QString default_report_properties_;
/// Embedded title block templates collection /// Embedded title block templates collection
TitleBlockTemplatesProjectCollection titleblocks_; TitleBlockTemplatesProjectCollection titleblocks_;
/// project-wide variables that will be made available to child diagrams /// project-wide variables that will be made available to child diagrams

View File

@@ -89,7 +89,7 @@ void FolioReportProperties::buildRadioList() {
void FolioReportProperties::buildUnlinkButton() { void FolioReportProperties::buildUnlinkButton() {
unlink_widget = new QWidget(this); unlink_widget = new QWidget(this);
QHBoxLayout *unlink_layout = new QHBoxLayout(unlink_widget); QHBoxLayout *unlink_layout = new QHBoxLayout(unlink_widget);
QLabel *lb = new QLabel(tr("Ce report est d\351j\340 lier."), unlink_widget); QLabel *lb = new QLabel(tr("Ce report est d\351j\340 li\351."), unlink_widget);
QPushButton *pb = new QPushButton(tr("D\351lier"), unlink_widget); QPushButton *pb = new QPushButton(tr("D\351lier"), unlink_widget);
connect(pb, SIGNAL(clicked()), this, SLOT(unlinkClicked())); connect(pb, SIGNAL(clicked()), this, SLOT(unlinkClicked()));
unlink_layout->addWidget(lb); unlink_layout->addWidget(lb);

View File

@@ -0,0 +1,27 @@
#include "reportpropertiewidget.h"
#include "ui_reportpropertiewidget.h"
ReportPropertieWidget::ReportPropertieWidget(QString value, QWidget *parent) :
QWidget(parent),
ui(new Ui::ReportPropertieWidget)
{
ui->setupUi(this);
ui->line_edit->setText(value);
}
ReportPropertieWidget::~ReportPropertieWidget()
{
delete ui;
}
void ReportPropertieWidget::toSettings(QSettings &settings, const QString &prefix) {
settings.setValue(prefix + "label", ui->line_edit->text());
}
void ReportPropertieWidget::setReportProperties(QString label) {
ui->line_edit->setText(label);
}
QString ReportPropertieWidget::ReportProperties() const {
return ui->line_edit->text();
}

View File

@@ -0,0 +1,27 @@
#ifndef REPORTPROPERTIEWIDGET_H
#define REPORTPROPERTIEWIDGET_H
#include <QWidget>
#include <QSettings>
namespace Ui {
class ReportPropertieWidget;
}
class ReportPropertieWidget : public QWidget
{
Q_OBJECT
public:
explicit ReportPropertieWidget(QString value, QWidget *parent = 0);
~ReportPropertieWidget();
void toSettings (QSettings &settings, const QString &prefix);
void setReportProperties (QString label);
QString ReportProperties () const;
private:
Ui::ReportPropertieWidget *ui;
};
#endif // REPORTPROPERTIEWIDGET_H

View File

@@ -0,0 +1,71 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>ReportPropertieWidget</class>
<widget class="QWidget" name="ReportPropertieWidget">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>300</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QGroupBox" name="report_label_gb">
<property name="title">
<string>Label de report de folio</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLineEdit" name="line_edit"/>
</item>
</layout>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QLabel" name="label_">
<property name="text">
<string>Vous pouvez définir un label personnalisé pour les reports de folio.
Créer votre propre texte en vous aidant des variables suivantes :
%f : le numéro de folio
%l : le numéro de ligne
%c : le numéro de colonne</string>
</property>
<property name="scaledContents">
<bool>false</bool>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>