We have moved to https://dokuwiki.librecad.org/

Lots of content was already moved to the new wiki, but there is still work to do. If you want to contribute, please register a new account at https://dokuwiki.librecad.org/

This wiki will be kept for a while to keep search engine results valid. Moved sites may be deleted here in future.

Difference between revisions of "Document Interface class"

From LibreCAD wiki
Jump to: navigation, search
(Put in Category:Developers)
 
(3 intermediate revisions by one user not shown)
Line 4: Line 4:
 
Class for communicate plugins with document (drawing).
 
Class for communicate plugins with document (drawing).
  
<p><code>#include &lt;document_interface.h&gt;</code></p>
+
<p><code>#include <document_interface.h></code></p>
  
 
<table>
 
<table>
 
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
 
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
 
<tr><td>virtual '''~Document_Interface'''()</td></tr>
 
<tr><td>virtual '''~Document_Interface'''()</td></tr>
 +
<tr><td>virtual void '''updateView''' ()=0</td><td>''Force to update the graphic view.''</td></tr>
 
<tr><td>virtual void '''addPoint''' (QPointF *start)=0</td><td>''Add point entity to current document.''</td></tr>
 
<tr><td>virtual void '''addPoint''' (QPointF *start)=0</td><td>''Add point entity to current document.''</td></tr>
 
<tr><td>virtual void '''addLine''' (QPointF *start, QPointF *end)=0</td><td>''Add line entity to current document.''</td></tr>
 
<tr><td>virtual void '''addLine''' (QPointF *start, QPointF *end)=0</td><td>''Add line entity to current document.''</td></tr>
 
<tr><td>virtual void '''addText'''(QString txt, QString sty, QPointF *start, double height, double angle, DPI::HAlign ha, DPI::VAlign va)=0</td>
 
<tr><td>virtual void '''addText'''(QString txt, QString sty, QPointF *start, double height, double angle, DPI::HAlign ha, DPI::VAlign va)=0</td>
 
<td>''Add text entity to current document.''</td></tr>
 
<td>''Add text entity to current document.''</td></tr>
 +
<tr><td>virtual void '''addCircle''' (QPointF *start,  qreal radius)=0</td><td>''Add line entity to current document.''</td></tr>
 +
<tr><td>virtual void '''addArc''' (QPointF *start,  qreal radius, qreal a1, qreal a2)=0</td><td>''Add arc entity to current document.''</td></tr>
 +
<tr><td>virtual void '''addEllipse''' (QPointF *start,  QPointF *end, qreal ratio, qreal a1, qreal a2)=0</td><td>''Add ellipse entity to current document.''</td></tr>
 +
<tr><td>virtual void '''addImage''' (int handle, QPointF *start, QPointF *uvr, QPointF *vvr, int w, int h, QString name, int br, int con, int fade)=0</td>
 +
<td>''Add image entity to current document.''</td></tr>
 
<tr><td>virtual void '''setLayer'''(QString name)=0</td><td>''Set the current layer in current document.''</td></tr>
 
<tr><td>virtual void '''setLayer'''(QString name)=0</td><td>''Set the current layer in current document.''</td></tr>
 
<tr><td>virtual QString '''getCurrentLayer'''()=0</td><td>''Get the current layer in current document.''</td></tr>
 
<tr><td>virtual QString '''getCurrentLayer'''()=0</td><td>''Get the current layer in current document.''</td></tr>
 
<tr><td>virtual bool '''getPoint'''(QPointF *point, const QString &mesage="", QPointF *base=0)=0</td><td>''Gets a point.''</td></tr>
 
<tr><td>virtual bool '''getPoint'''(QPointF *point, const QString &mesage="", QPointF *base=0)=0</td><td>''Gets a point.''</td></tr>
 
<tr><td>virtual [[Plug_Entity_class|Plug_Entity]]* '''getEnt''' (const QString &amp;mesage=&quot;&quot;)=0</td><td>''Select a entity.''</td></tr>
 
<tr><td>virtual [[Plug_Entity_class|Plug_Entity]]* '''getEnt''' (const QString &amp;mesage=&quot;&quot;)=0</td><td>''Select a entity.''</td></tr>
<tr><td>virtual QList< [[Plug_Entity_class|Plug_Entity]]* > '''getSelect''' (const QString &amp;mesage=&quot;&quot;)=0</td><td>''Gets a entities selection.''</td></tr>
+
<tr><td>virtual bool '''getSelect''' (QList< [[Plug_Entity_class|Plug_Entity]] *> *sel, const QString &amp;mesage=&quot;&quot;)=0</td><td>''Gets a entities selection.''</td></tr>
 
</table>
 
</table>
  
Line 27: Line 33:
 
==Member Function Documentation==
 
==Member Function Documentation==
  
virtual void Document_Interface::'''addLine'''(QPointF* ''start'', QPointF* ''end'') <code>[pure virtual]</code>
+
virtual void Document_Interface::'''updateView'''() <code>[pure virtual]</code>
  
<p>Add line entity to current document with current attributes. </p>
+
<p>Force to update the graphic view redrawing the document.</p>
'''Parameters:'''
+
  <table>
+
    <tr><td>''start''</td><td>start point coordinate. </td></tr>
+
    <tr><td>''end''</td><td>end point coordinate. </td></tr>
+
  </table>
+
  
 
----
 
----
Line 44: Line 45:
 
   <table>
 
   <table>
 
     <tr><td>''start''</td><td>start point coordinate.</td></tr>
 
     <tr><td>''start''</td><td>start point coordinate.</td></tr>
 +
  </table>
 +
 +
----
 +
 +
virtual void Document_Interface::'''addLine'''(QPointF* ''start'', QPointF* ''end'') <code>[pure virtual]</code>
 +
 +
<p>Add line entity to current document with current attributes. </p>
 +
'''Parameters:'''
 +
  <table>
 +
    <tr><td>''start''</td><td>start point coordinate. </td></tr>
 +
    <tr><td>''end''</td><td>end point coordinate. </td></tr>
 
   </table>
 
   </table>
  
Line 59: Line 71:
 
     <tr><td>''ha''</td><td>horizontal alignement of text </td></tr>
 
     <tr><td>''ha''</td><td>horizontal alignement of text </td></tr>
 
     <tr><td>''va''</td><td>vertical alignement of text </td></tr>
 
     <tr><td>''va''</td><td>vertical alignement of text </td></tr>
 +
  </table>
 +
 +
----
 +
 +
virtual void Document_Interface::'''addCircle'''(QPointF* ''start'', qreal ''radius'') <code>[pure virtual]</code>
 +
 +
<p>Add circle entity to current document with current attributes.</p>
 +
'''Parameters:'''
 +
  <table>
 +
    <tr><td>''start''</td><td>center point coordinate.</td></tr>
 +
    <tr><td>''radius''</td><td>radius for circle.</td></tr>
 
   </table>
 
   </table>
  
Line 101: Line 124:
 
----
 
----
  
virtual QList<[[Plug_Entity_class|Plug_Entity]] *> Document_Interface::'''getSelect'''(const QString& ''mesage'' = "") <code>[pure virtual]</code>
+
virtual bool Document_Interface::'''getSelect'''(QList<[[Plug_Entity_class|Plug_Entity]] *> *sel, const QString& ''mesage'' = "") <code>[pure virtual]</code>
  
 
<p>Gets a entities selection. </p>
 
<p>Gets a entities selection. </p>
Line 107: Line 130:
 
'''Parameters:'''
 
'''Parameters:'''
 
   <table>
 
   <table>
 +
    <tr><td>''sel''</td><td>a QList of poiters to [[Plug_Entity_class|Plug_Entity]] handled the selected entities.</td></tr>
 
     <tr><td>''mesage''</td><td>an optional QString with prompt message.</td></tr>
 
     <tr><td>''mesage''</td><td>an optional QString with prompt message.</td></tr>
 
   </table>
 
   </table>
  
 
'''Returns:'''
 
'''Returns:'''
a QList of poiters to [[Plug_Entity_class|Plug_Entity]] handled the selected entities or an empty QList.
+
true if succes, false if fail, i.e. user cancel.
  
 
----
 
----
Line 123: Line 147:
 
     <tr><td>''name''</td><td>a QString with the name of the layer. </td></tr>
 
     <tr><td>''name''</td><td>a QString with the name of the layer. </td></tr>
 
   </table>
 
   </table>
 +
 +
[[Category:Developers]]

Latest revision as of 18:27, 25 April 2015

Document_Interface Class Reference

Interface for comunicate plugins.

Class for communicate plugins with document (drawing).

#include <document_interface.h>

Public Member Functions

virtual ~Document_Interface()
virtual void updateView ()=0Force to update the graphic view.
virtual void addPoint (QPointF *start)=0Add point entity to current document.
virtual void addLine (QPointF *start, QPointF *end)=0Add line entity to current document.
virtual void addText(QString txt, QString sty, QPointF *start, double height, double angle, DPI::HAlign ha, DPI::VAlign va)=0 Add text entity to current document.
virtual void addCircle (QPointF *start, qreal radius)=0Add line entity to current document.
virtual void addArc (QPointF *start, qreal radius, qreal a1, qreal a2)=0Add arc entity to current document.
virtual void addEllipse (QPointF *start, QPointF *end, qreal ratio, qreal a1, qreal a2)=0Add ellipse entity to current document.
virtual void addImage (int handle, QPointF *start, QPointF *uvr, QPointF *vvr, int w, int h, QString name, int br, int con, int fade)=0 Add image entity to current document.
virtual void setLayer(QString name)=0Set the current layer in current document.
virtual QString getCurrentLayer()=0Get the current layer in current document.
virtual bool getPoint(QPointF *point, const QString &mesage="", QPointF *base=0)=0Gets a point.
virtual Plug_Entity* getEnt (const QString &mesage="")=0Select a entity.
virtual bool getSelect (QList< Plug_Entity *> *sel, const QString &mesage="")=0Gets a entities selection.


virtual Document_Interface::~Document_Interface () [inline, virtual]

Member Function Documentation

virtual void Document_Interface::updateView() <code>[pure virtual]

Force to update the graphic view redrawing the document.


virtual void Document_Interface::addPoint(QPointF* start) [pure virtual]

Add point entity to current document with current attributes.

Parameters:

startstart point coordinate.

virtual void Document_Interface::addLine(QPointF* start, QPointF* end) [pure virtual]

Add line entity to current document with current attributes.

Parameters:

startstart point coordinate.
endend point coordinate.

virtual void Document_Interface::addText (QString txt, QString sty, QPointF * start, double height, double angle, DPI::HAlign ha, DPI::VAlign va) [pure virtual]

Add text entity to current document with current attributes

Parameters:

txta QString with text content
stya QString with text style name
startinsertion point coordinate
heightheight of text
anglerotation angle of text
hahorizontal alignement of text
vavertical alignement of text

virtual void Document_Interface::addCircle(QPointF* start, qreal radius) [pure virtual]

Add circle entity to current document with current attributes.

Parameters:

startcenter point coordinate.
radiusradius for circle.

virtual QString Document_Interface::getCurrentLayer() [pure virtual]

Get the current layer in current document.

Returns: The name of the current layer.


virtual Plug_Entity* Document_Interface::getEnt(const QString& mesage = "") [pure virtual]

Prompt message or a default message to the user asking for a single selection. You can delete the Plug_Entity wen no more needed.

Parameters:

mesagean optional QString with prompt message.

Returns: a Plug_Entity handle the selected entity or NULL.


virtual bool Document_Interface::getPoint( QPointF* point, const QString& mesage = "", QPointF* base = 0) [pure virtual]

Gets a point.

Prompt message or an default message to the user asking for a point. If base is present draw a line from base to cursor position.

Parameters:

pointa pointer to QPointF to store the obtained point.
mesagean optional QString with prompt message.
basevisual helper point, if present.


Returns: false if fail, i.e. user cancel.


virtual bool Document_Interface::getSelect(QList<Plug_Entity *> *sel, const QString& mesage = "") [pure virtual]

Gets a entities selection.

Prompt message or an default message to the user asking for a selection. You can delete all, the <a href="Plug_Entity-Class-Reference" title="Wrapper for acces entities from plugins.">Plug_Entity</a> and the returned QList wen no more needed.

Parameters:

sela QList of poiters to Plug_Entity handled the selected entities.
mesagean optional QString with prompt message.

Returns: true if succes, false if fail, i.e. user cancel.


virtual void Document_Interface::setLayer (QString& name) [pure virtual]

Set the current layer in current document.

Set the current layer in current document, if not exist create it.

Parameters:

namea QString with the name of the layer.