Hi Mustafa,

Thanks for the reply. I guess it is then time to dive into the appeareance class and see how I can reuse the tabbutton layout. I guess when you want the power of a flexible framework, you have to expect some learning curve :) 

-- Peter 


On Mon, Jul 7, 2014 at 9:41 AM, Mustafa Sak <mustafa.sak@1und1.de> wrote:
Hi Peter,

IMHO I would advise you to take no. 4 for obvious reasons.

I didn't test it, but to use the same theme like tab-view buttons for your custom buttons, please try that one on your appearance class:

"mycustomtab-button" : "tabview-page/button"

Here is the link to the manual:
http://manual.qooxdoo.org/devel/pages/desktop/ui_appearance.html?highlight=theme#aliases

Gruß
Mustafa Sak

Applications & Integration

1&1 Internet AG
Ernst-Frey-Straße 10
DE-76135 Karlsruhe

-----Ursprüngliche Nachricht-----
Von: JBaron [mailto:peter@jbaron.com]
Gesendet: Sonntag, 6. Juli 2014 09:35
An: qooxdoo-devel@lists.sourceforge.net
Betreff: [qooxdoo-devel] virtual tabs

Right now I'm validating if I can use Qooxdoo for my editor. So far really impressed how easy it is to replace most of the current bespoke UI components with the Qooxdoo UI widgets (tree, tables, split panes, etc). Also have to say the UI feels very snappy. I have put my current "mockup" on Github (qx-cats) in case anyone is interested (be aware this is done in TypeScript).

However one thing I'm not sure about is how to approach the following:

There are a number of tabs shown (representing the files the user is editing) and when a user clicks on one a different tab, there is not  a completely different tab page shown with different component, but instead the content of a singleton component (in this case the ACE editor) is changed. So I don't want this editor component instantiated once per tab, but only one time per application.

The different solutions I could come up with:

1) Whenever the tab changes, change the parent HTML of the editor to the selected tab page. So remove the editor from the old tab page and add it to the new page. Seems an easy one, but also might have strange side-effects, since the browser will do some recalculations etc on styling etc.

2) Add the editor "independent" to the application, for example using absolute positing and overlay it to the same position as the the tab page. So when the tab page changes, you keep seeing same editor because it is above it (Z-index).  Sounds difficult to get this right when users resize parts of applications (there are a lot of split panes etc).

3) Create a new widget that subclasses/reuses the Tabview and implements the above logic. It seems that I can keep the childcontrol "bar" and only need to make changes to the chlldcontrol "pane" which is a stack of the different pages.

4) Use only plane buttons that look like tabs and put a separate component after it that will display the editor. So a VBox with two components: a button-bar and the editor. This is how I did it in the past, but with Qooxdoo not sure how to make this buttons look like regular Tabs.


Any insights are highly appreciated (or perhaps someone already implemented something like this before)?


- Peter
------------------------------------------------------------------------------
Open source business process management suite built on Java and Eclipse Turn processes into business applications with Bonita BPM Community Edition Quickly connect people, data, and systems into organized workflows Winner of BOSSIE, CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft _______________________________________________
qooxdoo-devel mailing list
qooxdoo-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

------------------------------------------------------------------------------
Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.net/sfu/Bonitasoft
_______________________________________________
qooxdoo-devel mailing list
qooxdoo-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel