Removing java sample
[occt.git] / samples / java / java / PropertiesDlg.java
diff --git a/samples/java/java/PropertiesDlg.java b/samples/java/java/PropertiesDlg.java
deleted file mode 100755 (executable)
index 5dd559b..0000000
+++ /dev/null
@@ -1,2296 +0,0 @@
-
-//Title:        Cas.Cade Object Library - samples of using
-//Version:      
-//Copyright:    Copyright (c) 1999
-//Author:       User Interface group
-//Company:      MatraDatavision
-//Description:  
-
-import java.awt.*;
-import java.awt.event.*;
-import java.math.*;
-import java.util.*;
-import javax.swing.*;
-import javax.swing.border.*;
-import javax.swing.event.*;
-import util.*;
-import CASCADESamplesJni.*;
-// import CASCADESamplesJni.Aspect_TypeOfLine;
-// import CASCADESamplesJni.TShort_Array1OfShortReal;
-// import CASCADESamplesJni.V2d_Viewer;
-// import CASCADESamplesJni.Quantity_Color;
-// import CASCADESamplesJni.Quantity_NameOfColor;
-// import CASCADESamplesJni.Quantity_TypeOfColor;
-// import CASCADESamplesJni.Aspect_TypeMap;
-// import CASCADESamplesJni.Aspect_FontMap;
-// import CASCADESamplesJni.Aspect_MarkMap;
-// import CASCADESamplesJni.Aspect_FontStyle;
-// import CASCADESamplesJni.Aspect_LineStyle;
-// import CASCADESamplesJni.Aspect_WidthMap;
-// import CASCADESamplesJni.Aspect_ColorMap;
-// import CASCADESamplesJni.Aspect_WidthOfLine;
-
-import jcas.Standard_CString;
-import SampleHLRJni.*;
-
-class PropertiesDlg extends JDialog
-                    implements ActionListener
-{
-  private V2d_Viewer myViewer;
-
-  //-----------------------------------------------------------//
-  // GUI components
-  //-----------------------------------------------------------//
-  WidthMapPane myWidthPane;
-  ColorMapPane myColorPane;
-  FontMapPane myFontPane;
-  TypeMapPane myTypePane;
-  MarkMapPane myMarkPane;
-  JButton btnApply;
-
-
-//=======================================================================//
-// Construction
-//=======================================================================//
-  public PropertiesDlg(Frame frame, V2d_Viewer viewer)
-  {
-    super(frame, "View Map Properties", true);
-    myViewer = viewer;
-    try
-    {
-      jbInit();
-//    setSize(500, 500);
-      pack();
-    }
-    catch(Exception e)
-    {
-      e.printStackTrace();
-    }
-  }
-
-  private void jbInit() throws Exception
-  {
-    getContentPane().setLayout(new BorderLayout());
-
-    JTabbedPane myTabbedPane = new JTabbedPane();
-    myTabbedPane.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
-
-    myWidthPane = new WidthMapPane(myViewer, this);
-    myTabbedPane.addTab("Width Map", myWidthPane);
-
-    myColorPane = new ColorMapPane(myViewer, this);
-    myTabbedPane.addTab("Color Map", myColorPane);
-
-    myFontPane = new FontMapPane(myViewer, this);
-    myTabbedPane.addTab("Font Map", myFontPane);
-
-    myTypePane = new TypeMapPane(myViewer, this);
-    myTabbedPane.addTab("Type Map", myTypePane);
-
-    myMarkPane = new MarkMapPane(myViewer, this);
-    myTabbedPane.addTab("Mark Map", myMarkPane);
-
-    getContentPane().add(myTabbedPane, BorderLayout.CENTER);
-
-    JPanel controlPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT, 5, 5));
-
-    JButton btnOK = new JButton("OK");
-    btnOK.addActionListener(this);
-    btnOK.setActionCommand("OK");
-    controlPanel.add(btnOK);
-
-    JButton btnCancel = new JButton("Cancel");
-    btnCancel.addActionListener(this);
-    btnCancel.setActionCommand("Cancel");
-    controlPanel.add(btnCancel);
-
-    btnApply = new JButton("Apply");
-    btnApply.addActionListener(this);
-    btnApply.setActionCommand("Apply");
-    btnApply.setEnabled(false);
-    controlPanel.add(btnApply);
-    getContentPane().add(controlPanel, BorderLayout.SOUTH);
-  }
-
-
-//=======================================================================//
-// Commands
-//=======================================================================//
-  public void setModified()
-  {
-    btnApply.setEnabled(true);
-  }
-
-//=======================================================================//
-  public String format(double value)
-  {
-    return format(value, 6);
-  }
-
-  public String format(double value, int prec)
-  {
-    BigDecimal aValue = new BigDecimal(value);
-    return aValue.setScale(prec, BigDecimal.ROUND_HALF_UP).toString();
-  }
-
-//=======================================================================//
-  private void apply()
-  {
-    myWidthPane.apply();
-    myColorPane.apply();
-    myFontPane.apply();
-    myTypePane.apply();
-    myMarkPane.apply();
-    
-    myViewer.Update();
-    
-    btnApply.setEnabled(false);
-  }
-
-//=======================================================================//
-  private void close(boolean isOK)
-  {
-    if (isOK) apply();
-    dispose();
-  }
-
-
-//=======================================================================//
-// Action listener interface
-//=======================================================================//
-  public void actionPerformed(ActionEvent event)
-  {
-    String nameAction = event.getActionCommand();
-    if (nameAction.equals("Apply")) apply();
-    else if (nameAction.equals("OK")) close(true);
-    else if (nameAction.equals("Cancel")) close(false);
-  }
-
-}
-
-
-
-//=======================================================================//
-//                                                                       //
-//                              WidthMapPane                             //
-//                                                                       //
-//=======================================================================//
-class WidthMapPane extends JPanel implements ChangeListener,
-                                             ActionListener
-{
-  private V2d_Viewer myViewer;
-  private Aspect_WidthMap myWidthMap;
-  private PropertiesDlg myDlg;
-
-  //-----------------------------------------------------------//
-  // GUI components
-  //-----------------------------------------------------------//
-  JLabel lblMapSize;
-  TitledBorder brdEntries;
-  JSlider sldEntries;
-  JLabel lblType;
-  JLabel lblWidth;
-  JComboBox cmbType;
-  RealField txtWidth;
-  JButton btnUpdate;
-
-
-//=======================================================================//
-// Construction
-//=======================================================================//
-  public WidthMapPane(V2d_Viewer viewer, PropertiesDlg parent)
-  {
-    myViewer = viewer;
-//     myWidthMap = new Aspect_WidthMap(myViewer.WidthMap());
-    myWidthMap = myViewer.WidthMap();
-    myDlg = parent;
-
-    try
-    {
-      jbInit();
-      initValues();
-    }
-    catch(Exception ex)
-    {
-      ex.printStackTrace();
-    }
-  }
-
-  private void jbInit() throws Exception
-  {
-    setLayout(new GridBagLayout());
-
-    JPanel labelPanel = new JPanel();
-    labelPanel.add(new JLabel("Size of the width map: "));
-    lblMapSize = new JLabel();
-    labelPanel.add(lblMapSize);
-    add(labelPanel, new GridBagConstraints(0, 0, 1, 1, 1.0, 0.0,
-            GridBagConstraints.WEST, GridBagConstraints.NONE,
-            new Insets(5, 10, 5, 10), 0, 0));
-
-    // Entries pane
-    JPanel entriesPanel = new JPanel(new GridBagLayout());
-    brdEntries = new TitledBorder(BorderFactory.createEtchedBorder(), "Entries:");
-    entriesPanel.setBorder(brdEntries);
-
-    sldEntries = new JSlider();
-    sldEntries.setMinimum(0);
-    sldEntries.setMinorTickSpacing(1);
-    sldEntries.setPaintLabels(true);
-    sldEntries.setPaintTicks(true);
-    sldEntries.setPaintTrack(true);
-    sldEntries.addChangeListener(this);
-    entriesPanel.add(sldEntries, new GridBagConstraints(0, 0, 2, 1, 1.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-
-    entriesPanel.add(new JLabel("Type: "), new GridBagConstraints(0, 1, 1, 1, 0.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-    lblType = new JLabel();
-    entriesPanel.add(lblType, new GridBagConstraints(1, 1, 1, 1, 1.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-
-    entriesPanel.add(new JLabel("Width: "), new GridBagConstraints(0, 2, 1, 1, 0.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-    lblWidth = new JLabel();
-    entriesPanel.add(lblWidth, new GridBagConstraints(1, 2, 1, 1, 1.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-    add(entriesPanel, new GridBagConstraints(0, 1, 1, 1, 1.0, 0.0,
-            GridBagConstraints.CENTER, GridBagConstraints.BOTH,
-            new Insets(5, 5, 5, 5), 0, 0));
-
-    // New entry pane
-    JPanel entryPanel = new JPanel(new GridBagLayout());
-    entryPanel.setBorder(new TitledBorder(BorderFactory.createEtchedBorder(),
-                         "  New entry:  "));
-
-    entryPanel.add(new JLabel("Type: "), new GridBagConstraints(0, 0, 1, 1, 0.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-    String[] items = {"THIN", "MEDIUM", "THICK", "VERYTHICK", "USERDEFINED"};
-    cmbType = new JComboBox(items);
-    cmbType.setEditable(false);
-    cmbType.addActionListener(this);
-    cmbType.setActionCommand("Type");
-    entryPanel.add(cmbType, new GridBagConstraints(1, 0, 1, 1, 0.5, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-
-    entryPanel.add(new JLabel("Width: "), new GridBagConstraints(0, 1, 1, 1, 0.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-    txtWidth = new RealField(10);
-    entryPanel.add(txtWidth, new GridBagConstraints(1, 1, 1, 1, 0.5, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-
-    btnUpdate = new JButton("Update current");
-    btnUpdate.addActionListener(this);
-    btnUpdate.setActionCommand("Update");
-    entryPanel.add(btnUpdate, new GridBagConstraints(2, 0, 1, 1, 0.5, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-    JButton button = new JButton("Add");
-    button.addActionListener(this);
-    button.setActionCommand("Add");
-    entryPanel.add(button, new GridBagConstraints(2, 1, 1, 1, 0.5, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-
-    add(entryPanel, new GridBagConstraints(0, 2, 1, 1, 1.0, 1.0,
-            GridBagConstraints.NORTH, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-  }
-
-  private void initValues()
-  {
-    updateEntries(0);
-  }
-
-
-//=======================================================================//
-// Commands
-//=======================================================================//
-  public void updateEntries(int index)
-  {
-    int mapSize = myWidthMap.Size();
-    lblMapSize.setText("" + mapSize);
-    if (index == -1) index = mapSize - 1;
-
-    sldEntries.setMaximum(mapSize - 1);
-    sldEntries.setValue(index);
-
-    if (sldEntries.getMaximum() <= 15)
-    {
-      sldEntries.setMajorTickSpacing(1);
-      sldEntries.setSnapToTicks(true);
-    }
-    else if (sldEntries.getMaximum() <= 75)
-    {
-      sldEntries.setMajorTickSpacing(5);
-      sldEntries.setSnapToTicks(false);
-    }
-    else if (sldEntries.getMaximum() <= 150)
-    {
-      sldEntries.setMajorTickSpacing(10);
-      sldEntries.setSnapToTicks(false);
-    }
-    else
-    {
-      sldEntries.setMajorTickSpacing(25);
-      sldEntries.setMinorTickSpacing(5);
-      sldEntries.setSnapToTicks(false);
-    }
-
-    updateEntryPane(index);
-  }
-
-//=======================================================================//
-  public void updateEntryPane(int index)
-  {
-    brdEntries.setTitle("  Entries:   " + index + "  ");
-    repaint();
-
-    Aspect_WidthMapEntry anEntry = myWidthMap.Entry(index + 1);
-
-    switch (anEntry.Type())
-    {
-      case Aspect_WidthOfLine.Aspect_WOL_THIN:
-        lblType.setText("Aspect_WOL_THIN");
-        break;
-      case Aspect_WidthOfLine.Aspect_WOL_MEDIUM:
-        lblType.setText("Aspect_WOL_MEDIUM");
-        break;
-      case Aspect_WidthOfLine.Aspect_WOL_THICK:
-        lblType.setText("Aspect_WOL_THICK");
-        break;
-      case Aspect_WidthOfLine.Aspect_WOL_VERYTHICK:
-        lblType.setText("Aspect_WOL_VERYTHICK");
-        break;
-      case Aspect_WidthOfLine.Aspect_WOL_USERDEFINED:
-        lblType.setText("Aspect_WOL_USERDEFINED");
-        break;
-      default:
-        lblType.setText("Unknown");
-    }
-    
-    lblWidth.setText(myDlg.format(anEntry.Width()));
-    cmbType.setSelectedIndex(anEntry.Type());
-    txtWidth.setText(myDlg.format(anEntry.Width()));
-
-    if (index == 0)
-      btnUpdate.setEnabled(false);
-    else
-      btnUpdate.setEnabled(true);
-  }
-
-//=======================================================================//
-  public void onTypeChanged()
-  {
-    if (cmbType.getSelectedIndex() == 4)  // USERDEFINED
-      txtWidth.setEnabled(true);
-    else
-    {
-      txtWidth.setEnabled(false);
-      Aspect_WidthMapEntry aTmpEntry =
-          new Aspect_WidthMapEntry(99, cmbType.getSelectedIndex());
-      txtWidth.setText(myDlg.format(aTmpEntry.Width()));
-    }
-  }
-
-//=======================================================================//
-  public void updateCurrentEntry()
-  {
-    Aspect_WidthMapEntry anEntry = myWidthMap.Entry(sldEntries.getValue() + 1);
-    if (cmbType.getSelectedIndex() == Aspect_WidthOfLine.Aspect_WOL_USERDEFINED)
-      anEntry.SetWidth(txtWidth.getValue());
-    else
-      anEntry.SetType((short)cmbType.getSelectedIndex());
-    myWidthMap.AddEntry(anEntry);
-    myDlg.setModified();
-    updateEntryPane(sldEntries.getValue());
-  }
-
-//=======================================================================//
-  public void addNewEntry()
-  {
-    int newEntryIndex;
-    if (cmbType.getSelectedIndex() == Aspect_WidthOfLine.Aspect_WOL_USERDEFINED)
-      newEntryIndex = myWidthMap.AddEntry(txtWidth.getValue());
-    else
-      newEntryIndex = myWidthMap.AddEntry(cmbType.getSelectedIndex());
-    myDlg.setModified();
-    updateEntries(newEntryIndex);
-  }
-
-//=======================================================================//
-  public void apply()
-  {
-//     myViewer.SetWidthMap(myWidthMap.getAspectWidthMap());
-    myViewer.SetWidthMap(myWidthMap);
-  }
-
-//=======================================================================//
-// Change listener interface
-//=======================================================================//
-  public void stateChanged(ChangeEvent event)
-  {
-    JSlider slider = (JSlider) event.getSource();
-    if (slider.equals(sldEntries))
-      updateEntryPane(sldEntries.getValue());
-  }
-
-//=======================================================================//
-// Action listener interface
-//=======================================================================//
-  public void actionPerformed(ActionEvent event)
-  {
-    String nameAction = event.getActionCommand();
-    if (nameAction.equals("Type")) onTypeChanged();
-    else if (nameAction.equals("Update")) updateCurrentEntry();
-    else if (nameAction.equals("Add")) addNewEntry();
-  }
-
-}
-
-
-
-//=======================================================================//
-//                                                                       //
-//                              ColorMapPane                             //
-//                                                                       //
-//=======================================================================//
-class ColorMapPane extends JPanel implements ChangeListener,
-                                             ActionListener,
-                                             FocusListener
-{
-  private V2d_Viewer myViewer;
-  private Aspect_ColorMap myColorMap;
-  private PropertiesDlg myDlg;
-
-  //-----------------------------------------------------------//
-  // GUI components
-  //-----------------------------------------------------------//
-  JLabel lblMapSize, lblMapType;
-  TitledBorder brdEntries;
-  JSlider sldEntries;
-  JLabel lblRed, lblGreen, lblBlue;
-  JLabel lblName;
-  JPanel entryPanel;
-  RealField txtRed, txtGreen, txtBlue;
-  JComboBox cmbName;
-  JLabel lblNotAvailable;
-  JButton btnUpdate;
-
-
-//=======================================================================//
-// Construction
-//=======================================================================//
-  public ColorMapPane(V2d_Viewer viewer, PropertiesDlg parent)
-  {
-    myViewer = viewer;
-//     myColorMap = new Aspect_ColorMap(myViewer.ColorMap());
-    myColorMap = myViewer.ColorMap();
-    myDlg = parent;
-
-    try
-    {
-      jbInit();
-      initValues();
-    }
-    catch(Exception ex)
-    {
-      ex.printStackTrace();
-    }
-  }
-
-  private void jbInit() throws Exception
-  {
-    setLayout(new GridBagLayout());
-
-    JPanel infoPanel = new JPanel(new GridBagLayout());
-
-    JPanel labelPanel = new JPanel(new GridBagLayout());
-    labelPanel.add(new JLabel("Type of the color map: "),
-            new GridBagConstraints(0, 0, 1, 1, 0.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-    lblMapType = new JLabel();
-    labelPanel.add(lblMapType, new GridBagConstraints(1, 0, 1, 1, 1.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-
-    labelPanel.add(new JLabel("Size of the color map: "),
-            new GridBagConstraints(0, 1, 1, 1, 0.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-    lblMapSize = new JLabel();
-    labelPanel.add(lblMapSize, new GridBagConstraints(1, 1, 1, 1, 1.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-    infoPanel.add(labelPanel, new GridBagConstraints(0, 0, 1, 1, 0.7, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-
-    JPanel buttonsPanel = new JPanel(new GridLayout(0, 1, 5, 5));
-    JButton button = new JButton("New generic color map");
-    button.addActionListener(this);
-    button.setActionCommand("NewGeneric");
-    buttonsPanel.add(button);
-    button = new JButton("New color cube color map");
-    button.addActionListener(this);
-    button.setActionCommand("NewColorCube");
-    buttonsPanel.add(button);
-    button = new JButton("New color ramp color map");
-    button.addActionListener(this);
-    button.setActionCommand("NewColorRamp");
-    buttonsPanel.add(button);
-    infoPanel.add(buttonsPanel, new GridBagConstraints(1, 0, 1, 1, 0.3, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-
-    add(infoPanel, new GridBagConstraints(0, 0, 1, 1, 1.0, 0.0,
-            GridBagConstraints.CENTER, GridBagConstraints.BOTH,
-            new Insets(5, 5, 5, 5), 0, 0));
-
-    // Entries pane
-    JPanel entriesPanel = new JPanel(new GridBagLayout());
-    brdEntries = new TitledBorder(BorderFactory.createEtchedBorder(), "Entries:");
-    entriesPanel.setBorder(brdEntries);
-
-    sldEntries = new JSlider();
-    sldEntries.setMinimum(0);
-    sldEntries.setMinorTickSpacing(1);
-    sldEntries.setPaintLabels(true);
-    sldEntries.setPaintTicks(true);
-    sldEntries.setPaintTrack(true);
-    sldEntries.addChangeListener(this);
-    entriesPanel.add(sldEntries, new GridBagConstraints(0, 0, 5, 1, 1.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-
-    entriesPanel.add(new JLabel("Color: "), new GridBagConstraints(0, 1, 1, 1, 0.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-    lblRed = new JLabel();
-    entriesPanel.add(lblRed, new GridBagConstraints(1, 1, 1, 1, 1.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-    lblGreen = new JLabel();
-    entriesPanel.add(lblGreen, new GridBagConstraints(2, 1, 1, 1, 1.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-    lblBlue = new JLabel();
-    entriesPanel.add(lblBlue, new GridBagConstraints(3, 1, 1, 1, 1.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-    lblName = new JLabel();
-    entriesPanel.add(lblName, new GridBagConstraints(4, 1, 1, 1, 1.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-    add(entriesPanel, new GridBagConstraints(0, 1, 1, 1, 1.0, 0.0,
-            GridBagConstraints.CENTER, GridBagConstraints.BOTH,
-            new Insets(5, 5, 5, 5), 0, 0));
-
-    // New entry pane
-    entryPanel = new JPanel(new GridLayout(0, 1, 5, 5));
-    entryPanel.setBorder(new TitledBorder(BorderFactory.createEtchedBorder(),
-                           "  New entry:  "));
-
-    JPanel colorPanel = new JPanel(new GridBagLayout());
-    colorPanel.add(new JLabel("Color: "), new GridBagConstraints(0, 0, 1, 1, 0.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-    txtRed = new RealField(6);
-    txtRed.addFocusListener(this);
-    colorPanel.add(txtRed, new GridBagConstraints(1, 0, 1, 1, 1.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-    txtGreen = new RealField(6);
-    txtGreen.addFocusListener(this);
-    colorPanel.add(txtGreen, new GridBagConstraints(2, 0, 1, 1, 1.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-    txtBlue = new RealField(6);
-    txtBlue.addFocusListener(this);
-    colorPanel.add(txtBlue, new GridBagConstraints(3, 0, 1, 1, 1.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-
-    String[] items = new String[517];
-    for (int i = 0; i < 517; i++)
-      items[i] = Quantity_Color.StringName((short)i).GetValue();
-    cmbName = new JComboBox(items);
-    cmbName.setEditable(false);
-    cmbName.addActionListener(this);
-    cmbName.setActionCommand("ColorName");
-    colorPanel.add(cmbName, new GridBagConstraints(4, 0, 1, 1, 1.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-    entryPanel.add(colorPanel);
-
-    buttonsPanel = new JPanel(new GridLayout(1, 0, 10, 20));
-    buttonsPanel.setBorder(BorderFactory.createEmptyBorder(0, 10, 10, 10));
-    btnUpdate = new JButton("Update current");
-    btnUpdate.addActionListener(this);
-    btnUpdate.setActionCommand("Update");
-    buttonsPanel.add(btnUpdate);
-    button = new JButton("Add");
-    button.addActionListener(this);
-    button.setActionCommand("Add");
-    buttonsPanel.add(button);
-    button = new JButton("Edit...");
-    button.addActionListener(this);
-    button.setActionCommand("Edit");
-    buttonsPanel.add(button);
-    entryPanel.add(buttonsPanel);
-    add(entryPanel, new GridBagConstraints(0, 2, 1, 1, 1.0, 1.0,
-            GridBagConstraints.NORTH, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-
-    lblNotAvailable = new JLabel("Not available for this type of Color map");
-    lblNotAvailable.setHorizontalAlignment(SwingConstants.CENTER);
-    lblNotAvailable.setVerticalAlignment(SwingConstants.CENTER);
-    lblNotAvailable.setBorder(new TitledBorder(BorderFactory.createEtchedBorder(),
-                           "  New entry:  "));
-    add(lblNotAvailable, new GridBagConstraints(0, 3, 1, 1, 1.0, 1.0,
-            GridBagConstraints.NORTH, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-  }
-
-  private void initValues()
-  {
-    updateEntries(0);
-  }
-
-
-//=======================================================================//
-// Commands
-//=======================================================================//
-  public void updateEntries(int index)
-  {
-    switch (myColorMap.Type())
-    {
-      case Aspect_TypeOfColorMap.Aspect_TOC_Generic:
-        lblMapType.setText("Generic");
-        break;
-      case Aspect_TypeOfColorMap.Aspect_TOC_ColorCube:
-        lblMapType.setText("ColorCube");
-        break;
-      case Aspect_TypeOfColorMap.Aspect_TOC_ColorRamp:
-        lblMapType.setText("ColorRamp");
-        break;
-      default:
-        lblMapType.setText("Unknown");
-    }
-
-    if (myColorMap.Type() == Aspect_TypeOfColorMap.Aspect_TOC_Generic)
-    {
-      lblNotAvailable.setVisible(false);
-      entryPanel.setVisible(true);
-    }
-    else
-    {
-      lblNotAvailable.setVisible(true);
-      entryPanel.setVisible(false);
-    }
-
-    int mapSize = myColorMap.Size();
-    lblMapSize.setText("" + mapSize);
-    if (index == -1) index = mapSize - 1;
-
-    sldEntries.setMaximum(mapSize - 1);
-    sldEntries.setValue(index);
-
-    if (sldEntries.getMaximum() <= 15)
-    {
-      sldEntries.setMajorTickSpacing(1);
-      sldEntries.setMinorTickSpacing(1);
-      sldEntries.setSnapToTicks(true);
-      sldEntries.setPaintLabels(true);
-    }
-    else if (sldEntries.getMaximum() <= 75)
-    {
-      sldEntries.setMajorTickSpacing(5);
-      sldEntries.setMinorTickSpacing(1);
-      sldEntries.setSnapToTicks(false);
-      sldEntries.setPaintLabels(true);
-    }
-    else if (sldEntries.getMaximum() <= 150)
-    {
-      sldEntries.setMajorTickSpacing(10);
-      sldEntries.setMinorTickSpacing(2);
-      sldEntries.setSnapToTicks(false);
-      sldEntries.setPaintLabels(true);
-    }
-    else
-    {
-      sldEntries.setMajorTickSpacing(25);
-      sldEntries.setMinorTickSpacing(5);
-      sldEntries.setSnapToTicks(false);
-      sldEntries.setPaintLabels(false);
-    }
-
-    updateEntryPane(index);
-  }
-
-  public void updateEntryPane(int index)
-  {
-    brdEntries.setTitle("  Entries:   " + index + "  ");
-    repaint();
-
-    Aspect_ColorMapEntry anEntry = myColorMap.FindEntry(index);
-
-    if (anEntry.IsAllocated())
-    {
-      Quantity_Color aColor = anEntry.Color();
-      double red = aColor.Red();
-      double green = aColor.Green();
-      double blue = aColor.Blue();
-      int name = aColor.Name();
-
-      lblRed.setText(myDlg.format(red));
-      lblGreen.setText(myDlg.format(green));
-      lblBlue.setText(myDlg.format(blue));
-      lblName.setText(Quantity_Color.StringName((short)name).toString());
-
-      txtRed.setText(myDlg.format(red));
-      txtGreen.setText(myDlg.format(green));
-      txtBlue.setText(myDlg.format(blue));
-      cmbName.setSelectedIndex(name);
-    }
-    else
-    {
-      lblRed.setText("");
-      lblGreen.setText("");
-      lblBlue.setText("");
-      lblName.setText("Not allocated");
-
-      txtRed.setText("");
-      txtGreen.setText("");
-      txtBlue.setText("");
-      cmbName.setSelectedIndex(0);
-    }
-
-    if (index == 0)
-      btnUpdate.setEnabled(false);
-    else
-      btnUpdate.setEnabled(true);
-  }
-
-  public void newGenericMap()
-  {
-    myColorMap = V2d_DefaultMap.ColorMap();
-    myDlg.setModified();
-    updateEntries(0);
-  }
-
-  public void newColorCubeMap()
-  {
-    ColorCubeDlg aDlg = new ColorCubeDlg(myDlg);
-    Position.centerWindow(aDlg);
-    aDlg.show();
-    if (aDlg.isOK())
-    {
-      myColorMap = aDlg.getColorMap();
-      myDlg.setModified();
-      updateEntries(0);
-    }
-  }
-
-  public void newColorRampMap()
-  {
-    ColorRampDlg aDlg = new ColorRampDlg(myDlg);
-    Position.centerWindow(aDlg);
-    aDlg.show();
-    if (aDlg.isOK())
-    {
-      myColorMap = aDlg.getColorMap();
-      myDlg.setModified();
-      updateEntries(0);
-    }
-  }
-
-  public void onColorNameChanged()
-  {
-    Quantity_Color aColor = new Quantity_Color((short)cmbName.getSelectedIndex());
-    txtRed.setText(myDlg.format(aColor.Red()));
-    txtGreen.setText(myDlg.format(aColor.Green()));
-    txtBlue.setText(myDlg.format(aColor.Blue()));
-  }
-
-  public void onColorEdit()
-  {
-    Color newColor = JColorChooser.showDialog(myDlg, "Select Color",
-            new Color((float) txtRed.getValue(), (float) txtGreen.getValue(),
-                      (float) txtBlue.getValue()));
-    if (newColor != null)
-    {
-      double red = newColor.getRed()/255.;
-      double green = newColor.getGreen()/255.;
-      double blue = newColor.getBlue()/255.;
-      txtRed.setText(myDlg.format(red));
-      txtGreen.setText(myDlg.format(green));
-      txtBlue.setText(myDlg.format(blue));
-      cmbName.setSelectedIndex(Quantity_Color.Name(red, green, blue));
-    }
-  }
-
-  public void updateCurrentEntry()
-  {
-    Aspect_GenericColorMap aMap = null;
-    if (myColorMap instanceof Aspect_GenericColorMap)
-      aMap = (Aspect_GenericColorMap) myColorMap;
-    else if (myColorMap.Type() == Aspect_TypeOfColorMap.Aspect_TOC_Generic)
-      aMap = (Aspect_GenericColorMap) myColorMap.DownCast(
-              new Standard_CString("Aspect_GenericColorMap"),
-              new Standard_CString("SampleHLRJni"));
-
-    if (aMap != null)
-    {
-      Aspect_ColorMapEntry anEntry = myColorMap.FindEntry(sldEntries.getValue());
-      Quantity_Color aColor = new Quantity_Color(txtRed.getValue(),
-              txtGreen.getValue(), txtBlue.getValue(),
-              Quantity_TypeOfColor.Quantity_TOC_RGB);
-      anEntry.SetColor(aColor);
-      aMap.AddEntry(anEntry);
-      myDlg.setModified();
-      updateEntryPane(sldEntries.getValue());
-    }
-  }
-
-  public void addNewEntry()
-  {
-    Aspect_GenericColorMap aMap = null;
-    if (myColorMap instanceof Aspect_GenericColorMap)
-      aMap = (Aspect_GenericColorMap) myColorMap;
-    else if (myColorMap.Type() == Aspect_TypeOfColorMap.Aspect_TOC_Generic)
-      aMap = (Aspect_GenericColorMap) myColorMap.DownCast(
-              new Standard_CString("Aspect_GenericColorMap"),
-              new Standard_CString("SampleHLRJni"));
-
-    if (aMap != null)
-    {
-      Quantity_Color aColor = new Quantity_Color(txtRed.getValue(),
-              txtGreen.getValue(), txtBlue.getValue(),
-              Quantity_TypeOfColor.Quantity_TOC_RGB);
-      aMap.AddEntry(aColor);
-      myDlg.setModified();
-      updateEntries(-1);
-    }
-  }
-
-  public void apply()
-  {
-//     myViewer.SetColorMap(myColorMap.getAspectColorMap());
-    if(myColorMap instanceof Aspect_GenericColorMap)
-      myViewer.SetColorMap((Aspect_GenericColorMap)myColorMap); // AVO: cast inserted
-    else{
-      System.out.println("Error: !!!!!!!!! Not the generic color map!!!");
-    }
-  }
-
-//=======================================================================//
-// Focus listener interface
-//=======================================================================//
-  public void focusGained(FocusEvent event)
-  {
-  }
-
-  public void focusLost(FocusEvent event)
-  {
-    RealField field = (RealField) event.getSource();
-    if (field.getValue() < 0) field.setText("0");
-    if (field.getValue() > 1) field.setText("1");
-    cmbName.setSelectedIndex(Quantity_Color.Name(txtRed.getValue(),
-                             txtGreen.getValue(), txtBlue.getValue()));
-  }
-
-//=======================================================================//
-// Change listener interface
-//=======================================================================//
-  public void stateChanged(ChangeEvent event)
-  {
-    JSlider slider = (JSlider) event.getSource();
-    if (slider.equals(sldEntries))
-      updateEntryPane(sldEntries.getValue());
-  }
-
-//=======================================================================//
-// Action listener interface
-//=======================================================================//
-  public void actionPerformed(ActionEvent event)
-  {
-    String nameAction = event.getActionCommand();
-    if (nameAction.equals("ColorName")) onColorNameChanged();
-    else if (nameAction.equals("Edit")) onColorEdit();
-    else if (nameAction.equals("Update")) updateCurrentEntry();
-    else if (nameAction.equals("Add")) addNewEntry();
-    else if (nameAction.equals("NewGeneric")) newGenericMap();
-    else if (nameAction.equals("NewColorCube")) newColorCubeMap();
-    else if (nameAction.equals("NewColorRamp")) newColorRampMap();
-  }
-
-}
-
-
-
-//=======================================================================//
-//                                                                       //
-//                               FontMapPane                             //
-//                                                                       //
-//=======================================================================//
-class FontMapPane extends JPanel implements ChangeListener,
-                                            ActionListener
-{
-  private V2d_Viewer myViewer;
-  private Aspect_FontMap myFontMap;
-  private PropertiesDlg myDlg;
-
-  //-----------------------------------------------------------//
-  // GUI components
-  //-----------------------------------------------------------//
-  JLabel lblMapSize;
-  TitledBorder brdEntries;
-  JSlider sldEntries;
-  JLabel lblType, lblValue, lblSize, lblSlant;
-  JComboBox cmbType;
-  JTextField txtValue;
-  IntegerField txtSize, txtSlant;
-  JButton btnEdit, btnUpdate, btnAdd;
-
-
-//=======================================================================//
-// Construction
-//=======================================================================//
-  public FontMapPane(V2d_Viewer viewer, PropertiesDlg parent)
-  {
-    myViewer = viewer;
-//     myFontMap = new Aspect_FontMap(myViewer.FontMap());
-    myFontMap = myViewer.FontMap();
-    myDlg = parent;
-
-    try
-    {
-      jbInit();
-      initValues();
-    }
-    catch(Exception ex)
-    {
-      ex.printStackTrace();
-    }
-  }
-
-  private void jbInit() throws Exception
-  {
-    setLayout(new GridBagLayout());
-
-    JPanel labelPanel = new JPanel();
-    labelPanel.add(new JLabel("Size of the font map: "));
-    lblMapSize = new JLabel();
-    labelPanel.add(lblMapSize);
-    add(labelPanel, new GridBagConstraints(0, 0, 1, 1, 1.0, 0.0,
-            GridBagConstraints.WEST, GridBagConstraints.NONE,
-            new Insets(5, 10, 5, 10), 0, 0));
-
-    // Entries pane
-    JPanel entriesPanel = new JPanel(new GridBagLayout());
-    brdEntries = new TitledBorder(BorderFactory.createEtchedBorder(), "Entries:");
-    entriesPanel.setBorder(brdEntries);
-
-    sldEntries = new JSlider();
-    sldEntries.setMinimum(0);
-    sldEntries.setMinorTickSpacing(1);
-    sldEntries.setPaintLabels(true);
-    sldEntries.setPaintTicks(true);
-    sldEntries.setPaintTrack(true);
-    sldEntries.addChangeListener(this);
-    entriesPanel.add(sldEntries, new GridBagConstraints(0, 0, 2, 1, 1.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-
-    entriesPanel.add(new JLabel("Type: "), new GridBagConstraints(0, 1, 1, 1, 0.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-    lblType = new JLabel();
-    entriesPanel.add(lblType, new GridBagConstraints(1, 1, 1, 1, 1.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-
-    entriesPanel.add(new JLabel("Value: "), new GridBagConstraints(0, 2, 1, 1, 0.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-    lblValue = new JLabel();
-    entriesPanel.add(lblValue, new GridBagConstraints(1, 2, 1, 1, 1.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-
-    entriesPanel.add(new JLabel("Size: "), new GridBagConstraints(0, 3, 1, 1, 0.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-    lblSize = new JLabel();
-    entriesPanel.add(lblSize, new GridBagConstraints(1, 3, 1, 1, 1.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-
-    entriesPanel.add(new JLabel("Slant: "), new GridBagConstraints(0, 4, 1, 1, 0.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-    lblSlant = new JLabel();
-    entriesPanel.add(lblSlant, new GridBagConstraints(1, 4, 1, 1, 1.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-    add(entriesPanel, new GridBagConstraints(0, 1, 1, 1, 1.0, 0.0,
-            GridBagConstraints.CENTER, GridBagConstraints.BOTH,
-            new Insets(5, 5, 5, 5), 0, 0));
-
-    // New entry pane
-    JPanel entryPanel = new JPanel(new GridBagLayout());
-    entryPanel.setBorder(new TitledBorder(BorderFactory.createEtchedBorder(),
-                         "  New entry:  "));
-
-    entryPanel.add(new JLabel("Type: "), new GridBagConstraints(0, 0, 1, 1, 0.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-    String[] items = {"DEFAULT", "COURIER", "HELVETICA", "TIMES", "USERDEFINED"};
-    cmbType = new JComboBox(items);
-    cmbType.setEditable(false);
-    cmbType.addActionListener(this);
-    cmbType.setActionCommand("Type");
-    entryPanel.add(cmbType, new GridBagConstraints(1, 0, 1, 1, 1.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-    btnEdit = new JButton("Edit...");
-    btnEdit.addActionListener(this);
-    btnEdit.setActionCommand("Edit");
-    entryPanel.add(btnEdit, new GridBagConstraints(2, 0, 1, 1, 0.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-
-    entryPanel.add(new JLabel("Value: "), new GridBagConstraints(0, 1, 1, 1, 0.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-    txtValue = new JTextField(20);
-    txtValue.setEditable(false);
-    entryPanel.add(txtValue, new GridBagConstraints(1, 1, 2, 1, 1.5, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-
-    entryPanel.add(new JLabel("Size: "), new GridBagConstraints(0, 2, 1, 1, 0.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-    txtSize = new IntegerField(6);
-    entryPanel.add(txtSize, new GridBagConstraints(1, 2, 1, 1, 1.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-    btnUpdate = new JButton("Update current");
-    btnUpdate.addActionListener(this);
-    btnUpdate.setActionCommand("Update");
-    entryPanel.add(btnUpdate, new GridBagConstraints(2, 2, 1, 1, 0.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-
-    entryPanel.add(new JLabel("Slant: "), new GridBagConstraints(0, 3, 1, 1, 0.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-    txtSlant = new IntegerField(6);
-    entryPanel.add(txtSlant, new GridBagConstraints(1, 3, 1, 1, 1.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-    btnAdd = new JButton("Add");
-    btnAdd.addActionListener(this);
-    btnAdd.setActionCommand("Add");
-    entryPanel.add(btnAdd, new GridBagConstraints(2, 3, 1, 1, 0.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-
-    add(entryPanel, new GridBagConstraints(0, 2, 1, 1, 1.0, 1.0,
-            GridBagConstraints.NORTH, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-  }
-
-  private void initValues()
-  {
-    updateEntries(0);
-  }
-
-
-//=======================================================================//
-// Commands
-//=======================================================================//
-  public void updateEntries(int index)
-  {
-    int mapSize = myFontMap.Size();
-    lblMapSize.setText("" + mapSize);
-    if (index == -1) index = mapSize - 1;
-
-    sldEntries.setMaximum(mapSize - 1);
-    sldEntries.setValue(index);
-
-    if (sldEntries.getMaximum() <= 15)
-    {
-      sldEntries.setMajorTickSpacing(1);
-      sldEntries.setSnapToTicks(true);
-    }
-    else if (sldEntries.getMaximum() <= 75)
-    {
-      sldEntries.setMajorTickSpacing(5);
-      sldEntries.setSnapToTicks(false);
-    }
-    else if (sldEntries.getMaximum() <= 150)
-    {
-      sldEntries.setMajorTickSpacing(10);
-      sldEntries.setSnapToTicks(false);
-    }
-    else
-    {
-      sldEntries.setMajorTickSpacing(25);
-      sldEntries.setMinorTickSpacing(5);
-      sldEntries.setSnapToTicks(false);
-    }
-
-    updateEntryPane(index);
-  }
-
-  public void updateEntryPane(int index)
-  {
-    brdEntries.setTitle("  Entries:   " + index + "  ");
-    repaint();
-
-    Aspect_FontMapEntry anEntry = myFontMap.Entry(index + 1);
-    Aspect_FontStyle aStyle = anEntry.Type();
-
-    switch (aStyle.Style())
-    {
-      case Aspect_TypeOfFont.Aspect_TOF_DEFAULT:
-        lblType.setText("Aspect_TOF_DEFAULT");
-        break;
-      case Aspect_TypeOfFont.Aspect_TOF_COURIER:
-        lblType.setText("Aspect_TOF_COURIER");
-        break;
-      case Aspect_TypeOfFont.Aspect_TOF_HELVETICA:
-        lblType.setText("Aspect_TOF_HELVETICA");
-        break;
-      case Aspect_TypeOfFont.Aspect_TOF_TIMES:
-        lblType.setText("Aspect_TOF_TIMES");
-        break;
-      case Aspect_TypeOfFont.Aspect_TOF_USERDEFINED:
-        lblType.setText("Aspect_TOF_USERDEFINED");
-        break;
-      default:
-        lblType.setText("Unknown");
-    }
-
-    lblValue.setText(aStyle.Value().GetValue());
-    lblSize.setText(myDlg.format(aStyle.Size(), 1));
-    lblSlant.setText(myDlg.format(aStyle.Slant(), 1));
-    
-    cmbType.setSelectedIndex(aStyle.Style());
-    txtValue.setText(aStyle.Value().GetValue());
-    txtSize.setText(myDlg.format(aStyle.Size(), 1));
-    txtSlant.setText(myDlg.format(aStyle.Slant(), 1));
-  }
-
-  public void onTypeChanged()
-  {
-    if (cmbType.getSelectedIndex() == Aspect_TypeOfFont.Aspect_TOF_USERDEFINED)
-    {
-      txtValue.setText("Please, select the font");
-      txtSize.setText("");
-      txtSlant.setText("");
-      btnEdit.setEnabled(true);
-      btnUpdate.setEnabled(false);
-      btnAdd.setEnabled(false);
-      txtSize.setEnabled(false);
-      txtSlant.setEnabled(false);
-    }
-    else
-    {
-      Aspect_FontStyle aStyle = new Aspect_FontStyle((short)cmbType.getSelectedIndex(),
-                                                     0.3, 0.0, false);
-      txtValue.setText(aStyle.Value().GetValue());
-      txtSize.setText(myDlg.format(aStyle.Size(), 1));
-      txtSlant.setText(myDlg.format(aStyle.Slant(), 1));
-      btnEdit.setEnabled(false);
-      btnUpdate.setEnabled(true);
-      btnAdd.setEnabled(true);
-      txtSize.setEnabled(true);
-      txtSlant.setEnabled(true);
-    }
-  }
-
-  public void onFontEdit()
-  {
-    Font defFont = new Font("Helvetica", Font.BOLD, 10); 
-    JFontChooser aDlg = new JFontChooser(defFont);
-    if (aDlg.showDialog(myDlg, "Choose a font") == JFontChooser.ACCEPT_OPTION)
-    {
-      Font newFont = aDlg.getSelectedFont();
-      Standard_CString name =
-          new Standard_CString(newFont.getFamily() + (newFont.isBold() ?
-                  (newFont.isItalic() ? "-BoldItalic" : "-Bold") :
-                  (newFont.isItalic() ? "-Italic" : "")));
-      Aspect_FontStyle aStyle =
-          new Aspect_FontStyle(name, newFont.getSize()*25.4/72., 0.0, false);
-      txtValue.setText(aStyle.Value().GetValue());
-      txtSize.setText(myDlg.format(aStyle.Size(), 1));
-      txtSlant.setText("");
-      btnUpdate.setEnabled(true);
-      btnAdd.setEnabled(true);
-    }
-  }
-
-  public void updateCurrentEntry()
-  {
-    Aspect_FontMapEntry anEntry = myFontMap.Entry(sldEntries.getValue() + 1);
-    if (cmbType.getSelectedIndex() == Aspect_TypeOfFont.Aspect_TOF_USERDEFINED)
-    {
-      Aspect_FontStyle aStyle =
-          new Aspect_FontStyle(new Standard_CString(txtValue.getText()));
-      anEntry.SetType(aStyle);
-    }
-    else
-    {
-      Aspect_FontStyle aStyle =
-          new Aspect_FontStyle((short)cmbType.getSelectedIndex(), (double)txtSize.getValue(),
-                               (double)txtSlant.getValue(), false);
-      anEntry.SetType(aStyle);
-    }
-    myFontMap.AddEntry(anEntry);
-    myDlg.setModified();
-    updateEntryPane(sldEntries.getValue());
-  }
-
-  public void addNewEntry()
-  {
-    Aspect_FontStyle aStyle;
-    if (cmbType.getSelectedIndex() == Aspect_TypeOfFont.Aspect_TOF_USERDEFINED)
-      aStyle = new Aspect_FontStyle(new Standard_CString(txtValue.getText()));
-    else
-      aStyle = new Aspect_FontStyle((short)cmbType.getSelectedIndex(), (double)txtSize.getValue(), (double)txtSlant.getValue(), false);
-    myFontMap.AddEntry(aStyle);
-    myDlg.setModified();
-    updateEntries(-1);
-  }
-
-  public void apply()
-  {
-//     myViewer.SetFontMap(myFontMap.getAspectFontMap(), true);
-    myViewer.SetFontMap(myFontMap, true);
-  }
-
-//=======================================================================//
-// Change listener interface
-//=======================================================================//
-  public void stateChanged(ChangeEvent event)
-  {
-    JSlider slider = (JSlider) event.getSource();
-    if (slider.equals(sldEntries))
-      updateEntryPane(sldEntries.getValue());
-  }
-
-//=======================================================================//
-// Action listener interface
-//=======================================================================//
-  public void actionPerformed(ActionEvent event)
-  {
-    String nameAction = event.getActionCommand();
-    if (nameAction.equals("Type")) onTypeChanged();
-    else if (nameAction.equals("Edit")) onFontEdit();
-    else if (nameAction.equals("Update")) updateCurrentEntry();
-    else if (nameAction.equals("Add")) addNewEntry();
-  }
-}
-
-
-
-//=======================================================================//
-//                                                                       //
-//                               TypeMapPane                             //
-//                                                                       //
-//=======================================================================//
-class TypeMapPane extends JPanel implements ChangeListener,
-                                            ActionListener
-{
-  private V2d_Viewer myViewer;
-  private Aspect_TypeMap myTypeMap;
-  private PropertiesDlg myDlg;
-
-  //-----------------------------------------------------------//
-  // GUI components
-  //-----------------------------------------------------------//
-  JLabel lblMapSize;
-  TitledBorder brdEntries;
-  JSlider sldEntries;
-  JLabel lblStyle;
-  JLabel lblValue;
-  JComboBox cmbStyle;
-  JTextField txtValue;
-  JButton btnUpdate;
-
-
-//=======================================================================//
-// Construction
-//=======================================================================//
-  public TypeMapPane(V2d_Viewer viewer, PropertiesDlg parent)
-  {
-    myViewer = viewer;
-//     myTypeMap = new Aspect_TypeMap(myViewer.TypeMap());
-    myTypeMap = myViewer.TypeMap();
-    myDlg = parent;
-
-    try
-    {
-      jbInit();
-      initValues();
-    }
-    catch(Exception ex)
-    {
-      ex.printStackTrace();
-    }
-  }
-
-  private void jbInit() throws Exception
-  {
-    setLayout(new GridBagLayout());
-
-    JPanel labelPanel = new JPanel();
-    labelPanel.add(new JLabel("Size of the type map: "));
-    lblMapSize = new JLabel();
-    labelPanel.add(lblMapSize);
-    add(labelPanel, new GridBagConstraints(0, 0, 1, 1, 1.0, 0.0,
-            GridBagConstraints.WEST, GridBagConstraints.NONE,
-            new Insets(5, 10, 5, 10), 0, 0));
-
-    // Entries pane
-    JPanel entriesPanel = new JPanel(new GridBagLayout());
-    brdEntries = new TitledBorder(BorderFactory.createEtchedBorder(), "Entries:");
-    entriesPanel.setBorder(brdEntries);
-
-    sldEntries = new JSlider();
-    sldEntries.setMinimum(0);
-    sldEntries.setMinorTickSpacing(1);
-    sldEntries.setPaintLabels(true);
-    sldEntries.setPaintTicks(true);
-    sldEntries.setPaintTrack(true);
-    sldEntries.addChangeListener(this);
-    entriesPanel.add(sldEntries, new GridBagConstraints(0, 0, 2, 1, 1.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-
-    entriesPanel.add(new JLabel("Style: "), new GridBagConstraints(0, 1, 1, 1, 0.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-    lblStyle = new JLabel();
-    entriesPanel.add(lblStyle, new GridBagConstraints(1, 1, 1, 1, 1.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-
-    entriesPanel.add(new JLabel("Value: "), new GridBagConstraints(0, 2, 1, 1, 0.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-    lblValue = new JLabel();
-    entriesPanel.add(lblValue, new GridBagConstraints(1, 2, 1, 1, 1.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-    add(entriesPanel, new GridBagConstraints(0, 1, 1, 1, 1.0, 0.0,
-            GridBagConstraints.CENTER, GridBagConstraints.BOTH,
-            new Insets(5, 5, 5, 5), 0, 0));
-
-    // New entry pane
-    JPanel entryPanel = new JPanel(new GridBagLayout());
-    entryPanel.setBorder(new TitledBorder(BorderFactory.createEtchedBorder(),
-                         "  New entry:  "));
-
-    entryPanel.add(new JLabel("Style: "), new GridBagConstraints(0, 0, 1, 1, 0.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-    String[] items = {"SOLID", "DASH", "DOT", "DOTDASH", "USERDEFINED"};
-    cmbStyle = new JComboBox(items);
-    cmbStyle.setEditable(false);
-    cmbStyle.addActionListener(this);
-    cmbStyle.setActionCommand("Style");
-    entryPanel.add(cmbStyle, new GridBagConstraints(1, 0, 1, 1, 0.5, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-
-    entryPanel.add(new JLabel("Value: "), new GridBagConstraints(0, 1, 1, 1, 0.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-    txtValue = new JTextField(20);
-    entryPanel.add(txtValue, new GridBagConstraints(1, 1, 1, 1, 0.5, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-
-    btnUpdate = new JButton("Update current");
-    btnUpdate.addActionListener(this);
-    btnUpdate.setActionCommand("Update");
-    entryPanel.add(btnUpdate, new GridBagConstraints(2, 0, 1, 1, 0.5, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-    JButton button = new JButton("Add");
-    button.addActionListener(this);
-    button.setActionCommand("Add");
-    entryPanel.add(button, new GridBagConstraints(2, 1, 1, 1, 0.5, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-
-    add(entryPanel, new GridBagConstraints(0, 2, 1, 1, 1.0, 1.0,
-            GridBagConstraints.NORTH, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-  }
-
-  private void initValues()
-  {
-    updateEntries(0);
-  }
-
-
-//=======================================================================//
-// Commands
-//=======================================================================//
-  public void updateEntries(int index)
-  {
-    int mapSize = myTypeMap.Size();
-    lblMapSize.setText("" + mapSize);
-    if (index == -1) index = mapSize - 1;
-
-    sldEntries.setMaximum(mapSize - 1);
-    sldEntries.setValue(index);
-
-    if (sldEntries.getMaximum() <= 15)
-    {
-      sldEntries.setMajorTickSpacing(1);
-      sldEntries.setSnapToTicks(true);
-    }
-    else if (sldEntries.getMaximum() <= 75)
-    {
-      sldEntries.setMajorTickSpacing(5);
-      sldEntries.setSnapToTicks(false);
-    }
-    else if (sldEntries.getMaximum() <= 150)
-    {
-      sldEntries.setMajorTickSpacing(10);
-      sldEntries.setSnapToTicks(false);
-    }
-    else
-    {
-      sldEntries.setMajorTickSpacing(25);
-      sldEntries.setMinorTickSpacing(5);
-      sldEntries.setSnapToTicks(false);
-    }
-
-    updateEntryPane(index);
-  }
-
-//=======================================================================//
-  public void updateEntryPane(int index)
-  {
-    brdEntries.setTitle("  Entries:   " + index + "  ");
-    repaint();
-
-    Aspect_TypeMapEntry anEntry = myTypeMap.Entry(index + 1);
-    if (anEntry.IsAllocated())
-    {
-      Aspect_LineStyle aStyle = anEntry.Type();
-
-      switch (aStyle.Style())
-      {
-        case Aspect_TypeOfLine.Aspect_TOL_SOLID:
-          lblStyle.setText("SOLID");
-          break;
-        case Aspect_TypeOfLine.Aspect_TOL_DASH:
-          lblStyle.setText("DASH");
-          break;
-        case Aspect_TypeOfLine.Aspect_TOL_DOT:
-          lblStyle.setText("DOT");
-          break;
-        case Aspect_TypeOfLine.Aspect_TOL_DOTDASH:
-          lblStyle.setText("DOTDASH");
-          break;
-        case Aspect_TypeOfLine.Aspect_TOL_USERDEFINED:
-          lblStyle.setText("USERDEFINED");
-          break;
-        default:
-          lblStyle.setText("Unknown");
-      }
-
-      lblValue.setText(buildValuesString(aStyle.Values()));
-      cmbStyle.setSelectedIndex(aStyle.Style());
-      txtValue.setText(buildValuesString(aStyle.Values()));
-    }
-    else
-    {
-      lblStyle.setText("Not allocated");
-      lblValue.setText("");
-      cmbStyle.setSelectedIndex(4);
-      txtValue.setText("");
-    }
-  }
-
-//=======================================================================//
-  public void onStyleChanged()
-  {
-    if (cmbStyle.getSelectedIndex() == Aspect_TypeOfLine.Aspect_TOL_USERDEFINED)
-      txtValue.setEnabled(true);
-    else
-    {
-      txtValue.setEnabled(false);
-
-      Aspect_TypeMapEntry aTmpEntry = new Aspect_TypeMapEntry(99, new Aspect_LineStyle((short)cmbStyle.getSelectedIndex()));
-      Aspect_LineStyle aStyle = aTmpEntry.Type();
-      txtValue.setText(buildValuesString(aStyle.Values()));
-    }
-  }
-
-//=======================================================================//
-  public void updateCurrentEntry()
-  {
-    Aspect_TypeMapEntry anEntry = myTypeMap.Entry(sldEntries.getValue() + 1);
-    
-    if (cmbStyle.getSelectedIndex() == Aspect_TypeOfLine.Aspect_TOL_USERDEFINED)
-    {
-      TColQuantity_Array1OfLength aValues = extractValues(txtValue.getText());
-      if (aValues != null)
-      {
-        Aspect_LineStyle aStyle = new Aspect_LineStyle(aValues);
-        anEntry.SetType(aStyle);
-      }
-      else
-      {
-        JOptionPane.showMessageDialog(myDlg, "The string isn't valid",
-            "Error", JOptionPane.ERROR_MESSAGE);
-        return;
-      }
-    }
-    else
-    {
-//       Aspect_LineStyle aStyle = new Aspect_LineStyle(cmbStyle.getSelectedIndex());
-      Aspect_LineStyle aStyle = new Aspect_LineStyle((short)cmbStyle.getSelectedIndex());
-      anEntry.SetType(aStyle);
-    }
-    myTypeMap.AddEntry(anEntry);
-    myDlg.setModified();
-    updateEntryPane(sldEntries.getValue());
-  }
-
-//=======================================================================//
-  public void addNewEntry()
-  {
-    int newEntryIndex;
-    if (cmbStyle.getSelectedIndex() == Aspect_TypeOfLine.Aspect_TOL_USERDEFINED)
-    {
-      TColQuantity_Array1OfLength aValues = extractValues(txtValue.getText());
-      if (aValues != null)
-      {
-        Aspect_LineStyle aStyle = new Aspect_LineStyle(aValues);
-        newEntryIndex = myTypeMap.AddEntry(aStyle);
-      }
-      else
-      {
-        JOptionPane.showMessageDialog(myDlg, "The string isn't valid",
-            "Error", JOptionPane.ERROR_MESSAGE);
-        return;
-      }
-    }
-    else
-    {
-      Aspect_LineStyle aStyle = new Aspect_LineStyle((short)cmbStyle.getSelectedIndex());
-      newEntryIndex = myTypeMap.AddEntry(aStyle);
-    }
-    myDlg.setModified();
-    updateEntries(newEntryIndex);
-  }
-
-//=======================================================================//
-  public void apply()
-  {
-//     myViewer.SetTypeMap(myTypeMap.getAspectTypeMap());
-    myViewer.SetTypeMap(myTypeMap);
-  }
-
-//=======================================================================//
-  private TColQuantity_Array1OfLength extractValues(String aValues)
-  {
-    if (aValues.equals(""))
-      return null;
-      
-    Vector v = new Vector(5);
-    int pos = 0;
-    boolean isFinish = false;
-
-    while (!isFinish)
-    {
-      int k = aValues.indexOf(";", pos);
-      if (k == -1)
-      {
-        try {
-          BigDecimal value = new BigDecimal(aValues.substring(pos).trim());
-          v.add(value);
-        }
-        catch (Exception e) {
-          return null;
-        }
-        isFinish = true;
-      }
-      else
-      {
-        try {
-          BigDecimal value = new BigDecimal(aValues.substring(pos, k).trim());
-          v.add(value);
-        }
-        catch (Exception e) {
-          return null;
-        }
-        pos = k + 1;
-      }
-    }
-    if (v.isEmpty())
-      return null;
-
-    int count = v.size();
-    TColQuantity_Array1OfLength anArray = new TColQuantity_Array1OfLength(1, count);
-    for (int i = 0; i < count; i++)
-    {
-      BigDecimal value = (BigDecimal) v.get(i);
-      anArray.SetValue(i+1, value.doubleValue());
-    }
-    return anArray;
-  }
-
-//=======================================================================//
-  private String buildValuesString(TColQuantity_Array1OfLength anArray)
-  {
-    String aValues = new String("");
-    int count = anArray.Length();
-    for (int i = 0; i < count; i++)
-    {
-      if (i > 0) aValues += "; ";
-      aValues += myDlg.format(anArray.Value(i+1));
-    }
-    return aValues;
-  }
-
-//=======================================================================//
-// Change listener interface
-//=======================================================================//
-  public void stateChanged(ChangeEvent event)
-  {
-    JSlider slider = (JSlider) event.getSource();
-    if (slider.equals(sldEntries))
-      updateEntryPane(sldEntries.getValue());
-  }
-
-//=======================================================================//
-// Action listener interface
-//=======================================================================//
-  public void actionPerformed(ActionEvent event)
-  {
-    String nameAction = event.getActionCommand();
-    if (nameAction.equals("Style")) onStyleChanged();
-    else if (nameAction.equals("Update")) updateCurrentEntry();
-    else if (nameAction.equals("Add")) addNewEntry();
-  }
-
-}
-
-
-
-//=======================================================================//
-//                                                                       //
-//                               MarkMapPane                             //
-//                                                                       //
-//=======================================================================//
-class MarkMapPane extends JPanel implements ChangeListener
-{
-  private V2d_Viewer myViewer;
-  private Aspect_MarkMap myMarkMap;
-  private PropertiesDlg myDlg;
-
-  //-----------------------------------------------------------//
-  // GUI components
-  //-----------------------------------------------------------//
-  JLabel lblMapSize;
-  TitledBorder brdEntries;
-  JSlider sldEntries;
-  JLabel lblStyle;
-  JPanel paneXValues, paneYValues, paneSValues;
-
-
-//=======================================================================//
-// Construction
-//=======================================================================//
-  public MarkMapPane(V2d_Viewer viewer, PropertiesDlg parent)
-  {
-    myViewer = viewer;
-//     myMarkMap = new Aspect_MarkMap(myViewer.MarkMap());
-    myMarkMap = myViewer.MarkMap();
-    myDlg = parent;
-
-    try
-    {
-      jbInit();
-      initValues();
-    }
-    catch(Exception ex)
-    {
-      ex.printStackTrace();
-    }
-  }
-
-  private void jbInit() throws Exception
-  {
-    setLayout(new GridBagLayout());
-
-    JPanel labelPanel = new JPanel();
-    labelPanel.add(new JLabel("Size of the mark map: "));
-    lblMapSize = new JLabel();
-    labelPanel.add(lblMapSize);
-    add(labelPanel, new GridBagConstraints(0, 0, 1, 1, 1.0, 0.0,
-            GridBagConstraints.WEST, GridBagConstraints.NONE,
-            new Insets(5, 10, 5, 10), 0, 0));
-
-    // Entries pane
-    JPanel entriesPanel = new JPanel(new GridBagLayout());
-    brdEntries = new TitledBorder(BorderFactory.createEtchedBorder(), "Entries:");
-    entriesPanel.setBorder(brdEntries);
-
-    sldEntries = new JSlider();
-    sldEntries.setMinimum(0);
-    sldEntries.setMinorTickSpacing(1);
-    sldEntries.setPaintLabels(true);
-    sldEntries.setPaintTicks(true);
-    sldEntries.setPaintTrack(true);
-    sldEntries.addChangeListener(this);
-    entriesPanel.add(sldEntries, new GridBagConstraints(0, 0, 2, 1, 1.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-
-    entriesPanel.add(new JLabel("Style: "), new GridBagConstraints(0, 1, 1, 1, 0.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-    lblStyle = new JLabel();
-    entriesPanel.add(lblStyle, new GridBagConstraints(1, 1, 1, 1, 1.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-
-    entriesPanel.add(new JLabel("XValues: "), new GridBagConstraints(0, 2, 1, 1, 0.0, 1.0,
-            GridBagConstraints.NORTH, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-    paneXValues = new JPanel() {
-        public Dimension getPreferredSize() {
-          Dimension size = super.getPreferredSize();
-          return new Dimension(size.width, Math.min(size.height, 100));
-          }
-        public Dimension getMinimumSize() {
-          Dimension size = super.getMinimumSize();
-          return new Dimension(size.width, Math.min(size.height, 100));
-          }
-        };
-    entriesPanel.add(paneXValues, new GridBagConstraints(1, 2, 1, 1, 1.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-
-    entriesPanel.add(new JLabel("YValues: "), new GridBagConstraints(0, 3, 1, 1, 0.0, 1.0,
-            GridBagConstraints.NORTH, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-    paneYValues = new JPanel() {
-        public Dimension getPreferredSize() {
-          Dimension size = super.getPreferredSize();
-          return new Dimension(size.width, Math.min(size.height, 100));
-          }
-        public Dimension getMinimumSize() {
-          Dimension size = super.getMinimumSize();
-          return new Dimension(size.width, Math.min(size.height, 100));
-          }
-        };
-    entriesPanel.add(paneYValues, new GridBagConstraints(1, 3, 1, 1, 1.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-
-    entriesPanel.add(new JLabel("SValues: "), new GridBagConstraints(0, 4, 1, 1, 0.0, 1.0,
-            GridBagConstraints.NORTH, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-    paneSValues = new JPanel() {
-        public Dimension getPreferredSize() {
-          Dimension size = super.getPreferredSize();
-          return new Dimension(size.width, Math.min(size.height, 100));
-          }
-        public Dimension getMinimumSize() {
-          Dimension size = super.getMinimumSize();
-          return new Dimension(size.width, Math.min(size.height, 100));
-          }
-        };
-    entriesPanel.add(paneSValues, new GridBagConstraints(1, 4, 1, 1, 1.0, 1.0,
-            GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-    add(entriesPanel, new GridBagConstraints(0, 1, 1, 1, 1.0, 1.0,
-            GridBagConstraints.NORTH, GridBagConstraints.HORIZONTAL,
-            new Insets(5, 5, 5, 5), 0, 0));
-  }
-
-  private void initValues()
-  {
-    updateEntries(0);
-  }
-
-
-//=======================================================================//
-// Commands
-//=======================================================================//
-  public void updateEntries(int index)
-  {
-    int mapSize = myMarkMap.Size();
-    lblMapSize.setText("" + mapSize);
-    if (index == -1) index = mapSize - 1;
-
-    sldEntries.setMaximum(mapSize - 1);
-    sldEntries.setValue(index);
-
-    if (sldEntries.getMaximum() <= 15)
-    {
-      sldEntries.setMajorTickSpacing(1);
-      sldEntries.setSnapToTicks(true);
-    }
-    else if (sldEntries.getMaximum() <= 75)
-    {
-      sldEntries.setMajorTickSpacing(5);
-      sldEntries.setSnapToTicks(false);
-    }
-    else if (sldEntries.getMaximum() <= 150)
-    {
-      sldEntries.setMajorTickSpacing(10);
-      sldEntries.setSnapToTicks(false);
-    }
-    else
-    {
-      sldEntries.setMajorTickSpacing(25);
-      sldEntries.setMinorTickSpacing(5);
-      sldEntries.setSnapToTicks(false);
-    }
-
-    updateEntryPane(index);
-  }
-
-//=======================================================================//
-  public void updateEntryPane(int index)
-  {
-    brdEntries.setTitle("  Entries:   " + index + "  ");
-    repaint();
-
-    Aspect_MarkMapEntry anEntry = myMarkMap.Entry(index + 1);
-    if (anEntry.IsAllocated())
-    {
-      Aspect_MarkerStyle aStyle = anEntry.Style();
-
-      switch (aStyle.Type())
-      {
-        case Aspect_TypeOfMarker.Aspect_TOM_POINT:
-          lblStyle.setText("Aspect_TOM_POINT");
-          break;
-        case Aspect_TypeOfMarker.Aspect_TOM_PLUS:
-          lblStyle.setText("Aspect_TOM_PLUS");
-          break;
-        case Aspect_TypeOfMarker.Aspect_TOM_STAR:
-          lblStyle.setText("Aspect_TOM_STAR");
-          break;
-        case Aspect_TypeOfMarker.Aspect_TOM_O:
-          lblStyle.setText("Aspect_TOM_O");
-          break;
-        case Aspect_TypeOfMarker.Aspect_TOM_X:
-          lblStyle.setText("Aspect_TOM_X");
-          break;
-        case Aspect_TypeOfMarker.Aspect_TOM_O_POINT:
-          lblStyle.setText("Aspect_TOM_O_POINT");
-          break;
-        case Aspect_TypeOfMarker.Aspect_TOM_O_PLUS:
-          lblStyle.setText("Aspect_TOM_O_PLUS");
-          break;
-        case Aspect_TypeOfMarker.Aspect_TOM_O_STAR:
-          lblStyle.setText("Aspect_TOM_O_STAR");
-          break;
-        case Aspect_TypeOfMarker.Aspect_TOM_O_X:
-          lblStyle.setText("Aspect_TOM_O_X");
-          break;
-        case Aspect_TypeOfMarker.Aspect_TOM_BALL:
-          lblStyle.setText("Aspect_TOM_BALL");
-          break;
-        case Aspect_TypeOfMarker.Aspect_TOM_RING1:
-          lblStyle.setText("Aspect_TOM_RING1");
-          break;
-        case Aspect_TypeOfMarker.Aspect_TOM_RING2:
-          lblStyle.setText("Aspect_TOM_RING2");
-          break;
-        case Aspect_TypeOfMarker.Aspect_TOM_RING3:
-          lblStyle.setText("Aspect_TOM_RING3");
-          break;
-        case Aspect_TypeOfMarker.Aspect_TOM_USERDEFINED:
-          lblStyle.setText("Aspect_TOM_USERDEFINED");
-          break;
-        default:
-          lblStyle.setText("Unknown");
-      }
-
-      setValues(paneXValues, getStringValues(aStyle.XValues()));
-      setValues(paneYValues, getStringValues(aStyle.YValues()));
-      setValues(paneSValues, getStringValues(aStyle.SValues()));
-    }
-    else
-    {
-      lblStyle.setText("Not allocated");
-      paneXValues.removeAll();
-      paneYValues.removeAll();
-      paneSValues.removeAll();
-    }
-  }
-
-//=======================================================================//
-  public void apply()
-  {
-  }
-
- //=======================================================================//
- private void setValues(JPanel pane, String[] aValues)
-  {
-    pane.removeAll();
-    pane.setLayout(new ToolbarLayout(ToolbarLayout.LEFT, ToolbarLayout.TOP, 10, 0));
-    for (int i = 0; i < aValues.length; i++)
-      pane.add(new JLabel(aValues[i]));
-  }
-
-//=======================================================================//
-  private String[] getStringValues(TShort_Array1OfShortReal anArray)
-  {
-    int count = anArray.Length();
-    if (count == 0)
-      return new String[1];
-
-    String[] aValues = new String[count];
-    for (int i = 0; i < count; i++)
-      aValues[i] = myDlg.format(anArray.Value(i+1));
-    return aValues;
-  }
-
-//=======================================================================//
-  private String[] getStringValues(TColStd_Array1OfBoolean anArray)
-  {
-    int count = anArray.Length();
-    String[] aValues = new String[count];
-    for (int i = 0; i < count; i++)
-      aValues[i] = anArray.Value(i+1) ? "True" : "False";
-    return aValues;
-  }
-
-
-//=======================================================================//
-// Change listener interface
-//=======================================================================//
-  public void stateChanged(ChangeEvent event)
-  {
-    JSlider slider = (JSlider) event.getSource();
-    if (slider.equals(sldEntries))
-      updateEntryPane(sldEntries.getValue());
-  }
-
-}
-
-
-//=======================================================================//
-//                                                                       //
-//                              ColorCubeDlg                             //
-//                                                                       //
-//=======================================================================//
-class ColorCubeDlg extends JDialog implements ActionListener
-{
-  private IntegerField txtBasePixel = new IntegerField("0");
-  private IntegerField txtRedMax = new IntegerField("7");
-  private IntegerField txtRedMult = new IntegerField("1");
-  private IntegerField txtGreenMax = new IntegerField("7");
-  private IntegerField txtGreenMult = new IntegerField("8");
-  private IntegerField txtBlueMax = new IntegerField("3");
-  private IntegerField txtBlueMult = new IntegerField("64");
-  private boolean isOK = false;
-
-//=======================================================================//
-// Construction
-//=======================================================================//
-  public ColorCubeDlg(PropertiesDlg parent)
-  {
-    super(parent, "New Color Cube", true);
-    try
-    {
-      jbInit();
-    }
-    catch(Exception ex)
-    {
-      ex.printStackTrace();
-    }
-  }
-
-  private void jbInit() throws Exception
-  {
-    getContentPane().setLayout(new BorderLayout(10, 10));
-
-    JPanel infoPane = new JPanel(new GridLayout(0, 2, 10, 10));
-    infoPane.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
-    infoPane.add(new JLabel("base_pixel"));
-    infoPane.add(txtBasePixel);
-    infoPane.add(new JLabel("redmax"));
-    infoPane.add(txtRedMax);
-    infoPane.add(new JLabel("redmult"));
-    infoPane.add(txtRedMult);
-    infoPane.add(new JLabel("greenmax"));
-    infoPane.add(txtGreenMax);
-    infoPane.add(new JLabel("greenmult"));
-    infoPane.add(txtGreenMult);
-    infoPane.add(new JLabel("bluemax"));
-    infoPane.add(txtBlueMax);
-    infoPane.add(new JLabel("bluemult"));
-    infoPane.add(txtBlueMult);
-    getContentPane().add(infoPane, BorderLayout.CENTER);
-
-    JPanel controlPane = new JPanel();
-    controlPane.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
-    JPanel pane = new JPanel(new GridLayout(0, 1, 10, 10));
-    JButton button = new JButton("OK");
-    button.addActionListener(this);
-    button.setActionCommand("OK");
-    pane.add(button);
-    button = new JButton("Cancel");
-    button.addActionListener(this);
-    button.setActionCommand("Cancel");
-    pane.add(button);
-    controlPane.add(pane);
-    getContentPane().add(controlPane, BorderLayout.EAST);
-    pack();
-  }
-
-//=======================================================================//
-  private void close(boolean b)
-  {
-    isOK = b;
-    dispose();
-  }
-
-//=======================================================================//
-  public boolean isOK()
-  {
-    return isOK;
-  }
-
-//=======================================================================//
-  public Aspect_ColorCubeColorMap getColorMap()
-  {
-    if (isOK)
-    {
-      Aspect_ColorCubeColorMap aMap =
-          new Aspect_ColorCubeColorMap(txtBasePixel.getValue(),
-                                       txtRedMax.getValue(), txtRedMult.getValue(),
-                                       txtGreenMax.getValue(), txtGreenMult.getValue(),
-                                       txtBlueMax.getValue(), txtBlueMult.getValue());
-      return aMap;
-    }
-
-    return null; 
-  }
-
-
-//=======================================================================//
-// Action listener interface
-//=======================================================================//
-  public void actionPerformed(ActionEvent event)
-  {
-    String nameAction = event.getActionCommand();
-    if (nameAction.equals("OK")) close(true);
-    else if (nameAction.equals("Cancel")) close(false);
-  }
-
-}
-
-
-
-//=======================================================================//
-//                                                                       //
-//                              ColorRampDlg                             //
-//                                                                       //
-//=======================================================================//
-class ColorRampDlg extends JDialog implements ActionListener,
-                                              FocusListener
-{
-  private IntegerField txtBasePixel;
-  private IntegerField txtDimension;
-  private JComboBox cmbName;
-  private RealField txtRed;
-  private RealField txtGreen;
-  private RealField txtBlue;
-  private boolean isOK = false;
-  private PropertiesDlg myDlg;
-
-//=======================================================================//
-// Construction
-//=======================================================================//
-  public ColorRampDlg(PropertiesDlg parent)
-  {
-    super(parent, "New Color Ramp", true);
-    myDlg = parent;
-    try
-    {
-      jbInit();
-    }
-    catch(Exception ex)
-    {
-      ex.printStackTrace();
-    }
-  }
-
-  private void jbInit() throws Exception
-  {
-    getContentPane().setLayout(new BorderLayout(10, 10));
-
-    JPanel infoPane = new JPanel(new GridLayout(0, 2, 10, 10));
-    infoPane.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
-    infoPane.add(new JLabel("base_pixel"));
-    txtBasePixel = new IntegerField("0");
-    infoPane.add(txtBasePixel);
-    infoPane.add(new JLabel("dimension"));
-    txtDimension = new IntegerField("16");
-    infoPane.add(txtDimension);
-    infoPane.add(new JLabel("Color Name"));
-
-    String[] items = new String[517];
-    for (int i = 0; i < 517; i++)
-      items[i] = Quantity_Color.StringName((short)i).GetValue();
-    cmbName = new JComboBox(items);
-    cmbName.setEditable(false);
-    cmbName.addActionListener(this);
-    cmbName.setActionCommand("ColorName");
-    infoPane.add(cmbName);
-    getContentPane().add(infoPane, BorderLayout.CENTER);
-
-    JPanel colorPane = new JPanel(new GridLayout(1, 0, 10, 10));
-    colorPane.setBorder(BorderFactory.createEmptyBorder(0, 10, 10, 10));
-    txtRed = new RealField(8);
-    txtRed.addFocusListener(this);
-    colorPane.add(txtRed);
-    txtGreen = new RealField(8);
-    txtGreen.addFocusListener(this);
-    colorPane.add(txtGreen);
-    txtBlue = new RealField(8);
-    txtBlue.addFocusListener(this);
-    colorPane.add(txtBlue);
-    JButton button = new JButton("Edit...");
-    button.addActionListener(this);
-    button.setActionCommand("Edit");
-    colorPane.add(button);
-    cmbName.setSelectedIndex(Quantity_NameOfColor.Quantity_NOC_RED);
-    getContentPane().add(colorPane, BorderLayout.SOUTH);
-
-    JPanel controlPane = new JPanel();
-    controlPane.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
-    JPanel pane = new JPanel(new GridLayout(0, 1, 10, 10));
-    button = new JButton("OK");
-    button.addActionListener(this);
-    button.setActionCommand("OK");
-    pane.add(button);
-    button = new JButton("Cancel");
-    button.addActionListener(this);
-    button.setActionCommand("Cancel");
-    pane.add(button);
-    controlPane.add(pane);
-    getContentPane().add(controlPane, BorderLayout.EAST);
-    pack();
-  }
-
-//=======================================================================//
-  private void close(boolean b)
-  {
-    isOK = b;
-    dispose();
-  }
-
-//=======================================================================//
-  private void editColor()
-  {
-    Color newColor = JColorChooser.showDialog(this, "Select Color",
-            new Color((float) txtRed.getValue(), (float) txtGreen.getValue(),
-                      (float) txtBlue.getValue()));
-    if (newColor != null)
-    {
-      double red = newColor.getRed()/255.;
-      double green = newColor.getGreen()/255.;
-      double blue = newColor.getBlue()/255.;
-      txtRed.setText(myDlg.format(red));
-      txtGreen.setText(myDlg.format(green));
-      txtBlue.setText(myDlg.format(blue));
-      cmbName.setSelectedIndex(Quantity_Color.Name(red, green, blue));
-    }
-  }
-
-//=======================================================================//
-  private void changeColor()
-  {
-    Quantity_Color aColor = new Quantity_Color((short)cmbName.getSelectedIndex());
-    txtRed.setText(myDlg.format(aColor.Red()));
-    txtGreen.setText(myDlg.format(aColor.Green()));
-    txtBlue.setText(myDlg.format(aColor.Blue()));
-  }
-
-//=======================================================================//
-  public boolean isOK()
-  {
-    return isOK;
-  }
-
-//=======================================================================//
-  public Aspect_ColorRampColorMap getColorMap()
-  {
-    if (isOK)
-    {
-      Quantity_Color aColor =
-          new Quantity_Color(txtRed.getValue(), txtGreen.getValue(), txtBlue.getValue(),
-                             Quantity_TypeOfColor.Quantity_TOC_RGB);
-      Aspect_ColorRampColorMap aMap =
-          new Aspect_ColorRampColorMap(txtBasePixel.getValue(), txtDimension.getValue(),
-                                       aColor);
-      return aMap;
-    }
-    
-    return null; 
-  }
-
-
-//=======================================================================//
-// Focus listener interface
-//=======================================================================//
-  public void focusGained(FocusEvent event)
-  {
-  }
-
-  public void focusLost(FocusEvent event)
-  {
-    RealField field = (RealField) event.getSource();
-    if (field.getValue() < 0) field.setText("0");
-    if (field.getValue() > 1) field.setText("1");
-    cmbName.setSelectedIndex(Quantity_Color.Name(txtRed.getValue(),
-                             txtGreen.getValue(), txtBlue.getValue()));
-  }
-
-//=======================================================================//
-// Action listener interface
-//=======================================================================//
-  public void actionPerformed(ActionEvent event)
-  {
-    String nameAction = event.getActionCommand();
-    if (nameAction.equals("OK")) close(true);
-    else if (nameAction.equals("Cancel")) close(false);
-    else if (nameAction.equals("Edit")) editColor();
-    else if (nameAction.equals("ColorName")) changeColor();
-  }
-
-}
-
-