qx.Class.define("unify.ui.widget.layout.NavigationBar", {
  extend : qx.ui.layout.Abstract,
  
  statics : {
    SPACER : 6,
  },
  
  members : {
    renderLayout : function(availWidth, availHeight) {
      if (this._invalidChildrenCache) {
        this.__rebuildCache();
      }
      
      var left = this.__left;
      var right = this.__right;
      var title = this.__title;
      
      var SPACER = this.self(arguments).SPACER;
      var i,ii,e,hint,leftx=SPACER,rightx=availWidth-SPACER,top;
      
      for (i=0,ii=left.length;i<ii;i++) {
        e = left[i];
        hint = e.getSizeHint();

        top = availHeight / 2 - hint.height / 2;
        e.renderLayout(leftx, top, hint.width, hint.height);
        leftx += hint.width + SPACER;
      }
      
      for (i=right.length-1;i>=0;i--) {
        e = right[i];
        hint = e.getSizeHint();
        
        rightx -= hint.width + SPACER;
        top = availHeight / 2 - hint.height / 2;
        e.renderLayout(rightx, top, hint.width, hint.height);
      }
      
      var availTitleWidth = rightx - leftx;
      hint = title.getSizeHint();
      var titleTop = Math.floor((availHeight / 2) - (hint.height / 2));
      if (hint.width > availTitleWidth) {
        title.renderLayout(leftx, titleTop, availTitleWidth, hint.height);
      } else {
        leftx = Math.floor((availTitleWidth / 2) - (hint.width / 2));
        title.renderLayout(leftx, titleTop, hint.width, hint.height);
      }
    },
    
    __rebuildCache : function() {
      var all = this._getLayoutChildren();
      var left = [];
      var right = [];
      var title = null;
      
      for (var i=0,ii=all.length; i<ii; i++) {
        var child = all[i];
        
        var position = child.getLayoutProperties().position;
        if (position == "title") {
          if (title) {
            throw new Error("It is not allowed to have more than one child aligned to 'title'!");
          }
          title = child;
        } else if (position == "left") {
          left.push(child);
        } else if (!position || position == "right") {
          right.push(child);
        } else {
          throw new Error("Position '"+position+"' is not supported!");
        }
      }
      
      this.__left = left;
      this.__right = right;
      this.__title = title;
    }
  }
});

@@ -116,17 +116,16 @@
 ACER : 6
-,
 %0A  %7D,%0A  
@@ -1134,25 +1134,24 @@
  Math.floor(
-(
 availHeight 
@@ -1149,29 +1149,27 @@
 ilHeight / 2
-)
  - 
-(
 hint.height 
@@ -1172,25 +1172,24 @@
 ght / 2)
-)
 ;%0A      
 if (hint
@@ -1184,147 +1184,21 @@
     
-if (hint.width %3E availTitleWidth) %7B%0A        title.renderLayout(leftx, titleTop, availTitleWidth, hint.height);%0A      %7D else %7B%0A        leftx
+var titleLeft
  = M
@@ -1211,19 +1211,13 @@
 oor(
-(
 avail
-Title
 Widt
@@ -1225,13 +1225,11 @@
  / 2
-)
  - 
-(
 hint
@@ -1239,21 +1239,18 @@
 dth / 2)
-)
 ;%0A
-  
       ti
@@ -1266,21 +1266,25 @@
 rLayout(
-l
+titleL
 eft
-x
 , titleT
@@ -1309,32 +1309,24 @@
 nt.height);%0A
-      %7D%0A
     %7D,%0A    %0A

Change title calculation to use center every time for title element