Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Nebula XViewer Getting Started"

(New page: XViewer was intended to be as close to a drop in replacement for the existing TreeViewer supplied by SWT with many advanced features. Included in the XViewer source code is an "example" p...)
 
Line 1: Line 1:
 
XViewer was intended to be as close to a drop in replacement for the existing TreeViewer supplied by SWT with many advanced features.  Included in the XViewer source code is an "example" package with source code that provides examples for getting started.
 
XViewer was intended to be as close to a drop in replacement for the existing TreeViewer supplied by SWT with many advanced features.  Included in the XViewer source code is an "example" package with source code that provides examples for getting started.
  
* Running XViewer examples
+
* '''Running XViewer examples'''
 
** Checkout XViewer source code through Nebula CVS repository
 
** Checkout XViewer source code through Nebula CVS repository
 
** In Java Package Explorer, expand out org.eclipse.nebula.widgets.xviewer.example
 
** In Java Package Explorer, expand out org.eclipse.nebula.widgets.xviewer.example
 
** Select "MyXviewerTest.java" -> Right-click -> Run-As -> Java Application.  This will launch the XViewer example
 
** Select "MyXviewerTest.java" -> Right-click -> Run-As -> Java Application.  This will launch the XViewer example
* Explanation of Example
+
* '''How to create your own XViewer'''
 
** The model for the example is in the model package.  It contains the SomeTask object and a ISomeTask interface.  You would replace these with your own classes that are going to be set to input of the XViewer.  They do not have to be the same object, but they do need to be handled in the corresponding ContentProvider and LabelProvider.
 
** The model for the example is in the model package.  It contains the SomeTask object and a ISomeTask interface.  You would replace these with your own classes that are going to be set to input of the XViewer.  They do not have to be the same object, but they do need to be handled in the corresponding ContentProvider and LabelProvider.
** --MyXViewer-- extends XViewer which extends TreeViewer.  Your extension allows you to configure and modify XViewer and also still have access to all the default capabilities of the TreeViewer.
+
** '''MyXViewer''' extends XViewer which extends TreeViewer.  Your extension allows you to configure and modify XViewer and also still have access to all the default capabilities of the TreeViewer.
** The
+
** '''MyXviewerContentProvider''' implements ITreeContentProvider.  This is the default content provider for any TreeViewer and should be implemented the same.
 +
** '''MyXViewerLabelProvider''' extends XViewerLabelProvider which implements ITableLabelProvider, ITableColorProvider.  Your Label Provider MUST extend XViewerLabelProvider to get all off the features of XViewer as intended.  This class provides the text, images and colors for the cells.
 +
** '''MyXViewerFactory''' provides the definition of the different columns available to the user.  Any number of columns can be provided.  Each column has settings, such as data type to be displayed, whether the column is visible by default and an id that is used to uniquely identify the column (use in customizations)
 +
** XViewer has the capability to save "customizations" to the layout, sorting, visible columns, filters and etc.  Multiple of these customizations can be saved and the user can switch between them to see the data shown in different ways.  This is an optional feature that is provided by extending '''XViewerCustomizations'''.  Implementing these methods provides a storage mechanism to enable this feature to persist customizations between instances of a client running.  MyXViewerCustomizations is an example that stores to the default file system.  This can be changed to a database or whatever other storage mechanism is available.

Revision as of 15:35, 22 October 2010

XViewer was intended to be as close to a drop in replacement for the existing TreeViewer supplied by SWT with many advanced features. Included in the XViewer source code is an "example" package with source code that provides examples for getting started.

  • Running XViewer examples
    • Checkout XViewer source code through Nebula CVS repository
    • In Java Package Explorer, expand out org.eclipse.nebula.widgets.xviewer.example
    • Select "MyXviewerTest.java" -> Right-click -> Run-As -> Java Application. This will launch the XViewer example
  • How to create your own XViewer
    • The model for the example is in the model package. It contains the SomeTask object and a ISomeTask interface. You would replace these with your own classes that are going to be set to input of the XViewer. They do not have to be the same object, but they do need to be handled in the corresponding ContentProvider and LabelProvider.
    • MyXViewer extends XViewer which extends TreeViewer. Your extension allows you to configure and modify XViewer and also still have access to all the default capabilities of the TreeViewer.
    • MyXviewerContentProvider implements ITreeContentProvider. This is the default content provider for any TreeViewer and should be implemented the same.
    • MyXViewerLabelProvider extends XViewerLabelProvider which implements ITableLabelProvider, ITableColorProvider. Your Label Provider MUST extend XViewerLabelProvider to get all off the features of XViewer as intended. This class provides the text, images and colors for the cells.
    • MyXViewerFactory provides the definition of the different columns available to the user. Any number of columns can be provided. Each column has settings, such as data type to be displayed, whether the column is visible by default and an id that is used to uniquely identify the column (use in customizations)
    • XViewer has the capability to save "customizations" to the layout, sorting, visible columns, filters and etc. Multiple of these customizations can be saved and the user can switch between them to see the data shown in different ways. This is an optional feature that is provided by extending XViewerCustomizations. Implementing these methods provides a storage mechanism to enable this feature to persist customizations between instances of a client running. MyXViewerCustomizations is an example that stores to the default file system. This can be changed to a database or whatever other storage mechanism is available.

Back to the top