Slicer3:Developers:Projects:QtSlicer/OpenDiscussions
From Slicer Wiki
Home < Slicer3:Developers:Projects:QtSlicer < OpenDiscussions
Introduction
This page gathers discussions about code architecture/implementation/design of the Slicer port to Qt. This page is mainly for developers as it concerns the internal/implementation part of Slicer, discussions about the interface design should be listed on the UIDesign wiki page. User feedbacks should be reported on the Usability wiki page.
- Please add your ideas/comments/remarks/feedback/suggestions/problems/... below.
- Points will be discussed during regular TCon meetings , on the Slicer developer list and/or by email.
- Decisions resulting from discussions should be tracked into the Mantis under the category:
QtGUI
.
Open Issues
|
- Have 2 Modules open at the same time
- Motivation: It would be good for the Reporting module if we could access the module as well as the volume module to change how the image displayed in the image while annotating the image at the same time
- Suggestion: Create a pop up window which can host any module
- Decision: TBD
- Result: TBD
- Note: TBD
- Widget to automatically set values
- Issue: Add more features to qCTKSliderSpinBoxWidget for a user-friendly way of setting values to parameters
- Reporter: Steve Pieper
- Motivation: Setting parameter values is key in Slicer, it should be made easy for the user to select a value
- Suggestion:
- ValueIsChanging: Currently a signal (valueChanged) is emitted any time the slider is moved or the spinbox value is changed, the widget should support a Tracking property to emit another kind of signal: valueIsChanging ( similar to QAbstractSlider::tracking). Doing so would decrease the number of valueChanged signals emitted (for time-consuming slots connected to the signal).
- Min/Max: we should think about how the min/max is handled (some cases don't have min/max and others do). We should also think about the resolution of the slider in the case when max-min is very large
- Expert mode: we should have some good ways for expert users to quickly get to the numbers they want. Something like Control-drag and Shift-drag on the slider changing the 'gain' with respect to the value changes.
- Name: Perhaps qCTKValueSetter is clearer? Perhaps this can be a subclass that has more of this custom behavior.
- Templates for modules
- Issue: Guiding the developers to develop Qt modules
- Reporter: Alexander Yarmarkovich
- Motivation: Consistency between all the Qt modules
- Suggestion: Templates for the Qt modules
- Style and naming conventions
- Issue: What indentation and variable/method naming to use in different classes
- Reporter: Alexander Yarmarkovich
- Motivation: Consistency and readability of code
- Suggestion: Follow convention of superclass see Slicer3 style conventions
- General Coding issues
- Issues:
- using private classes vs public
- where initialization should happen
- using separate slots for each parameter vs one slot
- logic observing only parameter node
- Issues:
Closed Issues
- Module Logic
- Issue: Change qSlicerModuleLogic into vtkSlicerModuleLogic
- Reporter: Alexander Yarmarkovich
- Motivation: A lot of slicer logics already exist, using qSlicerModuleLogic implies to wrap this logics. Why not directly use the vtkSlicerModuleLogic?
- Decision: Talked by email and over the phone during the Tuesday TCon (01/26/10). The suggestion has been accepted.
- Result: The change has been committed on 01/28/10 (r11850, r11852, r11853, r11854)
- Note: While new module logics must derive from vtkSlicerModuleLogic, logics deriving from vtkSlicerLogic are supported for backward compatibility reasons (the core module logics derive from vtkSlicerLogic).