TinkerCell Core 1.0
TinkerCell's Core library providing all basic functionalities
Classes | Typedefs | Functions | Variables
Tinkercell Namespace Reference

Classes

class  PopupListWidgetDelegateDialog
 dialog for list widget More...
class  PopupListWidgetDelegate
 delegate used inside the SimpleInputWindow More...
class  AbstractInputWindow
 Classes that inherit from this class can be used as GUI windows that provide interface to C programs (library files). More...
class  SimpleInputWindow
 Used to create an input window that can receive user inputs for C plugins. More...
class  Core_FtoS
 Function to Signal converter for MainWindow. More...
class  C_API_Slots
 A set of slots that are called by C libraries. More...
class  CodeEditor
class  LineNumberArea
class  ArrowHeadItem
 A node graphics item that is used to draw arrow heads on connection items. More...
class  ConnectionGraphicsItem
 A graphics nodes item that draws connection between two or more nodes and the arrow heads at the ends. More...
class  CommandTextEdit
 A command-line type text box that other tools can use for scripting interface. More...
class  ConsoleWindow
 Used to create an output window that can display outputs. More...
class  ControlPoint
 A simple circle or square that is used for changing specific locations. More...
class  CThread
 This class is used to run specific functions inside a C dynamic library as a separate thread. The class can be used to load a library or just run a specific function inside an already loaded library. If the library is loaded by this class, the library will be unloaded upon completion on the function. To prevent the automatic unloading, use the setAutoUnload option. Only four types of functions are supported. More...
class  ProcessThread
 This class is used to run a process (command + args) as a separate thread as a separate thread. More...
class  DataTable
 DataTable is a 2D vector with row names and column names. More...
class  ChangeDataCommand
 This template class allows undo and redo of a change made to a data table. More...
class  Change2DataCommand
 Changes two different data tables. More...
class  GlobalSettings
 This class stores global variables such as project names, enables/disabled feature, etc. Use the following static bools to enable or disable features: ENABLE_HISTORY_WINDOW ENABLE_CONSOLE_WINDOW ENABLE_GRAPHING_TOOLS ENABLE_CODING_TOOLS ENABLE_ALIGNMENT_MENU ENABLE_COLOR_TOOLBAR ENABLE_ZOOM_TOOLBAR ENABLE_TEXT_TOOLBAR ENABLE_PYTHON ENABLE_RUBY ENABLE_OCTAVE ENABLE_LOADSAVE_TOOL. More...
class  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  GraphicsView
 GraphicsView class that is used to view the contents of a GraphicsScene. The class inherits from QGraphicsView. More...
class  HistoryWindow
 This is a small class extending QUndoView that manages a stack of undo commands. More...
class  Unit
 A unit of measurement. More...
class  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  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  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  ItemData
 This class is used to store information about nodes or connections. It contains a hashtable of data tables, which is used by different tools to store specific data. The versions queue can be used to keep previous versions of the data. More...
class  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  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  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  DroppableTabWidget
class  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  MultithreadedSliderWidget
 This class is used to run specific functions inside a C dynamic library as a separate thread. Uses CThread to call the C functions. More...
class  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  NetworkWindow
class  NodeGraphicsItem
 A simple figure made from one or more polygons. The class can be represented in an XML file. More...
class  Ontology
 A set of node and connection families. All functions are static. More...
class  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  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  TextUndoCommand
 this command performs a text change More...
class  TextGraphicsItem
 editable text item More...
class  Tool
 everything other than the main window is a tool More...
class  ToolGraphicsItem
 tools that are drawn on the scene instead of displayed as a window More...
class  InsertHandlesCommand
 this command inserts new handles to a NetworkHandle More...
class  RemoveHandlesCommand
 this command inserts new handles to a NetworkHandle More...
class  MoveCommand
 this command performs a move and allows redo/undo of that move More...
class  InsertGraphicsCommand
 this command performs an insert and allows redo/undo of that insert More...
class  RemoveGraphicsCommand
 this command performs an removal and allows redo/undo of that removal More...
class  ChangeBrushCommand
 this command changes the brush of an item More...
class  ChangePenCommand
 this command changes the pen of an item More...
class  ChangeBrushAndPenCommand
 this command changes the pen and/or brush of an item More...
class  ChangeZCommand
 this command changes the pen of an item More...
class  TransformCommand
 this command changes the size, angle, and orientation of an item More...
class  ChangeParentCommand
 this command changes the parent of a graphics item (not handles) More...
class  RenameCommand
 this command changes the name of the handle of an item. important: use full name of the items! More...
class  CompositeCommand
 this command can be used to combine multiple commands into one command More...
class  ReverseUndoCommand
 this command can be used to invert another undo command (i.e. flip the redo/undo) More...
class  ReplaceNodeGraphicsCommand
 this command can be used to replace the graphical representation of a node from an xml file More...
class  AssignHandleCommand
 this command assigns handles to items More...
class  MergeHandlesCommand
 this command places all the graphics items inside one handle into the other More...
class  SetParentHandleCommand
 this command assigns parent(s) to one or more handles More...
class  SetGraphicsSceneVisibilityCommand
 this command is used to hide graphics items. Hidden graphics items will be part (unless their handles are also hidden) of the network but not visible on the screen. More...
class  SetHandleFamilyCommand
 this command is used to hide graphics items. Hidden graphics items will be part (unless their handles are also hidden) of the network but not visible on the screen. More...
class  AddControlPointCommand
 An command that adds a new control point to a connection item; it has undo and redo functionality. More...
class  RemoveControlPointCommand
 A command that removed control points. Allows undo and redo. More...
class  AddCurveSegmentCommand
 An command that adds a new control point to a connection item; it has undo and redo functionality. More...
class  RemoveCurveSegmentCommand
 A command that removed control points. Allows undo and redo. More...
class  ReplaceConnectedNodeCommand
 this command replaces one node item in a connection item with another More...
class  LineTypeChanged
 command for changing line type of connections More...
class  ChangeArrowHeadDistance
 command for changing distance between arrowhead and objects More...

Typedefs

typedef void(* main_api_func )(tc_items(*tc_allItems0)(), tc_items(*tc_selectedItems0)(), tc_items(*tc_itemsOfFamily0)(const char *), tc_items(*tc_itemsOfFamily1)(const char *, tc_items), long(*tc_find0)(const char *), tc_items(*tc_findItems0)(tc_strings), tc_items(*tc_findItemsUsingRegex0)(const char *), void(*tc_select0)(long), void(*tc_deselect0)(), const char *(*tc_getName0)(long), const char *(*tc_getUniqueName0)(long), void(*tc_setName0)(long item, const char *name), tc_strings(*tc_getNames0)(tc_items), tc_strings(*tc_getUniqueNames0)(tc_items), const char *(*tc_getFamily0)(long), int(*tc_isA0)(long, const char *), void(*tc_clearText)(), void(*tc_outputText0)(const char *), void(*tc_errorReport0)(const char *), void(*tc_outputTable0)(tc_matrix), void(*tc_printFile0)(const char *), void(*tc_removeItem0)(long), long(*tc_insertItem0)(const char *, const char *), long(*insertConnection)(tc_items, const char *, const char *), tc_items(*getConnectedNodes)(long), tc_items(*getConnections)(long), double(*tc_getY0)(long), double(*tc_getX0)(long), tc_matrix(*tc_getPos0)(tc_items), void(*tc_setPos0)(long, double, double), void(*tc_setPos1)(tc_items, tc_matrix), void(*tc_moveSelected0)(double, double), int(*tc_isWindows0)(), int(*tc_isMac0)(), int(*tc_isLinux0)(), const char *(*tc_appDir0)(), const char *(*tc_homeDir0)(), void(*tc_createInputWindow0)(tc_matrix, const char *, const char *), void(*tc_createInputWindow1)(long, tc_matrix, const char *, void(*f)(tc_matrix)), void(*createSliders)(long, tc_matrix, void(*f)(tc_matrix)), void(*tc_addInputWindowOptions0)(const char *, int i, int j, tc_strings), void(*tc_addInputWindowCheckbox0)(const char *, int i, int j), void(*tc_openNewWindow0)(const char *title), tc_items(*tc_getChildren0)(long), long(*tc_getParent0)(long), tc_matrix(*tc_getNumericalData0)(long, const char *), void(*tc_setNumericalData0)(long, const char *, tc_matrix), tc_table(*tc_getTextData0)(long, const char *), void(*tc_setTextData0)(long, const char *, tc_table), tc_strings(*tc_getNumericalDataNames0)(long), tc_strings(*tc_getTextDataNames0)(long), void(*tc_zoom0)(double factor), void(*tc_viewWindow0)(const char *), const char *(*getString)(const char *), int(*getSelectedString)(const char *, tc_strings, const char *), double(*getNumber)(const char *), tc_matrix(*getNumbers)(tc_strings), const char *(*getFilename)(), int(*askQuestion)(const char *), void(*messageDialog)(const char *), void(*openFile)(const char *), void(*saveToFile)(const char *), void(*setSize)(long, double, double, int), double(*getWidth)(long), double(*getHeight)(long), void(*setAngle)(long, double, int), const char *(*getColor)(long), void(*setColor)(long, const char *, int), void(*changeGraphics)(long, const char *), void(*changeArrowHead)(long, const char *), void(*screenshot)(const char *, int, int), int(*screenWidth)(), int(*screenHeight)(), int(*screenX)(), int(*screenY)(), const char *(*annotations)(), void(*insertAnno)(const char *, double, double), void(*setNumericalValues)(tc_matrix), void(*setNumericalValue)(const char *, double), void(*setTextValues)(tc_table), void(*setTextValue)(const char *, const char *), double(*getNumericalValue)(const char *), const char *(*getTextValue)(const char *), tc_matrix(*getNumericalValueRegexp)(const char *), tc_table(*getTextValueRegexp)(const char *), void(*openUrl)(const char *), double(*getControlPointX)(long, long, int), double(*getControlPointY)(long, long, int), void(*setControlPoint)(long, long, int, double, double), void(*setCenterPoint)(long, double, double), double(*getCenterPointX)(long), double(*getCenterPointY)(long), void(*setStraight)(long, int), void(*setAllStraight)(int), void(*setLineWidth)(long, double, int))
typedef void(* MatrixInputFunction )(tc_matrix)
typedef void(* TinkercellCEntryFunction )()
typedef void(* VoidFunction )()
typedef void(* IntFunction )(int)
typedef void(* DoubleFunction )(double)
typedef void(* CharFunction )(const char *)
typedef void(* MatrixFunction )(tc_matrix)
typedef void(* cthread_api_initialize )(long cthread, void(*callback)(long, void(*f)(void)), void(*callWhenExiting)(long, void(*f)(void)), void(*showProgress)(long, const char *, int))
typedef DataTable< QString > TextDataTable
 a numerical data table
typedef DataTable< qreal > NumericalDataTable
 a numerical data table
typedef ChangeDataCommand
< QString > 
ChangeTextDataCommand
 this command is used to replace text data inside a handle
typedef ChangeDataCommand< qreal > ChangeNumericalDataCommand
 this command is used to replace numerical data inside a handle

Functions

QGraphicsItem * getGraphicsItem (QGraphicsItem *item)
 gets the parent of this item that is a node, text, connection, or control point
QGraphicsItem * cloneGraphicsItem (QGraphicsItem *item)
 Clone a graphics item. The item handle will NOT be duplicated.
QList< QGraphicsItem * > cloneGraphicsItems (QList< QGraphicsItem * > &items, QList< ItemHandle * > &newHandles, bool deep=true)
 Clone a list of graphics items.
QList< ItemHandle * > cloneHandles (const QList< ItemHandle * > &)
 clone given handles
QPointF pointOnEdge (const QRectF &rect0, const QPointF &p1, qreal dist, bool straight)
 gets the point on the edge of the rect such that it is in the same line as the center of the rect and the point (arg)
QPointF pointOnEdge (const NodeGraphicsItem &node, const QPointF &pt, qreal dist, bool straight)
 gets the point on the edge of the shape such that it is in the same line as the center of the rect and the point (arg)
tc_matrix emptyMatrix ()
 construct a tc_matrix with 0 rows and columns
ItemHandleConvertValue (long)
 convert void* to ItemHandle pointer
long ConvertValue (ItemHandle *)
 convert ItemHandle pointer to void *
QList< ItemHandle * > * ConvertValue (tc_items)
 convert tc_items to QList of ItemHandle pointers
tc_items ConvertValue (const QList< ItemHandle * > &)
 convert QList of ItemHandle pointers to tc_items
QString ConvertValue (const char *)
 convert char* to QString
const char * ConvertValue (const QString &)
 convert QString to null-terminated char*
DataTable< qreal > * ConvertValue (tc_matrix)
 convert matrix to datatable<double> (see DataTable.h and TC_structs.h)
tc_matrix ConvertValue (const DataTable< qreal > &)
 convert Datatable<double> to tc_matrix (see DataTable.h and TC_structs.h)
DataTable< QString > * ConvertValue (tc_table)
 convert tc_table to DataTable of QString
tc_table ConvertValue (const DataTable< QString > &)
 convert DataTable of QStrings to tc_table
QStringList ConvertValue (tc_strings)
 convert tc_strings to QStringList
tc_strings ConvertValue (const QStringList &)
 convert QStringList to tc_strings
QString RemoveDisallowedCharactersFromName (const QString &)
 This function replaces disallowed characters in a name string.
ItemHandlegetHandle (QGraphicsItem *)
 get the handle from a graphics item
QList< ItemHandle * > getHandle (const QList< QGraphicsItem * > &, bool includeNull=true)
 get the handles from graphics items
void setHandle (QGraphicsItem *, ItemHandle *)
 set the handle of a graphics item (use 0 to remove handle)

Variables

class TINKERCELLCOREEXPORT SetHandleFamilyCommand

Typedef Documentation

typedef void(* Tinkercell::CharFunction)(const char *)

Definition at line 114 of file CThread.cpp.

typedef void(* Tinkercell::cthread_api_initialize)(long cthread, void(*callback)(long, void(*f)(void)), void(*callWhenExiting)(long, void(*f)(void)), void(*showProgress)(long, const char *, int))

Definition at line 178 of file CThread.cpp.

typedef void(* Tinkercell::DoubleFunction)(double)

Definition at line 112 of file CThread.cpp.

typedef void(* Tinkercell::IntFunction)(int)

Definition at line 110 of file CThread.cpp.

typedef void(* Tinkercell::main_api_func)(tc_items(*tc_allItems0)(), tc_items(*tc_selectedItems0)(), tc_items(*tc_itemsOfFamily0)(const char *), tc_items(*tc_itemsOfFamily1)(const char *, tc_items), long(*tc_find0)(const char *), tc_items(*tc_findItems0)(tc_strings), tc_items(*tc_findItemsUsingRegex0)(const char *), void(*tc_select0)(long), void(*tc_deselect0)(), const char *(*tc_getName0)(long), const char *(*tc_getUniqueName0)(long), void(*tc_setName0)(long item, const char *name), tc_strings(*tc_getNames0)(tc_items), tc_strings(*tc_getUniqueNames0)(tc_items), const char *(*tc_getFamily0)(long), int(*tc_isA0)(long, const char *), void(*tc_clearText)(), void(*tc_outputText0)(const char *), void(*tc_errorReport0)(const char *), void(*tc_outputTable0)(tc_matrix), void(*tc_printFile0)(const char *), void(*tc_removeItem0)(long), long(*tc_insertItem0)(const char *, const char *), long(*insertConnection)(tc_items, const char *, const char *), tc_items(*getConnectedNodes)(long), tc_items(*getConnections)(long), double(*tc_getY0)(long), double(*tc_getX0)(long), tc_matrix(*tc_getPos0)(tc_items), void(*tc_setPos0)(long, double, double), void(*tc_setPos1)(tc_items, tc_matrix), void(*tc_moveSelected0)(double, double), int(*tc_isWindows0)(), int(*tc_isMac0)(), int(*tc_isLinux0)(), const char *(*tc_appDir0)(), const char *(*tc_homeDir0)(), void(*tc_createInputWindow0)(tc_matrix, const char *, const char *), void(*tc_createInputWindow1)(long, tc_matrix, const char *, void(*f)(tc_matrix)), void(*createSliders)(long, tc_matrix, void(*f)(tc_matrix)), void(*tc_addInputWindowOptions0)(const char *, int i, int j, tc_strings), void(*tc_addInputWindowCheckbox0)(const char *, int i, int j), void(*tc_openNewWindow0)(const char *title), tc_items(*tc_getChildren0)(long), long(*tc_getParent0)(long), tc_matrix(*tc_getNumericalData0)(long, const char *), void(*tc_setNumericalData0)(long, const char *, tc_matrix), tc_table(*tc_getTextData0)(long, const char *), void(*tc_setTextData0)(long, const char *, tc_table), tc_strings(*tc_getNumericalDataNames0)(long), tc_strings(*tc_getTextDataNames0)(long), void(*tc_zoom0)(double factor), void(*tc_viewWindow0)(const char *), const char *(*getString)(const char *), int(*getSelectedString)(const char *, tc_strings, const char *), double(*getNumber)(const char *), tc_matrix(*getNumbers)(tc_strings), const char *(*getFilename)(), int(*askQuestion)(const char *), void(*messageDialog)(const char *), void(*openFile)(const char *), void(*saveToFile)(const char *), void(*setSize)(long, double, double, int), double(*getWidth)(long), double(*getHeight)(long), void(*setAngle)(long, double, int), const char *(*getColor)(long), void(*setColor)(long, const char *, int), void(*changeGraphics)(long, const char *), void(*changeArrowHead)(long, const char *), void(*screenshot)(const char *, int, int), int(*screenWidth)(), int(*screenHeight)(), int(*screenX)(), int(*screenY)(), const char *(*annotations)(), void(*insertAnno)(const char *, double, double), void(*setNumericalValues)(tc_matrix), void(*setNumericalValue)(const char *, double), void(*setTextValues)(tc_table), void(*setTextValue)(const char *, const char *), double(*getNumericalValue)(const char *), const char *(*getTextValue)(const char *), tc_matrix(*getNumericalValueRegexp)(const char *), tc_table(*getTextValueRegexp)(const char *), void(*openUrl)(const char *), double(*getControlPointX)(long, long, int), double(*getControlPointY)(long, long, int), void(*setControlPoint)(long, long, int, double, double), void(*setCenterPoint)(long, double, double), double(*getCenterPointX)(long), double(*getCenterPointY)(long), void(*setStraight)(long, int), void(*setAllStraight)(int), void(*setLineWidth)(long, double, int))

Definition at line 60 of file C_API_Slots.cpp.

typedef void(* Tinkercell::MatrixFunction)(tc_matrix)

Definition at line 116 of file CThread.cpp.

typedef void(* Tinkercell::MatrixInputFunction)(tc_matrix)

Definition at line 42 of file C_API_Slots.h.

Definition at line 33 of file CThread.cpp.

typedef void(* Tinkercell::VoidFunction)()

Definition at line 108 of file CThread.cpp.


Function Documentation

TINKERCELLCOREEXPORT QList< ItemHandle * > Tinkercell::cloneHandles ( const QList< ItemHandle * > &  )

clone given handles

Parameters:
QList<ItemHandle*>items to clone
Returns:
QList<ItemHandle*> clones

Definition at line 308 of file CloneItems.cpp.

Here is the call graph for this function:


Variable Documentation

class TINKERCELLCOREEXPORT Tinkercell::SetHandleFamilyCommand

Definition at line 617 of file UndoCommands.h.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines