Skip to end of metadata
Go to start of metadata

To make a call of a global function/constant user needs to:

  • import a module where global function/constant is defined
  • use the following syntax: ModuleName.GlobalFunction or ModuleName.GlobalConstant

Example:

String validation policies

arKItect imposes some limitations on names of objects, types, filters and some other string values. If script passes incorrect string, default behavior is to raise an exception. This can be adjusted, using the following functions:

  • GetStringValidationPolicy()
    Gets currently active string validation policy. See SetStringValidationPolicy for list of possible values.
  • SetStringValidationPolicy( policy )
    Sets current string validation policy. Argument can be on of the following:
    • pyark.SVP_STRICT - strict policy; exception is raised on invalid strings.
    • pyark.SVP_IGNORE - ignore invalid characters, no exception is raised.
    • pyark.SVP_REPLACE - replace invalid characters with "?".

Object management functions

  • GetRoot( tree_name )
    Returns the root for the specified tree. Root is an instance of ArkObjRef object. Tree is specified by the parameter tree_name which must be string. A ValueError exception is risen if a treeview folder is passed
  • GetArkObj( ark_type, obj_name )
    Returns ArkObj instance, if object with such name and type is found in project. Otherwise, returns None.
  • GetArkObjById( obj_id )
    Returns ArkObj instance by internal identifier, returned by the GetID method of ArkObj or ArkObjRef. If object with such identifier is not found, returns None.

Types management functions

  • GetArkMatrixType( name=None )
    Returns the ArkMatrixType object identified by name. If no parameter is passed, then the matrix root object is returned. If the object is not found return None.
  • GetArkAttributeType( name )
    Returns the ArkAttributeType object identified by name. If the object is not found return None.

Filters (tree views) management functions

  • GetArkTreeViewObj( name )
    Returns the ArkTreeViewObj object identified by name or None if the object is not found.
  • NewArkTreeViewObj( name, checkStatus )

    Icon

    Deprecated - use NewArkTreeViewObj() or NewArkTreeViewFolder() methods of ArkTreeViewObj instead

    Create a new ArkTreeViewObj object with the given name on the highest level of the treeview hierarchy. Set the visibility status of the all rules to checkStatus, where checkStatus is boolean.

Getting and setting current context

  • GetActiveView()
    Get currently active object and view type.
    Returns tuple: (ArkObjRef, GraphType), where ArkObjRef is a currently selected object, and GraphType is identifier of the currently active graph (same as for functions SaveViewAsImage, Get/SetGraphXml). In case there is no active view (possible in some situations), GetActiveView returns None.
  • SetActiveView( object, graphType )
    Set currently active object and view type; update window. Parameter graphType specivies type of the view, and can be one of:
    • ARK_GRAPH_INNER_VIEW: Internal block diagram.

    • ARK_GRAPH_PEER_VIEW: Relation block diagram.

    • ARK_GRAPH_MATDRAW_INNER_VIEW: Internal block diagram, shown in Matdraw view.

    • ARK_GRAPH_MATDRAW_PEER_VIEW: Relation block diagram, shown in Matdraw view

    • ARK_GRAPH_MATDRAW_VIEW: (deprecated) Current block diagram, shown in Matdraw view (inner or internal).

  • GetSelection()
    Returns list of ArkObjRef objects, corresponding the current selection, if view type is Inner or Peer. For other views, returns empty list.
  • UpdateActiveView()
    Updates currently active view. Modifications are shown in the view
  • SetActiveVariant( var )
    Argument var is an ArkVariant object.
    Note that SetActiveVariant does not updates view immediately. To update view, when script is running, use UpdateActiveView() method.
  • SetActivePhase( ph )
    Argument ph is an ArkPhase object.
    Note that SetActivePhase does not updates view immediately. To update view, when script is running, use UpdateActiveView() method.
  • GetActiveVariant()
    Returns active variant. If not found, returns None.
  • GetActivePhase()
    Returns active phase. If not found, returns None.
  • IsSnapToGrid()
    Returns True if 'snap to grid' enabled
  • GetGridParameters()
    Returns dictionary of grid parameters:

    Key

    Value type

    Explanation

    "visible"

    boolean

    True, if grid is visible

    "snap"

    boolean

    True, if snapping is enabled

    "angle_snap"

    boolean

    True, if angular (rotation) snapping is enabled

    "spacing_x"

    float

    Horizontal snapping distance

    "spacing_y"

    float

    Vertical snapping distance

    "color"

    (int, int, int)

    Grid color in the RGB format

    "show_margins"

    boolean

    True, if document margins are shown

History management functions

  • GetHistory(dateFrom, dateTo [, userNameFilter, hpIdFrom, hpIdTo])
    This function retrieves history of objects in the project. The arguments are:
    • dateFrom, dateTo - date time objects that define the part of history being retrieved. These two arguments are mandatory. In order to use date time objects, you need to import datetime module (see example below) in your script.

      Other arguments are optional, they specify additional conditions for filtering history records. All these arguments are strings.
    • userNameFilter- If specified, returns only records, related to the specified user.
    • hpIdFrom, hpIdTo - if specified, returns only records within the range

    Return value is a list of tuples, each tuple representing separate history record, as visible in the History dialog. Each tuple consists of following 11 elements: (hpId, userName, date, objectType, objectNametreeViewName, action, actionClass, historyValue, objectId, sessionId), where date is a datetime type, and other elements are strings.

    Icon

    GetHistory returns not more than 1000 latest records in the specified range. To get whole history, call GetHistory several times, setting hpidTo parameter to the hpId of the latest record.

    This is implemented in the utility function arki.utils.arkiutils.IterHistory

Example calling GetHistory:

Images management functions

  • NewArkImage(name)
    Returns new ArkImage object, referencing specified image. name must be string, identifying image in library. Use GetAllImages() global function. It is important to note that images in ArKItect are lazy-loading, i.e. actual image data are downloaded only when they are needed. Thus, call NewArkImage(url) newer fails and always returns object. To explicitly load image, use Load().
  • GetAllImages()
    Returns list of ArkImage objects, available in images library. Note that this function does not cause image data to download, only list of image names is retrieved.
  • UploadImage( path )
    Uploads image from local file and returns corresponding ArkImage objects

Variants management functions

  • GetRootChoice()
    Returns the root category for all choices. Returned object is of the type ArkChoice.
  • GetRootVariant()
    Returns the root category for all variants. Returned object is of the type ArkVariant.
  • GetRootPhase()
    Returns the root category for all phases. Returned object is of the type ArkPhase.
  • GetChoiceByName( name )

    Icon

    Deprecated - use GetChoice( name ) method of ArkChoice

    Search for choice by its name. If not found, returns None.

  • GetVariantByName( name )
    Search for variant by its name. Returned object is of the type ArkVariant. If not found, returns None.
  • GetPhaseByName( name )
    Search for phase by its name. Returned object is of the type ArkPhase. If not found, returns None.
  • GetDefaultVariant()
    Returns default variant as ArkVariant object. If not found, returns None.
  • GetDefaultPhase()
    Returns default phase as ArkPhase object. If not found, returns None.
  • GetVariantList()
    Returns a list of the ArkVariant objects, representing variants, defined for the project.
  • GetPhaseList()
    Returns a list of the ArkPhase objects, representing phases, defined for the project.
  • DeleteVariant( name )
    Deletes variant by its name.
  • DeletePhase( name )
    Deletes phase by its name.
  • DeleteChoice( name )

    Icon

    Deprecated - use DeleteChoice( name ) method of ArkChoice

    Deletes choice by its name.

  • VariantFilter( variant, phase = None )
    Creates ArkVariantFilter object, that can be used for enabling or disabling variant or/and phase filters. Argument variant must be a valid (non-folder) ArkVariant object or None if no active variant is needed, argument phase must be a valid (non-folder) ArkPhase object or None if no active phase is needed.

Projects management functions


These functions allow script to query, create, delete and copy projects in the current workspace. For working with other workspaces, see documentation for pyark.OpenConnection in the Connection management functions section.

  • GetProject( name )
    Search for project by its name. If not found, raises a ValueError. Returned value is an instance of ArkProject object.
  • GetProjectsList( )
    Returns a list of the ArkProject object, representing projects, defined in the current workspace.
  • DeleteProject( name )
    Deletes project specified by its name.
  • CopyProject( name, newname = None, variant=None )
    Copies project name to a new project in the same workspace. If specified, newname defines the name of the copy.
    Optional argument variant must be an instance of ArkVariant object. If specified, only part of the project, visible in the specified variant, is copied (currently implemented via copying whole project and removing invisible part)
  • NewProject( name, template_name = None )
    Creates a new project name in the same workspace. If specified, template_name points to the template which should be used.
  • CreateRevision()
    Create copy of the current project into REVISIONS Workspace.
  • RestoreRevision( revName, newName)
    Create new project with name newName as a copy of the project revName from REVISIONS Workspace.
  • SetProjectDeletable( status )
    Enables/disables the Project protection from deletion. Set status to False to enable the protection from deletion or True to disable it.
  • IsProjectDeletable()
    Returns True if the Project can be deleted (protection is not set), False otherwise.

Querying and modifying current project information

Functions that return information about the state of the currently open project and allow to modify it.

  • GetProjectName()
    Returns name of the current project as string. New in 4.0.3.
  • SetProjectName( newName )
    Renames current project. If new name is invalid (empty or contains forbidden characters); or such project already exists in the workspace, ValueError exception is raised. If new name is the same as current, method does nothing. New in 4.0.3.

Connection management functions

These functions allow to open connection, accessing projects in other servers and workspaces.

  • OpenConnection( login, password, httpsOnly=False )
    Returns new ArkConnection object, corresponding to the given login and password, or raises a ValueError, if login or password are invalid. By default, attempt to establish HTTPS connection is made first. if it is failed, then HTTP connection attempt is done. If optional flag httpsOnly is True, HTTP connection attempt is not done and exception is raised immediately.
  • GetCurrentConnection( httpsOnly=False )
    Same as OpenConnection with login and password of the current user.

User interface management functions

These functions allow the user to customize the graphical interface of the arKItect client. It relies on the PyQt integration technology. An example of PyQt integration within the arKItect client can be found here
The following functions are defined in a submodule of pyark named 'ui'. This means that in order to use them, you have to use the prefix 'pyark.ui' and not just 'pyark'.

  • NewArkTab( name )
    Creates a new tab in the arKItect's main frame with the caption name and set it as the current active tab. A new ArkTab object is returned to be able to manipulate the newly created tab.
    If a tab with the given name already exists, a ValueError will be raised.
  • RemoveTab( tab )
    Removes a tab from the the arKItect's main frame. tab can either be an ArkTab object or the name of an existing tab.
  • GetTabList()
    Returns a list of every ArkTab object present in the main frame.
  • GetTab( tabName )
    Returns the ArkTab object with the given tabName if it exists, returns None otherwise.
  • MessageBox( text )
    Shows simple popup message with text and OK button.

Other functions to control arKItect GUI from scripts:

  • ui.ShowMultipleRevisionsDialog()
    Opens a dialog, showing existing object revisions (available from GUI menu as Tools / Show Objects Under Revisions).

Send alert functions

  • GetUserName()
    Returns the name of the current user. Can be used in the send-to address.
  • GetUsers()
    Return a list of names of all users, who have access to the project.
  • SendAlert( message, send_to = None, subject = "arKItect alert", alert_url )
    Send an alert message.
    Arguments:
    • message: message text.
    • send_to: Name (not e-mail) of the user to receive the alert. Several names can be specified in a list. If None is passed, message is sent to all users having access to the current project, i.e. the resulting list of GetUsers() method is used.
    • subject: Subject of the alert message. Default is "arKItect alert"
    • alert_url: Url of the alert. If message is sent in the text format, this parameter is ignored. If HTML message is sent, this url is attached to the message. To generate this parameter properly use ArkObjRef.GetURL( graphType ) method.

AUA management functions

  • CreateGroup( name )
    Creates a user group identified by name. Raises ValueError, if group name is incorrect, or already used. Returns ArkGroup object.
  • DeleteGroup( name )
    Removes the group identified by name. Returns None. Raises ValueError if given name is empty string, or user has no right to delete group.
  • InitGroup( name )
    Returns the ArkGroup object identified by name. Raises ValueError if group with given doesn't exist or name is empty.
  • InitUser( name )
    Returns the ArkUser object identified by name. Raises ValueError if user with given doesn't exist or name is empty.
  • GetUsers( )
    Returns list of user names of users that are registered in this workspace.

Querying user permissions functions

  • CanWriteMatrix()
    Returns True if Matrix has write access.
  • CanWriteTreeview()
    Returns True if Treeview has write access.
  • HasSimulinkRights()
    Returns True if current user has license for Simulink module, False otherwise
  • GetUserPrivileges(userName = <current user name>)
    Returns status of the current user if no parameter is passed or status of user with userName. Returns one of pyark.UserPrivilege (READONLY, USER, COORDINATOR, SUPERCORE, GROUP, TESTER). If user with such name not found, returns value USER. User name must end with "@k.i".

Enable Reader Cache for heavy operations

To improve performance on different reading actions when they are done multiple times - e.g. getting all objects and then checking for each object whether it is a flow or getting attributes for each object - it is possible to enable data reader cache in arKItect.

  • _EnableDataReaderCache(enable)
    Enables / disables data reader cache. User do not need to call this function, it is used internally in DataReaderCacheContext context manager

DataReaderCacheContext  should be used to parse the model (walk_objects, GetAllChildren, IsChildFlow, GetInputFlowList / GetOutputFlowList ...)

Setting requests grouping mode

To improve performance of scripts which create a lot of objects, query packaging mode can be enabled in arKItect. In this mode, object creation and modification queries are grouped into single packets, which significantly improves performance. However, functionality of arKItect is seriously limited in this mode: basically, only object creation and modification methods are working. The following functions can be used to control this mode:

  • EnablePacketNetworkInterface()
    Enables grouping of queries. Currently, user do not need to call this function, it is used internally in the BulkModeContext context manager.
  • DisablePacketNetworkInterface()
    Disables special network interface. Currently, user do not need to call this function, it is used internally in the BulkModeContext context manager.
  • IsBulkModeEnabled()
    Returns True, if grouping of queries (bulk mode) is currently active. Returns False otherwise.
  • FlushAccumulatedData()
    When network packeting mode is enabled (see arki.utils.arkinternal.BulkModeContext), forces arKitect to commit all currently accumulated requests to server without interrupting packeting mode. Causes all modifications to be written in the database and all possible conflicts accounted. Currently, user do not need to call this function, it is used internally in the BulkModeContext context manager.

BulkModeContext  should be used when updating several object

Icon
A good practice is to split reader and setter task when it is possible and use DataReaderCacheContext for reading tasks and BulkModeContext  for writing tasks

Sometimes when a script is being executed, it is needed to visualize intermediate results (update diagrams) - to do so a special method is introduced:

  • Flush()
    Updates GUI during script execution without interrupting the script

Logging and Reporting functions

Scripts might need to give user some information about details of the execution: information messages, warnings, recoverable errors and other. It is possible to print this information to the "Program Trace" window, using Python's "print" operator. However, their use is discouraged in production scripts because of the limited features of this approach. Instead, developers are encouraged to use "Pythons Events" system.

There are 2 API functions that control it:

  • LogEvent(level, code, module, title_description_callback)
    Adds new event to the log.
  • SignalLogWindow()
    Checks conditions for showing "Python Events" window, and shows it, if conditions were satisfied. In the latter case, the method returns only when the window is closed. Normally, shows this window at the end of script execution, this method allows to show it before terminating script. "Python Events" window shows a log of events, generated by pyark.LogEvent method and uncaught exceptions.

Each event is characterized by 6 parameters:

  • Time: when the event was reported.
  • Level: one of pyark.LOG_XXX constants. Specifies importance of the message for the user, from lowest (LOG_DEBUG) to the highest (LOG_CRITICAL). Possible values are:
    1. LOG_DEBUG: use it for debug messages that are not intended to be viewed by the regular users.
    2. LOG_INFO: messages for the users that do no bear any critical information (script started / script finished).
    3. LOG_WARNING: messages that warn user about some possible problems.
    4. LOG_ERROR: information about recoverable errors (something failed, but script can continue work)
    5. LOG_EXCEPTION: information about Python exceptions. These events are are added automatically, if uncaught exception leaked to arKitect.
    6. LOG_CRITICAL: critical errors, that prevent further script execution.
  • Error code: arbitrary integer value. Can be used to distinguish between different errors types, its value is up to developer.
  • Module: string, indicating what module reported the event.
  • Title: short, one-line description of the problem. Shown in the event list.
  • Description: long, multiline description of the problem details (stack trace, list of files, etc).

User can define, what levels of events to ignore and what to store in the memory; it is also possible to configure, when to show pop-up window with event log messages.

Generally, generating lots of long descriptions may cause significant performance degradation. To avoid this problem, title and description generation are delayed. Instead of providing 2 strings, developer must provide a callback function that produces a tuple of 2 strings: (title, description). This callable is executed only if the event is not ignored by the current logging settings. Thus, ignored messages are never generated, and don't waste resources.

Example of a code, that adds a message:

This code uses lambda expression to make a callback function, but any other kind of callable is appropriate.

Shared files functions

Shared files are stored together on the server side in the project shared storage, under the SVN сontrol. The storage is unique for each project. Shared files are commonly associated to objects.

Note about revision numbers: current latest revision is incremented each time someone updates file data on server.

  • UploadSharedFile( file_path, comment (optional) )
    Uploads a file to the "shared" storage of the project. Returns resulting revision number of the uploaded file.
    Arguments:
    • file_path: string, path to the file. If file is not readable or does not exists, method raises ValueError.
    • comment: string, optional. If not specified, default comment will be written.
    File update rules, applied when shared storage already have file with such name:
    • If uploaded file is the same as existing, function does nothing. Last revision of the existing file is returned, comment is ignored.
    • If uploaded file differs, new revision is created and new comment is written.
  • DownloadSharedFile( file_name, [save_path], [revision] )
    Downloads a file with given name from the project shared storage. Raises ValueError, if file_name is incorrect.
    Arguments:
    • file_name: string, name of the file in shared storage.
    • save_path: string, optional. Path where to save file.
    • revision: string, optional. Revision to download. Default is latest revision.
    Return value: tuple (file_path, revision). Path to the file on local computer and actual revision number. If prior to function call file with such path already existed, it is overwritten.
  • ListSharedFolderFiles(  )
    Returns a list of files in the project shared storage in XML format (string). Returns empty string, if shared storage is not initialized yet for this project (should be treated as empty list). XML format is svn XML output.
  • RemoveSharedFile( file_name )
    Removes the file with given name from the project shared storage. Raises ValueError, if there is no such file. Returns None.

Other functions

  • GetAppDataFolder()
    Returns path to Aplication Data Directory. If failed, raises a RuntimeError.
  • GetProjectAddress()
    Returns technical data about connection: workspace ID, business space ID, architecture ID, data server address.
  • LoadAcceptedProjectState()
    in context of RACI feature, loads all accepted data, all arKItect actions related to 'not accepted requests' became undone in memory.
  • GetRevisionImpactingObjectList([ArkObj])
    Returns the list of objects with stable revision state impacted by any of provided objects (impact - provided objects are used in some wiki attribute). Data is prepared on the server side.
  • GetRevisionPossibleImpactingObjectList([ArkObj])
    Returns the list of objects impacted by any of provided objects (impact - provided objects are used in some wiki attribute) in arKItect memory.
  • GetActiveUsers()
    Returns the list of active users working in opened project (active arKItectsessions). Returns the list of pairs : user name + arkObjRef . arkObjRef object allows to understand the treeview and 'view path' for active user.
  • GetVersion()
    Returns version of the arKItect as a 4-tuple of type (int, int, int, string).
    Numeric part of this tuple represents first 3 version numbers from the version string. All characters after the first 3 numbers, or any non-numeric characters are returned in the 4th element, as string. If version string has only 1 or 2 numbers, zeros are added.

Examples:

arKItect version

pyark.GetVersion()

"2.1"

(2,1,0,"")

"2.1alpha"

(2,1,0,"alpha")

"2.1.1"

(2,1,1,"")

"2.1.1.2009"

(2,1,1,"2009")

"2.alpha2.3"

(2,0,0,"alpha2.3")

Global constants

Attributes

ARK_ATTRIB_APP, ARK_ATTRIB_AUTHOR, ARK_ATTRIB_SIMULINK_CONFIG, ARK_ATTRIB_BOOL, ARK_ATTRIB_DATE, ARK_ATTRIB_DOUBLE, ARK_ATTRIB_ENUM, ARK_ATTRIB_ENUM_VALUE, ARK_ATTRIB_FILE, ARK_ATTRIB_GROUP, ARK_ATTRIB_HYPERLINK, ARK_ATTRIB_INT, ARK_ATTRIB_MEMO, ARK_ATTRIB_RICHTEXT, ARK_ATTRIB_POINTERS, ARK_ATTRIB_PROGRAM, ARK_ATTRIB_SAVEDFILE, ARK_ATTRIB_SINGLE, ARK_ATTRIB_TEXT, ARK_ATTRIB_TEXTLARGE, ARK_ATTRIB_MARKUP

Diagrams

ARK_GRAPH_INNER_VIEW, ARK_GRAPH_PEER_VIEW, ARK_GRAPH_MATDRAW_VIEW, ARK_GRAPH_MATDRAW_INNER_VIEW, ARK_GRAPH_MATDRAW_PEER_VIEW, ARK_GRAPH_TABULAR_VIEW

Type properties

ARK_ATYPE_CLRTEXT, ARK_ATYPE_CLRLINE, ARK_ATYPE_CLRFILL, ARK_ATYPE_CLRFLOW,  ARK_ATYPE_CLRFLOW_TEXT, ARK_ATYPE_CLRFILLBG, ARK_ATYPE_CLRTEXT_TRANSP, ARK_ATYPE_CLRTEXTFLOW_TRANSP, ARK_ATYPE_CLRLINE_TRANSP, ARK_ATYPE_CLRFILL_TRANSP, ARK_ATYPE_CLRFLOW_TRANSP, ARK_ATYPE_CLRFILLBG_TRANSP, ARK_ATYPE_LINESHAPE, ARK_ATYPE_LINESTYLE, ARK_ATYPE_LINEWIDTH, ARK_ATYPE_BORDERSTYLE, ARK_ATYPE_BORDERWIDTH, ARK_ATYPE_ARROWSTYLE, ARK_ATYPE_OBJSHAPE, ARK_ATYPE_SIMTYPE, ARK_ATYPE_ICON, ARK_ATYPE_DISPLAY_ATTRIB_NAME, ARK_ATYPE_DISPLAY_ATTRIB_ICON, ARK_ATYPE_DISPLAY_ATTRIB_VALUE, ARK_ATYPE_FILLHATCH, ARK_ATYPE_KEEP_RATIO, ARK_ATYPE_DEFAULT_SIZE, ARK_ATYPE_READ_ONLYARK_ATYPE_EXCLUDE_FROM_REVMNG, ARK_ATYPE_UNIQUE, ARK_ATYPE_FLEXIBLE

ATYPE_GEN_TAG_ATRRIB_BGIMAGE, ATYPE_GEN_TAG_ATRRIB_FGIMAGE, ATYPE_GEN_TAG_ATRRIB_FONT, ATYPE_GEN_TAG_ATRRIB_FONT_FLOW

Line shapes

ARK_LINESHAPE_CURVE, ARK_LINESHAPE_STRAIGHT, ARK_LINESHAPE_ORTHOGONAL, ARK_LINESHAPE_CUSTOMIZABLE

Line styles

ARK_LINESTYLE_SOLID, ARK_LINESTYLE_DASH, ARK_LINESTYLE_DOTARK_LINESTYLE_DASHDOT, ARK_LINESTYLE_DASHDOTDOT

Arrow styles

ARK_ARROWSTYLE_NOARROW, ARK_ARROWSTYLE_ARROW, ARK_ARROWSTYLE_OPEN, ARK_ARROWSTYLE_STEALTH, ARK_ARROWSTYLE_DIAMOND, ARK_ARROWSTYLE_DIAMOND_WHITEARK_ARROWSTYLE_CIRCLE

Object shapes

ARK_OBJSHAPE_AND, ARK_OBJSHAPE_COMMENT, ARK_OBJSHAPE_CROSS, ARK_OBJSHAPE_CUBE, ARK_OBJSHAPE_DIAMOND, ARK_OBJSHAPE_DOC, ARK_OBJSHAPE_ELLIPSE, ARK_OBJSHAPE_FLAG, ARK_OBJSHAPE_METEOR,ARK_OBJSHAPE_OR, ARK_OBJSHAPE_PLAQUE, ARK_OBJSHAPE_PRLGRM, ARK_OBJSHAPE_RECT, ARK_OBJSHAPE_RECT_RE, ARK_OBJSHAPE_SAIL, ARK_OBJSHAPE_SIGN_LEFT, ARK_OBJSHAPE_SIGN_RIGHT, ARK_OBJSHAPE_TEARDROP, ARK_OBJSHAPE_TRAPEZ_UP, ARK_OBJSHAPE_TRAPEZ_DOWN, ARK_OBJSHAPE_TRIANGLE_UP, ARK_OBJSHAPE_TRIANGLE_DOWN, ARK_OBJSHAPE_WAVE, ARK_OBJSHAPE_PENTAGON, ARK_OBJSHAPE_HEXAGON, ARK_OBJSHAPE_HEPTAGON, ARK_OBJSHAPE_OCTAGON, ARK_OBJSHAPE_DECAGON, ARK_OBJSHAPE_DODECAGON, ARK_OBJSHAPE_CAN, ARK_OBJSHAPE_CAN_LYING, ARK_OBJSHAPE_END_NODE, ARK_OBJSHAPE_INIT_NODE, ARK_OBJSHAPE_CROSS_NODE, ARK_OBJSHAPE_JOIN, ARK_OBJSHAPE_BIFURCATION, ARK_OBJSHAPE_BIFURCATIONV, ARK_OBJSHAPE_PRIORITY_AND_GATE, ARK_OBJSHAPE_HOUSE_EVENT, ARK_OBJSHAPE_XOR, ARK_OBJSHAPE_INHIBIT_GATE, ARK_OBJSHAPE_SIMULINK

Simulink types

ARK_SIMTYPE_ENABLE, ARK_SIMTYPE_FCALL, ARK_SIMTYPE_SM, ARK_SIMTYPE_SUBSYSTEM, ARK_SIMTYPE_STATE, ARK_SIMTYPE_SIGNAL, ARK_SIMTYPE_TRANSITION, ARK_SIMTYPE_TRIGGER, ARK_SIMTYPE_VECTOR

Rule types

ARK_RULE_SIMPLE, ARK_RULE_FLOW, ARK_RULE_BIFLOW, ARK_RULE_INPUT, ARK_RULE_OUTPUT

Projection properties

ARK_TREEVIEW_SIMTYPE, ARK_TREEVIEW_DISPNAME, ARK_TREEVIEW_MASTERSECONDARY, ARK_TREEVIEW_GRAPHORIENT

Projection master/secondary

ARK_TREEVIEW_MASTER, ARK_TREEVIEW_SECONDARY

Object options/variants/phases status

ARK_OBJVAR_UNDEFINED, ARK_OBJVAR_MANUAL, ARK_OBJVAR_PROPAGATED, ARK_OBJVAR_PROPAGATED_UP

Diagram orientation

ARK_GRAPHORIENT_STANDARD, ARK_GRAPHORIENT_TB, ARK_GRAPHORIENT_LR

Object parent relations

RELATION_NONE, RELATION_DIRECT_CHILD, RELATION_INDIRECT_CHILD, RELATION_ATTRIBUTE

Events

EVENT_ONADDCHILD, EVENT_ONADDEXISTING, EVENT_ONADDNEW, EVENT_ONCHANGEATTRIBVALUE, EVENT_ONCHANGEDIRECTION, EVENT_ONCLOSE, EVENT_ONCUSTOMFILTER, EVENT_ONDELETE, EVENT_ONOPEN, EVENT_ONREMOVECHILD, EVENT_ONRENAME, EVENT_ONACTIVATEIBD, EVENT_ONCHANGEPROPERTIES, EVENT_ONCHANGEPROJECTION, EVENT_ONADDCHILD_GLOBAL, EVENT_ONREMOVECHILD_GLOBAL

User permissions

STATUS_DEVELOPER, STATUS_DEVELOPER_ADMIN, STATUS_DESIGNER, STATUS_READONLY

Use access types

RIGHTS_NOT_VISIBLE, RIGHTS_READ_ONLY, RIGHTS_FULL_ACCESS

String validation policies

SVP_STRICT, SVP_IGNORE, SVP_REPLACE

Message logging levels

LOG_INFO, LOG_DEBUG, LOG_WARNING, LOG_ERROR, LOG_EXCEPTION, LOG_CRITICAL

History action types

HISTORY_OBJECT_ATTRIBUTES, HISTORY_OBJECT_ATTRIBUTES_REVISION_EXCLUDED, HISTORY_OBJECT_PARENTSTRUCTURE, HISTORY_OBJECT_OPTIONS, HISTORY_OBJECT_RENAME, HISTORY_ADD_NEW_OBJECT, HISTORY_DELETE_REFERENCE, HISTORY_DELETE_OBJECT_GLOBALLY, HISTORY_LINK_DIRECTION, HISTORY_NEW_OBJECT_REFERENCE, HISTORY_PROJECT_ACTION, HISTORY_OBJECT_CREATE_REVISION, HISTORY_OBJECT_SWITCH_REVISION,HISTORY_SCRIPT

  • No labels