Mentions légales du service

Skip to content
Snippets Groups Projects
Commit e33c4e3c authored by COLAS Adele's avatar COLAS Adele
Browse files

new comments

parent 81299125
No related branches found
No related tags found
No related merge requests found
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject> <!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.11.1, 2022-02-24T18:48:22. --> <!-- Written by QtCreator 4.11.1, 2022-02-25T13:11:09. -->
<qtcreator> <qtcreator>
<data> <data>
<variable>EnvironmentId</variable> <variable>EnvironmentId</variable>
......
...@@ -18,12 +18,19 @@ ...@@ -18,12 +18,19 @@
/**
* @brief
*
* @param width_
* @param height_
* @param matrix_
* @param parent
*/
LayerViewer::LayerViewer(float width_, float height_, VectorMatrix *matrix_, QGraphicsItem *parent ) LayerViewer::LayerViewer(float width_, float height_, VectorMatrix *matrix_, QGraphicsItem *parent )
:QGraphicsItemGroup(parent) :QGraphicsItemGroup(parent)
{ {
setFlag(QGraphicsItem::ItemIsSelectable , true); setFlag(QGraphicsItem::ItemIsSelectable , true);
setFlag(ItemSendsGeometryChanges); setFlag(ItemSendsGeometryChanges);
setCacheMode(DeviceCoordinateCache); setCacheMode(DeviceCoordinateCache);
setFlag(QGraphicsItem::ItemIsMovable, false); setFlag(QGraphicsItem::ItemIsMovable, false);
...@@ -33,8 +40,6 @@ LayerViewer::LayerViewer(float width_, float height_, VectorMatrix *matrix_, QGr ...@@ -33,8 +40,6 @@ LayerViewer::LayerViewer(float width_, float height_, VectorMatrix *matrix_, QGr
border = QRectF(0,0, width_, height_); border = QRectF(0,0, width_, height_);
myPenWidth = std::min(border.width(), border.height())/10.0f * 0.05; myPenWidth = std::min(border.width(), border.height())/10.0f * 0.05;
zerosArea = std::vector<std::array<int,2>>(); zerosArea = std::vector<std::array<int,2>>();
} }
LayerViewer::LayerViewer(float width_, float height_, QGraphicsItem *parent) LayerViewer::LayerViewer(float width_, float height_, QGraphicsItem *parent)
......
This diff is collapsed.
...@@ -202,10 +202,6 @@ private: ...@@ -202,10 +202,6 @@ private:
bool modified = false; //if modification has been made sincelast save bool modified = false; //if modification has been made sincelast save
bool scribbling = false; // if we are in scribling mode bool scribbling = false; // if we are in scribling mode
bool lineOn = true; //if we are on control line mode
bool curveOn = false;
bool agentOn = true;
bool pole =false;
bool rotation = false; // the links bool rotation = false; // the links
bool translation = false; bool translation = false;
bool scaling = false; bool scaling = false;
......
...@@ -40,6 +40,12 @@ ...@@ -40,6 +40,12 @@
using namespace std; using namespace std;
/**
* @brief create main view
* add cener widget, tool bar, layer bar, object bar and matrix bar and paramtric slider
*
* @param parent
*/
View::View(QWidget *parent) View::View(QWidget *parent)
: QMainWindow(parent) : QMainWindow(parent)
, ui(new Ui::View) , ui(new Ui::View)
...@@ -88,12 +94,21 @@ View::View(QWidget *parent) ...@@ -88,12 +94,21 @@ View::View(QWidget *parent)
} }
/**
* @brief
*
*/
View::~View() View::~View()
{ {
delete ui; delete ui;
} }
//! [1] //! [1]
/**
* @brief close window
*
* @param event
*/
void View::closeEvent(QCloseEvent *event) void View::closeEvent(QCloseEvent *event)
//! [1] //! [2] //! [1] //! [2]
{ {
...@@ -103,6 +118,11 @@ void View::closeEvent(QCloseEvent *event) ...@@ -103,6 +118,11 @@ void View::closeEvent(QCloseEvent *event)
event->ignore(); event->ignore();
} }
/**
* @brief
*
* @param event
*/
void View::resizeEvent(QResizeEvent *event) void View::resizeEvent(QResizeEvent *event)
{ {
...@@ -112,6 +132,10 @@ void View::resizeEvent(QResizeEvent *event) ...@@ -112,6 +132,10 @@ void View::resizeEvent(QResizeEvent *event)
//! [2] //! [2]
//! [3] //! [3]
/**
* @brief
*
*/
void View::open() void View::open()
//! [3] //! [4] //! [3] //! [4]
{ {
...@@ -126,6 +150,11 @@ void View::open() ...@@ -126,6 +150,11 @@ void View::open()
} }
} }
/**
* @brief save the current field
*
* @param isExpended
*/
void View::save(bool isExpended) void View::save(bool isExpended)
{ {
saveFile("txt", isExpended); saveFile("txt", isExpended);
...@@ -133,6 +162,10 @@ void View::save(bool isExpended) ...@@ -133,6 +162,10 @@ void View::save(bool isExpended)
//! [4] //! [4]
//! [7] //! [7]
/**
* @brief
*
*/
void View::penColor() void View::penColor()
//! [7] //! [8] //! [7] //! [8]
{ {
...@@ -143,6 +176,10 @@ void View::penColor() ...@@ -143,6 +176,10 @@ void View::penColor()
//! [8] //! [8]
//! [9] //! [9]
/**
* @brief
*
*/
void View::penWidth() void View::penWidth()
//! [9] //! [10] //! [9] //! [10]
{ {
...@@ -159,14 +196,12 @@ void View::penWidth() ...@@ -159,14 +196,12 @@ void View::penWidth()
} }
/**
* @brief create the central widget the velocity and orientation render Area + gui widget
*
*/
void View::createCentralView() void View::createCentralView()
{ {
// this->setContextMenuPolicy(Qt::CustomContextMenu); // this->setContextMenuPolicy(Qt::CustomContextMenu);
// connect(this, SIGNAL(customContextMenuRequested(const QPoint&)), // connect(this, SIGNAL(customContextMenuRequested(const QPoint&)),
// this, SLOT(ShowContextMenu(const QPoint&))); // this, SLOT(ShowContextMenu(const QPoint&)));
...@@ -193,27 +228,12 @@ void View::createCentralView() ...@@ -193,27 +228,12 @@ void View::createCentralView()
QPushButton *saveButt = new QPushButton("Save"); QPushButton *saveButt = new QPushButton("Save");
hlay->addWidget(saveButt); hlay->addWidget(saveButt);
*/ */
QWidget * wdg = new QWidget(this); QWidget * wdg = new QWidget(this);
QBoxLayout *hrenderUp = new QHBoxLayout(); QBoxLayout *hrenderUp = new QHBoxLayout();
QBoxLayout *hlay = new QHBoxLayout(wdg); QBoxLayout *hlay = new QHBoxLayout(wdg);
QBoxLayout *vlay = new QVBoxLayout(); QBoxLayout *vlay = new QVBoxLayout();
vlay->addLayout(hrenderUp); vlay->addLayout(hrenderUp);
vlay->addWidget(tabWidget); vlay->addWidget(tabWidget);
scaleLabel = new QLabel(this); scaleLabel = new QLabel(this);
scaleLabel->setFrameStyle(QFrame::Panel | QFrame::Sunken); scaleLabel->setFrameStyle(QFrame::Panel | QFrame::Sunken);
...@@ -242,6 +262,11 @@ void View::createCentralView() ...@@ -242,6 +262,11 @@ void View::createCentralView()
} }
//! [11] //! [11]
/**
* @brief change the scale of the view (central widget)
*
* @param scale
*/
void View::sceneScaleChanged(const QString &scale) void View::sceneScaleChanged(const QString &scale)
{ {
double newScale = scale.left(scale.indexOf(tr("%"))).toDouble() / 100.0; double newScale = scale.left(scale.indexOf(tr("%"))).toDouble() / 100.0;
...@@ -255,6 +280,12 @@ void View::sceneScaleChanged(const QString &scale) ...@@ -255,6 +280,12 @@ void View::sceneScaleChanged(const QString &scale)
//! [1] //! [1]
/**
* @brief activated when one button of the layer group is clicked
*
* select the group layer according to id and make it the current grouplayer
* @param id id of layer
*/
void View::layerButtonGroupClicked(int id) void View::layerButtonGroupClicked(int id)
{ {
const QList<QAbstractButton *> buttons = layerButtonGroup->buttons(); const QList<QAbstractButton *> buttons = layerButtonGroup->buttons();
...@@ -275,6 +306,11 @@ void View::layerButtonGroupClicked(int id) ...@@ -275,6 +306,11 @@ void View::layerButtonGroupClicked(int id)
} }
/**
* @brief activated when one of the matrix button is cliked
* activate horizontal, vertical or angular symetry
* @param id: id of the symetry
*/
void View::matrixButtonGroupClicked(int id) void View::matrixButtonGroupClicked(int id)
{ {
const QList<QAbstractButton *> buttons = buttonGroup->buttons(); const QList<QAbstractButton *> buttons = buttonGroup->buttons();
...@@ -297,6 +333,11 @@ void View::matrixButtonGroupClicked(int id) ...@@ -297,6 +333,11 @@ void View::matrixButtonGroupClicked(int id)
//! [1] //! [1]
//! [2] //! [2]
/**
* @brief activated when one of the object group is clicked
* obstalce or agent pole is selected to be added to the scene
* @param id id of the type of the pole
*/
void View::buttonGroupClicked(int id) void View::buttonGroupClicked(int id)
{ {
const QList<QAbstractButton *> buttons = buttonGroup->buttons(); const QList<QAbstractButton *> buttons = buttonGroup->buttons();
...@@ -310,6 +351,11 @@ void View::buttonGroupClicked(int id) ...@@ -310,6 +351,11 @@ void View::buttonGroupClicked(int id)
} }
//! [2] //! [2]
/**
* @brief activated when one of the link group is clicked
* for now only the rotation link is working
* @param id of the type of link
*/
void View::buttonGroupLinkClicked(int id) void View::buttonGroupLinkClicked(int id)
{ {
// const QList<QAbstractButton*> buttonsPointer = pointerTypeGroup->buttons(); // const QList<QAbstractButton*> buttonsPointer = pointerTypeGroup->buttons();
...@@ -334,27 +380,40 @@ void View::buttonGroupLinkClicked(int id) ...@@ -334,27 +380,40 @@ void View::buttonGroupLinkClicked(int id)
static_cast<RenderArea *>(tabWidget->currentWidget())->setMode(RenderArea::InsertLink); static_cast<RenderArea *>(tabWidget->currentWidget())->setMode(RenderArea::InsertLink);
} }
/**
* @brief activated when one of the erase blank area button is clicked
* erase the blank area of the current layer group
* @param id id of the current layer group
*/
void View::blankButtonGroupClicked(size_t id) void View::blankButtonGroupClicked(size_t id)
{ {
for (auto &indices: static_cast<RenderArea *>(tabWidget->currentWidget())->getLayers()[id]->getCurrentLayer()->getZerosArea()){ static_cast<RenderArea *>(tabWidget->currentWidget())->getLayers()[id]->getCurrentLayer()->removeZeroArea();
static_cast<RenderArea *>(tabWidget->currentWidget())->getLayers()[id]->getCurrentLayer()->removeZeroArea();
}
static_cast<RenderArea *>(tabWidget->currentWidget())->drawMatrix(); static_cast<RenderArea *>(tabWidget->currentWidget())->drawMatrix();
} }
/**
* @brief activated when the hideVector group is clicked
* hide or show the control vectors of the current layer
*/
void View::hideButtonGroupClicked() void View::hideButtonGroupClicked()
{ {
static_cast<RenderArea *>(tabWidget->currentWidget())->showVector(); static_cast<RenderArea *>(tabWidget->currentWidget())->showVector();
} }
/**
* @brief clear the current group layer
*
*/
void View::clearButtonGroupClicked() void View::clearButtonGroupClicked()
{ {
static_cast<RenderArea *>(tabWidget->currentWidget())->clearImage(); static_cast<RenderArea *>(tabWidget->currentWidget())->clearImage();
} }
//! [3] //! [3]
/**
* @brief delete the selected item
* items can be: poles, curves, lines or links
*/
void View::deleteItem() void View::deleteItem()
{ {
QList<QGraphicsItem *> selectedItems = static_cast<RenderArea *>(tabWidget->currentWidget())->scene()->selectedItems(); QList<QGraphicsItem *> selectedItems = static_cast<RenderArea *>(tabWidget->currentWidget())->scene()->selectedItems();
...@@ -403,6 +462,10 @@ void View::deleteItem() ...@@ -403,6 +462,10 @@ void View::deleteItem()
//! [3] //! [3]
//! [3] //! [3]
/**
* @brief make or unmake the selected pole the source of the field
*
*/
void View::makeSource() void View::makeSource()
{ {
QList<QGraphicsItem *> selectedItems = static_cast<RenderArea *>(tabWidget->currentWidget())->scene()->selectedItems(); QList<QGraphicsItem *> selectedItems = static_cast<RenderArea *>(tabWidget->currentWidget())->scene()->selectedItems();
...@@ -443,16 +506,31 @@ void View::makeSource() ...@@ -443,16 +506,31 @@ void View::makeSource()
} }
/**
* @brief show or hide the current layer
*
* @param id id of the layergroup
*/
void View::showLayer(size_t id) void View::showLayer(size_t id)
{ {
static_cast<RenderArea *>(tabWidget->currentWidget())->getLayers()[id]->hideLayer(); static_cast<RenderArea *>(tabWidget->currentWidget())->getLayers()[id]->hideLayer();
} }
/**
* @brief show or hide the control vector of a layergroup
*
* @param id of the layergroup
*/
void View::showVector(size_t id) void View::showVector(size_t id)
{ {
static_cast<RenderArea *>(tabWidget->currentWidget())->getLayers()[id]->hideVectors(); static_cast<RenderArea *>(tabWidget->currentWidget())->getLayers()[id]->hideVectors();
} }
/**
* @brief show or hide the grid of a layer group
*
* @param id of the layer group
*/
void View::showGrid(size_t id) void View::showGrid(size_t id)
{ {
bool isGrid= !static_cast<RenderArea *>(tabWidget->currentWidget())->getLayers()[id]->getIsGridVisible(); bool isGrid= !static_cast<RenderArea *>(tabWidget->currentWidget())->getLayers()[id]->getIsGridVisible();
...@@ -460,6 +538,11 @@ void View::showGrid(size_t id) ...@@ -460,6 +538,11 @@ void View::showGrid(size_t id)
static_cast<RenderArea *>(tabWidget->currentWidget())->drawMatrix(); static_cast<RenderArea *>(tabWidget->currentWidget())->drawMatrix();
} }
/**
* @brief make possible or not to move a layer group
*
* @param id of the layer group
*/
void View::moveLayer(size_t id) void View::moveLayer(size_t id)
{ {
if( static_cast<RenderArea *>(tabWidget->currentWidget())->getLayers()[id]->flags()& static_cast<RenderArea *>(tabWidget->currentWidget())->getLayers()[static_cast<RenderArea *>(tabWidget->currentWidget())->getLayerID()]->ItemIsMovable) if( static_cast<RenderArea *>(tabWidget->currentWidget())->getLayers()[id]->flags()& static_cast<RenderArea *>(tabWidget->currentWidget())->getLayers()[static_cast<RenderArea *>(tabWidget->currentWidget())->getLayerID()]->ItemIsMovable)
...@@ -472,6 +555,11 @@ void View::moveLayer(size_t id) ...@@ -472,6 +555,11 @@ void View::moveLayer(size_t id)
//! [3] //! [3]
//! [4] //! [4]
/**
* @brief activate when one button of the pointer group is clicked
*
* @param int id of the pointer selected
*/
void View::pointerGroupClicked(int) void View::pointerGroupClicked(int)
{ {
...@@ -492,6 +580,10 @@ void View::pointerGroupClicked(int) ...@@ -492,6 +580,10 @@ void View::pointerGroupClicked(int)
//! [4] //! [4]
//! [5] //! [5]
/**
* @brief put the slected layer up front
*
*/
void View::bringToFront() void View::bringToFront()
{ {
if (static_cast<RenderArea *>(tabWidget->currentWidget())->scene()->selectedItems().isEmpty()) if (static_cast<RenderArea *>(tabWidget->currentWidget())->scene()->selectedItems().isEmpty())
...@@ -510,6 +602,10 @@ void View::bringToFront() ...@@ -510,6 +602,10 @@ void View::bringToFront()
//! [5] //! [5]
//! [6] //! [6]
/**
* @brief put the selected layer behind all the others
*
*/
void View::sendToBack() void View::sendToBack()
{ {
if (static_cast<RenderArea *>(tabWidget->currentWidget())->scene()->selectedItems().isEmpty()) if (static_cast<RenderArea *>(tabWidget->currentWidget())->scene()->selectedItems().isEmpty())
...@@ -528,6 +624,11 @@ void View::sendToBack() ...@@ -528,6 +624,11 @@ void View::sendToBack()
//! [6] //! [6]
//! [7] //! [7]
/**
* @brief
*
* @param item
*/
void View::itemInserted(Pole *item) void View::itemInserted(Pole *item)
{ {
pointerTypeGroup->button(int(RenderArea::MoveItem))->setChecked(true); pointerTypeGroup->button(int(RenderArea::MoveItem))->setChecked(true);
...@@ -539,6 +640,17 @@ void View::itemInserted(Pole *item) ...@@ -539,6 +640,17 @@ void View::itemInserted(Pole *item)
//! [28] //! [28]
/**
* @brief create a new layergroup buttons with its menu
*
* @param text name of the layergroup
* @param height height of the layergroup
* @param width width of the layergroup
* @param weight weight of the layer group (for later combination)
* @param id id of the layer
* @param render if the layer is in the orientation or the velocity renderarea
* @return QWidget return the Widget of the layer to be added to the menu
*/
QWidget *View::createLayerCellWidget(const QString &text, const double height, const double width, const double weight,size_t id, RenderArea *render) QWidget *View::createLayerCellWidget(const QString &text, const double height, const double width, const double weight,size_t id, RenderArea *render)
{ {
QToolButton *button = new QToolButton; QToolButton *button = new QToolButton;
...@@ -647,6 +759,13 @@ QWidget *View::createLayerCellWidget(const QString &text, const double height, c ...@@ -647,6 +759,13 @@ QWidget *View::createLayerCellWidget(const QString &text, const double height, c
//! [28] //! [28]
//! [29] //! [29]
/**
* @brief create the pole buttons
*
* @param text name of the pole
* @param type type of the pole
* @return QWidget return the widget menu
*/
QWidget *View::createCellWidget(const QString &text, Pole::Pole_Type type) QWidget *View::createCellWidget(const QString &text, Pole::Pole_Type type)
{ {
...@@ -671,6 +790,12 @@ QWidget *View::createCellWidget(const QString &text, Pole::Pole_Type type) ...@@ -671,6 +790,12 @@ QWidget *View::createCellWidget(const QString &text, Pole::Pole_Type type)
return widget; return widget;
} }
//! [29] //! [29]
/**
* @brief create the matrix buttons of the symetrical options
*
* @param id id of the option
* @return QWidget return the widget
*/
QWidget *View::createMatrixCellWidget(int id ) QWidget *View::createMatrixCellWidget(int id )
{ {
QToolButton *button = new QToolButton; QToolButton *button = new QToolButton;
...@@ -708,6 +833,10 @@ QWidget *View::createMatrixCellWidget(int id ) ...@@ -708,6 +833,10 @@ QWidget *View::createMatrixCellWidget(int id )
return widget; return widget;
} }
/**
* @brief pop up to ask for the angle of the angular symetry
*
*/
void View::angularSymetry(){ void View::angularSymetry(){
QDialog * d = new QDialog(); QDialog * d = new QDialog();
QVBoxLayout * vbox = new QVBoxLayout(); QVBoxLayout * vbox = new QVBoxLayout();
...@@ -735,6 +864,10 @@ void View::angularSymetry(){ ...@@ -735,6 +864,10 @@ void View::angularSymetry(){
static_cast<RenderArea *>(tabWidget->currentWidget())->angularSymetry(angle->value()); static_cast<RenderArea *>(tabWidget->currentWidget())->angularSymetry(angle->value());
} }
/**
* @brief tool box with the matrix, pole and layer menus
*
*/
void View::createToolBox() void View::createToolBox()
{ {
buttonGroup = new QButtonGroup(this); buttonGroup = new QButtonGroup(this);
...@@ -820,6 +953,10 @@ void View::createToolBox() ...@@ -820,6 +953,10 @@ void View::createToolBox()
} }
/**
* @brief create the slider tool box
* the slider allows to create parametric field and to check its value for different paramter
*/
void View::createSliderToolBox() void View::createSliderToolBox()
{ {
...@@ -867,6 +1004,11 @@ void View::createSliderToolBox() ...@@ -867,6 +1004,11 @@ void View::createSliderToolBox()
} }
/**
* @brief create all the tools bars
* the pointer tool bar (eraser, brush, arrow), the link toolbar, the pole option tool bar (source)
*
*/
void View::createToolbars() void View::createToolbars()
{ {
//! [25] //! [25]
...@@ -960,6 +1102,10 @@ void View::createToolbars() ...@@ -960,6 +1102,10 @@ void View::createToolbars()
//! [27] //! [27]
} }
/**
* @brief create the layer tool bar: all the grouplayer are listed in one menu
*
*/
void View::createLayerbars() void View::createLayerbars()
{ {
...@@ -983,6 +1129,11 @@ void View::createLayerbars() ...@@ -983,6 +1129,11 @@ void View::createLayerbars()
} }
//! [27] //! [27]
/**
* @brief pop up to change the grouplayer current viewer matrix's size and resolution
*
* @param id of the grouplayer
*/
void View::matrixSize(size_t id) void View::matrixSize(size_t id)
{ {
QDialog * d = new QDialog(); QDialog * d = new QDialog();
...@@ -1063,6 +1214,10 @@ void View::matrixSize(size_t id) ...@@ -1063,6 +1214,10 @@ void View::matrixSize(size_t id)
} }
/**
* @brief pop up to change th size of the scene i.e of the render area
*
*/
void View::sceneSize() void View::sceneSize()
{ {
QDialog * d = new QDialog(); QDialog * d = new QDialog();
...@@ -1129,6 +1284,11 @@ void View::sceneSize() ...@@ -1129,6 +1284,11 @@ void View::sceneSize()
/**
* @brief brush tool pop up
* display a slider to choose a magnitude intensity (slow, medium, fast) to attribute to vectors
*
*/
void View::colorMagnitude(){ void View::colorMagnitude(){
QDialog * d = new QDialog(); QDialog * d = new QDialog();
...@@ -1163,7 +1323,6 @@ void View::colorMagnitude(){ ...@@ -1163,7 +1323,6 @@ void View::colorMagnitude(){
QObject::connect(colorValue, &QSlider::valueChanged, this, [=] (){ QObject::connect(colorValue, &QSlider::valueChanged, this, [=] (){
changeSliderColor(colorValue); changeSliderColor(colorValue);
float v = colorValue->value();
}); });
QObject::connect(colorValue, &QSlider::valueChanged, this, [=] () { QObject::connect(colorValue, &QSlider::valueChanged, this, [=] () {
...@@ -1209,19 +1368,15 @@ void View::colorMagnitude(){ ...@@ -1209,19 +1368,15 @@ void View::colorMagnitude(){
if(result == QDialog::Accepted) if(result == QDialog::Accepted)
{ {
// handle values from d
qDebug() << "The user clicked:"
<< "color magnitude" << colorValue->value();
float v = colorValue->value();
v = v - colorValue->minimum();
qreal rv = qreal(v) / (colorValue->maximum() - colorValue->minimum());
QColor c = QColor::fromHsl(205 - 205 * rv, 200, 135);
//static_cast<RenderArea *>(tabWidget->currentWidget())->setPenColor(c);
static_cast<RenderArea *>(tabWidget->currentWidget())->setBrushIntensity(float(colorValue->value())/100.f); static_cast<RenderArea *>(tabWidget->currentWidget())->setBrushIntensity(float(colorValue->value())/100.f);
} }
} }
/**
* @brief change the color of the rbush pop up slider
*
* @param s: the style of the slider
*/
void View::changeSliderColor(QSlider *s){ void View::changeSliderColor(QSlider *s){
QColor from(250, 0, 0); QColor from(250, 0, 0);
...@@ -1234,6 +1389,10 @@ void View::changeSliderColor(QSlider *s){ ...@@ -1234,6 +1389,10 @@ void View::changeSliderColor(QSlider *s){
s->setStyleSheet(QString("QSlider::handle:vertical {background-color: %1;}").arg(c.name())); s->setStyleSheet(QString("QSlider::handle:vertical {background-color: %1;}").arg(c.name()));
} }
/**
* @brief add a new groulayer to the group layer menu
*
*/
void View::addLayer() void View::addLayer()
{ {
QDialog * d = new QDialog(); QDialog * d = new QDialog();
...@@ -1312,6 +1471,10 @@ void View::addLayer() ...@@ -1312,6 +1471,10 @@ void View::addLayer()
//! [10] //! [10]
//! [11] //! [11]
/**
* @brief
*
*/
void View::about() void View::about()
//! [11] //! [12] //! [11] //! [12]
{ {
...@@ -1331,6 +1494,10 @@ void View::about() ...@@ -1331,6 +1494,10 @@ void View::about()
//! [12] //! [12]
//! [13] //! [13]
/**
* @brief create all the actions
*
*/
void View::createActions() void View::createActions()
//! [13] //! [14] //! [13] //! [14]
{ {
...@@ -1367,11 +1534,11 @@ void View::createActions() ...@@ -1367,11 +1534,11 @@ void View::createActions()
connect(saveAct, &QAction::triggered, [this, expended] {save(expended);}); connect(saveAct, &QAction::triggered, [this, expended] {save(expended);});
poleAct = new QAction(tr("Pole"), this); poleAct = new QAction(tr("Pole"), this);
connect(poleAct, &QAction::triggered, this, &View::on_actionPole_triggered); connect(poleAct, &QAction::triggered, this, &View::makeSource);
sourceAct = new QAction(tr("Source"), this); sourceAct = new QAction(tr("Source"), this);
connect(poleAct, &QAction::triggered, this, &View::on_actionAgent_triggered); connect(poleAct, &QAction::triggered, this, &View::makeSource);
exitAct = new QAction(tr("E&xit"), this); exitAct = new QAction(tr("E&xit"), this);
exitAct->setShortcuts(QKeySequence::Quit); exitAct->setShortcuts(QKeySequence::Quit);
...@@ -1466,6 +1633,10 @@ void View::createActions() ...@@ -1466,6 +1633,10 @@ void View::createActions()
//! [15] //! [15]
/**
* @brief create all the menus
*
*/
void View::createMenus() void View::createMenus()
//! [15] //! [16] //! [15] //! [16]
{ {
...@@ -1541,6 +1712,11 @@ void View::createMenus() ...@@ -1541,6 +1712,11 @@ void View::createMenus()
//! [16] //! [16]
//! [17] //! [17]
/**
* @brief if the field was modified after last saved, asked if user wants to save it before closing the window
*
* @return bool return if the user still wants to close the window or not
*/
bool View::maybeSave() bool View::maybeSave()
//! [17] //! [18] //! [17] //! [18]
{ {
...@@ -1564,6 +1740,13 @@ bool View::maybeSave() ...@@ -1564,6 +1740,13 @@ bool View::maybeSave()
//! [18] //! [18]
//! [19] //! [19]
/**
* @brief save the field as a txt file
*
* @param fileFormat file format
* @param isExtended if we choose the path of the file "save as.." or if we use the previous name of the file "save"
* @return bool
*/
bool View::saveFile(const QByteArray &fileFormat, bool isExtended) bool View::saveFile(const QByteArray &fileFormat, bool isExtended)
//! [19] //! [20] //! [19] //! [20]
{ {
...@@ -1616,6 +1799,11 @@ bool View::saveFile(const QByteArray &fileFormat, bool isExtended) ...@@ -1616,6 +1799,11 @@ bool View::saveFile(const QByteArray &fileFormat, bool isExtended)
} }
//! [20] //! [20]
/**
* @brief activated when the button "generate" of the matrix menu is clicked
* generate the matrix
*
*/
void View::on_pushButtonMatrix_clicked() void View::on_pushButtonMatrix_clicked()
{ {
//static_cast<RenderArea *>(tabWidget->currentWidget())->generateMatrixFromFile(); //static_cast<RenderArea *>(tabWidget->currentWidget())->generateMatrixFromFile();
...@@ -1636,6 +1824,11 @@ void View::on_pushButtonMatrix_clicked() ...@@ -1636,6 +1824,11 @@ void View::on_pushButtonMatrix_clicked()
} }
} }
/**
* @brief save the field
*
* @return bool
*/
bool View::saveSimple() bool View::saveSimple()
//! [19] //! [20] //! [19] //! [20]
{ {
...@@ -1686,42 +1879,22 @@ bool View::saveSimple() ...@@ -1686,42 +1879,22 @@ bool View::saveSimple()
} }
void View::on_actionLine_triggered()
{
static_cast<RenderArea *>(tabWidget->currentWidget())->setLineOn(true);
static_cast<RenderArea *>(tabWidget->currentWidget())->setCurveOn(false);
static_cast<RenderArea *>(tabWidget->currentWidget())->setAgentPlacement(false);
}
void View::on_actionCurve_triggered()
{
static_cast<RenderArea *>(tabWidget->currentWidget())->setCurveOn(true);
static_cast<RenderArea *>(tabWidget->currentWidget())->setLineOn(false);
static_cast<RenderArea *>(tabWidget->currentWidget())->setAgentPlacement(false);
}
void View::on_actionAgent_triggered()
{
static_cast<RenderArea *>(tabWidget->currentWidget())->setAgentPlacement(true);
static_cast<RenderArea *>(tabWidget->currentWidget())->setLineOn(false);
static_cast<RenderArea *>(tabWidget->currentWidget())->setCurveOn(false);
static_cast<RenderArea *>(tabWidget->currentWidget())->setPole(false);
}
void View::on_actionPole_triggered(){
static_cast<RenderArea *>(tabWidget->currentWidget())->setPole(true);
static_cast<RenderArea *>(tabWidget->currentWidget())->setAgentPlacement(false);
static_cast<RenderArea *>(tabWidget->currentWidget())->setLineOn(false);
static_cast<RenderArea *>(tabWidget->currentWidget())->setCurveOn(false);
}
/**
* @brief
*
*/
void View::on_agentRadButt_clicked() void View::on_agentRadButt_clicked()
{ {
static_cast<RenderArea *>(tabWidget->currentWidget())->setType(1); static_cast<RenderArea *>(tabWidget->currentWidget())->setType(1);
} }
/**
* @brief
*
*/
void View::on_obstacleRadButt_clicked() void View::on_obstacleRadButt_clicked()
{ {
static_cast<RenderArea *>(tabWidget->currentWidget())->setType(2); static_cast<RenderArea *>(tabWidget->currentWidget())->setType(2);
...@@ -1729,21 +1902,37 @@ void View::on_obstacleRadButt_clicked() ...@@ -1729,21 +1902,37 @@ void View::on_obstacleRadButt_clicked()
} }
/**
* @brief
*
*/
void View::on_rotationButton_clicked() void View::on_rotationButton_clicked()
{ {
static_cast<RenderArea *>(tabWidget->currentWidget())->setRotation(!static_cast<RenderArea *>(tabWidget->currentWidget())->getRotation()); static_cast<RenderArea *>(tabWidget->currentWidget())->setRotation(!static_cast<RenderArea *>(tabWidget->currentWidget())->getRotation());
} }
/**
* @brief
*
*/
void View::on_translationButton_clicked() void View::on_translationButton_clicked()
{ {
static_cast<RenderArea *>(tabWidget->currentWidget())->setTranslation(!static_cast<RenderArea *>(tabWidget->currentWidget())->getTranslation()); static_cast<RenderArea *>(tabWidget->currentWidget())->setTranslation(!static_cast<RenderArea *>(tabWidget->currentWidget())->getTranslation());
} }
/**
* @brief
*
*/
void View::on_scaleButton_clicked() void View::on_scaleButton_clicked()
{ {
static_cast<RenderArea *>(tabWidget->currentWidget())->setScaling(!static_cast<RenderArea *>(tabWidget->currentWidget())->getScaling()); static_cast<RenderArea *>(tabWidget->currentWidget())->setScaling(!static_cast<RenderArea *>(tabWidget->currentWidget())->getScaling());
} }
/**
* @brief on the slider menu if the button "add or remover key frame" is clicked
* make the layergroup parametric, add a key frame for this parameter or remove it if already there.
*/
void View::on_paramButton_clilcked(){ void View::on_paramButton_clilcked(){
LayerViewer *layer =new LayerViewer(*static_cast<RenderArea *>(tabWidget->currentWidget())->getLayers()[static_cast<RenderArea *>(tabWidget->currentWidget())->getLayerID()]->getCurrentLayer()); LayerViewer *layer =new LayerViewer(*static_cast<RenderArea *>(tabWidget->currentWidget())->getLayers()[static_cast<RenderArea *>(tabWidget->currentWidget())->getLayerID()]->getCurrentLayer());
if(static_cast<RenderArea *>(tabWidget->currentWidget())->getLayers()[static_cast<RenderArea *>(tabWidget->currentWidget())->getLayerID()]->getInteractionFields().count(static_cast<RenderArea *>(tabWidget->currentWidget())->getLayers()[static_cast<RenderArea *>(tabWidget->currentWidget())->getLayerID()]->getParameter())){ if(static_cast<RenderArea *>(tabWidget->currentWidget())->getLayers()[static_cast<RenderArea *>(tabWidget->currentWidget())->getLayerID()]->getInteractionFields().count(static_cast<RenderArea *>(tabWidget->currentWidget())->getLayers()[static_cast<RenderArea *>(tabWidget->currentWidget())->getLayerID()]->getParameter())){
...@@ -1781,6 +1970,10 @@ void View::on_paramButton_clilcked(){ ...@@ -1781,6 +1970,10 @@ void View::on_paramButton_clilcked(){
} }
/**
* @brief activated when the parametric slider changes its value
* when value changes, thedisplayer layerviewer must changed and the resulting vector matrix is the interpolated matrix of the surrounding keyframes matrix
*/
void View::sliderValueChange(){ void View::sliderValueChange(){
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment