whole_func_string: function() {
          var me = this,
              i, l, btns, doc, name, queriedName, fontSelect,
              toolbarSubmenus;
  
          if (me.readOnly) {
              return;
          }
  
          if (!me.activated) {
              me.onFirstFocus();
              return;
          }
  
          btns = me.getToolbar().items.map;
          doc = me.getDoc();
  
          if (me.enableFont && !Ext.isSafari2) {
              // When querying the fontName, Chrome may return an Array of font names
              // with those containing spaces being placed between single-quotes.
              queriedName = doc.queryCommandValue('fontName');
              name = (queriedName ? queriedName.split(",")[0].replace(/^'/,'').replace(/'$/,'') : me.defaultFont).toLowerCase();
              fontSelect = me.fontSelect.dom;
              if (name !== fontSelect.value || name != queriedName) {
                  fontSelect.value = name;
              }
          }
  
          function updateButtons() {
              for (i = 0, l = arguments.length, name; i < l; i++) {
                  name = arguments[i];
                  btns[name].toggle(doc.queryCommandState(name));
              }
          }
          if(me.enableFormat){
              updateButtons('bold', 'italic', 'underline');
          }
          if(me.enableAlignments){
              updateButtons('justifyleft', 'justifycenter', 'justifyright');
          }
          if(!Ext.isSafari2 && me.enableLists){
              updateButtons('insertorderedlist', 'insertunorderedlist');
          }
  
          // Ensure any of our toolbar's owned menus are hidden.
          // The overflow menu must control itself.
          toolbarSubmenus = me.toolbar.query('menu');
          for (i = 0; i < toolbarSubmenus.length; i++) {
              toolbarSubmenus[i].hide();
          }
          me.syncValue();
      }
func_code_string: function() {
          var me = this,
              i, l, btns, doc, name, queriedName, fontSelect,
              toolbarSubmenus;
  
          if (me.readOnly) {
              return;
          }
  
          if (!me.activated) {
              me.onFirstFocus();
              return;
          }
  
          btns = me.getToolbar().items.map;
          doc = me.getDoc();
  
          if (me.enableFont && !Ext.isSafari2) {
              // When querying the fontName, Chrome may return an Array of font names
              // with those containing spaces being placed between single-quotes.
              queriedName = doc.queryCommandValue('fontName');
              name = (queriedName ? queriedName.split(",")[0].replace(/^'/,'').replace(/'$/,'') : me.defaultFont).toLowerCase();
              fontSelect = me.fontSelect.dom;
              if (name !== fontSelect.value || name != queriedName) {
                  fontSelect.value = name;
              }
          }
  
          function updateButtons() {
              for (i = 0, l = arguments.length, name; i < l; i++) {
                  name = arguments[i];
                  btns[name].toggle(doc.queryCommandState(name));
              }
          }
          if(me.enableFormat){
              updateButtons('bold', 'italic', 'underline');
          }
          if(me.enableAlignments){
              updateButtons('justifyleft', 'justifycenter', 'justifyright');
          }
          if(!Ext.isSafari2 && me.enableLists){
              updateButtons('insertorderedlist', 'insertunorderedlist');
          }
  
          // Ensure any of our toolbar's owned menus are hidden.
          // The overflow menu must control itself.
          toolbarSubmenus = me.toolbar.query('menu');
          for (i = 0; i < toolbarSubmenus.length; i++) {
              toolbarSubmenus[i].hide();
          }
          me.syncValue();
      }
func_documentation_string: Triggers a toolbar update by reading the markup state of the current selection in the editor.
  @protected