Exemple #1
0
 /**
  * Test that element format can be persisted in memento and viewer can restore to the persisted
  * settings.
  */
 public void testPersistElementFormat() {
   recreateViewModel();
   String preferenceFormat = IFormattedValues.HEX_FORMAT;
   setInput(IFormattedValues.NATURAL_FORMAT);
   setFormatAndValidate(preferenceFormat, false, false, false);
   // set each element to a format, and verify
   HashMap<String, ElementFormatSetting> map = new HashMap<String, ElementFormatSetting>();
   String[] format = {
     IFormattedValues.HEX_FORMAT,
     IFormattedValues.DECIMAL_FORMAT,
     IFormattedValues.OCTAL_FORMAT,
     IFormattedValues.BINARY_FORMAT,
     IFormattedValues.NATURAL_FORMAT
   };
   makeElementFormatSetting(fViewer, TreePath.EMPTY, format, -1, 0, map);
   ArrayList<ElementFormatSetting> elementFormats =
       new ArrayList<ElementFormatSetting>(map.values());
   setFormatAndValidate(preferenceFormat, elementFormats, elementFormats, false, false, false);
   // save settings
   XMLMemento memento = XMLMemento.createWriteRoot("TEST");
   if (fViewer instanceof TreeModelViewer == false) return;
   ((TreeModelViewer) fViewer).saveState(memento);
   // throw away any settings inside the viewer and create a new viewer
   // with memento settings, this is the same effect resulted from closing
   // and opening workspace again.
   recreateViewer();
   if (fViewer instanceof TreeModelViewer == false) return;
   ((TreeModelViewer) fViewer).initState(memento);
   setInput(IFormattedValues.NATURAL_FORMAT);
   preferenceFormat =
       (String)
           fViewer.getPresentationContext().getProperty(PROP_FORMATTED_VALUE_FORMAT_PREFERENCE);
   validateModel(elementFormats, preferenceFormat, "", preferenceFormat, "");
 }