Technical Meeting 06/15/2006 1:15PM EDT

From ParaQ Wiki
Jump to navigationJump to search

Agenda

Item People Description
1 Geveci Team Status
2 Shead Server Startup Scripts

Action Items

  • Tim Shead - determine whether Qt can enable / disable tooltips globally.
  • Mark Richardson - update the Coding Standards document to reflect our policy on tool tips / status tips / what's this documentation.
  • Berk Geveci / Tim Shead / Dave Karelitz - discuss integrating libssh and openssl into the build.
  • Berk Geveci - followup with Andy on whether / how to merge the ParaView3 source tree into the ParaView tree.
  • Tim Shead - experiment with using keyboard accelerators to control 3D widgets
  • Entire team - become familiar with how Qt handles keyboard accelerators and mnemonics, particularly how they interact with the current focus.

Discussion

Tim presented a "straw man" set of guidelines for creating forms with Qt designer that included setting a tooltip and a status tip for every widget. Berk pointed out that ParaView has an option to disable all tooltips, because they can cause potentially-slow display updates when working with large data. Mark suggested that tooltips should only be used in certain areas (menus, toolbar, etc) and not in others. There was some consensus that we should use status tips everywhere since they wouldn't risk causing unwanted display updates, are easy to implement, and already work. There was some interest in "What's this" documentation, but it will require additional coding.

We discussed how external startup scripts (such as those used at Sandia) can be integrated into ParaView. We would like to begin by integrating Dave Karelitz' work into the ParaView3 source tree. Primarily this will mean putting copies of libssh and openssl into a new "LGPL" directory, and cmake-enabling the two libraries. Tim, Berk, and Dave will meet to hash out the details.

There was a long discussion on issues surrounding keyboard accelrators and mnemonics. We need to do some research on how they interact with the focus in Qt. As an example, using the spacebar as an accelerator for the Accept button is problematic, because Qt already maps the spacebar to "button press" for any button that has the keyboard focus. We also need an understanding of how Qt handles conflicting accelerators / how keyboard events are routed. We discussed how keyboard accelerators can be implemented for 3D widgets. Rather than try to route Qt events to the server manager, we will focus on implementing them indirectly, through custom panels. Depending on requirements, we may need to bypass the Qt accelerator mechanisms entirely, although this would be a radical step which should be avoided.