Difference between revisions of "NA-MIC/Projects/NA-MIC Kit/KWWidgets"

From NAMIC Wiki
Jump to: navigation, search
m (Text replacement - "http://www.slicer.org/slicerWiki/index.php/" to "https://www.slicer.org/wiki/")
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
  Back to [[NA-MIC_Collaborations|NA-MIC_Collaborations]]
 
  Back to [[NA-MIC_Collaborations|NA-MIC_Collaborations]]
  
'''Objective:'''
+
= Name of Template project goes here =
  
 
The KWWidgets provide a cross-platform, open-license, free Graphical User Interface (GUI) toolkit for Slicer3. The KWWidgets have been chosen as the principle GUI implementation toolkit because it is unencumbered with licensing issues. It has been in use for over eight years in a variety of applications including commercial applications.
 
The KWWidgets provide a cross-platform, open-license, free Graphical User Interface (GUI) toolkit for Slicer3. The KWWidgets have been chosen as the principle GUI implementation toolkit because it is unencumbered with licensing issues. It has been in use for over eight years in a variety of applications including commercial applications.
  
'''Progress:'''
+
= Description =
  
Much of the progress made during the third year of the NAMIC project has been driven by the Slicer3 application, and companion Slicer3 modules. In particular, the [http://wiki.na-mic.org/Wiki/index.php/Slicer3:EM EM Segmenter module] has driven the development of work flow support.
+
Much of the progress made during the third year of the NAMIC project has been driven by the Slicer3 application, and companion Slicer3 modules. In particular, the [http://wiki.na-mic.org/Wiki/index.php/Slicer3:EM EM Segmenter module] has driven the development of work flow support. The following are highlights of this year's effort.
  
* The filebrowser widget/dialog: a new set of classes that replaces the old file browser dialog and introduces new file-related widgets. The new widget was designed so that it can be used either in a standalone way as a toplevel dialog, or embedded in a pre-existing UI. It provides a lot of new functionalities over the default Tcl/Tk Unix file dialog, including favorite/bookmarks, tree views and preview pane. About 9000 lines of code. Annoucement: http://public.kitware.com/pipermail/kwwidgets/2007-March/000394.html
+
''Filebrowser widget/dialog'' a new set of classes that replaces the old file browser dialog and introduces new file-related widgets. The new widget was designed so that it can be used either in a standalone way as a toplevel dialog, or embedded in a pre-existing GUI. It provides functionalities beyond the default Tcl/Tk Unix file dialog, including favorite/bookmarks, tree views and preview pane. Approximately 9000 lines of code. Annoucement: http://public.kitware.com/pipermail/kwwidgets/2007-March/000394.html
  
* The state machine, wizard and workflow framework: this framework provides both a state machine engine and a wizard workflow that can be used to build typical step-by-step wizard-like interfaces such as registration/licensing wizards, open-file wizards, installation wizards, etc. A GUI-independent state machine engine was developed and provides classes and helpers to implement concepts such as states, inputs and transitions. The wizard workflow is designed to provide higher-level methods allowing the user to develop a wizard in a simpler fashion than mapping it explicitly to a complex set of states, inputs and transitions. Built-in features can be used to meet requirements such as: show/hide step-dependent UIs, navigation along a linear succession of steps (Previous/Next buttons), direct navigation to the last step (Finish button), step validation and constraints, etc. About 6500 lines of code. Description: http://www.vtk.org/Wiki/KWWidgets/Wizard_Workflow
+
''State machine, wizard and workflow framework'' This framework provides both a state machine engine and a wizard workflow that can be used to build typical step-by-step wizard-like interfaces such as registration/licensing wizards, open-file wizards, installation wizards, etc. A GUI-independent state machine engine was developed and provides classes and helpers to implement concepts such as states, inputs and transitions. The wizard workflow is designed to provide higher-level methods allowing the user to develop a wizard in a simpler fashion than mapping it explicitly to a complex set of states, inputs and transitions. Built-in features can be used to meet requirements such as: show/hide step-dependent UIs, navigation along a linear succession of steps (Previous/Next buttons), direct navigation to the last step (Finish button), step validation and constraints, etc. About 6500 lines of code. Description: http://www.vtk.org/Wiki/KWWidgets/Wizard_Workflow
  
* The log widget/dialog: this widget can be used to display various types of records/events in the form of a multicolumn log. Each record is timestamped automatically, and the interface allows the user to sort the list by time, type, or description. This widget can be embeded in any widget hierarchy, or used as a standalone dialog. It is included in all applications on which KWWidgets is based and can be used to report error, warnings, or information events to the user. It also intercepts all VTK's Error/Warning macros to present them in a user-friendly way. Annoucement: http://public.kitware.com/pipermail/kwwidgets/2006-November/000298.html
+
''Log widget/dialog'' This widget can be used to display various types of logging/events in the form of a multicolumn log. Each record is timestamped automatically, and the interface allows the user to sort the list by time, type, or description. This widget can be embeded in any widget hierarchy, or used as a standalone dialog. It is included in all applications on which KWWidgets is based and can be used to report error, warnings, or information events to the user. It also intercepts all VTK's Error/Warning macros to present them in a user-friendly way. Annoucement: http://public.kitware.com/pipermail/kwwidgets/2006-November/000298.html
  
* The matrix widget: a simple widget that can be used to edit/display matrices.
+
''The matrix widget'' This is a simple widget that can be used to edit/display matrices.
  
* Bug fixes, minor enhancements, including but not limited to:
+
* Other improvements include bug fixes, minor enhancements, including but not limited to:
 
** Integrated support for Incr Tcl/Tk.
 
** Integrated support for Incr Tcl/Tk.
 
** Integration of the tkdnd (drag and drop) and TkTreeCtrl (multicolumn) libraries
 
** Integration of the tkdnd (drag and drop) and TkTreeCtrl (multicolumn) libraries
Line 29: Line 29:
  
  
'''Key Investigators:'''
+
= Key Investigators =
  
 
* Kitware: Sebastien Barre, Yumin Yuan
 
* Kitware: Sebastien Barre, Yumin Yuan
  
'''Links:'''
+
= Links =
  
 
* http://kwwidgets.org
 
* http://kwwidgets.org
* [[Slicer3:Interface_Design|Slicer3:Interface Design]]
+
* [https://www.slicer.org/wiki/Slicer3:Interface_Design_and_Usability Slicer3:Interface Design]
* [[Slicer3:Visualization_and_UI_Infrastructure|Slicer3:Visualization and UI Infrastructure]]
+
* [https://www.slicer.org/wiki/Slicer3:Visualization_and_UI_Infrastructure Slicer3:Visualization and UI Infrastructure]
 
* [[AHM_2006:ProjectsSlicerUI|AHM_2006:ProjectsSlicerUI]]
 
* [[AHM_2006:ProjectsSlicerUI|AHM_2006:ProjectsSlicerUI]]

Latest revision as of 17:34, 10 July 2017

Home < NA-MIC < Projects < NA-MIC Kit < KWWidgets
Back to NA-MIC_Collaborations

Name of Template project goes here

The KWWidgets provide a cross-platform, open-license, free Graphical User Interface (GUI) toolkit for Slicer3. The KWWidgets have been chosen as the principle GUI implementation toolkit because it is unencumbered with licensing issues. It has been in use for over eight years in a variety of applications including commercial applications.

Description

Much of the progress made during the third year of the NAMIC project has been driven by the Slicer3 application, and companion Slicer3 modules. In particular, the EM Segmenter module has driven the development of work flow support. The following are highlights of this year's effort.

Filebrowser widget/dialog a new set of classes that replaces the old file browser dialog and introduces new file-related widgets. The new widget was designed so that it can be used either in a standalone way as a toplevel dialog, or embedded in a pre-existing GUI. It provides functionalities beyond the default Tcl/Tk Unix file dialog, including favorite/bookmarks, tree views and preview pane. Approximately 9000 lines of code. Annoucement: http://public.kitware.com/pipermail/kwwidgets/2007-March/000394.html

State machine, wizard and workflow framework This framework provides both a state machine engine and a wizard workflow that can be used to build typical step-by-step wizard-like interfaces such as registration/licensing wizards, open-file wizards, installation wizards, etc. A GUI-independent state machine engine was developed and provides classes and helpers to implement concepts such as states, inputs and transitions. The wizard workflow is designed to provide higher-level methods allowing the user to develop a wizard in a simpler fashion than mapping it explicitly to a complex set of states, inputs and transitions. Built-in features can be used to meet requirements such as: show/hide step-dependent UIs, navigation along a linear succession of steps (Previous/Next buttons), direct navigation to the last step (Finish button), step validation and constraints, etc. About 6500 lines of code. Description: http://www.vtk.org/Wiki/KWWidgets/Wizard_Workflow

Log widget/dialog This widget can be used to display various types of logging/events in the form of a multicolumn log. Each record is timestamped automatically, and the interface allows the user to sort the list by time, type, or description. This widget can be embeded in any widget hierarchy, or used as a standalone dialog. It is included in all applications on which KWWidgets is based and can be used to report error, warnings, or information events to the user. It also intercepts all VTK's Error/Warning macros to present them in a user-friendly way. Annoucement: http://public.kitware.com/pipermail/kwwidgets/2006-November/000298.html

The matrix widget This is a simple widget that can be used to edit/display matrices.

  • Other improvements include bug fixes, minor enhancements, including but not limited to:
    • Integrated support for Incr Tcl/Tk.
    • Integration of the tkdnd (drag and drop) and TkTreeCtrl (multicolumn) libraries
    • Password, constraint/validation mode for various widgets
    • Compound mode for various widgets (image + text at the same time)
    • Histogram bugs
    • More examples
    • More events (command/observer pattern)
    • Multi-level progress gauge
    • Improved pseudo-MDI layout manager


Key Investigators

  • Kitware: Sebastien Barre, Yumin Yuan

Links