qelectrotech-source-mirror/sources/titleblockpropertieswidget.h
xavier 2678b75b14 Title block properties dialog: the templates list is now dynamically updated.
Also, it is now possible to edit and/or duplicate the default template.


git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/branches/0.3@1480 bfdf4180-ca20-0410-9c96-a3a8aa849046
2012-01-25 18:02:17 +00:00

90 lines
2.9 KiB
C++

/*
Copyright 2006-2012 Xavier Guerrin
This file is part of QElectroTech.
QElectroTech 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.
QElectroTech 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.
You should have received a copy of the GNU General Public License
along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef TITLEBLOCK_PROPERTIES_WIDGET_H
#define TITLEBLOCK_PROPERTIES_WIDGET_H
#include <QtGui>
#include "titleblockproperties.h"
class TitleBlockTemplatesCollection;
/**
Ce widget permet d'editer un objet TitleBlockProperties, c'est-a-dire les
valeurs affichees par le cartouche d'un schema.
*/
class TitleBlockPropertiesWidget : public QWidget {
Q_OBJECT
// constructeurs, destructeur
public:
TitleBlockPropertiesWidget(const TitleBlockProperties &titleblock = TitleBlockProperties(), bool = false, QWidget * = 0);
virtual ~TitleBlockPropertiesWidget();
private:
TitleBlockPropertiesWidget(const TitleBlockPropertiesWidget &);
// methodes
public:
TitleBlockProperties titleBlockProperties() const;
void setTitleBlockProperties(const TitleBlockProperties &);
bool displayCurrentDate() const;
bool isReadOnly() const;
void setReadOnly(bool);
void setTitleBlockTemplatesList(const QList<QString> &);
void setTitleBlockTemplatesCollection(TitleBlockTemplatesCollection *);
void setTitleBlockTemplatesVisible(bool);
QString currentTitleBlockTemplateName() const;
void setCurrentTitleBlockTemplateName(const QString &);
// slots:
private slots:
void checkTableRows();
void updateTemplateList();
void editCurrentTitleBlockTemplate();
void duplicateCurrentTitleBlockTemplate();
// private methods
private:
void initWidgets(const TitleBlockProperties &);
void initLayouts();
int nameLessRowsCount() const;
signals:
void editTitleBlockTemplate(const QString &, bool);
// attributs
private:
QStackedLayout *stack_layout;
QLabel *titleblock_template_label;
QComboBox *titleblock_template_name;
QPushButton *titleblock_template_button_;
QMenu *titleblock_template_menu_;
QAction *titleblock_template_edit_;
QAction *titleblock_template_duplicate_;
QLineEdit *titleblock_title;
QLineEdit *titleblock_author;
QDateEdit *titleblock_date;
QLineEdit *titleblock_filename;
QLineEdit *titleblock_folio;
QLabel *folio_tip;
QRadioButton *titleblock_no_date;
QRadioButton *titleblock_current_date;
QRadioButton *titleblock_fixed_date;
bool display_current_date;
QLabel *additional_fields_label;
QTableWidget *additional_fields_table;
QTabBar *tabbar;
TitleBlockTemplatesCollection *tbt_collection_;
};
#endif