+ center_le->setProperty( "HexaWidgetType", QVariant::fromValue(VERTEX_TREE) );
+ hole_axis_le->setProperty( "HexaWidgetType", QVariant::fromValue(VECTOR_TREE) );
+ base_le->setProperty( "HexaWidgetType", QVariant::fromValue(VECTOR_TREE) );
+ vplan_le->setProperty( "HexaWidgetType", QVariant::fromValue(VERTEX_TREE) );
+
+ sphere_radext_spb->setProperty( "HexaWidgetType", QVariant::fromValue(EDGE_TREE) );
+ sphere_radext_spb->setProperty( "GeomWidgetType", QVariant::fromValue(TopAbs_EDGE) );
+ sphere_radext_spb->setProperty("Radius", QVariant::fromValue(true));
+
+ sphere_radint_spb->setProperty( "HexaWidgetType", QVariant::fromValue(EDGE_TREE) );
+ sphere_radint_spb->setProperty( "GeomWidgetType", QVariant::fromValue(TopAbs_EDGE) );
+ sphere_radint_spb->setProperty("Radius", QVariant::fromValue(true));
+
+ hole_rad_spb->setProperty( "HexaWidgetType", QVariant::fromValue(EDGE_TREE) );
+ hole_rad_spb->setProperty( "GeomWidgetType", QVariant::fromValue(TopAbs_EDGE) );
+ hole_rad_spb->setProperty("Radius", QVariant::fromValue(true));
+
+ radial_angle_spb->setProperty( "HexaWidgetType", QVariant::fromValue(EDGE_TREE) );
+ radial_angle_spb->setProperty( "GeomWidgetType", QVariant::fromValue(TopAbs_EDGE) );
+ radial_angle_spb->setProperty("Angle", QVariant::fromValue(true));
+
+ radius_lw_1->setProperty( "HexaWidgetType", QVariant::fromValue(EDGE_TREE) );
+ radius_lw_1->setProperty( "GeomWidgetType", QVariant::fromValue(TopAbs_EDGE) );
+ radius_lw_1->setProperty("Radius", QVariant::fromValue(true));
+
+ radius_lw_2->setProperty( "HexaWidgetType", QVariant::fromValue(EDGE_TREE) );
+ radius_lw_2->setProperty( "GeomWidgetType", QVariant::fromValue(TopAbs_EDGE) );
+ radius_lw_2->setProperty("Radius", QVariant::fromValue(true));
+
+ height_lw->setProperty( "HexaWidgetType", QVariant::fromValue(EDGE_TREE) );
+ height_lw->setProperty( "GeomWidgetType", QVariant::fromValue(TopAbs_EDGE) );
+ height_lw->setProperty("Length", QVariant::fromValue(true));
+
+ angle_lw->setProperty( "HexaWidgetType", QVariant::fromValue(EDGE_TREE) );
+ angle_lw->setProperty( "GeomWidgetType", QVariant::fromValue(TopAbs_EDGE) );
+ angle_lw->setProperty("Angle", QVariant::fromValue(true));
+
+ installEventFilter(this);
+ center_le->installEventFilter(this);
+ hole_axis_le->installEventFilter(this);
+ base_le->installEventFilter(this);
+ vplan_le->installEventFilter(this);
+
+ sphere_radext_spb->installEventFilter(this);
+ sphere_radint_spb->installEventFilter(this);
+ hole_rad_spb->installEventFilter(this);
+ radial_angle_spb->installEventFilter(this);
+ radius_lw_1->installEventFilter(this);
+ radius_lw_2->installEventFilter(this);
+ height_lw->installEventFilter(this);
+ angle_lw->installEventFilter(this);
+
+ sphere_rb->installEventFilter(this);
+ sphereTop_rb->installEventFilter(this);
+ sphereUni_rb->installEventFilter(this);
+ sphere2_rb->installEventFilter(this);
+ rind_rb->installEventFilter(this);
+ rindTop_rb->installEventFilter(this);
+ rindUni_rb->installEventFilter(this);
+ rind2_rb->installEventFilter(this);
+ spherical_rb->installEventFilter(this);
+ sphericalTop_rb->installEventFilter(this);
+ sphericalUni_rb->installEventFilter(this);
+ spherical2_rb->installEventFilter(this);
+
+ center_le->setReadOnly(true);
+ hole_axis_le->setReadOnly(true);
+ base_le->setReadOnly(true);
+ vplan_le->setReadOnly(true);
+
+ radius_lw_1->setItemDelegate(new HexaPositiveDoubleSpinBoxDelegate(radius_lw_1));
+ radius_lw_1->setEditTriggers(QAbstractItemView::DoubleClicked);
+
+ radius_lw_2->setItemDelegate(new HexaPositiveDoubleSpinBoxDelegate(radius_lw_2));
+ radius_lw_2->setEditTriggers(QAbstractItemView::DoubleClicked);
+
+ angle_lw->setItemDelegate(new HexaAngleDoubleSpinBoxDelegate(angle_lw));
+ angle_lw->setEditTriggers(QAbstractItemView::DoubleClicked);
+
+ height_lw->setItemDelegate(new HexaPositiveDoubleSpinBoxDelegate(height_lw));
+ height_lw->setEditTriggers(QAbstractItemView::DoubleClicked);
+
+ connect( add_radius_pb_1, SIGNAL(clicked()), this, SLOT(addRadiusItem1()) );
+ connect( del_radius_pb_1, SIGNAL(clicked()), this, SLOT(delRadiusItem1()) );
+
+ connect( add_radius_pb_2, SIGNAL(clicked()), this, SLOT(addRadiusItem2()) );
+ connect( del_radius_pb_2, SIGNAL(clicked()), this, SLOT(delRadiusItem2()) );
+
+ connect( add_angle_pb, SIGNAL(clicked()), this, SLOT(addAngleItem()) );
+ connect( del_angle_pb, SIGNAL(clicked()), this, SLOT(delAngleItem()) );
+
+ connect( add_height_pb, SIGNAL(clicked()), this, SLOT(addHeightItem()) );
+ connect( del_height_pb, SIGNAL(clicked()), this, SLOT(delHeightItem()) );
+}
+
+// ============================================================== updateHelpFileName
+void MakeHemiSphereDialog::updateHelpFileName()
+{
+ if ( sender() == sphereTop_rb || sender() == rindTop_rb ){
+ _helpFileName = "gui_hemisphere.html#guisphereandrindsimple";
+ } else if ( sender() == sphereUni_rb ){
+ _helpFileName = "gui_hemisphere.html#guisphereuniform";
+ } else if ( sender() == sphere2_rb ){
+ _helpFileName = "gui_hemisphere.html#guispherecustom";
+ } else if ( sender() == rindUni_rb ){
+ _helpFileName = "gui_hemisphere.html#guirinduniform";
+ } else if ( sender() == rind2_rb ){
+ _helpFileName = "gui_hemisphere.html#guirindcustom";
+ } else if ( sender() == sphericalTop_rb ){
+ _helpFileName = "gui_hemisphere.html#guiconcentricsimple";
+ } else if ( sender() == sphericalUni_rb ){
+ _helpFileName = "gui_hemisphere.html#guiconcentricuniform";
+ } else if ( sender() == spherical2_rb ){
+ _helpFileName = "gui_hemisphere.html#guiconcentriccustom";
+ }
+}
+
+// ============================================================== addRadiusItem
+void MakeHemiSphereDialog::addRadiusItem1()
+{
+ QListWidgetItem* previousItem = radius_lw_1->currentItem();
+ QListWidgetItem* newItem = new QListWidgetItem();
+
+ double defaultValue = 1.;
+ if ( previousItem )
+ defaultValue = previousItem->data(Qt::EditRole).toDouble();
+
+ newItem->setData( Qt::EditRole, QVariant(defaultValue) );
+ newItem->setFlags( newItem->flags () | Qt::ItemIsEditable);
+ radius_lw_1->addItem(newItem);
+}
+
+// ============================================================== delRadiusItem
+void MakeHemiSphereDialog::delRadiusItem1()
+{
+ delete radius_lw_1->currentItem();
+}
+
+// ============================================================== addRadiusItem
+void MakeHemiSphereDialog::addRadiusItem2()
+{
+ QListWidgetItem* previousItem = radius_lw_2->currentItem();
+ QListWidgetItem* newItem = new QListWidgetItem();
+
+ double defaultValue = 1.;
+ if ( previousItem )
+ defaultValue = previousItem->data(Qt::EditRole).toDouble();
+
+ newItem->setData( Qt::EditRole, QVariant(defaultValue) );
+ newItem->setFlags( newItem->flags () | Qt::ItemIsEditable);
+ radius_lw_2->addItem(newItem);
+}
+
+// ============================================================== delRadiusItem
+void MakeHemiSphereDialog::delRadiusItem2()
+{
+ delete radius_lw_2->currentItem();
+}
+
+// ============================================================== addAngleItem
+void MakeHemiSphereDialog::addAngleItem()
+{
+ QListWidgetItem* previousItem = angle_lw->currentItem();
+ QListWidgetItem* newItem = new QListWidgetItem();
+
+ double defaultValue = 180.;
+ if ( previousItem )
+ defaultValue = previousItem->data(Qt::EditRole).toDouble();