Donald,
Great stuff! I got it 
working with our project EMF model and created 4 different ToolItems to 
represent my data groupings. I have two questions on the implementation. First, 
I fail to see the implementation that handles adding menu items to the dropdown 
list (your example has “Name Status” and “Name Description”). Second, as a 
result of the first (I’m assuming here) my CustomizeData objects don’t show up 
in the Table Customization like yours did (again, the same two that were in the 
dropdown)? I fail to wee where I lost this? The only thing I removed was the 
refresh button because I am using EMF data binding instead. I tested that 
removal on your example and it had no effect on ToolItems in you dropdown nor 
did it remove them from the Table Customization so I’m confident that didn’t 
affect anything? There is a lot of code and functionality in XViewer and yes 
examples certainly explain things. However, you can’t provide examples for 
everything you can do with it and here is where documentation would be useful. 
If I could find time to add some Java Doc to the classes at least to get the 
process started, what would be the process of getting the classes promoted to 
the repository be? I’ve kind of been following some of the additions and changes 
that others have contributed that last couple of months. What would be nice is 
to maybe have omething like separate repository branches so changes could be 
committed without affecting anything else. Then the changes could be reviewed 
and accepted or rejected from the repository time permitting? What do you 
think?
 
Mike 
 
From: 
nebula-dev-bounces@xxxxxxxxxxx [mailto:nebula-dev-bounces@xxxxxxxxxxx] On Behalf Of Dunne, Donald G
Sent: Wednesday, December 08, 2010 4:07 
PM
To: Nebula Dev
Subject: Re: [nebula-dev] Ordering columns 
programmatically?
 
 
I've added an example 
of this to the example package withing the xviewer plugin.  Sync up the 
latest source code to see it.  
You can run 
MyXViewerTest.java  (in Eclipse, right-click -> Run-As -> Java 
Application) to see it work.
 
The customization icon 
allows the user to easily toggle between the table default and their stored 
options.
Also added 
MyDefaultCustomizations to answer your question, Mike, on how to build a 
CustomizeData object to be sent in upon user selecting to change.  The 
example also has two items at the top to show how they can be 
used.
 
To also answer your 
question here:
 
   public 
static CustomizeData getCompletionCustomization() 
{
      CustomizeData data = "" 
CustomizeData();
      data.setName("Name 
Status");
      
data.setGuid(XViewerLib.generateGuidStr());
      
data.setNameSpace(MyXViewerFactory.COLUMN_NAMESPACE);
      
XViewerColumn nameColumn = 
MyXViewerFactory.Name_Col.copy();
      
nameColumn.setSortForward(true);
      
nameColumn.setWidth(175);
      
nameColumn.setShow(true);
      
data.getColumnData().getColumns().add(nameColumn);
      
XViewerColumn percentCol = 
MyXViewerFactory.Completed_Col.copy();
      
percentCol.setWidth(150);
      
percentCol.setShow(true);
      
data.getColumnData().getColumns().add(percentCol);
      
return data;
   }
Hope that 
helps,
Don
 
From: 
nebula-dev-bounces@xxxxxxxxxxx [mailto:nebula-dev-bounces@xxxxxxxxxxx] On Behalf Of Stapleton, Mike
Sent: Tuesday, December 07, 2010 11:18 
AM
To: Nebula Dev
Subject: Re: [nebula-dev] Ordering columns 
programmatically?
Thanks 
Donald,
I’ve been looking at 
the code for CustomizeManager, CustomizeData, XViewerColumn, and XViewerFactory 
to try and determine the best way to go about creating CustomizeData objects to 
represent my data groupings. Currently in the example code the columns are 
created and registered in the factory class. As well, what you see in the table 
are those columns created and registered from the factory class. Are you saying 
that I should create XViewerColumns and add then to a CustomizeData object along 
with any filters and sorters I might want and then just load a customization 
selected by the user as described below. I’m failing to see the connection 
between the columns defined in the XViewerFactory and those defined from a 
CustomizeData object? Do all columns need to be defined from the 
MyXViewerFactory up front and then added to a CustomizeData object to create the 
different data views? Could you elaborate a little on this 
process?
 
TIA,
Mike
 
From: 
nebula-dev-bounces@xxxxxxxxxxx [mailto:nebula-dev-bounces@xxxxxxxxxxx] On Behalf Of Dunne, Donald G
Sent: Friday, December 03, 2010 8:33 
AM
To: Nebula Dev
Subject: Re: [nebula-dev] Ordering columns 
programmatically?
 
 
Since an XViewer 
customization includes width, sorting, filtering and etc, you can't just reorder 
the columns, you have to set a full CustomizationData object.  From 
XViewer class, you can 
getCustomizationMgr().loadCustomization(CustomizeData)
 
Your pulldown selection 
can just select the appropriate CustomizeData and set 
it.
 
From: 
nebula-dev-bounces@xxxxxxxxxxx [mailto:nebula-dev-bounces@xxxxxxxxxxx] On Behalf Of Stapleton, Mike
Sent: Wednesday, December 01, 2010 9:31 
AM
To: Nebula Dev
Subject: [nebula-dev] Ordering columns 
programmatically?
Maybe someone can help me here? I 
want to be able to build different pre-defined data groupings. I have a dropdown 
which allows the user to select the group of data they want to see. In the 
process of doing this the order of the columns needs to change to match the new 
data and grouping. This requires me to add/delete some columns as well as 
reorder some columns. I provide content and label providers to define each data 
grouping and reset them and the input when the user makes a selection from the 
Group By dropdown menu. I added a function in my extension of the XViewer 
Factory that calls clearColumnRegistration and then I re-register the columns in 
the order I want. Problem is that the columns never reorder. The new content and 
label providers appear to get set and my data gets re-ordered but the column 
headers remain in the same position? So the headers don’t match the column data? 
I now you can hide and reorder columns from the Customize Dialog and by just 
dragging columns to a different position but I’m interested in doing this 
programmatically to get the data the user really wants to see and the way they 
want to see it. I’m I going about this in the right way or am I missing 
something? Anyone try something like this yet? Any explanation of why I can’t 
reorder the columns by clearing them from the registration and re-registering 
then would be helpful.
 
TIA,
Michael