TinkerCell Core 1.0
TinkerCell's Core library providing all basic functionalities
Classes | Typedefs | Functions
TinkerCell Core classes

The main classes that are responsible for managing the GUI and the model structure. More...

Classes

class  Tinkercell::ArrowHeadItem
 A node graphics item that is used to draw arrow heads on connection items. More...
class  Tinkercell::ConnectionGraphicsItem
 A graphics nodes item that draws connection between two or more nodes and the arrow heads at the ends. More...
class  Tinkercell::ConnectionGraphicsItem::ControlPoint
 A control point with a pointer to a ConnectionGraphicsItem. More...
class  Tinkercell::ConnectionGraphicsItem::CurveSegment
 A set of control points and two arrow heads. More...
class  Tinkercell::ProcessThread
 This class is used to run a process (command + args) as a separate thread as a separate thread. More...
class  Tinkercell::DataTable< T >
 DataTable is a 2D vector with row names and column names. More...
class  Tinkercell::GraphicsScene
 The primary task of the graphics scene is to draws items. All interactions with the GraphicsScene is done through MainWindow or NetworkHandle. NetworkHandle provides functions such as move, insert, and remove. MainWindow relays all the signals, such as mouse and key events, from the GraphicsScene. So, there is rarely a need to directly interact with the GraphicsScene. More...
class  Tinkercell::GraphicsView
 GraphicsView class that is used to view the contents of a GraphicsScene. The class inherits from QGraphicsView. More...
class  Tinkercell::Unit
 A unit of measurement. More...
class  Tinkercell::ItemFamily
 This class defines the family of a node or connection. The class contains the icon for the family, family name, and minimal data that defines the family. Each family has a name, which is internally converted to an integer (ID) The ID is used to perform isA checks, thus avoiding repeated string matches. More...
class  Tinkercell::NodeFamily
 This class defines the family of a node. Inherits from ItemFamily. It contains a list of NodeGraphicsItems that is the default for this family of nodes. More...
class  Tinkercell::ConnectionFamily
 This class defines the family of a connection. Inherits from ItemFamily It contains a list ofConnectioGraphicsItems that is the default for this family of connections. More...
class  Tinkercell::ItemHandle
 The ItemHandle represents a complete object in the network, whether it is a node or a connection. The ItemHandle contains the name of the object and pointers to all the QGraphicsItems that are used to represent the object. Tools associated with the object can be stored within the ItemHandle as well. The ItemHandle can also optionally contain an ItemFamily, which can be used to distinguish different types of nodes or connections, if needed. Each ItemHandle can contain one parent. Several functions are available for convinently getting the parents and children of an ItemHandle. More...
class  Tinkercell::NodeHandle
 The handles are used to bring together data and graphics items. Node Handle contains pointers to all the graphics items that belong to it, the tools that apply to this item, the data for this item, and the family that it belongs with. More...
class  Tinkercell::ConnectionHandle
 The handles are used to bring together data and graphics items. Connection Handle contains pointers to all the graphics items that belong to it, the tools that apply to this item, the data for this item, the family that it belongs with, and pointers to nodes connected (in and out) More...
class  Tinkercell::MainWindow
 MainWindow is the parent container for all the other widgets in TinkerCell The central widget in MainWindow is a tab widget. Each tab widget can hold a GraphicsView or a TextEditor. One of the main roles of MainWindow is to serve as a signal/slot hub for Tools. More...
class  Tinkercell::NetworkHandle
 A class that is used to store a network. The network is a collection of Item Handles. The history stack is also a key component of a network. The network can either be represented as text using TextEditor or visualized with graphical items in the GraphicsScene. Each node and connection are contained in a handle, and each handle can either be represented as text or as graphics. The two main components of NetworkWindow are the SymbolsTable and HistoryStack This class provides functions for inserting items, removing items, and changing information inside the model. More...
class  Tinkercell::NodeGraphicsItem
 A simple figure made from one or more polygons. The class can be represented in an XML file. More...
class  Tinkercell::NodeGraphicsItem::Shape
 A closed polygon path made from arcs, lines, and beziers. More...
class  Tinkercell::Ontology
 A set of node and connection families. All functions are static. More...
class  Tinkercell::SymbolsTable
 The symbols table is updated every time the scene or text editor changes. The symbols table contains the list of item names and ItemHandle pointers as well as names and pointers to each data entry in each item. More...
class  Tinkercell::TextEditor
 This is the window that allows used to construct networks using text, as opposed to graphics, which is done by GraphicsScene. The TextEditor requires a supporting tool that parses the text and calls the itemsInserted or itemsRemoved methods. Without a supporting parser tool, the TextEditor will not do anything. More...
class  Tinkercell::TextGraphicsItem
 editable text item More...
class  Tinkercell::Tool
 everything other than the main window is a tool More...
class  Tinkercell::ToolGraphicsItem
 tools that are drawn on the scene instead of displayed as a window More...

Typedefs

typedef DataTable< QString > Tinkercell::TextDataTable
 a numerical data table
typedef DataTable< qreal > Tinkercell::NumericalDataTable
 a numerical data table

Functions

QGraphicsItem * Tinkercell::getGraphicsItem (QGraphicsItem *item)
 gets the parent of this item that is a node, text, connection, or control point
QGraphicsItem * Tinkercell::cloneGraphicsItem (QGraphicsItem *item)
 Clone a graphics item. The item handle will NOT be duplicated.
QList< QGraphicsItem * > Tinkercell::cloneGraphicsItems (QList< QGraphicsItem * > &items, QList< ItemHandle * > &newHandles, bool deep=true)
 Clone a list of graphics items.
ItemHandle * Tinkercell::getHandle (QGraphicsItem *)
 get the handle from a graphics item
QList< ItemHandle * > Tinkercell::getHandle (const QList< QGraphicsItem * > &, bool includeNull=true)
 get the handles from graphics items
void Tinkercell::setHandle (QGraphicsItem *, ItemHandle *)
 set the handle of a graphics item (use 0 to remove handle)

Detailed Description

The main classes that are responsible for managing the GUI and the model structure.


Typedef Documentation

typedef DataTable<qreal> Tinkercell::NumericalDataTable

a numerical data table

Definition at line 1337 of file DataTable.h.

typedef DataTable<QString> Tinkercell::TextDataTable

a numerical data table

Definition at line 1332 of file DataTable.h.


Function Documentation

TINKERCELLCOREEXPORT QGraphicsItem * Tinkercell::cloneGraphicsItem ( QGraphicsItem *  item)

Clone a graphics item. The item handle will NOT be duplicated.

Parameters:
QGraphicsItem* a pointer to a QGraphicsItem
Returns:
QGraphicsItem * a QGraphicsItem that is clone of the argument

Definition at line 68 of file CloneItems.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

TINKERCELLCOREEXPORT QList< QGraphicsItem * > Tinkercell::cloneGraphicsItems ( QList< QGraphicsItem * > &  items,
QList< ItemHandle * > &  newHandles,
bool  deep = true 
)

Clone a list of graphics items.

Parameters:
QList<QGraphicsItem*>a list of pointers to a QGraphicsItems
QList<ItemHandle*>return value: returns all the new handles here
boolduplicate the handles as well (default = true).
Returns:
QList<QGraphicsItem*> a new list of QGraphicsItems that are clones of the corresponding argument

Definition at line 115 of file CloneItems.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

TINKERCELLCOREEXPORT QGraphicsItem * Tinkercell::getGraphicsItem ( QGraphicsItem *  item)

gets the parent of this item that is a node, text, connection, or control point

Parameters:
QGraphicsItem* Qt graphics item
Returns:
QGraphicsItem * node, connection, text, or control point

Definition at line 17 of file CloneItems.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

TINKERCELLCOREEXPORT ItemHandle * Tinkercell::getHandle ( QGraphicsItem *  )

get the handle from a graphics item

Parameters:
QGraphicsItem*graphics item
Returns:
ItemHandle* item handle (0 if none)

Definition at line 43 of file ItemHandle.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

TINKERCELLCOREEXPORT QList< ItemHandle * > Tinkercell::getHandle ( const QList< QGraphicsItem * > &  ,
bool  includeNull = true 
)

get the handles from graphics items

Parameters:
QList<QGraphicsItem*>graphics item
boolinclude null handles (default=true)
Returns:
QList<ItemHandle*> item handles

Definition at line 69 of file ItemHandle.cpp.

Here is the call graph for this function:

TINKERCELLCOREEXPORT void Tinkercell::setHandle ( QGraphicsItem *  ,
ItemHandle *   
)

set the handle of a graphics item (use 0 to remove handle)

Parameters:
QGraphicsItem*graphics item
ItemHandle*handle (use 0 to remove handle)

Definition at line 82 of file ItemHandle.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines