mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-20 08:10:52 +01:00
Mod doc to set style de same + Fix indentation code
This commit is contained in:
committed by
Laurent Trinques
parent
251dfdf37a
commit
2cdfce18ec
@@ -43,12 +43,12 @@ QString itemText(const Conductor *item) {
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief PasteDiagramCommand::PasteDiagramCommand
|
||||
* Constructor
|
||||
* @param dia : diagram where we must to paste
|
||||
* @param c : content to past
|
||||
* @param parent : parent undo command
|
||||
*/
|
||||
@brief PasteDiagramCommand::PasteDiagramCommand
|
||||
Constructor
|
||||
@param dia : diagram where we must to paste
|
||||
@param c : content to past
|
||||
@param parent : parent undo command
|
||||
*/
|
||||
PasteDiagramCommand::PasteDiagramCommand( Diagram *dia, const DiagramContent &c, QUndoCommand *parent) :
|
||||
QUndoCommand(parent),
|
||||
content(c),
|
||||
@@ -61,17 +61,17 @@ PasteDiagramCommand::PasteDiagramCommand( Diagram *dia, const DiagramContent &c,
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief PasteDiagramCommand::~PasteDiagramCommand
|
||||
* Destructor
|
||||
*/
|
||||
@brief PasteDiagramCommand::~PasteDiagramCommand
|
||||
Destructor
|
||||
*/
|
||||
PasteDiagramCommand::~PasteDiagramCommand() {
|
||||
diagram -> qgiManager().release(content.items(filter));
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief PasteDiagramCommand::undo
|
||||
* Undo this command
|
||||
*/
|
||||
@brief PasteDiagramCommand::undo
|
||||
Undo this command
|
||||
*/
|
||||
void PasteDiagramCommand::undo()
|
||||
{
|
||||
diagram -> showMe();
|
||||
@@ -81,9 +81,9 @@ void PasteDiagramCommand::undo()
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief PasteDiagramCommand::redo
|
||||
* Redo this commnand
|
||||
*/
|
||||
@brief PasteDiagramCommand::redo
|
||||
Redo this commnand
|
||||
*/
|
||||
void PasteDiagramCommand::redo()
|
||||
{
|
||||
diagram -> showMe();
|
||||
@@ -93,16 +93,16 @@ void PasteDiagramCommand::redo()
|
||||
{
|
||||
first_redo = false;
|
||||
|
||||
//this is the first paste, we do some actions for the new element
|
||||
//this is the first paste, we do some actions for the new element
|
||||
const QList <Element *> elmts_list = content.m_elements;
|
||||
for (Element *e : elmts_list)
|
||||
{
|
||||
//make new uuid, because old uuid are the uuid of the copied element
|
||||
//make new uuid, because old uuid are the uuid of the copied element
|
||||
e -> newUuid();
|
||||
|
||||
if (settings.value("diagramcommands/erase-label-on-copy", true).toBool())
|
||||
{
|
||||
//Reset the information about the label, the comment and location
|
||||
//Reset the information about the label, the comment and location
|
||||
DiagramContext dc = e->elementInformations();
|
||||
dc.addValue("formula", "");
|
||||
dc.addValue("label", "");
|
||||
@@ -110,7 +110,7 @@ void PasteDiagramCommand::redo()
|
||||
dc.addValue("location", "");
|
||||
e->setElementInformations(dc);
|
||||
|
||||
//Reset the text of conductors
|
||||
//Reset the text of conductors
|
||||
const QList <Conductor *> conductors_list = content.m_conductors_to_move;
|
||||
for (Conductor *c : conductors_list)
|
||||
{
|
||||
@@ -166,13 +166,13 @@ CutDiagramCommand::~CutDiagramCommand() {
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief MoveElementsCommand::MoveElementsCommand
|
||||
* Constructor
|
||||
* @param dia diagram
|
||||
* @param diagram_content diagram content (contain all items to be moved)
|
||||
* @param m movement to applied
|
||||
* @param parent parent undo command
|
||||
*/
|
||||
@brief MoveElementsCommand::MoveElementsCommand
|
||||
Constructor
|
||||
@param dia diagram
|
||||
@param diagram_content diagram content (contain all items to be moved)
|
||||
@param m movement to applied
|
||||
@param parent parent undo command
|
||||
*/
|
||||
MoveElementsCommand::MoveElementsCommand(
|
||||
Diagram *dia,
|
||||
const DiagramContent &diagram_content,
|
||||
@@ -207,16 +207,16 @@ MoveElementsCommand::MoveElementsCommand(
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief MoveElementsCommand::~MoveElementsCommand
|
||||
* Destructor
|
||||
*/
|
||||
@brief MoveElementsCommand::~MoveElementsCommand
|
||||
Destructor
|
||||
*/
|
||||
MoveElementsCommand::~MoveElementsCommand() {
|
||||
delete m_anim_group;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief MoveElementsCommand::undo
|
||||
*/
|
||||
@brief MoveElementsCommand::undo
|
||||
*/
|
||||
void MoveElementsCommand::undo() {
|
||||
diagram -> showMe();
|
||||
m_anim_group->setDirection(QAnimationGroup::Forward);
|
||||
@@ -225,8 +225,8 @@ void MoveElementsCommand::undo() {
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief MoveElementsCommand::redo
|
||||
*/
|
||||
@brief MoveElementsCommand::redo
|
||||
*/
|
||||
void MoveElementsCommand::redo() {
|
||||
diagram -> showMe();
|
||||
if (first_redo) {
|
||||
@@ -241,10 +241,10 @@ void MoveElementsCommand::redo() {
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief MoveElementsCommand::move
|
||||
* Move item and conductor to @actual_movement
|
||||
* @param actual_movement movement to be applied
|
||||
*/
|
||||
@brief MoveElementsCommand::move
|
||||
Move item and conductor to @actual_movement
|
||||
@param actual_movement movement to be applied
|
||||
*/
|
||||
void MoveElementsCommand::move(const QPointF &actual_movement)
|
||||
{
|
||||
typedef DiagramContent dc;
|
||||
@@ -252,8 +252,8 @@ void MoveElementsCommand::move(const QPointF &actual_movement)
|
||||
//Move every movable items, except conductor
|
||||
for (QGraphicsItem *qgi : content_to_move.items(dc::Elements | dc::TextFields | dc::Images | dc::Shapes | dc::TextGroup | dc::ElementTextFields | dc::Tables))
|
||||
{
|
||||
//If curent item have parent, and parent item is in content_to_move
|
||||
//we don't apply movement to this item, because this item will be moved by is parent.
|
||||
//If curent item have parent, and parent item is in content_to_move
|
||||
//we don't apply movement to this item, because this item will be moved by is parent.
|
||||
if (qgi->parentItem())
|
||||
if (content_to_move.items().contains(qgi->parentItem()))
|
||||
continue;
|
||||
@@ -262,17 +262,18 @@ void MoveElementsCommand::move(const QPointF &actual_movement)
|
||||
setupAnimation(qgi->toGraphicsObject(), "pos", qgi->pos(), qgi->pos() + actual_movement);
|
||||
else if(qgi->type() == QGraphicsItemGroup::Type) //ElementTextItemGroup is a QObject but not a QGraphicsObject
|
||||
{
|
||||
//ElementTextItemGroup is a QObject but not a QGraphicsObject
|
||||
if(ElementTextItemGroup *etig = dynamic_cast<ElementTextItemGroup *>(qgi))
|
||||
setupAnimation(etig, "pos", etig->pos(), etig->pos() + actual_movement);
|
||||
}
|
||||
else qgi -> setPos(qgi->pos() + actual_movement);
|
||||
}
|
||||
|
||||
// Move some conductors
|
||||
// Move some conductors
|
||||
for (Conductor *conductor : content_to_move.m_conductors_to_move)
|
||||
setupAnimation(conductor, "pos", conductor->pos(), conductor->pos() + actual_movement);
|
||||
|
||||
// Recalcul the path of other conductor
|
||||
// Recalcul the path of other conductor
|
||||
for (Conductor *conductor : content_to_move.m_conductors_to_update)
|
||||
setupAnimation(conductor, "animPath", 1, 1);
|
||||
}
|
||||
@@ -511,10 +512,10 @@ void ChangeConductorCommand::setConductorTextItemMove(const QPointF &pos_before,
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief ResetConductorCommand::ResetConductorCommand
|
||||
* @param cp
|
||||
* @param parent
|
||||
*/
|
||||
@brief ResetConductorCommand::ResetConductorCommand
|
||||
@param cp
|
||||
@param parent
|
||||
*/
|
||||
ResetConductorCommand::ResetConductorCommand(
|
||||
const QHash<Conductor *, ConductorProfilesGroup> &cp,
|
||||
QUndoCommand *parent
|
||||
@@ -532,14 +533,14 @@ ResetConductorCommand::ResetConductorCommand(
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief ResetConductorCommand::~ResetConductorCommand
|
||||
*/
|
||||
@brief ResetConductorCommand::~ResetConductorCommand
|
||||
*/
|
||||
ResetConductorCommand::~ResetConductorCommand() {
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief ResetConductorCommand::undo
|
||||
*/
|
||||
@brief ResetConductorCommand::undo
|
||||
*/
|
||||
void ResetConductorCommand::undo() {
|
||||
diagram -> showMe();
|
||||
foreach(Conductor *c, conductors_profiles.keys()) {
|
||||
@@ -548,8 +549,8 @@ void ResetConductorCommand::undo() {
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief ResetConductorCommand::redo
|
||||
*/
|
||||
@brief ResetConductorCommand::redo
|
||||
*/
|
||||
void ResetConductorCommand::redo() {
|
||||
diagram -> showMe();
|
||||
foreach(Conductor *c, conductors_profiles.keys()) {
|
||||
|
||||
@@ -34,10 +34,10 @@ class DiagramImageItem;
|
||||
class QetGraphicsItem;
|
||||
|
||||
/**
|
||||
* @brief The AddItemCommand class
|
||||
* This command add an item in a diagram
|
||||
* The item to add is template, but must be QGraphicsItem or derived.
|
||||
*/
|
||||
@brief The AddItemCommand class
|
||||
This command add an item in a diagram
|
||||
The item to add is template, but must be QGraphicsItem or derived.
|
||||
*/
|
||||
template <typename QGI>
|
||||
class AddItemCommand : public QUndoCommand {
|
||||
public:
|
||||
|
||||
@@ -9,11 +9,13 @@
|
||||
|
||||
class QGraphicsObject;
|
||||
|
||||
/*!
|
||||
* \brief The TerminalData class
|
||||
* Data of the terminal. Stored in extra class so it can be used by PartTerminal and Terminal without
|
||||
* defining everything again.
|
||||
*/
|
||||
/**
|
||||
@brief The TerminalData class
|
||||
Data of the terminal.
|
||||
Stored in extra class so it can be used by PartTerminal
|
||||
and Terminal without defining everything again.
|
||||
@note tis class needs to be work on
|
||||
*/
|
||||
class TerminalData : public PropertiesInterface
|
||||
{
|
||||
public:
|
||||
|
||||
@@ -185,28 +185,28 @@ Qet::Orientation Terminal::orientation() const {
|
||||
|
||||
|
||||
/**
|
||||
* @brief Terminal::setNumber
|
||||
* @param number
|
||||
*/
|
||||
@brief Terminal::setNumber
|
||||
@param number
|
||||
*/
|
||||
void Terminal::setNumber(QString number) {
|
||||
number_terminal_ = std::move(number);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Terminal::setName
|
||||
* @param name
|
||||
*/
|
||||
@brief Terminal::setName
|
||||
@param name
|
||||
*/
|
||||
void Terminal::setName(QString name, bool hiddenName) {
|
||||
name_terminal_ = std::move(name);
|
||||
name_terminal_hidden = hiddenName;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Terminal::addConductor
|
||||
* Add a conductor to this terminal
|
||||
* @param conductor : the conductor to add.
|
||||
* @return true if the conductor was successfully added
|
||||
*/
|
||||
@brief Terminal::addConductor
|
||||
Add a conductor to this terminal
|
||||
@param conductor : the conductor to add.
|
||||
@return true if the conductor was successfully added
|
||||
*/
|
||||
bool Terminal::addConductor(Conductor *conductor)
|
||||
{
|
||||
if (!conductor) return(false);
|
||||
@@ -227,10 +227,10 @@ bool Terminal::addConductor(Conductor *conductor)
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Terminal::removeConductor
|
||||
* Remove a conductor from this terminal
|
||||
* @param conductor : conductor to remove
|
||||
*/
|
||||
@brief Terminal::removeConductor
|
||||
Remove a conductor from this terminal
|
||||
@param conductor : conductor to remove
|
||||
*/
|
||||
void Terminal::removeConductor(Conductor *conductor)
|
||||
{
|
||||
int index = conductors_.indexOf(conductor);
|
||||
@@ -346,10 +346,10 @@ void Terminal::paint(QPainter *p, const QStyleOptionGraphicsItem *options, QWidg
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Terminal::drawHelpLine
|
||||
* @param draw : true, display the help line
|
||||
* false, hide it.
|
||||
*/
|
||||
@brief Terminal::drawHelpLine
|
||||
@param draw : true, display the help line
|
||||
false, hide it.
|
||||
*/
|
||||
void Terminal::drawHelpLine(bool draw)
|
||||
{
|
||||
if (m_draw_help_line == draw) return;
|
||||
@@ -372,11 +372,11 @@ void Terminal::drawHelpLine(bool draw)
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Terminal::HelpLine
|
||||
* @return a line with coordinate P1 the dock point of conductor
|
||||
* and P2 the border of diagram, according to the orientation of terminal
|
||||
* The line is in scene coordinate;
|
||||
*/
|
||||
@brief Terminal::HelpLine
|
||||
@return a line with coordinate P1 the dock point of conductor
|
||||
and P2 the border of diagram, according to the orientation of terminal
|
||||
The line is in scene coordinate;
|
||||
*/
|
||||
QLineF Terminal::HelpLine() const
|
||||
{
|
||||
QPointF scene_dock = dockConductor();
|
||||
@@ -425,12 +425,12 @@ QRectF Terminal::boundingRect() const {
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Terminal::alignedWithTerminal
|
||||
* If this terminal is aligned with an other terminal
|
||||
* and is orientation is opposed return the other terminal
|
||||
* else return nullptr
|
||||
* @return
|
||||
*/
|
||||
@brief Terminal::alignedWithTerminal
|
||||
If this terminal is aligned with an other terminal
|
||||
and is orientation is opposed return the other terminal
|
||||
else return nullptr
|
||||
@return
|
||||
*/
|
||||
Terminal* Terminal::alignedWithTerminal() const
|
||||
{
|
||||
QLineF line(HelpLine());
|
||||
@@ -439,23 +439,23 @@ Terminal* Terminal::alignedWithTerminal() const
|
||||
path.moveTo(line.p1());
|
||||
path.lineTo(line.p2());
|
||||
|
||||
//Get all QGraphicsItem in the alignement of this terminal
|
||||
//Get all QGraphicsItem in the alignement of this terminal
|
||||
QList <QGraphicsItem *> qgi_list = diagram() -> items(path);
|
||||
|
||||
//Remove all terminals of the parent element
|
||||
//Remove all terminals of the parent element
|
||||
foreach (Terminal *t, parent_element_ -> terminals())
|
||||
qgi_list.removeAll(t);
|
||||
|
||||
if (qgi_list.isEmpty()) return nullptr;
|
||||
|
||||
//Get terminals only if orientation is opposed with this terminal
|
||||
//Get terminals only if orientation is opposed with this terminal
|
||||
QList <Terminal *> available_terminals;
|
||||
foreach (QGraphicsItem *qgi, qgi_list)
|
||||
{
|
||||
if (Terminal *tt = qgraphicsitem_cast <Terminal *> (qgi))
|
||||
{
|
||||
//Call QET::lineContainsPoint to be sure the line intersect
|
||||
//the dock point and not an other part of terminal
|
||||
//Call QET::lineContainsPoint to be sure the line intersect
|
||||
//the dock point and not an other part of terminal
|
||||
if (Qet::isOpposed(orientation(), tt -> orientation()) &&
|
||||
QET::lineContainsPoint(line, tt -> dockConductor()))
|
||||
{
|
||||
@@ -467,12 +467,12 @@ Terminal* Terminal::alignedWithTerminal() const
|
||||
if (available_terminals.isEmpty()) return nullptr;
|
||||
if (available_terminals.size() == 1) return (available_terminals.first());
|
||||
|
||||
//Available_terminals have several terminals, we get the nearest terminal
|
||||
//Available_terminals have several terminals, we get the nearest terminal
|
||||
line.setP2(available_terminals.first() -> dockConductor());
|
||||
qreal current_lenght = line.length();
|
||||
Terminal *nearest_terminal = available_terminals.takeFirst();
|
||||
|
||||
//Search the nearest terminal to this one
|
||||
//Search the nearest terminal to this one
|
||||
foreach (Terminal *terminal, available_terminals)
|
||||
{
|
||||
line.setP2(terminal -> dockConductor());
|
||||
@@ -517,10 +517,10 @@ void Terminal::hoverLeaveEvent(QGraphicsSceneHoverEvent *) {
|
||||
@param e L'evenement souris correspondant
|
||||
*/
|
||||
void Terminal::mousePressEvent(QGraphicsSceneMouseEvent *e) {
|
||||
if (Diagram *diag = diagram()) {
|
||||
diag -> setConductorStart(mapToScene(QPointF(d->m_pos)));
|
||||
diag -> setConductorStop(e -> scenePos());
|
||||
diag -> setConductor(true);
|
||||
if (Diagram *diag = diagram()) {
|
||||
diag -> setConductorStart(mapToScene(QPointF(d->m_pos)));
|
||||
diag -> setConductorStop(e -> scenePos());
|
||||
diag -> setConductor(true);
|
||||
//setCursor(Qt::CrossCursor);
|
||||
}
|
||||
}
|
||||
@@ -541,15 +541,14 @@ void Terminal::mouseMoveEvent(QGraphicsSceneMouseEvent *e) {
|
||||
previous_terminal_ -> hovered_color_ = previous_terminal_ -> neutralColor;
|
||||
previous_terminal_ -> update();
|
||||
}
|
||||
|
||||
|
||||
Diagram *diag = diagram();
|
||||
if (!diag) return;
|
||||
|
||||
Diagram *diag = diagram();
|
||||
if (!diag) return;
|
||||
// si la scene est un Diagram, on actualise le poseur de conducteur
|
||||
diag -> setConductorStop(e -> scenePos());
|
||||
diag -> setConductorStop(e -> scenePos());
|
||||
|
||||
// on recupere la liste des qgi sous le pointeur
|
||||
QList<QGraphicsItem *> qgis = diag -> items(e -> scenePos());
|
||||
QList<QGraphicsItem *> qgis = diag -> items(e -> scenePos());
|
||||
|
||||
/* le qgi le plus haut
|
||||
= le poseur de conductor
|
||||
@@ -584,9 +583,9 @@ void Terminal::mouseMoveEvent(QGraphicsSceneMouseEvent *e) {
|
||||
|
||||
|
||||
/**
|
||||
* @brief Terminal::mouseReleaseEvent
|
||||
* @param e
|
||||
*/
|
||||
@brief Terminal::mouseReleaseEvent
|
||||
@param e
|
||||
*/
|
||||
void Terminal::mouseReleaseEvent(QGraphicsSceneMouseEvent *e)
|
||||
{
|
||||
previous_terminal_ = nullptr;
|
||||
@@ -594,31 +593,31 @@ void Terminal::mouseReleaseEvent(QGraphicsSceneMouseEvent *e)
|
||||
|
||||
if (!diagram()) return;
|
||||
|
||||
//Stop conductor preview
|
||||
//Stop conductor preview
|
||||
diagram() -> setConductor(false);
|
||||
|
||||
//Get item under cursor
|
||||
//Get item under cursor
|
||||
QGraphicsItem *qgi = diagram() -> itemAt(e -> scenePos(), QTransform());
|
||||
if (!qgi) return;
|
||||
|
||||
//Element must be a terminal
|
||||
//Element must be a terminal
|
||||
Terminal *other_terminal = qgraphicsitem_cast<Terminal *>(qgi);
|
||||
if (!other_terminal) return;
|
||||
|
||||
other_terminal -> hovered_color_ = neutralColor;
|
||||
other_terminal -> hovered_ = false;
|
||||
|
||||
//We stop her if we can't link this terminal with other terminal
|
||||
//We stop her if we can't link this terminal with other terminal
|
||||
if (!canBeLinkedTo(other_terminal)) return;
|
||||
|
||||
//Create conductor
|
||||
//Create conductor
|
||||
Conductor *new_conductor = new Conductor(this, other_terminal);
|
||||
|
||||
//Get all conductors at the same potential of new conductors
|
||||
//Get all conductors at the same potential of new conductors
|
||||
QSet <Conductor *> conductors_list = new_conductor->relatedPotentialConductors();
|
||||
|
||||
//Compare the properties of every conductors stored in conductors_list,
|
||||
//if every conductors properties is equal, we use this properties for the new conductor.
|
||||
//Compare the properties of every conductors stored in conductors_list,
|
||||
//if every conductors properties is equal, we use this properties for the new conductor.
|
||||
ConductorProperties others_properties;
|
||||
bool use_properties = false;
|
||||
if (!conductors_list.isEmpty())
|
||||
@@ -658,9 +657,9 @@ void Terminal::mouseReleaseEvent(QGraphicsSceneMouseEvent *e)
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Terminal::updateConductor
|
||||
* Update the path of conductor docked to this terminal
|
||||
*/
|
||||
@brief Terminal::updateConductor
|
||||
Update the path of conductor docked to this terminal
|
||||
*/
|
||||
void Terminal::updateConductor() {
|
||||
foreach (Conductor *conductor, conductors_)
|
||||
conductor->updatePath();
|
||||
@@ -685,15 +684,15 @@ bool Terminal::isLinkedTo(Terminal *other_terminal) {
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Terminal::canBeLinkedTo
|
||||
* Checking if the terminal can be linked to \p other_terminal or not
|
||||
* Reasons for not linable:
|
||||
* - \p other_terminal is this terminal
|
||||
* - this terminal is already connected to \p other_terminal
|
||||
* @param other_terminal
|
||||
* @return true if this terminal can be linked to @other_terminal,
|
||||
* otherwise false
|
||||
*/
|
||||
@brief Terminal::canBeLinkedTo
|
||||
Checking if the terminal can be linked to \p other_terminal or not
|
||||
Reasons for not linable:
|
||||
- \p other_terminal is this terminal
|
||||
- this terminal is already connected to \p other_terminal
|
||||
@param other_terminal
|
||||
@return true if this terminal can be linked to @other_terminal,
|
||||
otherwise false
|
||||
*/
|
||||
bool Terminal::canBeLinkedTo(Terminal *other_terminal)
|
||||
{
|
||||
if (other_terminal == this || isLinkedTo(other_terminal))
|
||||
@@ -780,7 +779,7 @@ bool Terminal::fromXml(QDomElement &terminal) {
|
||||
return (
|
||||
qFuzzyCompare(terminal.attribute("x").toDouble(), dock_elmt_.x()) &&
|
||||
qFuzzyCompare(terminal.attribute("y").toDouble(), dock_elmt_.y()) &&
|
||||
(terminal.attribute("orientation").toInt() == d->m_orientation)
|
||||
(terminal.attribute("orientation").toInt() == d->m_orientation)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -790,7 +789,7 @@ bool Terminal::fromXml(QDomElement &terminal) {
|
||||
conductors.
|
||||
*/
|
||||
QPointF Terminal::dockConductor() const {
|
||||
return(mapToScene(d->m_pos));
|
||||
return(mapToScene(d->m_pos));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -811,20 +810,20 @@ Element *Terminal::parentElement() const {
|
||||
}
|
||||
|
||||
QUuid Terminal::uuid() const {
|
||||
return d->m_uuid;
|
||||
return d->m_uuid;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Conductor::relatedPotentialTerminal
|
||||
* Return terminal at the same potential from the same
|
||||
* parent element of @t.
|
||||
* For folio report, return the terminal of linked other report.
|
||||
* For Terminal element, return the other terminal of terminal element.
|
||||
* @param t terminal to start search
|
||||
* @param all_diagram :if true return all related terminal,
|
||||
* false return only terminal in the same diagram of @t
|
||||
* @return the list of terminal at the same potential
|
||||
*/
|
||||
@brief Conductor::relatedPotentialTerminal
|
||||
Return terminal at the same potential from the same
|
||||
parent element of @t.
|
||||
For folio report, return the terminal of linked other report.
|
||||
For Terminal element, return the other terminal of terminal element.
|
||||
@param t terminal to start search
|
||||
@param all_diagram :if true return all related terminal,
|
||||
false return only terminal in the same diagram of @t
|
||||
@return the list of terminal at the same potential
|
||||
*/
|
||||
QList<Terminal *> relatedPotentialTerminal (const Terminal *terminal, const bool all_diagram)
|
||||
{
|
||||
// If terminal parent element is a folio report.
|
||||
|
||||
@@ -29,17 +29,17 @@ class TerminalData;
|
||||
@brief The Terminal class
|
||||
This class represents a terminal of an electrical element, i.e. a possible
|
||||
plug point for conductors.
|
||||
This class handles all mouse events for connecting conductors
|
||||
This class handles all mouse events for connecting conductors
|
||||
*/
|
||||
class Terminal : public QGraphicsObject
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_OBJECT
|
||||
|
||||
signals:
|
||||
void conductorWasAdded(Conductor *conductor);
|
||||
void conductorWasRemoved(Conductor *conductor);
|
||||
|
||||
// constructors, destructor
|
||||
// constructors, destructor
|
||||
public:
|
||||
Terminal(QPointF, Qet::Orientation, Element * = nullptr);
|
||||
Terminal(qreal, qreal, Qet::Orientation, Element * = nullptr);
|
||||
@@ -50,7 +50,7 @@ class Terminal : public QGraphicsObject
|
||||
private:
|
||||
Terminal(const Terminal &);
|
||||
|
||||
// methods
|
||||
// methods
|
||||
public:
|
||||
/**
|
||||
@brief type
|
||||
@@ -65,85 +65,87 @@ class Terminal : public QGraphicsObject
|
||||
QLineF HelpLine () const;
|
||||
QRectF boundingRect () const override;
|
||||
|
||||
// methods to manage conductors attached to the terminal
|
||||
// methods to manage conductors attached to the terminal
|
||||
Terminal* alignedWithTerminal () const;
|
||||
bool addConductor (Conductor *conductor);
|
||||
void removeConductor (Conductor *conductor);
|
||||
int conductorsCount () const;
|
||||
Diagram *diagram () const;
|
||||
Element *parentElement () const;
|
||||
QUuid uuid () const;
|
||||
QUuid uuid () const;
|
||||
|
||||
QList<Conductor *> conductors() const;
|
||||
Qet::Orientation orientation() const;
|
||||
QPointF dockConductor() const;
|
||||
QString number() const;
|
||||
QString name() const;
|
||||
void setNumber(QString number);
|
||||
void setName(QString name, bool hiddenName);
|
||||
void updateConductor();
|
||||
bool isLinkedTo(Terminal *);
|
||||
bool canBeLinkedTo(Terminal *);
|
||||
QList<Conductor *> conductors() const;
|
||||
Qet::Orientation orientation() const;
|
||||
QPointF dockConductor() const;
|
||||
QString number() const;
|
||||
QString name() const;
|
||||
void setNumber(QString number);
|
||||
void setName(QString name, bool hiddenName);
|
||||
void updateConductor();
|
||||
bool isLinkedTo(Terminal *);
|
||||
bool canBeLinkedTo(Terminal *);
|
||||
|
||||
// methods related to XML import/export
|
||||
static bool valideXml(QDomElement &);
|
||||
bool fromXml (QDomElement &);
|
||||
QDomElement toXml (QDomDocument &) const;
|
||||
// methods related to XML import/export
|
||||
static bool valideXml(QDomElement &);
|
||||
bool fromXml (QDomElement &);
|
||||
QDomElement toXml (QDomDocument &) const;
|
||||
|
||||
protected:
|
||||
// methods related to events management
|
||||
void hoverEnterEvent (QGraphicsSceneHoverEvent *) override;
|
||||
void hoverMoveEvent (QGraphicsSceneHoverEvent *) override;
|
||||
void hoverLeaveEvent (QGraphicsSceneHoverEvent *) override;
|
||||
void mousePressEvent (QGraphicsSceneMouseEvent *) override;
|
||||
void mouseMoveEvent (QGraphicsSceneMouseEvent *) override;
|
||||
void mouseReleaseEvent(QGraphicsSceneMouseEvent *) override;
|
||||
// methods related to events management
|
||||
void hoverEnterEvent (QGraphicsSceneHoverEvent *) override;
|
||||
void hoverMoveEvent (QGraphicsSceneHoverEvent *) override;
|
||||
void hoverLeaveEvent (QGraphicsSceneHoverEvent *) override;
|
||||
void mousePressEvent (QGraphicsSceneMouseEvent *) override;
|
||||
void mouseMoveEvent (QGraphicsSceneMouseEvent *) override;
|
||||
void mouseReleaseEvent(QGraphicsSceneMouseEvent *) override;
|
||||
|
||||
// attributes
|
||||
// attributes
|
||||
public:
|
||||
enum { Type = UserType + 1002 };
|
||||
|
||||
static const qreal terminalSize;
|
||||
static const qreal Z;
|
||||
// Various static colors used for hover effects
|
||||
/// default color
|
||||
// Various static colors used for hover effects
|
||||
/// default color
|
||||
static QColor neutralColor;
|
||||
/// color for legal actions
|
||||
/// color for legal actions
|
||||
static QColor allowedColor;
|
||||
/// color for allowed but fuzzy or not recommended actions
|
||||
/// color for allowed but fuzzy or not recommended actions
|
||||
static QColor warningColor;
|
||||
/// color for forbidden actions
|
||||
/// color for forbidden actions
|
||||
static QColor forbiddenColor;
|
||||
|
||||
private:
|
||||
bool m_draw_help_line{false};
|
||||
QGraphicsLineItem *m_help_line{nullptr};
|
||||
QGraphicsLineItem *m_help_line_a{nullptr};
|
||||
bool m_draw_help_line{false};
|
||||
QGraphicsLineItem *m_help_line{nullptr};
|
||||
QGraphicsLineItem *m_help_line_a{nullptr};
|
||||
|
||||
|
||||
TerminalData* d;
|
||||
TerminalData* d;
|
||||
|
||||
/// Parent electrical element
|
||||
Element *parent_element_{nullptr};
|
||||
/// docking point for parent element
|
||||
QPointF dock_elmt_;
|
||||
/// List of conductors attached to the terminal
|
||||
QList<Conductor *> conductors_;
|
||||
/// Pointer to a rectangle representing the terminal bounding rect;
|
||||
/// used to calculate the bounding rect once only;
|
||||
/// used a pointer because boundingRect() is supposed to be const.
|
||||
QRectF *br_{nullptr};
|
||||
/// Last terminal seen through an attached conductor
|
||||
Terminal *previous_terminal_;
|
||||
/// Whether the mouse pointer is hovering the terminal
|
||||
bool hovered_;
|
||||
/// Color used for the hover effect
|
||||
QColor hovered_color_;
|
||||
/// Number of Terminal
|
||||
QString number_terminal_;
|
||||
/// Name of Terminal
|
||||
QString name_terminal_;
|
||||
bool name_terminal_hidden;
|
||||
/// Parent electrical element
|
||||
Element *parent_element_{nullptr};
|
||||
/// docking point for parent element
|
||||
QPointF dock_elmt_;
|
||||
/// List of conductors attached to the terminal
|
||||
QList<Conductor *> conductors_;
|
||||
/**
|
||||
Pointer to a rectangle representing the terminal bounding rect;
|
||||
used to calculate the bounding rect once only;
|
||||
used a pointer because boundingRect() is supposed to be const.
|
||||
*/
|
||||
QRectF *br_{nullptr};
|
||||
/// Last terminal seen through an attached conductor
|
||||
Terminal *previous_terminal_;
|
||||
/// Whether the mouse pointer is hovering the terminal
|
||||
bool hovered_;
|
||||
/// Color used for the hover effect
|
||||
QColor hovered_color_;
|
||||
/// Number of Terminal
|
||||
QString number_terminal_;
|
||||
/// Name of Terminal
|
||||
QString name_terminal_;
|
||||
bool name_terminal_hidden;
|
||||
|
||||
private:
|
||||
void init(QString number, QString name, bool hiddenName);
|
||||
|
||||
@@ -32,9 +32,9 @@ TerminalElement::TerminalElement(const ElementsLocation &location, QGraphicsItem
|
||||
TerminalElement::~TerminalElement() {}
|
||||
|
||||
/**
|
||||
* @brief TerminalElement::initLink
|
||||
* @param project
|
||||
*/
|
||||
@brief TerminalElement::initLink
|
||||
@param project
|
||||
*/
|
||||
void TerminalElement::initLink(QETProject *project) {
|
||||
Element::initLink(project);
|
||||
}
|
||||
|
||||
@@ -28,11 +28,12 @@
|
||||
#include <QPolygonF>
|
||||
|
||||
/**
|
||||
* @brief ConductorCreator::ConductorCreator
|
||||
* Create an electrical potential between all terminals of @terminals_list.
|
||||
* the terminals of the list must be in the same diagram.
|
||||
* @param terminals_list
|
||||
*/
|
||||
@brief ConductorCreator::ConductorCreator
|
||||
Create an electrical potential between all terminals of @terminals_list.
|
||||
the terminals of the list must be in the same diagram.
|
||||
@param d Diagram
|
||||
@param terminals_list QList<Terminal *>
|
||||
*/
|
||||
ConductorCreator::ConductorCreator(Diagram *d, QList<Terminal *> terminals_list) :
|
||||
m_terminals_list(terminals_list)
|
||||
{
|
||||
@@ -68,11 +69,11 @@ ConductorCreator::ConductorCreator(Diagram *d, QList<Terminal *> terminals_list)
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief ConductorCreator::create
|
||||
* Create an electrical potential between the terminals of the diagram d, contained in the polygon
|
||||
* @param d
|
||||
* @param polygon : polygon in diagram coordinate
|
||||
*/
|
||||
@brief ConductorCreator::create
|
||||
Create an electrical potential between the terminals of the diagram d, contained in the polygon
|
||||
@param d Diagram
|
||||
@param polygon : polygon in diagram coordinate
|
||||
*/
|
||||
void ConductorCreator::create(Diagram *d, const QPolygonF &polygon)
|
||||
{
|
||||
QList<Terminal *> t_list;
|
||||
@@ -92,9 +93,9 @@ void ConductorCreator::create(Diagram *d, const QPolygonF &polygon)
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief ConductorCreator::propertieToUse
|
||||
* @return the conductor properties to use for the new conductors.
|
||||
*/
|
||||
@brief ConductorCreator::propertieToUse
|
||||
@return the conductor properties to use for the new conductors.
|
||||
*/
|
||||
void ConductorCreator::setUpPropertieToUse()
|
||||
{
|
||||
QList<Conductor *> potentials = existingPotential();
|
||||
@@ -130,11 +131,11 @@ void ConductorCreator::setUpPropertieToUse()
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief ConductorCreator::existingPotential
|
||||
* Return the list of existing potential of
|
||||
* the terminal list
|
||||
* @return
|
||||
*/
|
||||
@brief ConductorCreator::existingPotential
|
||||
Return the list of existing potential of
|
||||
the terminal list
|
||||
@return c_list QList<Conductor *>
|
||||
*/
|
||||
QList<Conductor *> ConductorCreator::existingPotential()
|
||||
{
|
||||
QList<Conductor *> c_list;
|
||||
@@ -174,9 +175,9 @@ QList<Conductor *> ConductorCreator::existingPotential()
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief ConductorCreator::hubTerminal
|
||||
* @return
|
||||
*/
|
||||
@brief ConductorCreator::hubTerminal
|
||||
@return hub_terminal
|
||||
*/
|
||||
Terminal *ConductorCreator::hubTerminal()
|
||||
{
|
||||
Terminal *hub_terminal = m_terminals_list.first();
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
@param parent
|
||||
*/
|
||||
MacOSXOpenEvent::MacOSXOpenEvent(QObject *parent) :
|
||||
QObject(parent)
|
||||
QObject(parent)
|
||||
{}
|
||||
|
||||
/**
|
||||
@@ -35,13 +35,13 @@ MacOSXOpenEvent::MacOSXOpenEvent(QObject *parent) :
|
||||
*/
|
||||
bool MacOSXOpenEvent::eventFilter(QObject *watched, QEvent *event)
|
||||
{
|
||||
if (event->type() == QEvent::FileOpen)
|
||||
{
|
||||
SingleApplication *app = dynamic_cast<SingleApplication *>(watched);
|
||||
QFileOpenEvent *open_event = static_cast<QFileOpenEvent*>(event);
|
||||
QString message = "launched-with-args: " + open_event->file();
|
||||
app->sendMessage(message.toUtf8());
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
if (event->type() == QEvent::FileOpen)
|
||||
{
|
||||
SingleApplication *app = dynamic_cast<SingleApplication *>(watched);
|
||||
QFileOpenEvent *open_event = static_cast<QFileOpenEvent*>(event);
|
||||
QString message = "launched-with-args: " + open_event->file();
|
||||
app->sendMessage(message.toUtf8());
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -19,13 +19,15 @@
|
||||
#define MACOSXOPENEVENT_H
|
||||
|
||||
#include <QObject>
|
||||
|
||||
/**
|
||||
@brief The MacOSXOpenEvent class
|
||||
*/
|
||||
class MacOSXOpenEvent : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit MacOSXOpenEvent(QObject *parent = nullptr);
|
||||
bool eventFilter(QObject *watched, QEvent *event) override;
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit MacOSXOpenEvent(QObject *parent = nullptr);
|
||||
bool eventFilter(QObject *watched, QEvent *event) override;
|
||||
};
|
||||
|
||||
#endif // MACOSXOPENEVENT_H
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
*/
|
||||
QString QETUtils::marginsToString(const QMargins &margins)
|
||||
{
|
||||
QString str;
|
||||
QString str;
|
||||
str += QString::number(margins.left());
|
||||
str += ";";
|
||||
str += QString::number(margins.top());
|
||||
|
||||
@@ -21,12 +21,12 @@
|
||||
#include <QMargins>
|
||||
|
||||
/**
|
||||
* Provide some small utils function
|
||||
*/
|
||||
Provide some small utils function
|
||||
*/
|
||||
namespace QETUtils
|
||||
{
|
||||
QString marginsToString(const QMargins &margins);
|
||||
QMargins marginsFromString(const QString &string);
|
||||
QString marginsToString(const QMargins &margins);
|
||||
QMargins marginsFromString(const QString &string);
|
||||
}
|
||||
|
||||
#endif // QETUTILS_H
|
||||
|
||||
Reference in New Issue
Block a user