Bug Shooting provides an API to create custom Outputs. You can use the API to create your own Outputs which are not supported by Bug Shooting yet. The API is written in .NET 2.0 so you can create Outputs by using C# or VB.NET.
See also Output API Version 2
- Visual Studio 2005 / 2008 / 2010 (you can use a free Express edition)
- Idea for an Output
Download a sample project and see how to use the Output API. The sample project is created in VB.Net with Visual Studio 2008.
For using Output API add a reference to BS.Output.dll to your .NET project. You will find this assembly in the installation directory of Bug Shooting. You need also references to System.Drawing and System.Windows.Forms.
Provides an interface for an Output entity.
Provides the name of the Output
Provides a text which contain a summary of the Output properties.
Provides a generic base class for an Output addin. This class provide methods for managing the IOutput
Provides the unique ID of the addin. This ID is used for internal identification of the addin class. Please use always a new unique ID (Guid) if develop a new addin. You can use the Guid-Generator which is included in the Visual Studio.
Provides the name of the Output addin.
Provides the category of the Output (BugTracker, InstantMessaging, MediaSharing, Applications or Misc). The category is used to group the output addins.
Provides the logo of the Output. The resolution of the image should be width = 64 pixel and height = 32 pixel.
Provides a small logo of the Output. The resolution of the image should be width = 16 pixel and height = 16 pixel.
Get the value indicating whether the Output is editable by the user. If an Output is editable the edit button in the settings dialog is enabled when the Output is selected. If the edit button is pressed the EditOutput method is called.
Get the value indicating whether multiple instances of the Output can be added. If the value is False you can add only one instance of this Output type to the Output list.
Creates a new Output. This method is called if the user add an Output in the settings dialog. This method can contain code for opening a form where the properties of the Output can be entered.
Edit an exist Output. This method is called if the user edit an exist Output in the settings dialog. This method can contain code for opening a form where the properties of the Output can be changed.
Convert an Output to an OutputValueCollection which is used to store the Output values in a file.
Opposite of SerializeOutput. Create and return an instance of an Output from an OutputValueCollection.
Get the values which are necessary to send an image to the Output. This method is called after the user clicked on "send to output" button but before the image is sent to the Output. This method can contain code for opening a form where options for sending can be entered (e.g. a description for the image). This method return an instance of IOutputSendOptions or Nothing if no send options necessary. The returned instance of IOutputSendOptions will be passed to the SendImageAsync-Method.
Send an image to an Output. This method is called after the call of the GetSendOptions-Method and contains code for perform the sending operations.
An instance of this classis passed to the SendImageAsync method and is used to handle the result of the sending operation.
State of the sending result. Possible values are Success, Failed and Canceled. This property must be set during the execution of the SendImageAsync method.
Text message which will shown to the user if the Result not Success.
This property can be used if the vlues of the Output which is passed to the SendImageAsync method must be updated after the send operation. E.g. if you entered login credentials during the sending operation and you want remember the user name an the password for further sending operations, you can set an new instance of your Output (which include the ne values) to the UpdateOutput property. After te SendImageAsync method is finished this new Output instance will be stored in the Output settings.
Provides a key value pair class which keep a value for serialization and deserialization of an Output.
Provides a collection of OutputValue.
Provides an interface for send options of an Output.
Navigate to the Custom Output directory of Bug Shooting (location see below).
- Create a sub directory in the Custom Output directory. Use any name for the directory (e.g. the name of the AddIn).
- Copy your Output assembly to this new directory.
- Restart Bug Shooting.
The location of the Custom Output directory depends on your operating system.
Windows XP - %AllUsersProfile%\Application Data\Bug Shooting 2\Outputs
Windows 7 / Vista - %ProgramData%\Bug Shooting 2\Outputs