For most editors it is enough to use the main function of Linodef editorbuttons API.
linodef_editorbuttons_switch
string $drupal_element_typeThe value should be an supported element type. More information.
$no_linkOptional: If true a "no link" marker is added to the tag so the embedded node title or field value are not linked.
Array ( [0] => Array ( [tag] => [desc] => ) etc. )'tag' contains the tag that the button will insert into the textfield. Its a Linodef filter tag. 'desc' contains the corresponding text to the tag which should appear in the selection list of the button. If the user has no access rights for the current node this field may also contain an "access denied" message (then the associated tag key is empty).