mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-09-14 20:33:05 +02:00
First : If the parent element of the text item is a slave, the info use to create the text (both if option are 'element info' or 'composite text') are taken to the linked master element, and not the slave. If the salve element is not linked, no information is taken. Second : if the text is composed with the variable 'label' of the master (both if text from are 'element info' or 'composite text') double click on the text, act like a link and go to the master. git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@5035 bfdf4180-ca20-0410-9c96-a3a8aa849046
70 lines
1.9 KiB
C++
70 lines
1.9 KiB
C++
#include "compositetexteditdialog.h"
|
|
#include "ui_compositetexteditdialog.h"
|
|
#include "dynamicelementtextitem.h"
|
|
#include "element.h"
|
|
#include "qetapp.h"
|
|
|
|
CompositeTextEditDialog::CompositeTextEditDialog(DynamicElementTextItem *text, QWidget *parent) :
|
|
QDialog(parent),
|
|
ui(new Ui::CompositeTextEditDialog),
|
|
m_text(text)
|
|
{
|
|
ui->setupUi(this);
|
|
m_default_text = m_text->compositeText();
|
|
ui->m_plain_text_edit->setPlainText(m_default_text);
|
|
#if QT_VERSION >= 0x050300
|
|
ui->m_plain_text_edit->setPlaceholderText(tr("Entrée votre texte composé ici, en vous aidant des variables disponible"));
|
|
#endif
|
|
setUpComboBox();
|
|
}
|
|
|
|
CompositeTextEditDialog::~CompositeTextEditDialog() {
|
|
delete ui;
|
|
}
|
|
|
|
/**
|
|
* @brief CompositeTextEditDialog::plainText
|
|
* @return The edited text
|
|
*/
|
|
QString CompositeTextEditDialog::plainText() const {
|
|
return ui->m_plain_text_edit->toPlainText();
|
|
}
|
|
|
|
/**
|
|
* @brief CompositeTextEditDialog::setUpComboBox
|
|
* Add the available element information in the combo box
|
|
*/
|
|
void CompositeTextEditDialog::setUpComboBox()
|
|
{
|
|
QStringList qstrl;
|
|
Element *elmt = m_text->elementUseForInfo();
|
|
if(!elmt)
|
|
return;
|
|
|
|
QStringList info_list = QETApp::elementInfoKeys();
|
|
info_list.removeAll("formula"); //No need to have formula
|
|
DiagramContext dc = elmt->elementInformations();
|
|
|
|
for(QString info : info_list)
|
|
{
|
|
if(dc.contains(info))
|
|
qstrl << info;
|
|
}
|
|
|
|
//We use a QMap because the keys of the map are sorted, then no matter the curent local,
|
|
//the value of the combo box are always alphabetically sorted
|
|
QMap <QString, QString> info_map;
|
|
for(QString str : qstrl) {
|
|
info_map.insert(QETApp::elementTranslatedInfoKey(str), QETApp::elementInfoToVar(str));
|
|
}
|
|
for(QString key : info_map.keys()) {
|
|
ui->m_info_cb->addItem(key, info_map.value(key));
|
|
}
|
|
}
|
|
|
|
void CompositeTextEditDialog::on_m_info_cb_activated(const QString &arg1)
|
|
{
|
|
Q_UNUSED(arg1)
|
|
ui->m_plain_text_edit->insertPlainText(ui->m_info_cb->currentData().toString());
|
|
}
|