Defining Tools

Tools represent the functionality that your application provides. A tool consists of a graphical icon, a set of configuration parameters, and a COM module that exposes the tool's properties and behavior. Tools must be defined in such a way that the Tool Palette framework can identify them and resolve their dependencies. This is done with the COM interfaces and ObjectARX classes shown in the following tables.

Tool and Catalog Interfaces

 

Interface

Purpose

IAcadStockTool

Called by the framework to get a pointer to the underlying IAcadTool instance. (required)

IAcadTool

Manages a tool's properties and behavior, and notifies when multiple tools are selected for editing. (required)

IAcadToolCopyPaste

For implementing a tool's clipboard support. (optional)

IAcadToolDragSource

Notifies the stock tool object when its tools are dragged from the Tool Palette. (optional)

IAcadToolDropTarget

Notifies the stock tool when objects are dropped in the Tool Palette. Allows the creation of multiple tools from a single dropped cluster. (optional)

IAcadToolProperties

Passed to the tool by the framework when the tool is loaded. Used to get and set the tool's display properties. Also provides support for flyouts, shapes, and overlay images. (optional)

IAcadToolImage

Implemented by the framework to manage image objects. (optional)

IAcadToolContextMenu

Provides access to the Tool Palettes window's right-click menu. (optional)

IAcadToolFlyoutShape

Communicates information from the framework regarding a user's selection of flyout shapes. (optional)

IAcadToolSort

Lets tools participate in custom sorting. (optional)

Tool and Catalog Classes

 

Class

Purpose

AcTcCatalogItem

Base class for all catalog items. Encapsulates common catalog item properties and behavior.

AcTcTool

Encapsulates the tool item in the tool catalog.

AcTcPackage

Encapsulates the package item in the tool catalog.

AcTcPalette

Encapsulates the palette item in the tool catalog.

AcTcCategory

Encapsulates the category item in the tool catalog.

AcTcCatalog

Encapsulates the catalog item in the tool catalog.

AcTcCatalogSet

Stores and manages a collection of catalogs.

AcTcCatalogItemReactor

Base class for receiving notifications when children of a catalog's items are added, removed, or deleted.

AcTcScheme

Stores and manages a tool palette scheme.

AcTcStockTool

Represents a registered stock tool. Encapsulates the reading and writing of the stock tool's registration information.

AcTcImage

Provides functionality for handling BMP, JPG, GIF, and PNG image files.

AcTcImageList

Manages the images associated with a catalog item.

AcTcManager

Manages stock tool catalogs and workspace catalogs.