I found a plugin that helped me adding a shortcode-button to the editor. I've installed it yesterday and it's pretty nice. You have to create a file contain the info of your shortcodes and the rest is done by the plugin:
http://wordpress.org/plugins/wp-shortcode-helper/
Install the plugin, activate it and create a file "shortcodes.json" in your template-folder. There you can save everything that the plugin needs. See the sample-code:
[{
"text": "Button",
"value": "btn",
"content": true,
"description": true,
"description_text": "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.",
"options": [
{
"type": "textbox",
"name": "href",
"label": "URL"
},
{
"type": "select",
"name": "blank",
"label": "New Tab",
"options": [
{
"text": "No",
"value": "no"
},
{
"text": "Yes",
"value": "yes"
}
]
}
]
},
{
"text": "1/2 Column",
"value": "one_half",
"content": true,
"description": true,
"description_text": "Creates a 1/2 column",
"options": [
{
"type": "select",
"name": "position",
"label": "Position",
"options": [
{
"text": "First",
"value": "first"
},
{
"text": "Last",
"value": "last"
}
]
}
]
},
{
"text": "1/3 Column",
"value": "one_third",
"content": true,
"description": true,
"description_text": "Creates a 1/3-Column",
"options": [
{
"type": "select",
"name": "position",
"label": "Position",
"options": [
{
"text": "First",
"value": "first"
},
{
"text": "Last",
"value": "last"
}
]
}
]
},
{
"text": "2/3 Column",
"value": "two_third",
"content": true,
"description": true,
"description_text": "Creates a 2/3-Column",
"options": [
{
"type": "select",
"name": "position",
"label": "Position",
"options": [
{
"text": "First",
"value": "first"
},
{
"text": "Last",
"value": "last"
}
]
}
]
},
{
"text": "Tabwrapper",
"value": "tabwrapper",
"description": true,
"content": true,
"description_text": "Creates a Wrapper for Tabs"
},
{
"text": "Tab",
"value": "tab",
"content": true,
"description": true,
"description_text": "Creates a Tab",
"options": [
{
"type": "select",
"name": "active",
"label": "Active",
"options": [
{
"text": "Yes",
"value": "yes"
},
{
"text": "No",
"value": "no"
}
]
},
{
"type": "textbox",
"name": "title",
"label": "Title"
}
]
}]
As you can see, there are now 6 shortcodes. Obviously you have to edit this for your needs.