4 * Copyright, Moxiecode Systems AB
5 * Released under LGPL License.
7 * License: http://www.tinymce.com/license
8 * Contributing: http://www.tinymce.com/contributing
12 * Creates a new panel button.
14 * @class tinymce.ui.PanelButton
15 * @extends tinymce.ui.Button
17 define("tinymce/ui/PanelButton", [
19 "tinymce/ui/FloatPanel"
20 ], function(Button, FloatPanel) {
23 return Button.extend({
25 * Shows the panel for the button.
29 showPanel: function() {
30 var self = this, settings = self.settings;
32 settings.panel.popover = true;
33 settings.panel.autohide = true;
37 self.panel = new FloatPanel(settings.panel).on('hide', function() {
39 }).parent(self).renderTo(self.getContainerElm());
40 self.panel.fire('show');
46 self.panel.moveRel(self.getEl(), settings.popoverAlign || 'bc-tc');
50 * Hides the panel for the button.
54 hidePanel: function() {
63 * Called after the control has been rendered.
67 postRender: function() {
70 self.on('click', function(e) {
71 if (e.control === self) {
72 if (self.panel && self.panel.visible()) {