Documentation of MARTY
A Modern ARtificial Theoretical phYsicist
Public Slots | Public Member Functions | Static Public Attributes | Protected Member Functions | Private Attributes | Static Private Attributes | Friends
Diagram Class Reference
Inheritance diagram for Diagram:
[legend]

Public Slots

void setName (QString const &t_name)
 
void setGridSize (qint32 t_gridSize)
 
void showNodes (bool)
 
void reinitGraph ()
 
void updateGraph ()
 
void nodeMoved ()
 
void setFocus (Node const *focused)
 
void resetFocus ()
 
void center ()
 
void rotateTo (int angle)
 
void moveTo (qint32 X0_new, qint32 Y0_new)
 
size_t getPosNode (Node const *node) const
 
std::pair< size_t, size_t > getPosEdge (Edge const *edge) const
 
void addNode (qreal x=0, qreal y=0)
 
void addNode (QPointF point)
 
void addEdge (size_t i, size_t j)
 
void addEdge (Node *A, Node *B)
 
ProxygenerateLabel (QString const &text) const
 
void addLabel (Proxy *label, QPointF const &pos)
 
void addNodeLabel (Node *node, QString const &text)
 
void addEdgeLabel (Edge *edge, drawer::LatexLinker::Edge const &lEdge, QString const &text)
 
void proxyDoubleClicked (Proxy *)
 
void removeEdge (Edge *edge)
 
void removeNode (size_t i)
 
void removeSelected ()
 
void removeSelectedNodes ()
 
void removeSelectedEdges ()
 
void setEdgeName (Edge const *edge, QString const &name)
 
void setNodeName (Node const *node, QString const &name)
 
void setEdgeType (Edge const *edge, drawer::ParticleType type, bool sign=true)
 
void refreshLinker ()
 
void refresh ()
 
void labelReady (std::string const &)
 

Public Member Functions

 Diagram (QGraphicsScene *t_scene, qint32 t_X0, qint32 t_Y0, DiagramRenderer *t_renderer)
 
QString getName () const
 
void setActiveWidget (DiagramWidget *t_widget)
 
InteractiveMode getInteractiveMode () const
 
void save (std::string const &fileName) const
 
void exportSelfPNG (QString const &fileName)
 
void exportPNG (std::string const &fileName) const
 
void exportPDF (std::string const &fileName) const
 
std::string getLatexSource () const
 
void loadGraph (drawer::Graph const &t_graph)
 
void loadLinker (drawer::LatexLinker const &t_link)
 
void itemMoved ()
 
void clear ()
 
void setOutputPath (std::string const &path)
 
void setFile (std::string const &t_fileName)
 
void setExportFile (std::string const &t_fileName)
 
void forceNodeOnGrid (bool value)
 
void testRoundValues (qreal &x, qreal &y)
 
void insertionMode ()
 
void normalMode ()
 
void selectionMode ()
 
void modificationDone ()
 

Static Public Attributes

static constexpr qreal scaleForGraph = 100
 

Protected Member Functions

NodebuildNode (qreal x=0, qreal y=0)
 
EdgebuildEdge (Node *first, Node *second)
 
void deleteNode (Node *&node)
 
void deleteEdge (Edge *&edge)
 
QPointF getNodeLabelPos (Node const *node, Proxy const *label) const
 
QPointF getEdgeLabelPos (Edge const *edge, drawer::LatexLinker::Edge const &lEdge, Proxy const *label) const
 
drawer::Graph getScaledGraph () const
 
void setFocusOn (size_t pos)
 
void move (qreal x, qreal y)
 
void keyPressEvent (QKeyEvent *event)
 
void keyReleaseEvent (QKeyEvent *event)
 
QPointF getCursorPos () const
 
void mouseMoveEvent (QMouseEvent *event)
 
void mousePressEvent (QMouseEvent *event)
 
void mouseReleaseEvent (QMouseEvent *event)
 
void mouseDoubleClickEvent (QMouseEvent *event)
 
void wheelEvent (QWheelEvent *event)
 

Private Attributes

DiagramRendererrenderer
 
DiagramWidgetwidget
 
drawer::Graph graph
 
latexcompilerlatexComp
 
drawer::LatexLinker link
 
Nodecursor
 
EdgedraggedEdge
 
std::vector< Node * > nodes
 
std::vector< Edge * > edges
 
QGraphicsScene * scene
 
qint32 X0
 
qint32 Y0
 
qint32 LX
 
qint32 LY
 
qint32 rotation
 
QString name
 
std::string outputPath = "."
 
std::string saveFile = defaultFileName
 
std::string exportFile = defaultFileName
 
InteractiveMode mode
 
int gridSize
 
bool nodesOnGrid
 
bool focusNode
 
bool updatingGraph
 

Static Private Attributes

static const std::string defaultFileName = "None"
 

Friends

class MainWindow
 
class MainWidget
 
class DiagramRenderer
 
class DiagramWidget
 
class Edge
 
class Node
 

The documentation for this class was generated from the following files: