Tool "Plugins" - Collection Studio

Rejestracja | Przypomnij hasło |



Collection Studio 4.76

[ Data: 31 maja 2024 ]







Tool "Plugins"

Przejść
Treść | 

 

Collection Studio support plugins since CS ver. 1.38. Plug-ins are DLL files written in C, C++, Delphi or another programming language and therefore provide a more powerful code base to Collection Studio.

Run plugins

All plugins can be run for single collectible or for the whole collection. If plugin supports only single collectible, select desired collectible and from menu "Tools/Plugins/" select required plugin.

Available plugins

The number of available plugins for CollectionStudio is always growing. Currently we have 6 plugins included into the installation package of the CollectionStudio:

List of plugins in Collection Studio
Name Description
Fields Copy Copy one field value into another one. Works in two mode: copy mode and move move.
Dates Calculator Runs Dates Calculator tool for currently selected collectible in the list.
Remove Images Removes all images from selected collectible
Remove All Images Removes all images from all collectibles in the collection
Embed all linked images Embed all linked images for all collectibles in current collection
Get info: imdb.com Get information about selected movie from IMDB (www.imdb.com)

Create your own plugins

Basic information about plugins:

  1. All plugins are simple DLL files;
  2. Each plugin DLL can store more than one plugin;
  3. Plugin DLL should export at least two methods:
    1. one for description of all plugins ("CS_GetDescription");
    2. another for plugin functionality - plugin method;
  4. Each plugin method:
    1. gets collectible as a string in XML format;
    2. returns string with the same but modified collectible according to plugin functionality also in XML format;

CS_GetDescription method

This method provides for Collection Studio the whole information required to start any plugin correctly. This information is passed into the CS via simple string which contains the whole data in XML format.

Example of the CS_GetDescription method:
PLUGIN_API LPCSTR CS_GetDescription(void)
{
	// 'runforall' values "yes" or "no"
	static char* t_Buffer = {
		"<plugins>"\
			"<plugininfo>"\
				"<menuname>Remove Images</menuname>"\
				"<menuhelp>Remove all images from selected collectible</menuhelp>"\
				"<methodname>CS_Method1</methodname>"\
				"<runforall>no</runforall>"\
			"</plugininfo>"\
			"<plugininfo>"\
				"<menuname>Remove All Images</menuname>"\
				"<menuhelp>Remove all images from all collectibles</menuhelp>"\
				"<methodname>CS_Method1</methodname>"\
				"<runforall>yes</runforall>"\
			"</plugininfo>"\
		"</plugins>"
	};

	return t_Buffer;
}

Example of XML info for plugins:
<plugins>
	<plugininfo>
		<menuname>Remove Images</menuname>
		<menuhelp>Remove all images from selected collectible</menuhelp>
		<methodname>CS_Method1</methodname>
		<runforall>no</runforall>
	</plugininfo>
	<plugininfo>
		<menuname>Remove All Images</menuname>
		<menuhelp>Remove all images from all collectibles</menuhelp>
		<methodname>CS_Method1</methodname>
		<runforall>yes</runforall>
	</plugininfo>
</plugins>

Example of the Collectible XML:
<Collection>
	<Coin>
		<Index>1</Index>
		<ExternalIndex></ExternalIndex>
		<Created>1081795556</Created>
		<Duplicates>0</Duplicates>
		<Income>829334699</Income>
		<Storage></Storage>
		<Donator></Donator>
		<Quality>N/A</Quality>
		<Country>Poland</Country>
		<Currency>Grosh</Currency>
		<Price>0.000000</Price>
		<RealPrice>0.000000</RealPrice>
		<Year>1967</Year>
		<Comments></Comments>
		<CustomField1></CustomField1>
		<CustomField2></CustomField2>
		<CustomField3></CustomField3>
		<CustomField4></CustomField4>
		<CustomField5></CustomField5>
		<Nominal>5.000000</Nominal>
		<Mint></Mint>
		<Material></Material>
		<Region></Region>
		<InUse>No</InUse>
		<HerdType></HerdType>
		<Diameter>0.000000</Diameter>
		<Thickness>0.000000</Thickness>
		<ReversRotation>0.000000</ReversRotation>
		<Weight>0.000000</Weight>
		<CoinType>Regular</CoinType>
	</Coin>
</Collection>

For more information about registered fields, see following help articles:

Plugin example

We have developed open source C++ plugin with two functions:

  1. Remove all images from the selected collectible;
  2. Remove all images from all collectibles in the collection.

This plugin example includes also XML parser. Download URL is:

http://www.collectionstudio.com/plugin_sample_sources.zip Open link in new window

You can simple download it, modify it and enjoy Collection Studio with more powerful tools.

Share plugins

You can share your plugins with all Collection Studio users. For this, you should send sources to info@collectionstudio.com in zipped archive. Our developers will check functionality, improve it if any, and will include a new plugin into Collection Studio installation package.

Your authority will be saved in any case. You will get changed/improved source code for further development if any.

Binary plugins (without sources) may be included but not recommended.

Each interested and useful plugins will get free license for Collection Studio.

Other tools





Treść