Note: With the release of ARCHIBUS V.23.2, all ARCHIBUS views were converted to use the HTML drawing control instead of the Flash drawing control. If you have previously created views that use the Flash drawing control, the view's drawings will still work.
For new views that you create, ARCHIBUS, Inc. recommends using the HTML control, as the Flash control is slated for desupport in future versions of ARCHIBUS. For information on converting existing views with Flash drawings to HTML format, see Convert views with the Flash drawing control to the HTML drawing control.
The Flash Drawing Control has following list of exposed properties:
|_delim||This determines the delimiter that is used when working with some data such as a concatenated string of primary keys such as: ‘HQ;17;101’. The default is ‘;’.|
|optionalPKFields||A list of optional fields that specifies other data values that should be returned in the ‘onclick’ handler other than the default primary key information of the selected asset.|
The Flash Drawing Control supports the following events:
Is fired when an asset is selected with a mouse in the Drawing Control. This event will returns the following information:
1) The selected ids (with
3) And optionally a color, only when
|onload||Is fired after the Flash Control has fully loaded. No information is returned with this event.|
|onresetassets||Is fired when the ‘Reset Rooms’ button is clicked. No information is returned with this event.|
Is fired anytime a datasource used in the Drawing Control is applied. This event will return the following information:
1) The type: 1 = Labels, 2 = Highlights
2) The datasource name.
Is fired when a datasource is changed from either of the Highlight or Labels drop down boxes.
1) The type: 1 = Labels, 2 = Highlights
2) The datasource name.
|onhighlightschanged||Is fired after a highlight datasource has been applied and all assets in the drawing have been refreshed.|
The Drawing Control has following list of exposed methods:
Adds a drawing to the view.
Removes a drawing from the view.
|clear()||Removes all drawings from the view.|
Clears existing highlights from the specified drawing. If
Highlight the specific assets.
|findAsset(ob, opts, zoomTold, loadDwg, bSelected)||
Finds an asset, will load the drawing if needed.
|isometric (isometric, apply)||
Depending on the provided Boolean, turns isometric project on/off.
|getSelectedAssetIds()||Returns a list of currently selected assets in the loaded drawings.|
|setSelectColor(color)||Allows the app to override the default fill color from the drawing-control.xml file that is applied when assets are selected. This setting can be used in conjunction with the ‘assignMode’ attribute is set to a non-zero value.|
|setToAssign(field, value, color)||This is used in conjunction with the ‘assignMode’ attribute being set to
Allows the app to specify particular values that should not be filled. The specified fill will be used instead when highlighting is being applied to the drawing.
Appends a rule set. See the section on Rule Sets for more information.
|appendInstruction(ctrlId, eventName, msg, onlyIfDwgLoaded)||
Appends an instruction that will be displayed in the Drawing Control title bar under certain conditions.
|setToolbar(action, option, names)||
Shows/Hides or Enables/Disables toolbar buttons.
|toolbarCmd(buttonName)||Executes the command associated with the specified
Allows the application developer to manually set a group of specified assets to be selectable or not selectable.
|setLabels(loc, opts, mode)||
Manually sets label text on specified assets.
|setDrawingTitle()||Sets the display text that is displayed below the drawing. By default this is the building/floor name.|
|clearAssignCache()||When the ‘assignMode’ attribute is set to something other than
|clearPersistFills()||Clears any existing preset persistent fills. See the
|print()||Returns an array of bytes containing a PNG image to be printed. (Not currently supported)|
The ‘options’ argument where used in the above methods is a
DwgOpts object which provides a great deal of control over the Drawing Control for the application developer. In most common situations, the use of a
DwgOpts object is not needed, but in instances where an application needs to externally manage the highlighting and labels, this is the object that is used to handle that.
The following table describes the available properties and methods on this object:
|assetType||String||A list of asset file types to load, as a comma delimited string. The default is ‘rm’. This provides a mechanism for the application developer to load non-rm based asset files, such as ‘su’. Currently, only a single asset file can be loaded at a time.||‘rm’|
|assetSuffix||String||Used by default views (e.g. the hazmat plan). Loads highlights for assets whose names do not match their table names.||undefined||.|
Specifies an alternate background file to be loaded for situations where you want to have different versions of a drawing file. For example, you might want to have a drawing that shows only room boundaries, and another version that shows the departments and employees assigned to each room.
For this property to work, you must have already saved the drawing file with a suffix, such as hq17-alternate. The suffix can be any string that you choose to identify the file. You can then use the background Suffix property to specify the additional version of the drawing.
|highlightId||String||A single asset to apply the ‘assigned’ fill to|
|multiple||Bool||Is loading of more than one drawing at a time supported||true|
|fill||DwgFill||Overrides the ‘assigned’ highlighting fill as specified in the drawing-control.xml file. This provides a way for application developers to manually control ‘assigned’ highlighting colors per their application’s needs. Setting the ‘mode’ property is a simpler way to control this in most circumstances, but using this ‘fill’ parameter will provide higher level of control of the highlighting.||undefined|
|mode||String||This specifies logically the type of highlighting that will be applied to the list of records associated with this
||‘’ (an empty string)|
|selectionMode||String||Determines which assets if any can be selected in the Drawing Control. Supported options are: ‘0’: Selection is disabled, ‘1’: Only ‘assigned’ assets, per the Drawing Control ‘highlightDataSource’ attribute, ‘2’: All assets are selectable||‘2’|
|assignMode||assignMode||This enables ‘assignment’ type of logic internal to the Drawing Control to graphically manage highlighting the type of assignment being done. Supported options are: ‘0’: Disabled, ‘1’: One to One, ‘2’: One to Many, ‘3’: Many to One, ‘4’: Many to Many||‘0’|
|multipleSelectionEnabled||Allow more than asset to be selected at a time. The ‘assignMode’ setting will override this if it is set to a non disabled mode.||true|
|forceload||Bool||Not currently supported||true|
|persistRecFills||Bool||If highlightAssets is called with this set true, the specified fills will override datasource changes.||false|
|folder||For internal use only, do not modify.|
|dwgName||For internal use only, do not modify.|
|recs||For internal use only, do not modify.|
|In most cases, when applying highlighting, all that needs to be set is the color itself, not all of the other associated parameters. This method provides a simpler way of just specifying the color without the overhead of creating a
||This allows application developers to manually control on a per asset basis the highlight and label applied to the specified ids.|
The Rule Set functionality allows application developers to provide the following level control over highlighting:
DwgOpts object, which requires the application developer to specify specific assets to apply colors to after the drawing is displayed, the Rule Set logic allows the application developer to specify colors for particular values as the result of a query issue against the
highlightDataSource. And those colors are applied as the drawing is loaded. A typical example of the types of cases that can take advantage of this functionality is as follows:
I have an application that is highlighting all rooms that are vacant, but what I want to see is that the colors that are applied are based on the area values. Meaning I want to be able to quickly differentiate between small, medium, and large rooms.
To use this functionality, the application developer would implement this by building a
DwgHighlightRuleSet object and then appending it to the DrawingControl object with the
appendRuleSet method which takes two arguments:
The Drawing Control supports multiple datasources for highlighting, and so rule sets can be applied to all data sources if desired.
As best practice, when you set the drawing name, do not set it within the loop for each of the row, as they are the same. Instead, you can create a variable, such as
currentDwgname in your controller, and set this value each time when user clicks on the tree node. You can pass this value into the
HighlightAssets() function. This helps to avoid drawing load errors when the drawing name is different than bl_id+fl_id.
|Copyright © 1984-2018, ARCHIBUS, Inc. All rights reserved.|