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

Reply via email to