Special topic breakout: KWWidgets
KWWidgets Breakout Session
June 26th, 1-2pm
Location: Grier Rooms A & B: 34-401A & 34-401B
- Yumin Yuan
- Steve Pieper
- Alex Yarmarkovich
- Wendy Plesniak
- Nicole Aucoin
- Curt Lisle
- Csaba Csoma
- Brad Davis
- David Gobbi
- Kiran Shivanna
- Kevin Teich
- Jeff Hawley
- Xiujuan Geng
- James Harris
- Gary Christensen
- Paul Song
- Roadmap (to help KWWidgets developers prioritize their work)
- Widget feature requests / feedback
- Talk about best approaches to making some widget behavior appear consistent across platforms.
- Separate Tutorial Session for New Users (to happen possibly on Wednesday)
From Nicole Aucoin
Directory selection dialog box on linux:
- it pops up with a default width such that the right scroll bar isn't visible.
- request: an entry box where I can type a path to reduce clicking through the tree (useful before setting up a favourite)
From Curtis Lisle
idea #1 - I have had trouble initializing widgets to specific values in advance of user input. For example, I've created interfaces with sliders and buttons but I have had trouble getting the widgets to initialize in a state different then the default state. For example, setting a slider to value=26 in the middle of its range without dragging the mouse. The API looks like it is there, but I couldn't get it to work for me. I'm sure I tried setting the state before and after creation, if I remember, but no luck. It may be that I'm not updating the GUI successfully after changing values.
idea #2 - discuss when UI elements need to have Modified() / Update() invoked to refresh their appearance. I used a histogram widget on a project and had to experiment a lot calling the panel and RenderWidowWidget, etc. before I finally got the histogram to update when the input changed.
From Brad Davis
Bug: Double-clicking does not work with slicer3 and linux
Feature request: Tree with additional columns widget
File->Add Data does not use new file browser.
I would lile to address the performance of building GUI in slicer3 Modules: When selecting a module for the first time (Volumes or Models) it takes noticable time before the UI panel is displayed.
Customizable tree widget similar to slicer2 model hierarchy editor: allow to add push-buttons or check boxes for the individual tree leaves.
mostly pesky things:
- Creating special versions of menubutton drop-down menus with scroll capability,
- checkbuttons and radiobuttons with consistent "on/off" visual representation across platforms. (either special Slicer widgets or KWWidgets).
It would be good to decide on a strategy for addressing these things.
- Also, if a radiobutton's indicator visibility is off, the widget gets rendered with a 3D effect (even if we're using an icon to display the button's on/off state). Can we turn that 3D effect off?
From KWW-Users mailing list
I'd like to have a discussion of GUI Tracing. In slicer3 we've started to experiment with a MRML-based tracing structure using the scene snapshot infrastructure, but we should consider if this is preferable to a GUI-based solution or not. See, for example, the vtkSlicerRecordSnapshotWidget.
Performance of the file browser could be improved (request for multi-threaded solution or a helper process that does the glob'ing so the main application does not block).
Look and feel issues:
- On windows, the menu bar and scroll bar do not get the appearance
- On linux, font size is sometimes way too small
Maybe just me, but I find the new file browser sometimes ignores doubleclicks -- perhaps it is more picky about any small mouse movement between clicks?
Configure event management is still a problem - dragging the split frame or hiding the left panel (with F5) causes a lot of extraneous ConfigureEvents.
From Gary and James:
I'd like to have a discussion of how to make a widget that reads one image plane at a time from a volume to make a multi-data set display. We have an implementation in wxWidgets that reads data from multiple files as a slider that changes the slice number without having to read the entire volumes into memory.
When displaying multiple vtkKWRenderWindows at once, the KWwidgets base class generates an error. Being able to display multiple renderwindows at one time is an essential requirement for our project.
The order of linking the ITK, VTK, TCL, TK and KWwidget libraries so that they do not conflict.
We want to access the KWwidgets' device client/handles for drawing on the controls.