Using stylesheets from popular js libraries like twitter's bootstrap or
jQuery can be done. The main idea is to use the style names they
provide, after including their stylesheet in the head of your base
HTML.
.addStyleName('somestyle')
.removeStyleName('somestyle')
Sometimes, the js libraries use some javascript background searching to
do styling at runtime, but that can be coded fairly easily. You may need
to read their code to get an idea of how it is done.
Most times, these js libraries will want you to use a fairly sparse HTML
so that things like <ul><li> may be styled appropriately. In that case,
you may need to make a custom widget set that conforms to the selectors
in the css file. Descend from Widget for single-element items, or from
ComplexPanel for multiple-element items to make your widgets, and borrow
as needed from the code of similar pyjs widgets to obtain any special
behavior you want. In general, you should not use pyjs's table-based
widgets like VerticalPanel and HorizontalPanel, due to table component
elements poisoning the css selectors.
Of course, adapting their style sheet to accommodate pyjs's element
structure and/or style names is another option.
-- Jim Washington